def delete(self, user_id): if int(user_id) != int(get_jwt_identity()): raise InvalidUsage.unauthorized_token() user = User.get_by_id(user_id) if user is None: raise InvalidUsage.user_not_found() db.session.delete(user) db.session.commit() return user, HTTPStatus.NO_CONTENT
def post(self): login_dto = request.get_json() user = User.query.filter_by(email=login_dto['email']).first() if user is not None and user.check_password(login_dto['password']): token = create_access_token(identity=user.id, fresh=True) return {'access_token': token} else: raise InvalidUsage.user_not_found()
def delete(self, request_id): request = Request.get_by_id(request_id) if request is None: raise InvalidUsage.user_not_found() db.session.delete(request) db.session.commit() return request, HTTPStatus.NO_CONTENT
def delete(self, expense_id): expense = Expense.get_by_id(expense_id) if expense is None: raise InvalidUsage.user_not_found() db.session.delete(expense) db.session.commit() return expense, HTTPStatus.NO_CONTENT
def post(self): user_dto = request.get_json() user = User(user_dto['username'], user_dto['email'], password=user_dto['password']) try: db.session.add(user) db.session.commit() except IntegrityError: raise InvalidUsage.user_already_registered() return user, HTTPStatus.CREATED
def put(self, expense_id): expense_dto = request.get_json() expense = Expense.get_by_id(expense_id) if expense is None: raise InvalidUsage.expense_not_found() expense.amount = expense_dto['amount'] expense.description = expense_dto['description'] db.session.commit() return expense
def get(self, reason): if not is_support_reason(reason): raise InvalidUsage.not_support_product_reason() offset = request.args.get('offset') count = request.args.get('count') try: items = filter_products_json( lambda item: is_equal_reason(item, reason)) result = get_products_by_range(items, int(offset), int(count)) except Exception as ex: raise InternalServerError(ex) return result
def get(self, reason, year, month): if not is_support_reason(reason): raise InvalidUsage.not_support_product_reason() offset = request.args.get('offset') count = request.args.get('count') if len(month) < 2: month = '0' + month try: items = filter_products_json( lambda product: is_equal_reason(product, reason) and product[ 'sellyear'] == year and product['sellmonth'] == month) result = get_products_by_range(items, int(offset), int(count)) except Exception as ex: raise InternalServerError(ex) return result
def get(self, user_id): user = User.get_by_id(user_id) if user is None: raise InvalidUsage.user_not_found() return user
def get(self, expense_id): expense = Expense.get_by_id(expense_id) if expense is None: raise InvalidUsage.expense_not_found() return expense