Projects: fix model and add api
This commit is contained in:
parent
653a7cbc05
commit
be8d7c3175
2 changed files with 15 additions and 7 deletions
|
@ -16,6 +16,7 @@ from gisaf.models.to_migrate import DataProvider
|
||||||
from gisaf.config import conf
|
from gisaf.config import conf
|
||||||
from gisaf.models.bootstrap import BootstrapData
|
from gisaf.models.bootstrap import BootstrapData
|
||||||
from gisaf.models.store import Store
|
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.database import pandas_query, fastapi_db_session as db_session
|
||||||
from gisaf.security import (
|
from gisaf.security import (
|
||||||
Token,
|
Token,
|
||||||
|
@ -108,6 +109,13 @@ async def get_stores() -> list[Store]:
|
||||||
drop(columns=['model', 'raw_model', 'base_gis_type'])
|
drop(columns=['model', 'raw_model', 'base_gis_type'])
|
||||||
return df.to_dict(orient="records")
|
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")
|
# @api.get("/user-role")
|
||||||
# async def get_user_role_relation(
|
# async def get_user_role_relation(
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
from datetime import datetime
|
from datetime import datetime, date
|
||||||
from csv import writer
|
from csv import writer
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from io import BytesIO, StringIO
|
from io import BytesIO, StringIO
|
||||||
|
@ -11,7 +11,7 @@ from gisaf.config import conf
|
||||||
from gisaf.models.models_base import Model
|
from gisaf.models.models_base import Model
|
||||||
from gisaf.models.metadata import gisaf_admin
|
from gisaf.models.metadata import gisaf_admin
|
||||||
|
|
||||||
class Project(Model):
|
class Project(Model, table=True):
|
||||||
metadata = gisaf_admin
|
metadata = gisaf_admin
|
||||||
|
|
||||||
class Admin:
|
class Admin:
|
||||||
|
@ -22,11 +22,11 @@ class Project(Model):
|
||||||
name: str
|
name: str
|
||||||
contact_person: str
|
contact_person: str
|
||||||
site: str
|
site: str
|
||||||
date_approved: datetime
|
date_approved: date
|
||||||
start_date_planned: datetime
|
start_date_planned: date
|
||||||
start_date_effective: datetime
|
start_date_effective: date
|
||||||
end_date_planned: datetime
|
end_date_planned: date
|
||||||
end_date_effective: datetime
|
end_date_effective: date
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return '{self.name:s}'.format(self=self)
|
return '{self.name:s}'.format(self=self)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue