async def read_item(item_id: int = None) -> ItemType: if not item_id: query = Item.select().where(Item.id == item_id) else: query = Item.select() result = await database.fetch_all(query) return {"result": result}
def get(self, id=None): if not id: objects = Item.objects return ItemSchema().dump(objects, many=True) item = Item.objects(id=id).get() item.views += 1 item.save() return ItemSchema().dump(Item.objects(id=id).get())
async def read_root(id_user: int = None) -> UserType: if not id_user: query = User.select().where(User.id == id_user) else: query = Item.select() result = await database.fetch_all(query) return {"result": result}
def post(self): err = Item_schema().validate(request.json) if err: raise ValueError(err) print(request.json) itm_obj = Item(**request.json).save() return Item_schema().dump(itm_obj)
def get(self, id=None): if not id: return Item_schema(many=True).dump(Item.objects()) else: item = Item.objects.get(id=id) item.view_count += 1 item.save() return Item_schema().dump(item)
def get_tower_statistics(self, tower, session_id): ''' get_tower_statistics(tower, session_id) -> returning Item object tower: Statistics of what tower do we want to retrive session_id: ID of currently active session NOTE:Item model: #SERVER SENDING MESSAGE INFORMATIONS: towerName: str = None towerHealth: int = None towerDefense: int = None towerDefenders: int = None serverUri: str = None #ENEMY SERVER INFORMATIONS: enemyTowerDefenders: int = None enemyTowerHealth: int = None enemyTowerName: str = None ''' self.__CUR.execute( f"SELECT health, defense, defender_count FROM tower WHERE id LIKE '{tower}' AND session = {session_id}" ) item = Item() data = self.__CUR.fetchone() item.towerName = tower item.towerHealth = data[0] item.towerDefense = data[1] item.towerDefenders = data[2] enemy_tower = "Hocus" if tower == "Pocus" else "Pocus" self.__CUR.execute( f"SELECT health, defender_count FROM tower WHERE id LIKE '{enemy_tower}' AND session = {session_id}" ) data = self.__CUR.fetchone() item.enemyTowerHealth = data[0] item.enemyTowerDefenders = data[1] item.enemyTowerName = "Hocus" if tower == "Pocus" else "Pocus" item.serverUri = "localhost:666" if tower == "Hocus" else "localhost:999" return item
def total(): total = 0 items = Item.objects() for item in items: total += item.price * item.quantity return str(total)
def delete(self, id): if not id: abort(404, message='ID incorrect') ItemSchema().dump(Item.objects(id=id).delete())
def put(self, id): obj = Item.objects(id=id).get() obj.update(**request.json) return ItemSchema().dump(obj.reload())
def post(self): validity = ItemSchema().validate(request.json) if validity: return validity item = Item(**request.json).save() return ItemSchema().dump(item)
from models.models import Category, Item from random import choice, randint category = [] for i in range(1, 6): category_ex = Category( **{ 'title': f'category number {i}', 'description': f'description by category number {i}', }).save() category.append(category_ex) for i in range(1, 11): item_ex = { 'title': f'item number {i}', 'category': choice(category), 'is_availability': True, 'price': randint(100, 1000), 'count': randint(10, 50) } Item(**item_ex).save()