Skip to main content

surrealdb_expr/expr/statements/define/config/
mod.rs

1pub mod api;
2pub mod defaults;
3
4use api::ApiConfig;
5use defaults::DefaultConfig;
6
7use crate::expr::graphql_config::GraphQLConfig;
8use crate::expr::statements::define::DefineKind;
9use crate::iam::ConfigKind;
10
11#[derive(Clone, Debug, Eq, PartialEq, Hash)]
12pub struct DefineConfigStatement {
13	pub kind: DefineKind,
14	pub inner: ConfigInner,
15}
16
17/// The config struct as a computation target.
18
19#[derive(Clone, Debug, Eq, PartialEq, Hash)]
20pub enum ConfigInner {
21	GraphQL(GraphQLConfig),
22	Api(ApiConfig),
23	Default(DefaultConfig),
24}
25
26impl ConfigInner {
27	pub fn kind(&self) -> ConfigKind {
28		match self {
29			ConfigInner::Default(_) => ConfigKind::Default,
30			ConfigInner::GraphQL(_) => ConfigKind::GraphQL,
31			ConfigInner::Api(_) => ConfigKind::Api,
32		}
33	}
34}