Source code for caspia.homeserver.views.base

import sanic

from caspia.homeserver.authorization import authorized
from caspia.homeserver.services import MeadowService, TileService, UserService, WallService


[docs]class View(sanic.views.HTTPMethodView): decorators = [authorized()] def __init__(self, services, loop): self.services = services self.loop = loop @property def meadow_service(self) -> MeadowService: return self.services[MeadowService] @property def wall_service(self) -> WallService: return self.services[WallService] @property def tile_service(self) -> TileService: return self.services[TileService] @property def user_service(self) -> UserService: return self.services[UserService]
[docs] def error_response(self, status, message): return sanic.response.json(body={'message': message}, status=status)
[docs] def options(self, request, *args, **kwargs): return sanic.response.raw(b'', status=204)