def get_author(author_id): try: schema = Kanpai.Object({ 'author_id': Kanpai.Number(error="'author_id' must be a number").required( error="'author_id' is required") }) validation = schema.validate({"author_id": author_id}) if validation.get('error') != None: error = list(validation.get('error').values())[0] raise ValidationError(error) return authorService.get_author(author_id) except ValidationError as err: print_error(err) return set_response(status='BAD_REQUEST', success=False, error=str(err)) except Exception as err: print_error(err) return set_response(status='SERVER_ERROR', success=False, error='An error occurred')
def create_author(payload): try: schema = Kanpai.Object({ 'first_name': Kanpai.String( error="'first_name' must be a string").trim().required( error="'first_name' is required"), 'last_name': Kanpai.String( error="'last_name' must be a string").trim().required( error="'last_name' is required") }) validation = schema.validate(payload) if validation.get('error') != None: error = list(validation.get('error').values())[0] raise ValidationError(error) return authorService.create_author(payload) except ValidationError as err: print_error(err) return set_response(status='BAD_REQUEST', success=False, error=str(err)) except Exception as err: print_error(err) return set_response(status='SERVER_ERROR', success=False, error='An error occurred')
def server_error(e): logging.error(e) return set_response(status=500, value={ "success": False, "error": "An error occurred" })
def get_author(author_id): try: author_repository = Repository(Author, AuthorSchema()) result = author_repository.get_one(author_id) if(result == None): return set_response( status = 'NOT_FOUND', success = False, error = 'Author record does not exist' ) return set_response( status = 'SUCCESS', success = True, data = result ) except Exception as error: print(error) raise error
def create_author(payload): try: author_repository = Repository(Author, AuthorSchema()) result = author_repository.persist(payload) return set_response( status = 'SUCCESS', success = True, data = result, message = 'New author created successfully' ) except Exception as error: print(error) raise error
def get_all_authors(skip, limit): try: temp_skip = int(skip) temp_limit = int(limit) authors = Author.query.all().limit(temp_limit).offset(temp_skip) author_schema = AuthorSchema(many=True) result = author_schema.dump(authors) return set_response( status = 'SUCCESS', success = True, data = result ) except Exception as error: print(error) raise error