Skip to content

Commit 6481b1b

Browse files
committed
Refactor to my hand-derived cdd-python structure
1 parent aebe91f commit 6481b1b

61 files changed

Lines changed: 644 additions & 559 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

cli/src/scaffold.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@
1111
//! 3. Generates or Updates module files (e.g., `handlers/users.rs`) with `async fn` signatures.
1212
//! 4. (Optional) Injects route registrations into a shared config function (e.g., in `lib.rs`).
1313
14-
use cdd_core::handler_generator::update_handler_module;
15-
use cdd_core::oas::{parse_openapi_routes, ParsedRoute};
16-
use cdd_core::route_generator::register_routes;
14+
use cdd_core::functions::emit::update_handler_module;
15+
use cdd_core::openapi::parse::{parse_openapi_routes, ParsedRoute};
16+
use cdd_core::routes::emit::register_routes;
1717
use cdd_core::strategies::BackendStrategy;
1818
use cdd_core::{AppError, AppResult};
1919
use std::collections::HashMap;
@@ -167,7 +167,7 @@ fn group_routes_by_tag(routes: &[ParsedRoute]) -> HashMap<String, Vec<ParsedRout
167167

168168
/// Wrapper for core snake_case utility specific to module naming conventions.
169169
fn to_snake_case(s: &str) -> String {
170-
cdd_core::oas::routes::naming::to_snake_case(s)
170+
cdd_core::openapi::parse::routes::naming::to_snake_case(s)
171171
}
172172

173173
#[cfg(test)]

cli/src/schema_gen.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
//! Generates a JSON Schema document from a Rust struct or enum.
77
//! This implements the "Reflect" workflow (Rust -> Schema).
88
9+
use cdd_core::classes::parse::extract_model;
910
use cdd_core::error::{AppError, AppResult};
10-
use cdd_core::parser::extract_model;
11-
use cdd_core::schema_generator::{
11+
use cdd_core::openapi::emit::{
1212
generate_json_schema, generate_openapi_document, OpenApiContact, OpenApiInfo, OpenApiLicense,
1313
};
1414
use std::fs;

cli/src/sync.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
//! 3. **Schema -> OpenAPI**: The resulting code is valid for `utoipa` OpenAPI generation at build/runtime.
1212
1313
use crate::generator::ModelMapper;
14-
use cdd_core::patcher::{add_derive, modify_struct_field_type};
14+
use cdd_core::classes::patcher::{add_derive, modify_struct_field_type};
1515
use cdd_core::{AppError, AppResult};
1616
use std::collections::HashMap;
1717
use std::fs;

cli/src/test_gen.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
use std::fs;
88
use std::path::PathBuf;
99

10-
use cdd_core::contract_test_generator::generate_contract_tests_file;
11-
use cdd_core::oas::parse_openapi_routes;
10+
use cdd_core::openapi::parse::parse_openapi_routes;
1211
use cdd_core::strategies::BackendStrategy;
12+
use cdd_core::tests::emit::generate_contract_tests_file;
1313
use cdd_core::{AppError, AppResult};
1414

1515
/// Arguments for the test generation command.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
//! Compares existing Rust source code against a desired target schema (represented as `ParsedStruct`).
77
//! Detects missing fields, type mismatches, and renamed fields (via attribute stability).
88
9+
use crate::classes::parse::{extract_struct, ParsedField, ParsedStruct};
910
use crate::error::AppResult;
10-
use crate::parser::{extract_struct, ParsedField, ParsedStruct};
1111
use std::collections::HashMap;
1212
use std::fmt::Display;
1313

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,9 @@
1212
//! - Formats `discriminator` mappings into Serde attributes (`tag`, `rename`, `alias`).
1313
//! - Formatting and comments preservation including external docs links.
1414
15+
use crate::classes::parse::models::ParsedExternalDocs;
16+
use crate::classes::parse::{ParsedEnum, ParsedModel, ParsedStruct};
1517
use crate::error::{AppError, AppResult};
16-
use crate::parser::models::ParsedExternalDocs;
17-
use crate::parser::{ParsedEnum, ParsedModel, ParsedStruct};
1818
use ra_ap_edition::Edition;
1919
use ra_ap_syntax::{ast, AstNode, SourceFile};
2020
use std::collections::BTreeSet;
@@ -318,7 +318,7 @@ fn collect_imports(model: &ParsedModel, imports: &mut BTreeSet<String>) {
318318
#[cfg(test)]
319319
mod tests {
320320
use super::*;
321-
use crate::parser::{ParsedExternalDocs, ParsedField, ParsedVariant};
321+
use crate::classes::parse::{ParsedExternalDocs, ParsedField, ParsedVariant};
322322
use std::collections::BTreeMap;
323323

324324
fn field(name: &str, ty: &str) -> ParsedField {

core/src/classes/mod.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
pub mod diff;
2+
pub mod emit;
3+
pub mod parse;
4+
pub mod patcher;
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
//!
33
//! internal logic for parsing `#[serde(...)]` and `#[oai(...)]` attributes.
44
5-
use crate::parser::models::RenameRule;
5+
use crate::classes::parse::models::RenameRule;
66
use ra_ap_syntax::ast::{self};
77
use ra_ap_syntax::{AstNode, SyntaxNode};
88
use regex::Regex;
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,11 @@
55
//!
66
//! High-level functions to parse Rust code into IR models.
77
8+
use crate::classes::parse::attributes::extract_attributes;
9+
use crate::classes::parse::models::{
10+
ParsedEnum, ParsedField, ParsedModel, ParsedStruct, ParsedVariant,
11+
};
812
use crate::error::{AppError, AppResult};
9-
use crate::parser::attributes::extract_attributes;
10-
use crate::parser::models::{ParsedEnum, ParsedField, ParsedModel, ParsedStruct, ParsedVariant};
1113
use ra_ap_edition::Edition;
1214
use ra_ap_syntax::ast::{self, HasName};
1315
use ra_ap_syntax::{AstNode, SourceFile, SyntaxKind, SyntaxNode};

0 commit comments

Comments
 (0)