Skip to main content

surrealdb_expr/expr/convert/statements/alter/
api.rs

1//! `sql` -> `expr` conversions for [`crate::sql::statements::alter::api`].
2//!
3//! Lives in core rather than beside the AST: `surrealdb-sql` sits below
4//! core, so it cannot name `expr` types.
5
6use crate::sql::statements::alter::api::*;
7
8impl From<AlterApiClause> for crate::expr::statements::alter::AlterApiClause {
9	fn from(v: AlterApiClause) -> Self {
10		match v {
11			AlterApiClause::ForAny {
12				config,
13				fallback,
14			} => crate::expr::statements::alter::AlterApiClause::ForAny {
15				config: config.map(Into::into),
16				fallback: fallback.into(),
17			},
18			AlterApiClause::SetAction(a) => {
19				crate::expr::statements::alter::AlterApiClause::SetAction(a.into())
20			}
21			AlterApiClause::DropAction {
22				methods,
23			} => crate::expr::statements::alter::AlterApiClause::DropAction {
24				methods: methods.into_iter().collect(),
25			},
26		}
27	}
28}
29
30impl From<crate::expr::statements::alter::AlterApiClause> for AlterApiClause {
31	fn from(v: crate::expr::statements::alter::AlterApiClause) -> Self {
32		match v {
33			crate::expr::statements::alter::AlterApiClause::ForAny {
34				config,
35				fallback,
36			} => AlterApiClause::ForAny {
37				config: config.map(Into::into),
38				fallback: fallback.into(),
39			},
40			crate::expr::statements::alter::AlterApiClause::SetAction(a) => {
41				AlterApiClause::SetAction(a.into())
42			}
43			crate::expr::statements::alter::AlterApiClause::DropAction {
44				methods,
45			} => AlterApiClause::DropAction {
46				methods: methods.into_iter().collect(),
47			},
48		}
49	}
50}
51
52impl From<AlterApiStatement> for crate::expr::statements::alter::AlterApiStatement {
53	fn from(v: AlterApiStatement) -> Self {
54		crate::expr::statements::alter::AlterApiStatement {
55			path: v.path.into(),
56			if_exists: v.if_exists,
57			clauses: v.clauses.into_iter().map(Into::into).collect(),
58			comment: v.comment.into(),
59		}
60	}
61}
62
63impl From<crate::expr::statements::alter::AlterApiStatement> for AlterApiStatement {
64	fn from(v: crate::expr::statements::alter::AlterApiStatement) -> Self {
65		AlterApiStatement {
66			path: v.path.into(),
67			if_exists: v.if_exists,
68			clauses: v.clauses.into_iter().map(Into::into).collect(),
69			comment: v.comment.into(),
70		}
71	}
72}