def post(self, *args, **kwargs): # Служебное создание таблиц для тестового задания db.create_all() # Получаем входные входные данные из запроса и проводим валидацию try: data = request.get_json(force=True) dataSchema = LongToShortSchema() dataSchema.load(data) except ValidationError as err: return err.messages, 422 # Проверяем наличие объекта по длинной ссылке # В случае отсутствия - создаем новый объект linkStorageObj = LinkStorage.query.filter_by(longLink=data['long_url']).first() if not linkStorageObj: linkStorageObj = LinkStorage( longLink=data['long_url'] ) db.session.add(linkStorageObj) db.session.commit() response = { 'short_link': f'{BASE_URL}{linkStorageObj.postfix}' } return response
def dbsetup(seed): click.echo('[*] Creating database and tables') db.drop_all() db.create_all() if seed: click.echo('[*] Seeding default database records') StocksSeeder.run() click.echo('[*] Database setup complete')
def get(self, *args, **kwargs): # Служебное создание таблиц для тестового задания db.create_all() # Проверяем корректность урла dataSchema = ActionByShortPostfixSchema() try: dataSchema.load(kwargs) except ValidationError as err: return err.messages, 422 # Проверяем наличие объекта по короткой сслыке try: linkStorageObj = LinkStorage.query.filter_by(postfix=kwargs['short_postfix']).first() getattr(linkStorageObj, 'count') except AttributeError: return 'Invalid short_postfix', 422 response = { 'count': linkStorageObj.count } return response
def get(self, *args, **kwargs): # Служебное создание таблиц для тестового задания db.create_all() # Проверяем корректность урла dataSchema = ActionByShortPostfixSchema() try: dataSchema.load(kwargs) except ValidationError as err: return err.messages, 422 # Проверяем наличие объекта по короткой сслыке try: linkStorageObj = LinkStorage.query.filter_by(postfix=kwargs['short_postfix']).first() getattr(linkStorageObj, 'longLink') except AttributeError: return 'Invalid short_postfix', 422 # Учитываем новое количество переходов по сслыке linkStorageObj.count += 1 db.session.add(linkStorageObj) db.session.commit() return redirect(linkStorageObj.longLink, code=302)
return { 'id': self.id, 'name': self.name, 'email': self.email, 'username': self.username, 'password': self.password, 'register_date': str_register_date } def save_to_db(self): """This methods saves the changes made to a user object and commits those changes to the database""" db.session.add(self) db.session.commit() def delete_from_db(self): """This methods deletes a user object and commits those changes to the database""" db.session.delete(self) db.session.commit() @classmethod def find_by_username(cls, username): """This method is used to find a user by the given id""" return cls.query.filter_by(username=username).first() db.create_all() db.session.commit()
def setUp(self): with app.app_context(): db.create_all()
def createtable(): db.create_all()
def create_tables(): db.create_all()
def dbsetup(self): with self.app.app_context(): db.drop_all() db.create_all()