Skip to main content

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

1//! `sql` -> `expr` conversions for [`crate::sql::statements::define::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::define::api::*;
7
8impl From<DefineApiStatement> for crate::expr::statements::DefineApiStatement {
9	fn from(v: DefineApiStatement) -> Self {
10		crate::expr::statements::DefineApiStatement {
11			kind: v.kind.into(),
12			path: v.path.into(),
13			actions: v.actions.into_iter().map(Into::into).collect(),
14			fallback: v.fallback.map(Into::into),
15			config: v.config.into(),
16			comment: v.comment.into(),
17		}
18	}
19}
20
21impl From<crate::expr::statements::DefineApiStatement> for DefineApiStatement {
22	fn from(v: crate::expr::statements::DefineApiStatement) -> Self {
23		DefineApiStatement {
24			kind: v.kind.into(),
25			path: v.path.into(),
26			actions: v.actions.into_iter().map(Into::into).collect(),
27			fallback: v.fallback.map(Into::into),
28			config: v.config.into(),
29			comment: v.comment.into(),
30		}
31	}
32}
33
34impl From<ApiAction> for crate::expr::statements::define::ApiAction {
35	fn from(v: ApiAction) -> Self {
36		crate::expr::statements::define::ApiAction {
37			methods: v.methods.into_iter().collect(),
38			action: v.action.into(),
39			config: v.config.into(),
40		}
41	}
42}
43
44impl From<crate::expr::statements::define::ApiAction> for ApiAction {
45	fn from(v: crate::expr::statements::define::ApiAction) -> Self {
46		ApiAction {
47			methods: v.methods.into_iter().collect(),
48			action: v.action.into(),
49			config: v.config.into(),
50		}
51	}
52}