import pymongo from bson import ObjectId from motor.motor_asyncio import AsyncIOMotorDatabase from crud.base import CRUDBase from schemas import * __all__ = 'data_auth', class CRUDDataAuth(CRUDBase): async def create(self, db: AsyncIOMotorDatabase, obj_in: DataAuthCreate, game): data = obj_in.dict() data['game'] = game data['update_date'] = datetime.now() await self.update_one(db, data, {'$set': data}, upsert=True) async def get_game_data_auth(self, db, game): return await self.find_many(db, {'game':game}) async def edit_data_auth(self, db, data_in: DataAuthEdit): return await self.update_one(db, {'_id': ObjectId(data_in.data_auth_id)}, {'$set': {'title': data_in.title, 'data': data_in.data, 'update_date': datetime.now() }}) # async def get_user_for_game_auth(self, db, game, username): # await self.find_one({'ptype': 'g'}) async def create_index(self, db: AsyncIOMotorDatabase): await db[self.coll_name].create_index( [('game', pymongo.DESCENDING), ('title', pymongo.DESCENDING)], unique=True) data_auth = CRUDDataAuth('data_auth')