group.py 797B

123456789101112131415161718192021222324252627282930313233
  1. # -*- coding: utf-8 -*-
  2. import typing
  3. from tracim import CFG
  4. __author__ = 'damien'
  5. from tracim.models.auth import Group, User
  6. from sqlalchemy.orm import Query
  7. from sqlalchemy.orm import Session
  8. class GroupApi(object):
  9. def __init__(
  10. self,
  11. session: Session,
  12. current_user: typing.Optional[User],
  13. config: CFG
  14. ):
  15. self._user = current_user
  16. self._session = session
  17. self._config = config
  18. def _base_query(self) -> Query:
  19. return self._session.query(Group)
  20. def get_one(self, group_id) -> Group:
  21. return self._base_query().filter(Group.group_id == group_id).one()
  22. def get_one_with_name(self, group_name) -> Group:
  23. return self._base_query().filter(Group.group_name == group_name).one()