More impl for devops
This commit is contained in:
parent
308f82740d
commit
ab7e6728b5
39
apps/devops/app/common/models/code_depot/code_depot.py
Normal file
39
apps/devops/app/common/models/code_depot/code_depot.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
from datetime import datetime, timezone
|
||||||
|
from typing import List, Optional, Dict
|
||||||
|
|
||||||
|
from beanie import Document
|
||||||
|
from enum import IntEnum
|
||||||
|
|
||||||
|
from pymongo import IndexModel
|
||||||
|
|
||||||
|
|
||||||
|
class DepotStatus(IntEnum):
|
||||||
|
TO_BE_CREATED = 0
|
||||||
|
CREATED = 1
|
||||||
|
DELETED = 2
|
||||||
|
|
||||||
|
|
||||||
|
class UserAccountStatus(IntEnum):
|
||||||
|
TO_BE_CREATED = 0
|
||||||
|
CREATED = 1
|
||||||
|
DELETED = 2
|
||||||
|
DEACTIVATED = 3
|
||||||
|
|
||||||
|
class CodeDepotDoc(Document):
|
||||||
|
depot_name: str
|
||||||
|
product_id: str
|
||||||
|
depot_status: DepotStatus
|
||||||
|
collaborators: List[str] = []
|
||||||
|
total_commits: Optional[int] = 0
|
||||||
|
last_commiter: Optional[str] = ""
|
||||||
|
last_update: Optional[datetime] = datetime.now(timezone.utc)
|
||||||
|
weekly_commits: Optional[Dict[str, int]] = {}
|
||||||
|
|
||||||
|
class Settings:
|
||||||
|
name = "code_depot"
|
||||||
|
indexes = [
|
||||||
|
IndexModel([("product_id", 1)])
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user