1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![doc = include_str!("../README.md")]
3#![warn(clippy::all, clippy::pedantic)]
4#![allow(
5
6clippy::needless_for_each,
11 clippy::missing_errors_doc,
12 clippy::cast_precision_loss,
13 clippy::match_wildcard_for_single_variants,
14 clippy::similar_names
15)]
16
17#[cfg(feature = "client")]
19pub mod client;
20
21#[cfg(feature = "server")]
23pub mod server;
24
25fn permissions_field(idx: u8) -> ordinary_types::Field {
26 ordinary_types::Field {
27 idx,
28 name: "permissions".into(),
29 kind: ordinary_types::Kind::List {
30 kind: Box::new(ordinary_types::Kind::Enum {
31 name: "permissions".into(),
32 opts: vec![
33 ordinary_types::EnumOpt {
34 idx: 0,
35 name: "admin".into(),
36 },
37 ordinary_types::EnumOpt {
38 idx: 1,
39 name: "read".into(),
40 },
41 ordinary_types::EnumOpt {
42 idx: 2,
43 name: "write".into(),
44 },
45 ordinary_types::EnumOpt {
46 idx: 3,
47 name: "update".into(),
48 },
49 ordinary_types::EnumOpt {
50 idx: 4,
51 name: "upload".into(),
52 },
53 ordinary_types::EnumOpt {
54 idx: 5,
55 name: "install".into(),
56 },
57 ordinary_types::EnumOpt {
58 idx: 6,
59 name: "deploy".into(),
60 },
61 ordinary_types::EnumOpt {
62 idx: 7,
63 name: "bridge".into(),
64 },
65 ordinary_types::EnumOpt {
66 idx: 8,
67 name: "kill".into(),
68 },
69 ordinary_types::EnumOpt {
70 idx: 9,
71 name: "erase".into(),
72 },
73 ],
74 }),
75 },
76 ..Default::default()
77 }
78}
79
80#[must_use]
81pub fn api_invite_claims() -> Vec<ordinary_types::Field> {
82 vec![
83 ordinary_types::Field {
84 idx: 1,
85 name: "account".into(),
86 kind: ordinary_types::Kind::String,
87 ..Default::default()
88 },
89 ordinary_types::Field {
90 idx: 2,
91 name: "domain".into(),
92 kind: ordinary_types::Kind::String,
93 ..Default::default()
94 },
95 permissions_field(3),
96 ]
97}
98
99#[must_use]
100pub fn api_account_claims() -> Vec<ordinary_types::Field> {
101 vec![
102 ordinary_types::Field {
103 idx: 1,
104 name: "domain".into(),
105 kind: ordinary_types::Kind::String,
106 ..Default::default()
107 },
108 permissions_field(2),
109 ]
110}