endpoint_gen/
lib.rs

1use std::path::PathBuf;
2
3use eyre::*;
4
5use crate::model::{ProceduralFunction, Service, Type};
6
7pub mod docs;
8pub mod model;
9pub mod rust;
10pub mod service;
11pub mod sql;
12
13pub struct Data {
14    pub project_root: PathBuf,
15    pub output_dir: PathBuf,
16    pub services: Vec<Service>,
17    pub enums: Vec<Type>,
18    pub pg_funcs: Vec<ProceduralFunction>,
19}
20pub fn main(data: Data) -> Result<()> {
21    docs::gen_services_docs(&data)?;
22    docs::gen_md_docs(&data)?;
23    rust::gen_model_rs(&data)?;
24    sql::gen_model_sql(&data)?;
25    sql::gen_db_sql(&data)?;
26    rust::gen_db_rs(&data)?;
27    // docs::gen_systemd_services(&data, "trading", "trading")?;
28    docs::gen_error_message_md(&data.project_root)?;
29    Ok(())
30}