Пример #1
0
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}
Пример #2
0
 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())
Пример #3
0
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}
Пример #4
0
 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)
Пример #5
0
 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)
Пример #6
0
    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
Пример #7
0
def total():
    total = 0
    items = Item.objects()
    for item in items:
        total += item.price * item.quantity
    return str(total)
Пример #8
0
 def delete(self, id):
     if not id:
         abort(404, message='ID incorrect')
     ItemSchema().dump(Item.objects(id=id).delete())
Пример #9
0
 def put(self, id):
     obj = Item.objects(id=id).get()
     obj.update(**request.json)
     return ItemSchema().dump(obj.reload())
Пример #10
0
 def post(self):
     validity = ItemSchema().validate(request.json)
     if validity:
         return validity
     item = Item(**request.json).save()
     return ItemSchema().dump(item)
Пример #11
0
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()