import pymongo from bson import ObjectId from motor.motor_asyncio import AsyncIOMotorDatabase import schemas from crud.base import CRUDBase from schemas import * __all__ = 'event_mana', class CRUDEventMap(CRUDBase): async def edit_event_mate(self, db: AsyncIOMotorDatabase, game: str, data_id: schemas.EventMateEdit): await self.update_one(db, {'game': game, 'event_name': data_id.event_name}, {'$set': data_id.dict()}, upsert=True) async def get_show_name(self, db: AsyncIOMotorDatabase, game: str, event_name: str): res = await self.find_one(db, {'game': game, 'event_name': event_name}) return res.get('show_name', event_name) async def get_all_show_name(self, db: AsyncIOMotorDatabase, game: str): cursor = self.find(db, {'game': game}) res = {} res1= {} async for item in self.to_list(cursor): res[item['event_name']] = item['show_name'] res1[item['event_name']] = item.get('label_id','') return res,res1 async def create_index(self, db: AsyncIOMotorDatabase): await db[self.coll_name].create_index( [('game', pymongo.DESCENDING), ('event_name', pymongo.DESCENDING)], unique=True) event_mana = CRUDEventMap('event_mana')