from typing import List from sqlalchemy.orm import Session from db.models.metadata import MetaDataColumn, MetaDataTable from db.schemas.metadata import MetaDataTableResponse, MetaDataColumnResponse def get_tables(db: Session) -> List[MetaDataTableResponse]: tables = db.query(MetaDataTable).all() results: List[MetaDataTableResponse] = [MetaDataTableResponse(id=table.id, name=table.table_name) for table in tables] return results def get_columns_for_table(db: Session, table: MetaDataTableResponse)-> List[MetaDataColumnResponse]: columns = db.query(MetaDataColumn).filter_by(table_id = table.id).all() results: List[MetaDataColumnResponse] = [] for column in columns: result: MetaDataColumnResponse = MetaDataColumnResponse( id=str(column.id), name=column.column_name, label=column.column_label, order=column.column_order, ref_column=column.ref_column, column_type=column.column_type) results.append(result) return results