"""
Schemas 模組
匯出所有 Pydantic Schemas
"""

# Base
from app.schemas.base import (
    BaseSchema,
    TimestampSchema,
    PaginationParams,
    PaginatedResponse,
)

# Employee
from app.schemas.employee import (
    EmployeeBase,
    EmployeeCreate,
    EmployeeUpdate,
    EmployeeInDB,
    EmployeeResponse,
    EmployeeListItem,
    EmployeeDetail,
)

# Business Unit
from app.schemas.business_unit import (
    BusinessUnitBase,
    BusinessUnitCreate,
    BusinessUnitUpdate,
    BusinessUnitInDB,
    BusinessUnitResponse,
    BusinessUnitListItem,
)

# Department
from app.schemas.department import (
    DepartmentBase,
    DepartmentCreate,
    DepartmentUpdate,
    DepartmentResponse,
    DepartmentListItem,
    DepartmentTreeNode,
)

# Employee Identity
from app.schemas.employee_identity import (
    EmployeeIdentityBase,
    EmployeeIdentityCreate,
    EmployeeIdentityUpdate,
    EmployeeIdentityInDB,
    EmployeeIdentityResponse,
    EmployeeIdentityListItem,
)

# Network Drive
from app.schemas.network_drive import (
    NetworkDriveBase,
    NetworkDriveCreate,
    NetworkDriveUpdate,
    NetworkDriveInDB,
    NetworkDriveResponse,
    NetworkDriveListItem,
    NetworkDriveQuotaUpdate,
)

# Audit Log
from app.schemas.audit_log import (
    AuditLogBase,
    AuditLogCreate,
    AuditLogInDB,
    AuditLogResponse,
    AuditLogListItem,
    AuditLogFilter,
)

# Email Account
from app.schemas.email_account import (
    EmailAccountBase,
    EmailAccountCreate,
    EmailAccountUpdate,
    EmailAccountInDB,
    EmailAccountResponse,
    EmailAccountListItem,
    EmailAccountQuotaUpdate,
)

# Permission
from app.schemas.permission import (
    PermissionBase,
    PermissionCreate,
    PermissionUpdate,
    PermissionInDB,
    PermissionResponse,
    PermissionListItem,
    PermissionBatchCreate,
    PermissionFilter,
    VALID_SYSTEMS,
    VALID_ACCESS_LEVELS,
)

# Response
from app.schemas.response import (
    ResponseModel,
    ErrorResponse,
    MessageResponse,
    SuccessResponse,
)
