coil_auth/types/
access.rs1use super::*;
2
3#[derive(Debug, Clone, PartialEq, Eq, Hash)]
4pub struct AccessCheck {
5 pub subject: DefaultSubject,
6 pub relation: Relation,
7 pub object: Entity,
8}
9
10impl AccessCheck {
11 pub fn new(subject: DefaultSubject, relation: Relation, object: Entity) -> Self {
12 Self {
13 subject,
14 relation,
15 object,
16 }
17 }
18}
19
20impl From<AccessCheck> for CheckRequest {
21 fn from(value: AccessCheck) -> Self {
22 Self {
23 subject: value.subject.into(),
24 relation: value.relation.to_string(),
25 object: value.object.into(),
26 }
27 }
28}