def wrapper(*args, **kwargs) -> ApiResponse: try: return func(*args, **kwargs) except (InvalidParametersError, InvalidEntityError) as e: return ApiResponse.unprocessable_entity(e.error_messages()) except NotFoundError as e: return ApiResponse.not_found(e.error_messages())
def create(cls, params: dict) -> ApiResponse: form = ConnectionForm(**params) session = CreateSessionUseCase.execute(form) return ApiResponse.created(cls._detail(session))
def upsert(cls, params: dict) -> ApiResponse: form = PlacementForm(**params) placement = UpsertPlacementUseCase.execute(form) return ApiResponse.ok(cls._detail(placement))
def destroy(cls, params: dict) -> ApiResponse: DestroyActivityUseCase.execute(params.get('session_token'), params.get('token')) return ApiResponse.no_content()
def update(cls, params: dict) -> ApiResponse: form = ActivityForm(**params) activity = UpdateActivityUseCase.execute(form) return ApiResponse.ok(cls._detail(activity))
def index(cls, params: dict) -> ApiResponse: activities = FindActivitiesUseCase.execute(params.get('session_token')) return ApiResponse.ok(cls._details(activities))
def create(cls, params: dict) -> ApiResponse: form = NoteForm(**params) note = CreateNoteUseCase.execute(form) return ApiResponse.created(cls._detail(note))
def show(cls, params: dict) -> ApiResponse: session = FindSessionUseCase.execute(params.get('token')) return ApiResponse.ok(cls._detail(session))