kanidmd_core/https/apidocs/
response_schema.rs
1use kanidm_proto::constants::APPLICATION_JSON;
6use std::collections::BTreeMap;
7use utoipa::{
8 openapi::{Content, RefOr, Response, ResponseBuilder, ResponsesBuilder},
9 IntoResponses, ToSchema,
10};
11
12#[allow(dead_code)] pub(crate) enum DefaultApiResponse {
15 Ok,
16 InvalidRequest,
17 NeedsAuthorization,
18 NotAuthorized,
19}
20
21impl IntoResponses for DefaultApiResponse {
22 fn responses() -> BTreeMap<String, RefOr<Response>> {
23 ResponsesBuilder::new()
24 .response(
25 "200",
26 ResponseBuilder::new()
27 .content(APPLICATION_JSON, Content::default())
28 .description("Ok"),
29 )
30 .response("400", ResponseBuilder::new().description("Invalid Request"))
31 .response(
32 "401",
33 ResponseBuilder::new().description("Authorization required"),
34 )
35 .response("403", ResponseBuilder::new().description("Not Authorized"))
36 .build()
37 .into()
38 }
39}
40
41#[allow(dead_code)] pub(crate) enum ApiResponseWithout200 {
44 InvalidRequest,
45 NeedsAuthorization,
46 NotAuthorized,
47}
48
49impl IntoResponses for ApiResponseWithout200 {
50 fn responses() -> BTreeMap<String, RefOr<Response>> {
51 ResponsesBuilder::new()
52 .response("400", ResponseBuilder::new().description("Invalid Request"))
53 .response(
54 "401",
55 ResponseBuilder::new().description("Authorization required"),
56 )
57 .response("403", ResponseBuilder::new().description("Not Authorized"))
58 .build()
59 .into()
60 }
61}
62
63#[derive(Debug, Clone, ToSchema)]
64pub(crate) struct PublicKeyCredential {}
65
66#[derive(Debug, Clone, ToSchema)]
67pub(crate) struct RequestChallengeResponse {}
68
69#[derive(Debug, Clone, ToSchema)]
70pub(crate) struct CreationChallengeResponse {}
71
72#[derive(Debug, Clone, ToSchema)]
73pub(crate) struct Base64UrlSafeData {}
74
75#[derive(Debug, Clone, ToSchema)]
76pub(crate) struct BTreeSet {}
77
78#[derive(Debug, Clone, ToSchema)]
79pub(crate) struct Result {}
80
81#[derive(Debug, Clone, ToSchema)]
82pub(crate) struct ScimEntry {}
83
84#[derive(Debug, Clone, ToSchema)]
85pub(crate) struct ProtoEntry {
86 #[allow(dead_code, clippy::disallowed_types)] attrs: BTreeMap<String, Vec<String>>,
88}
89
90#[derive(Debug, Clone, ToSchema)]
91pub(crate) struct Jwk {}
92
93#[derive(Debug, Clone, ToSchema)]
94pub(crate) struct ScimComplexAttr {}