fkl_mir/implementation/
environment.rs

1use serde::{Deserialize, Serialize};
2
3use crate::default_config;
4use crate::VariableDefinition;
5use crate::datasource::Datasource;
6
7/// Global environment configuration
8#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
9pub struct Environment {
10  pub name: String,
11  pub datasources: Vec<Datasource>,
12  pub server: ServerConfig,
13  pub customs: Vec<CustomEnv>,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
17pub struct ServerConfig {
18  pub port: u16,
19}
20
21impl Default for ServerConfig {
22  fn default() -> Self {
23    ServerConfig { port: default_config::SERVER_PORT }
24  }
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq, Eq)]
28pub struct CustomEnv {
29  pub name: String,
30  pub attrs: Vec<VariableDefinition>,
31}
32