scratchstack_config/service/
sts.rs1use {
2 super::{BaseServiceConfig, ResolvedBaseServiceConfig},
3 crate::{error::ConfigError, DatabaseConfig, ResolvedDatabaseConfig},
4 serde::Deserialize,
5 std::fmt::Debug,
6};
7
8const DEFAULT_PORT: u16 = 8190;
9
10#[derive(Debug, Deserialize)]
12pub struct Sts {
13 #[serde(flatten)]
14 pub base: BaseServiceConfig,
15
16 #[serde(rename = "database")]
17 pub database: DatabaseConfig,
18}
19
20#[derive(Debug)]
21pub struct ResolvedSts {
22 pub service: ResolvedBaseServiceConfig,
23 pub database: ResolvedDatabaseConfig,
24}
25
26impl Sts {
27 pub fn resolve(&self) -> Result<ResolvedSts, ConfigError> {
28 let service = self.base.resolve(DEFAULT_PORT)?;
29 let database = self.database.resolve()?;
30
31 Ok(ResolvedSts {
32 service,
33 database,
34 })
35 }
36}