34 releases (19 breaking)
new 0.30.1 | Jan 14, 2025 |
---|---|
0.28.1 | Jan 10, 2025 |
0.28.0 | Dec 12, 2024 |
0.27.0 | Nov 20, 2024 |
0.0.0 | Feb 8, 2023 |
#1159 in Database interfaces
1,221 downloads per month
185KB
3K
SLoC
Types and traits for the OpenTalk API and signaling protocols.
This crate re-exports items from the crates where they are defined. All of these types can be used directly by importing the crate where they are defined directly. If many types are needed in a project, this crate could be the easier starting point though, because it serves as an index of which crates are available.
Crate features
In order to allow efficient usage of the referenced items, this crate defines a flag for each of them. In addition some meta features are available that pull in a set of dependencies.
Meta features
Types meta features
- types-all - Enables all features that depend on specific datatype crates, indirectly by enabling the api and the signaling-all features.
- api - Enables the api-v1 feature.
- signaling-all - Enables all the signaling datatypes feature for all signaling modules.
Functionality meta features
- backend - Should be enabled when implementing the server side of either a signaling module or an the API. Enables:
- the backend feature of each types crate
- diesel
- kustos
- rand
- redis
- serde
- frontend - Should be enabled when implemting the client side of either a signaling module or the API. Enables:
- the frontend feature of each types crate
- serde
Type features
- api-v1 -
Re-exports
opentalk-types-api-v1
crate asapi::v1
. - signaling -
Re-exports all content of the
opentalk-types-signaling
crate in thesignaling
module. - signaling-breakout -
Re-exports
opentalk-types-signaling-breakout
crate assignaling::breakout
. - signaling-chat -
Re-exports
opentalk-types-signaling-chat
crate assignaling::chat
. - signaling-control -
Re-exports
opentalk-types-signaling-control
crate assignaling::control
. - signaling-livekit -
Re-exports
opentalk-types-signaling-livekit
crate assignaling::livekit
. - signaling-meeting-notes -
Re-exports
opentalk-types-signaling-meeting-notes
crate assignaling::meeting-notes
. - signaling-meeting-report -
Re-exports
opentalk-types-signaling-meeting-report
crate assignaling::meeting-report
. - signaling-moderation -
Re-exports
opentalk-types-signaling-moderation
crate assignaling::moderation
. - signaling-polls -
Re-exports
opentalk-types-signaling-polls
crate assignaling::polls
. - signaling-recording -
Re-exports
opentalk-types-signaling-recording
crate assignaling::recording
. - signaling-recording-service -
Re-exports
opentalk-types-signaling-recording-service
crate assignaling::recording-service
. - signaling-shared-folder -
Re-exports
opentalk-types-signaling-shared-folder
crate assignaling::shared-folder
. - signaling-subroom-audio -
Re-exports
opentalk-types-signaling-subroom-audio
crate assignaling::subroom-audio
. - signaling-timer -
Re-exports
opentalk-types-signaling-timer
crate assignaling::timer
. - signaling-whiteboard -
Re-exports
opentalk-types-signaling-whiteboard
crate assignaling::whiteboard
.
Functionality features
- clap -
Should be enabled when implementing command-line tooling that exposes the
types using
clap
. This allows listing the possible values of enumeration types using the builtin--help
functionality ofclap
. - diesel -
Enabling this feature makes some newtypes storable in a database through the
diesel
crate. Used for implementing the server side with adiesel
database backend. - kustos -
Adds some metadata to types that represent API resources, so that the
kustos
permission enforcement system can determine which permissions it needs to apply to certain endpoints when implementing the server side of the API. - rand -
Adds random generation of some datatypes such as
uuid
, so that they can be generated on the server side in the API endpoint implementation or inside signaling modules. - redis - Adds annotations to some signaling data types so that they can be stored inside redis by the server side of a signaling module.
- serde -
Adds
serde
Serialize
andDeserialize
implementations for each datatype that is sent over the network. - utoipa -
Adds
utoipa
ToSchema
andIntoParams
implementations to all types that are exposed in the OpenTalk Web API, so that they can be used to generate an OpenAPI specification of the Web API.
Re-exports all known API versions under the corresponding name.
Re-exports all known signaling modules, each gated by a feature
called signaling-<modulename>
, e.g. signaling-control
or
signaling-subroom-audio
.
Dependencies
~0–12MB
~137K SLoC