eventcally/project/services/organizer.py
Daniel Grams 273b3fb072 Internal/analysis (#4)
* Codestyle Black

* Flake8

* Test coverage
2020-11-13 23:05:39 +01:00

26 lines
784 B
Python

from project import db
from project.models import EventOrganizer, EventPlace, Location
from sqlalchemy import and_
from sqlalchemy.sql import func
def upsert_event_organizer(admin_unit_id, name):
result = EventOrganizer.query.filter(
and_(EventOrganizer.name == name, EventOrganizer.admin_unit_id == admin_unit_id)
).first()
if result is None:
result = EventOrganizer(name=name, admin_unit_id=admin_unit_id)
result.location = Location()
db.session.add(result)
return result
def get_event_places(organizer_id):
organizer = EventOrganizer.query.get(organizer_id)
return (
EventPlace.query.filter(EventPlace.admin_unit_id == organizer.admin_unit_id)
.order_by(func.lower(EventPlace.name))
.all()
)