1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// use serde::{Deserialize, Serialize};
// use uuid::Uuid;
// #[derive(Debug, Serialize, Deserialize)]
// #[serde(rename_all = "camelCase")]
// pub struct Table {
// pub id: Uuid,
// pub name: String,
// pub fully_qualified_name: String,
// pub columns: Vec<Column>,
// // ... other fields
// }
// pub struct TableBuilder {
// name: String,
// database_schema: String,
// columns: Vec<Column>,
// // optional fields...
// }
// impl TableBuilder {
// pub fn new(name: impl Into<String>) -> Self {}
// pub fn with_columns(mut self, columns: Vec<Column>) -> Self {}
// pub fn build(self) -> Result<CreateTableRequest, Error> {
// Ok(CreateTableRequest {
// name: self.name,
// database_schema: self.database_schema,
// columns: self.columns,
// // ... other fields
// })
// }
// }
// #[cfg(test)]
// mod tests {
// use super::*;
// #[test]
// fn test_table_builder() {
// let table = TableBuilder::new("test_table")
// .with_columns(vec![Column::new("id", ColumnType::Int)])
// .build()
// .unwrap();
// assert_eq!(table.name, "test_table");
// assert_eq!(table.columns.len(), 1);
// }
// }