support_kit/boilerplate/
boilerplate_context.rs1use convert_case::Casing;
2use serde::Serialize;
3
4use crate::Configuration;
5
6#[derive(Debug, Clone, bon::Builder, Serialize)]
7pub struct BoilerplateContext {
8 #[builder(into)]
9 pub name: String,
10 #[builder(default, into)]
11 pub secret_name: String,
12 pub image: Option<String>,
13}
14
15impl From<Configuration> for BoilerplateContext {
16 fn from(config: Configuration) -> Self {
17 let secret_name = config
18 .name()
19 .to_string()
20 .to_case(convert_case::Case::UpperSnake);
21
22 Self::builder()
23 .name(config.name())
24 .secret_name(secret_name)
25 .build()
26 }
27}