# SPDX-FileCopyrightText: OpenTalk GmbH # # SPDX-License-Identifier: EUPL-1.2 [package] authors.workspace = true description = "Shared types and traits for OpenTalk crates" documentation = "https://docs.rs/opentalk-types" edition = "2021" homepage.workspace = true license = "EUPL-1.2" name = "opentalk-types" publish = true repository.workspace = true version.workspace = true [lints] workspace = true [dependencies] actix-http = { workspace = true, optional = true } actix-web = { workspace = true, optional = true } axum = { workspace = true, optional = true } base64 = { workspace = true, optional = true } bincode = { workspace = true, optional = true } chrono.workspace = true chrono-tz.workspace = true derive_more = { workspace = true, features = [ "as_ref", "deref", "deref_mut", "display", "from", "from_str", "into", ] } diesel = { workspace = true, features = ["uuid"], optional = true } http = { workspace = true, optional = true } http-request-derive = { workspace = true, features = [ "serde", ], optional = true } http0 = { workspace = true, optional = true } itertools.workspace = true log.workspace = true opentalk-cache = { workspace = true, optional = true } opentalk-database = { workspace = true, optional = true } opentalk-diesel-newtype = { workspace = true, optional = true } opentalk-kustos-prefix = { workspace = true, optional = true } opentalk-types-common.workspace = true opentalk-types-signaling.workspace = true redis = { workspace = true, optional = true } redis-args = { workspace = true, optional = true } serde = { workspace = true, optional = true } serde_json.workspace = true snafu.workspace = true strum.workspace = true url.workspace = true utoipa = { workspace = true, features = [ "chrono", "url", "uuid", ], optional = true } uuid.workspace = true validator = { workspace = true, optional = true } [features] actix = [ "dep:actix-http", "dep:actix-web", "dep:http0", "opentalk-types-common/actix", "serde", ] axum = ["dep:axum", "dep:http", "dep:http0", "serde"] backend = [ "actix", "dep:opentalk-cache", "dep:opentalk-database", "diesel", "kustos", "opentalk-types-common/backend", "opentalk-types-signaling/backend", "rand", "redis", "serde", "utoipa", ] diesel = [ "dep:diesel", "dep:opentalk-diesel-newtype", "opentalk-types-common/diesel", "serde", ] frontend = [ "dep:http", "dep:http-request-derive", "dep:http0", "opentalk-types-common/frontend", "opentalk-types-signaling/frontend", "serde", ] kustos = ["dep:opentalk-kustos-prefix", "opentalk-types-common/kustos"] rand = ["opentalk-types-common/rand", "uuid/v4"] redis = [ "dep:redis", "dep:redis-args", "opentalk-types-common/redis", "opentalk-types-signaling/redis", "serde", ] serde = [ "chrono-tz/serde", "chrono/serde", "dep:base64", "dep:bincode", "dep:serde", "dep:validator", "opentalk-types-common/serde", "opentalk-types-signaling/serde", "url/serde", "uuid/serde", ] utoipa = ["dep:utoipa", "opentalk-types-common/utoipa", "serde"] [dev-dependencies] pretty_assertions.workspace = true serde_urlencoded.workspace = true