Projects: fix model and add api

This commit is contained in:
phil 2024-01-03 17:05:54 +05:30
parent 653a7cbc05
commit be8d7c3175
2 changed files with 15 additions and 7 deletions

View file

@ -16,6 +16,7 @@ from gisaf.models.to_migrate import DataProvider
from gisaf.config import conf
from gisaf.models.bootstrap import BootstrapData
from gisaf.models.store import Store
from gisaf.models.project import Project
from gisaf.database import pandas_query, fastapi_db_session as db_session
from gisaf.security import (
Token,
@ -108,6 +109,13 @@ async def get_stores() -> list[Store]:
drop(columns=['model', 'raw_model', 'base_gis_type'])
return df.to_dict(orient="records")
@api.get("/projects")
async def get_projects(
db_session: db_session,
) -> list[Project]:
query = select(Project)
df = await db_session.run_sync(pandas_query, query)
return df.to_dict(orient="records")
# @api.get("/user-role")
# async def get_user_role_relation(

View file

@ -1,4 +1,4 @@
from datetime import datetime
from datetime import datetime, date
from csv import writer
from collections import defaultdict
from io import BytesIO, StringIO
@ -11,7 +11,7 @@ from gisaf.config import conf
from gisaf.models.models_base import Model
from gisaf.models.metadata import gisaf_admin
class Project(Model):
class Project(Model, table=True):
metadata = gisaf_admin
class Admin:
@ -22,11 +22,11 @@ class Project(Model):
name: str
contact_person: str
site: str
date_approved: datetime
start_date_planned: datetime
start_date_effective: datetime
end_date_planned: datetime
end_date_effective: datetime
date_approved: date
start_date_planned: date
start_date_effective: date
end_date_planned: date
end_date_effective: date
def __str__(self):
return '{self.name:s}'.format(self=self)