26 lines
771 B
Python
26 lines
771 B
Python
from motor.motor_asyncio import AsyncIOMotorDatabase
|
|
|
|
from crud.base import CRUDBase
|
|
from schemas import *
|
|
|
|
__all__ = 'project',
|
|
|
|
|
|
class CRUDProject(CRUDBase):
|
|
|
|
async def create(self, db: AsyncIOMotorDatabase, obj_in: ProjectCreate, user_id: str):
|
|
db_obj = ProjectDB(
|
|
**obj_in.dict(), user_id=user_id, members=[user_id],
|
|
_id=uuid.uuid1().hex
|
|
)
|
|
await db[self.coll_name].insert_one(db_obj.dict(by_alias=True))
|
|
|
|
async def read_project(self, db: AsyncIOMotorDatabase, user_id: str):
|
|
return await self.read_have(db[self.coll_name], user_id=user_id)
|
|
|
|
async def create_index(self, db: AsyncIOMotorDatabase):
|
|
await db[self.coll_name].create_index('name', unique=True)
|
|
|
|
|
|
project = CRUDProject('project')
|