bedrock.generators.code_generators.model.model_header
1from bedrock.generators.code_generators.common.imports import imports_list_to_string 2from bedrock.generators.code_generators.model.helpers import resolve_attribute_columns_to_imports, \ 3 resolve_model_name_from_path_hint 4from bedrock.generators.code_generators.common.imports import import_models 5 6 7def make_model_header(attributes: list[tuple[str, str]], filter_path_hint: str, app_path: str) -> str: 8 imports = _generate_imports(attributes) 9 hinted_model_name = resolve_model_name_from_path_hint(filter_path_hint) 10 hinted_model = import_models(app_path).get(hinted_model_name) 11 if hinted_model: 12 imports.append("sqlalchemy.ForeignKey") 13 imports.append("sqlalchemy.UUID") 14 return f"{imports_list_to_string(imports)}\n" 15 16 17def _generate_imports(attributes: list[tuple[str, str]]) -> list[str]: 18 imports = [ 19 "bedrock.db.model_helper.ModelHelper", 20 "bedrock.db.model_helper.Base", 21 "bedrock.model.decorators.filter_path_hint.filter_path_hint", 22 "sqlalchemy.Column", 23 "sqlalchemy.orm.relationship" 24 ] 25 imports.extend(resolve_attribute_columns_to_imports(attributes)) 26 return imports
def
make_model_header( attributes: list[tuple[str, str]], filter_path_hint: str, app_path: str) -> str:
8def make_model_header(attributes: list[tuple[str, str]], filter_path_hint: str, app_path: str) -> str: 9 imports = _generate_imports(attributes) 10 hinted_model_name = resolve_model_name_from_path_hint(filter_path_hint) 11 hinted_model = import_models(app_path).get(hinted_model_name) 12 if hinted_model: 13 imports.append("sqlalchemy.ForeignKey") 14 imports.append("sqlalchemy.UUID") 15 return f"{imports_list_to_string(imports)}\n"