36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
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 = {}
|
|
async for item in self.to_list(cursor):
|
|
res[item['event_name']] = item['show_name']
|
|
return res
|
|
|
|
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')
|