openfga_client/
conversions.rs

1use crate::client::{
2    AuthorizationModel, CheckRequestTupleKey, ContextualTupleKeys, ReadRequestTupleKey, TupleKey,
3    TupleKeyWithoutCondition, WriteAuthorizationModelRequest,
4};
5
6impl AuthorizationModel {
7    pub(crate) fn into_write_request(self, store_id: String) -> WriteAuthorizationModelRequest {
8        WriteAuthorizationModelRequest {
9            store_id,
10            type_definitions: self.type_definitions.into_iter().collect(),
11            schema_version: self.schema_version,
12            conditions: self.conditions,
13        }
14    }
15}
16
17impl From<TupleKeyWithoutCondition> for ReadRequestTupleKey {
18    fn from(tuple_key: TupleKeyWithoutCondition) -> Self {
19        ReadRequestTupleKey {
20            user: tuple_key.user,
21            relation: tuple_key.relation,
22            object: tuple_key.object,
23        }
24    }
25}
26
27impl From<TupleKeyWithoutCondition> for Option<ReadRequestTupleKey> {
28    fn from(tuple_key: TupleKeyWithoutCondition) -> Self {
29        Some(tuple_key.into())
30    }
31}
32
33impl From<ReadRequestTupleKey> for TupleKeyWithoutCondition {
34    fn from(tuple_key: ReadRequestTupleKey) -> Self {
35        TupleKeyWithoutCondition {
36            user: tuple_key.user,
37            relation: tuple_key.relation,
38            object: tuple_key.object,
39        }
40    }
41}
42
43impl From<CheckRequestTupleKey> for TupleKeyWithoutCondition {
44    fn from(tuple_key: CheckRequestTupleKey) -> Self {
45        TupleKeyWithoutCondition {
46            user: tuple_key.user,
47            relation: tuple_key.relation,
48            object: tuple_key.object,
49        }
50    }
51}
52
53impl From<CheckRequestTupleKey> for Option<TupleKeyWithoutCondition> {
54    fn from(tuple_key: CheckRequestTupleKey) -> Self {
55        Some(tuple_key.into())
56    }
57}
58
59impl From<TupleKeyWithoutCondition> for CheckRequestTupleKey {
60    fn from(tuple_key: TupleKeyWithoutCondition) -> Self {
61        CheckRequestTupleKey {
62            user: tuple_key.user,
63            relation: tuple_key.relation,
64            object: tuple_key.object,
65        }
66    }
67}
68
69impl From<TupleKeyWithoutCondition> for Option<CheckRequestTupleKey> {
70    fn from(tuple_key: TupleKeyWithoutCondition) -> Self {
71        Some(tuple_key.into())
72    }
73}
74
75impl From<ContextualTupleKeys> for Vec<TupleKey> {
76    fn from(tuple_keys: ContextualTupleKeys) -> Self {
77        tuple_keys.tuple_keys
78    }
79}
80
81impl From<Vec<TupleKey>> for ContextualTupleKeys {
82    fn from(tuple_keys: Vec<TupleKey>) -> Self {
83        ContextualTupleKeys { tuple_keys }
84    }
85}
86
87impl From<ContextualTupleKeys> for Option<Vec<TupleKey>> {
88    fn from(tuple_keys: ContextualTupleKeys) -> Self {
89        if tuple_keys.tuple_keys.is_empty() {
90            None
91        } else {
92            Some(tuple_keys.tuple_keys)
93        }
94    }
95}