3
3
from datetime import datetime
4
4
5
5
import sqlalchemy
6
+ from sqlalchemy .ext .asyncio import AsyncSession
6
7
7
8
import database
8
9
from elections .tables import Election
@@ -26,7 +27,7 @@ class ElectionParameters:
26
27
27
28
_logger = logging .getLogger (__name__ )
28
29
29
- async def get_election (db_session : database . DBSession , election_slug : str ) -> Election | None :
30
+ async def get_election (db_session : AsyncSession , election_slug : str ) -> Election | None :
30
31
query = (
31
32
sqlalchemy
32
33
.select (Election )
@@ -35,7 +36,7 @@ async def get_election(db_session: database.DBSession, election_slug: str) -> El
35
36
result = await db_session .scalar (query )
36
37
return result
37
38
38
- async def create_election (params : ElectionParameters , db_session : database . DBSession ) -> None :
39
+ async def create_election (db_session : AsyncSession , params : ElectionParameters ) -> None :
39
40
"""
40
41
Creates a new election with given parameters.
41
42
Does not validate if an election _already_ exists
@@ -49,15 +50,15 @@ async def create_election(params: ElectionParameters, db_session: database.DBSes
49
50
survey_link = params .survey_link )
50
51
db_session .add (election )
51
52
52
- async def delete_election (slug : str , db_session : database . DBSession ) -> None :
53
+ async def delete_election (db_session : AsyncSession , slug : str ) -> None :
53
54
"""
54
55
Deletes a given election by its slug.
55
56
Does not validate if an election exists
56
57
"""
57
58
query = sqlalchemy .delete (Election ).where (Election .slug == slug )
58
59
await db_session .execute (query )
59
60
60
- async def update_election (params : ElectionParameters , db_session : database . DBSession ) -> None :
61
+ async def update_election (db_session : AsyncSession , params : ElectionParameters ) -> None :
61
62
"""
62
63
Updates an election with the provided parameters.
63
64
Take care as this will replace values with None if not populated.
0 commit comments