surrealdb_expr/expr/convert/statements/
access.rs1use crate::sql::statements::access::*;
7
8impl From<AccessStatement> for crate::expr::statements::access::AccessStatement {
9 fn from(v: AccessStatement) -> Self {
10 match v {
11 AccessStatement::Grant(v) => Self::Grant(v.into()),
12 AccessStatement::Show(v) => Self::Show(v.into()),
13 AccessStatement::Revoke(v) => Self::Revoke(v.into()),
14 AccessStatement::Purge(v) => Self::Purge(v.into()),
15 }
16 }
17}
18
19impl From<crate::expr::statements::access::AccessStatement> for AccessStatement {
20 fn from(v: crate::expr::statements::access::AccessStatement) -> Self {
21 match v {
22 crate::expr::statements::access::AccessStatement::Grant(v) => Self::Grant(v.into()),
23 crate::expr::statements::access::AccessStatement::Show(v) => Self::Show(v.into()),
24 crate::expr::statements::access::AccessStatement::Revoke(v) => Self::Revoke(v.into()),
25 crate::expr::statements::access::AccessStatement::Purge(v) => Self::Purge(v.into()),
26 }
27 }
28}
29
30impl From<AccessStatementGrant> for crate::expr::statements::access::AccessStatementGrant {
31 fn from(v: AccessStatementGrant) -> Self {
32 Self {
33 ac: v.ac,
34 base: v.base.map(Into::into),
35 subject: v.subject.into(),
36 }
37 }
38}
39
40impl From<crate::expr::statements::access::AccessStatementGrant> for AccessStatementGrant {
41 fn from(v: crate::expr::statements::access::AccessStatementGrant) -> Self {
42 Self {
43 ac: v.ac,
44 base: v.base.map(Into::into),
45 subject: v.subject.into(),
46 }
47 }
48}
49
50impl From<AccessStatementShow> for crate::expr::statements::access::AccessStatementShow {
51 fn from(v: AccessStatementShow) -> Self {
52 Self {
53 ac: v.ac,
54 base: v.base.map(Into::into),
55 gr: v.gr,
56 cond: v.cond.map(Into::into),
57 }
58 }
59}
60
61impl From<crate::expr::statements::access::AccessStatementShow> for AccessStatementShow {
62 fn from(v: crate::expr::statements::access::AccessStatementShow) -> Self {
63 Self {
64 ac: v.ac,
65 base: v.base.map(Into::into),
66 gr: v.gr,
67 cond: v.cond.map(Into::into),
68 }
69 }
70}
71
72impl From<AccessStatementRevoke> for crate::expr::statements::access::AccessStatementRevoke {
73 fn from(v: AccessStatementRevoke) -> Self {
74 Self {
75 ac: v.ac,
76 base: v.base.map(Into::into),
77 gr: v.gr,
78 cond: v.cond.map(Into::into),
79 }
80 }
81}
82
83impl From<crate::expr::statements::access::AccessStatementRevoke> for AccessStatementRevoke {
84 fn from(v: crate::expr::statements::access::AccessStatementRevoke) -> Self {
85 Self {
86 ac: v.ac,
87 base: v.base.map(Into::into),
88 gr: v.gr,
89 cond: v.cond.map(Into::into),
90 }
91 }
92}
93
94impl From<AccessStatementPurge> for crate::expr::statements::access::AccessStatementPurge {
95 fn from(v: AccessStatementPurge) -> Self {
96 Self {
97 ac: v.ac,
98 base: v.base.map(From::from),
99 kind: v.kind.into(),
100 grace: v.grace.into(),
101 }
102 }
103}
104
105impl From<crate::expr::statements::access::AccessStatementPurge> for AccessStatementPurge {
106 fn from(v: crate::expr::statements::access::AccessStatementPurge) -> Self {
107 Self {
108 ac: v.ac,
109 base: v.base.map(From::from),
110 kind: v.kind.into(),
111 grace: v.grace.into(),
112 }
113 }
114}
115
116impl From<PurgeKind> for crate::expr::statements::access::PurgeKind {
117 fn from(v: PurgeKind) -> Self {
118 match v {
119 PurgeKind::Expired => crate::expr::statements::access::PurgeKind::Expired,
120 PurgeKind::Revoked => crate::expr::statements::access::PurgeKind::Revoked,
121 PurgeKind::Both => crate::expr::statements::access::PurgeKind::Both,
122 }
123 }
124}
125
126impl From<crate::expr::statements::access::PurgeKind> for PurgeKind {
127 fn from(v: crate::expr::statements::access::PurgeKind) -> Self {
128 match v {
129 crate::expr::statements::access::PurgeKind::Expired => PurgeKind::Expired,
130 crate::expr::statements::access::PurgeKind::Revoked => PurgeKind::Revoked,
131 crate::expr::statements::access::PurgeKind::Both => PurgeKind::Both,
132 }
133 }
134}
135
136impl From<Subject> for crate::expr::statements::access::Subject {
137 fn from(v: Subject) -> Self {
138 match v {
139 Subject::Record(id) => Self::Record(id.into()),
140 Subject::User(name) => Self::User(name),
141 }
142 }
143}
144
145impl From<crate::expr::statements::access::Subject> for Subject {
146 fn from(v: crate::expr::statements::access::Subject) -> Self {
147 match v {
148 crate::expr::statements::access::Subject::Record(id) => Self::Record(id.into()),
149 crate::expr::statements::access::Subject::User(name) => Self::User(name),
150 }
151 }
152}