Commit e475300c by Ooh-Ao

user

parent 19cfc78f
...@@ -10,7 +10,7 @@ import enum ...@@ -10,7 +10,7 @@ import enum
class RoleType(enum.Enum): class RoleType(enum.Enum):
MEMBER = 0 MEMBER = 0
ADMIN_COMPANY = 1 ADMIN_PROJECT = 1
ADMIN_SYSTEM = 99 ADMIN_SYSTEM = 99
class StatusType(enum.Enum): class StatusType(enum.Enum):
...@@ -34,7 +34,7 @@ class Member(Base): ...@@ -34,7 +34,7 @@ class Member(Base):
createdAt = Column(DateTime, nullable=False, default=datetime.utcnow) createdAt = Column(DateTime, nullable=False, default=datetime.utcnow)
updatedAt = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow) updatedAt = Column(DateTime, nullable=False, default=datetime.utcnow, onupdate=datetime.utcnow)
ProjectEmployees = relationship("ProjectEmployee", back_populates="member") # ProjectEmployees = relationship("ProjectEmployee", back_populates="member")
# ฟังก์ชันเพื่อแฮชรหัสผ่านก่อนบันทึก # ฟังก์ชันเพื่อแฮชรหัสผ่านก่อนบันทึก
def hash_password(self, password): def hash_password(self, password):
......
from pydantic import BaseModel
from typing import Optional
from uuid import UUID
from datetime import datetime
from ..models.company_location import LocationType
class CompanyLocationBase(BaseModel):
latitude: float
longitude: float
radius: float
locationName: str
startDate: datetime
endDate: datetime
locationType: LocationType
class CompanyLocationCreate(CompanyLocationBase):
pass
class CompanyLocationUpdate(BaseModel):
latitude: Optional[float] = None
longitude: Optional[float] = None
radius: Optional[float] = None
locationName: Optional[str] = None
startDate: Optional[datetime] = None
endDate: Optional[datetime] = None
locationType: Optional[LocationType] = None
class CompanyLocationResponse(CompanyLocationBase):
locationId: UUID
companyId: UUID
createdAt: datetime
updatedAt: Optional[datetime] = None
class Config:
from_attributes = True
from pydantic import BaseModel
from typing import Optional
from uuid import UUID
class DepartmentBase(BaseModel):
thName: str
engName: str
companyId: UUID
class DepartmentCreate(DepartmentBase):
pass
class DepartmentUpdate(BaseModel):
thName: Optional[str] = None
engName: Optional[str] = None
companyId: Optional[UUID] = None
class DepartmentResponse(DepartmentBase):
departmentId: UUID
class Config:
from_attributes = True
from pydantic import BaseModel
from typing import Optional
from uuid import UUID
from datetime import datetime
from ..models.employee_timestamp import TimestampType
class EmployeeTimestampBase(BaseModel):
company_employeeId: UUID
timestampType: TimestampType
locationName: Optional[str] = None
latitude: Optional[float] = None
longitude: Optional[float] = None
photoTimestamp: Optional[str] = None
class EmployeeTimestampCreate(EmployeeTimestampBase):
pass
class EmployeeTimestampUpdate(BaseModel):
timestampType: Optional[TimestampType] = None
latitude: Optional[float] = None
longitude: Optional[float] = None
locationName: Optional[str] = None
photoTimestamp: Optional[str] = None
class MemberResponse(BaseModel):
memberId: UUID
username: str
email: str
firstName: Optional[str]
lastName: Optional[str]
class PositionResponse(BaseModel):
positionId: UUID
thName: str
engName: str
class DepartmentResponse(BaseModel):
departmentId: UUID
thName: str
engName: str
class EmployeeModel(BaseModel):
member: MemberResponse
position: Optional[PositionResponse]
department: Optional[DepartmentResponse]
company_employeeId: UUID
employeeId: str
bossId: str
class EmployeeTimestampResponse(EmployeeTimestampBase):
employee: EmployeeModel
timestampId: UUID
companyId: UUID
timestamp: datetime
createdAt: datetime
updatedAt: Optional[datetime] = None
class Config:
from_attributes = True
from pydantic import BaseModel
from typing import Optional
from uuid import UUID
class PositionBase(BaseModel):
thName: str
engName: str
companyId: UUID
class PositionCreate(PositionBase):
pass
class PositionUpdate(BaseModel):
thName: Optional[str] = None
engName: Optional[str] = None
companyId: Optional[UUID] = None
class PositionResponse(PositionBase):
positionId: UUID
class Config:
from_attributes = True
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment