ephemeris_forge/
access.rs1mod caller;
4mod collaborator;
5mod decision;
6mod lockout;
7mod name;
8mod observed;
9mod operation;
10mod state;
11
12use std::collections::BTreeMap;
13
14use facet::Facet;
15
16pub use self::caller::Caller;
17pub use self::collaborator::CollaboratorDecision;
18pub use self::decision::{AccessDecision, Grants, PermissionScope};
19pub use self::lockout::Lockout;
20pub use self::name::{EmptyTeamName, EmptyUserName, TeamName, UserName};
21pub use self::observed::Observed;
22pub use self::operation::AccessOperation;
23pub use self::state::AccessState;
24use crate::Mode;
25
26#[derive(Clone, Debug, Eq, Facet, PartialEq)]
30#[facet(deny_unknown_fields)]
31pub struct Access<P: 'static> {
32 pub mode: Mode,
34 pub teams: BTreeMap<TeamName, P>,
36 pub collaborators: BTreeMap<UserName, P>,
38}