feat: Enhance data models and sorting logic for investors and projects

This commit is contained in:
bolade
2025-11-11 13:09:30 +01:00
parent 0e4763bf4f
commit 5e83734acf
6 changed files with 129 additions and 35 deletions
+14 -4
View File
@@ -63,11 +63,13 @@ def read_companies(
# Transform CompanyTable objects to CompanyData format
company_data_list = []
for company in companies:
# Sort sectors alphabetically
sorted_sectors = sorted(company.sectors, key=lambda s: s.name) if company.sectors else []
company_data = CompanyData(
company=company,
investors=company.investors,
members=company.members,
sectors=company.sectors,
sectors=sorted_sectors,
)
company_data_list.append(company_data)
@@ -147,11 +149,13 @@ def filter_companies(
# Transform to CompanyData format
company_data_list = []
for company in companies:
# Sort sectors alphabetically
sorted_sectors = sorted(company.sectors, key=lambda s: s.name) if company.sectors else []
company_data = CompanyData(
company=company,
investors=company.investors,
members=company.members,
sectors=company.sectors,
sectors=sorted_sectors,
)
company_data_list.append(company_data)
@@ -184,12 +188,15 @@ def read_company(company_id: int, db: Session = Depends(get_db)):
if not company:
raise HTTPException(status_code=404, detail="Company not found")
# Sort sectors alphabetically
sorted_sectors = sorted(company.sectors, key=lambda s: s.name) if company.sectors else []
# Transform to CompanyData format
return CompanyData(
company=company,
investors=company.investors,
members=company.members,
sectors=company.sectors,
sectors=sorted_sectors,
)
@@ -250,12 +257,15 @@ def update_company(
.first()
)
# Sort sectors alphabetically
sorted_sectors = sorted(company_with_relations.sectors, key=lambda s: s.name) if company_with_relations.sectors else []
# Transform to CompanyData format
return CompanyData(
company=company_with_relations,
investors=company_with_relations.investors,
members=company_with_relations.members,
sectors=company_with_relations.sectors,
sectors=sorted_sectors,
)