first commit

This commit is contained in:
2024-11-07 17:44:29 +03:00
commit 643d6d8f65
247 changed files with 420800 additions and 0 deletions

View File

@@ -0,0 +1,219 @@
from .core_request_validations import (
ListOptions,
PydanticBaseModel,
PatchRecord,
EndpointPydantic,
BaseModelRegular,
)
from .address import (
InsertAddress,
InsertPostCode,
SearchAddress
)
from .application import (
SingleEnumUUID,
SingleEnumClassKey,
SingleEnumOnlyClass,
SingleOccupantTypeUUID,
SingleOccupantTypeClassKey,
)
from .area import (
InsertBuildArea,
InsertBuildSites,
UpdateBuildArea,
UpdateBuildSites,
)
from .authentication import (
Login,
Logout,
ChangePassword,
Remember,
Forgot,
CreatePassword,
OccupantSelection,
EmployeeSelection,
)
from .build_living_space import (
InsertBuildLivingSpace,
UpdateBuildLivingSpace,
)
from .build_part import (
InsertBuildParts,
InsertBuildTypes,
UpdateBuildParts,
UpdateBuildTypes,
)
from .building import (
InsertBuild,
UpdateBuild,
)
from .company import (
MatchCompany2Company,
InsertCompany,
UpdateCompany,
)
from .decision_book import (
DecisionBookDecisionBookInvitations,
DecisionBookDecisionBookInvitationsUpdate,
DecisionBookDecisionBookInvitationsAttend,
DecisionBookDecisionBookInvitationsAssign,
UpdateDecisionBook,
UpdateBuildDecisionBookItems,
UpdateBuildDecisionBookItemDebits,
InsertBuildDecisionBookItems,
InsertBuildDecisionBookItemDebits,
InsertDecisionBookCompleted,
InsertDecisionBook,
InsertDecisionBookPerson,
ListDecisionBook,
RemoveDecisionBookPerson,
)
from .departments import (
DepartmentsPydantic,
)
from .employee import (
InsertDuties,
UpdateDuties,
InsertEmployees,
SelectDuties,
UnBindEmployees2People,
BindEmployees2People,
UpdateCompanyEmployees,
InsertCompanyEmployees,
InsertCompanyEmployeesSalaries,
InsertCompanyDuty,
UpdateCompanyEmployeesSalaries,
UpdateCompanyDuty,
)
from .events import (
CreateEvents,
RegisterEvents2Employee,
RegisterEvents2Occupant,
)
from .people import (
UpdatePerson,
InsertPerson,
ResponsePersonSalesMange,
)
from .project_decision_book import (
InsertBuildDecisionBookProjectItems,
UpdateBuildDecisionBookProjectItems,
InsertBuildDecisionBookProjectItemDebits,
UpdateBuildDecisionBookProjectItemDebits,
InsertBuildDecisionBookProjects,
UpdateBuildDecisionBookProjects,
)
from .rules import (
UpdateEndpointAccess,
UpdateEndpointAccessList,
InsertEndpointAccess,
)
from .services import (
RegisterServices2Employee,
RegisterServices2Occupant,
)
from .staff import (
InsertStaff,
SelectStaff,
)
from .user import (
InsertUsers,
UpdateUsers,
QueryUsers,
ActiveUsers,
ListUsers,
DeleteUsers,
)
__all__ = [
"ListOptions",
"PydanticBaseModel",
"PatchRecord",
"EndpointPydantic",
"BaseModelRegular",
"InsertAddress",
"InsertPostCode",
"SearchAddress",
"SingleEnumUUID",
"SingleEnumClassKey",
"SingleEnumOnlyClass",
"SingleOccupantTypeUUID",
"SingleOccupantTypeClassKey",
"InsertBuildArea",
"InsertBuildSites",
"UpdateBuildArea",
"UpdateBuildSites",
"Login",
"Logout",
"ChangePassword",
"Remember",
"Forgot",
"CreatePassword",
"OccupantSelection",
"EmployeeSelection",
"InsertBuildLivingSpace",
"UpdateBuildLivingSpace",
"InsertBuildParts",
"InsertBuildTypes",
"UpdateBuildParts",
"UpdateBuildTypes",
"InsertBuild",
"UpdateBuild",
"MatchCompany2Company",
"InsertCompany",
"UpdateCompany",
"DecisionBookDecisionBookInvitations",
"DecisionBookDecisionBookInvitationsUpdate",
"DecisionBookDecisionBookInvitationsAttend",
"DecisionBookDecisionBookInvitationsAssign",
"UpdateDecisionBook",
"UpdateBuildDecisionBookItems",
"UpdateBuildDecisionBookItemDebits",
"InsertBuildDecisionBookItems",
"InsertBuildDecisionBookItemDebits",
"InsertDecisionBookCompleted",
"InsertDecisionBook",
"InsertDecisionBookPerson",
"ListDecisionBook",
"RemoveDecisionBookPerson",
"DepartmentsPydantic",
"InsertDuties",
"UpdateDuties",
"InsertEmployees",
"SelectDuties",
"UnBindEmployees2People",
"BindEmployees2People",
"UpdateCompanyEmployees",
"InsertCompanyEmployees",
"InsertCompanyEmployeesSalaries",
"InsertCompanyDuty",
"UpdateCompanyEmployeesSalaries",
"UpdateCompanyDuty",
"CreateEvents",
"RegisterEvents2Employee",
"RegisterEvents2Occupant",
"UpdatePerson",
"InsertPerson",
"ResponsePersonSalesMange",
"InsertBuildDecisionBookProjectItems",
"UpdateBuildDecisionBookProjectItems",
"InsertBuildDecisionBookProjectItemDebits",
"UpdateBuildDecisionBookProjectItemDebits",
"InsertBuildDecisionBookProjects",
"UpdateBuildDecisionBookProjects",
"UpdateEndpointAccess",
"UpdateEndpointAccessList",
"InsertEndpointAccess",
"RegisterServices2Employee",
"RegisterServices2Occupant",
"InsertStaff",
"SelectStaff",
"InsertUsers",
"UpdateUsers",
"QueryUsers",
"ActiveUsers",
"ListUsers",
"DeleteUsers",
]

View File

@@ -0,0 +1,55 @@
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
from typing import Optional
class InsertPostCode(PydanticBaseModel):
street_uu_id: str
post_code: str
class SearchAddress(PydanticBaseModel):
search: str
list_options: ListOptions
class InsertStreet(PydanticBaseModel):
street_code: str
street_name: str
postcode: str
type_code: Optional[str] = None
type_description: Optional[str] = None
gov_code: Optional[str] = None
address_geographic_uu_id: Optional[str] = None
class InsertAddress(PydanticBaseModel):
post_code_uu_id: str
comment_address: Optional[str] = None
letter_address: Optional[str] = None
build_number: str
door_number: Optional[str] = None
floor_number: Optional[str] = None
short_letter_address: Optional[str] = None
latitude: Optional[float] = None
longitude: Optional[float] = None
class _UpdateAddress(PydanticBaseModel):
...
# country_code: Optional[str] = None
# city: Optional[str] = None
# district: Optional[str] = None
# b_state: Optional[str] = None
# neighborhood: Optional[str] = None
# street: Optional[str] = None
# postcode: Optional[str] = None
# latitude: Optional[float] = None
# longitude: Optional[float] = None

View File

@@ -0,0 +1,22 @@
from api_validations.core_validations import BaseModelRegular
class SingleEnumClassKey(BaseModelRegular):
class_name: str
key_name: str
class SingleEnumUUID(BaseModelRegular):
uu_id: str
class SingleEnumOnlyClass(BaseModelRegular):
class_name: str
class SingleOccupantTypeClassKey(BaseModelRegular):
type_code: str
class SingleOccupantTypeUUID(BaseModelRegular):
uu_id: str

View File

@@ -0,0 +1,39 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertBuildArea(BaseModelRegular):
build_uu_id: str
area_name: str
area_code: str
area_type: str
area_direction: Optional[str] = None
area_gross_size: Optional[float] = None
area_net_size: Optional[float] = None
width: Optional[int] = None
size: Optional[int] = None
class UpdateBuildArea(PydanticBaseModel):
area_name: Optional[str] = None
area_code: Optional[str] = None
area_type: Optional[str] = None
area_direction: Optional[str] = None
area_gross_size: Optional[float] = None
area_net_size: Optional[float] = None
width: Optional[int] = None
size: Optional[int] = None
class InsertBuildSites(BaseModelRegular):
address_uu_id: str
site_name: str
site_no: str
class UpdateBuildSites(PydanticBaseModel):
site_name: Optional[str] = None
site_no: Optional[str] = None

View File

@@ -0,0 +1,49 @@
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
from typing import Optional
from pydantic import BaseModel
class ChangePassword(BaseModelRegular):
domain_name: str
access_key: str
old_password: str
new_password: str
class CreatePassword(BaseModelRegular):
password_token: str
password: str
re_password: str
class OccupantSelection(BaseModel):
occupant_uu_id: str
build_part_uu_id: str
class EmployeeSelection(BaseModel):
company_uu_id: str
class Login(BaseModelRegular):
domain: str
access_key: str
password: str
remember_me: Optional[bool] = False
class Logout(BaseModelRegular):
domain: str
class Remember(BaseModelRegular):
domain: str
refresh_token: str
class Forgot(BaseModelRegular):
domain: str
access_key: str

View File

@@ -0,0 +1,18 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertBuildLivingSpace(BaseModelRegular):
person_uu_id: str
build_parts_uu_id: str
occupant_type_uu_id: str
class UpdateBuildLivingSpace(PydanticBaseModel):
is_tenant_live: Optional[bool] = None
build_parts_uu_id: Optional[str] = None
person_uu_id: Optional[str] = None

View File

@@ -0,0 +1,48 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class UpdateBuildTypes(PydanticBaseModel): ...
class InsertBuildTypes(PydanticBaseModel):
function_code: str
type_code: str
lang: str
type_name: str
class InsertBuildParts(PydanticBaseModel):
build_uu_id: str
address_gov_code: str
part_no: int
part_level: int
build_part_type_uu_id: str
part_gross_size: Optional[int] = None
part_net_size: Optional[int] = None
default_accessory: Optional[str] = None
human_livable: Optional[bool] = False
part_direction_uu_id: Optional[str] = None
# current_owner_person_uu_id: Optional[str] = None
# current_tenant_person_uu_id: Optional[str] = None
class UpdateBuildParts(PydanticBaseModel):
address_gov_code: Optional[str] = None
part_no: Optional[int] = None
part_level: Optional[int] = None
build_part_type_uu_id: Optional[str] = None
part_code: Optional[int] = None
part_gross_size: Optional[int] = None
part_net_size: Optional[int] = None
default_accessory: Optional[str] = None
human_livable: Optional[bool] = False
part_direction: Optional[str] = None
current_owner_person_uu_id: Optional[str] = None
current_tenant_person_uu_id: Optional[str] = None

View File

@@ -0,0 +1,44 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertBuild(PydanticBaseModel):
gov_address_code: str
build_name: str
build_types_uu_id: str
max_floor: int
underground_floor: int
address_uu_id: str
build_date: str
decision_period_date: str
tax_no: Optional[str] = None
lift_count: Optional[int] = None
heating_system: Optional[bool] = None
cooling_system: Optional[bool] = None
hot_water_system: Optional[bool] = None
block_service_man_count: Optional[int] = None
security_service_man_count: Optional[int] = None
garage_count: Optional[int] = None
class UpdateBuild(PydanticBaseModel):
gov_address_code: Optional[str] = None
build_name: Optional[str] = None
build_no: Optional[str] = None
build_types: Optional[str] = None
max_floor: Optional[int] = None
underground_floor: Optional[int] = None
build_date: Optional[str] = None
tax_no: Optional[str] = None
lift_count: Optional[int] = None
heating_system: Optional[bool] = None
cooling_system: Optional[bool] = None
hot_water_system: Optional[bool] = None
block_service_man_count: Optional[int] = None
security_service_man_count: Optional[int] = None
garage_count: Optional[int] = None
address_uu_id: Optional[str] = None

View File

@@ -0,0 +1,34 @@
from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertCompany(PydanticBaseModel):
formal_name: str
company_type: str
commercial_type: str
tax_no: str
public_name: Optional[str] = None
company_tag: Optional[str] = None
default_lang_type: Optional[str] = None
default_money_type: Optional[str] = None
official_address_uu_id: Optional[int] = None
# parent_uu_id: Optional[int] = None
class UpdateCompany(PydanticBaseModel):
company_uu_id: str
public_name: Optional[str] = None
formal_name: Optional[str] = None
tax_no: Optional[str] = None
company_tag: Optional[str] = None
default_lang_type: Optional[str] = None
default_money_type: Optional[str] = None
official_address_uu_id: Optional[int] = None
class MatchCompany2Company(PydanticBaseModel):
match_company_uu_id: List[str]
duty_uu_id: str

View File

@@ -0,0 +1,34 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
class ListOptions(BaseModelRegular):
page: Optional[int] = 1
size: Optional[int] = 10
order_field: Optional[str] = "id"
order_type: Optional[str] = "asc"
include_joins: Optional[list] = []
query: Optional[dict] = {}
class PydanticBaseModel(BaseModelRegular):
active: Optional[bool] = None
deleted: Optional[bool] = None
is_confirmed: Optional[bool] = None
expiry_starts: Optional[str] = None
expiry_ends: Optional[str] = None
class EndpointPydantic(BaseModelRegular):
data: Optional[dict] = {}
class PatchRecord(BaseModelRegular):
confirm: Optional[bool] = None
delete: Optional[bool] = None
active: Optional[bool] = None

View File

@@ -0,0 +1,80 @@
import typing
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
from datetime import datetime
from pydantic import create_model
from databases import Modules
from fastapi.exceptions import HTTPException
class ConvertField:
def __init__(self, match, default_val=None):
self.match = match
self.default_val = default_val
def typing_return(self):
typing_dict = {
"<class 'float'>": float,
"<class 'bool'>": bool,
"<class 'int'>": int,
"<class 'str'>": str,
"<class 'dict'>": dict,
"<class 'list'>": list,
"<class 'datetime.datetime'>": datetime,
"typing.Optional[datetime.datetime]": typing.Optional[datetime],
"typing.Optional[bool]": typing.Optional[bool],
"typing.Optional[list]": typing.Optional[list],
"typing.Optional[str]": typing.Optional[str],
"typing.Optional[int]": typing.Optional[int],
"typing.Optional[float]": typing.Optional[float],
"typing.Optional[dict]": typing.Optional[dict],
}
matches_with = typing_dict.get(self.match, typing.Optional[str])
default_value = getattr(self.default_val, "field_default_value", None)
return matches_with, default_value
#
# def create_model_from_database(model_id: typing.Union[int, str]):
# if isinstance(model_id, int):
# selected_model = Models.find_one(id=model_id)
# else:
# selected_model = Models.find_one(uu_id=str(model_id))
#
# if not selected_model:
# raise HTTPException(
# status_code=202,
# detail=f"Model {selected_model.model_name} not found in database. Please add model to api.",
# )
# pydantic_class = getattr(root_validates, selected_model.model_type, None)
# if not pydantic_class:
# raise HTTPException(
# status_code=202,
# detail=f"Pydantic class {selected_model.model_type} not found in database. Please add model to api.",
# )
#
# model_entities_records = ModelEntities.filter_active(
# ModelEntities.model_id == selected_model.id
# ).data
#
# if not model_entities_records:
# raise HTTPException(
# status_code=202,
# detail="Model has no entities registered. Please add entities to model.",
# )
#
# fields = {}
# for entity in model_entities_records:
# fields[entity.field_name] = ConvertField(
# entity.field_type, entity.field_default_value
# ).typing_return()
#
# return create_model(
# __model_name=selected_model.model_name, # pydantic_name(User)
# __module__=pydantic_class.__module__, # field_name(uu_id)
# **fields, # field_name = (field_type (Optional[str]), default_value(None))
# )

View File

@@ -0,0 +1,107 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class DecisionBookDecisionBookInvitations(PydanticBaseModel):
build_decision_book_uu_id: str
message: str
planned_date: str
class DecisionBookDecisionBookInvitationsAttend(PydanticBaseModel):
token: str
is_attend: bool
class DecisionBookDecisionBookInvitationsAssign(PydanticBaseModel):
token: str
build_living_space_uu_id: str
occupant_type_uu_id: str
class DecisionBookDecisionBookInvitationsUpdate(PydanticBaseModel):
token: str
occupant_type_uu_id: Optional[str] = None
class ListDecisionBook(PydanticBaseModel):
build_decision_book_uu_id: Optional[str] = None
class InsertDecisionBook(PydanticBaseModel):
build_uu_id: str
decision_type: str
meeting_date: str
is_out_sourced: bool
resp_company_fix_wage: Optional[float] = None
resp_company_uu_id: Optional[str] = None
class InsertDecisionBookCompleted(PydanticBaseModel):
build_decision_book_uu_id: str
meeting_completed_date: str
class InsertDecisionBookPerson(PydanticBaseModel):
person_uu_id: str
build_decision_book_uu_id: str
management_typecode_uu_id: str
dues_discount_approval_date: Optional[str] = None
dues_fix_discount: Optional[float] = None
dues_percent_discount: Optional[int] = None
class RemoveDecisionBookPerson(PydanticBaseModel):
person_uu_id: str
build_decision_book_person_uu_id: str
class UpdateDecisionBook(PydanticBaseModel):
decision_book_pdf_path: Optional[str] = None
is_out_sourced: Optional[bool] = None
contact_agreement_path: Optional[str] = None
contact_agreement_date: Optional[str] = None
meeting_date: Optional[str] = None
decision_type: Optional[str] = None
resp_company_fix_wage: Optional[float] = None
resp_company_uu_id: Optional[str] = None
class InsertBuildDecisionBookItems(PydanticBaseModel):
token: str
info_type_uu_id: str
unit_price: float
currency: Optional[str] = "TL"
unit_type: Optional[str] = "M2"
debit_start_date: Optional[str] = None
debit_end_date: Optional[str] = None
unit_price_is_fixed: Optional[bool] = False
item_comment: Optional[str] = None
# build_decision_book_uu_id: str
# item_objection: Optional[str] = None
class UpdateBuildDecisionBookItems(PydanticBaseModel):
item_comment: Optional[str] = None
item_objection: Optional[str] = None
class InsertBuildDecisionBookItemDebits(PydanticBaseModel):
build_decision_book_item_uu_id: str
dues_values: dict
# dues_types_uu_id: str
# decision_taken: Optional[bool] = None
class UpdateBuildDecisionBookItemDebits(PydanticBaseModel):
dues_types_uu_id: Optional[str] = None
dues_values: Optional[dict] = None
decision_taken: Optional[bool] = None

View File

@@ -0,0 +1,24 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class DepartmentsPydantic(PydanticBaseModel):
department_code: Optional[str]
department_name: Optional[str]
department_description: Optional[str] = None
company_uu_id: Optional[str] = None
parent_department_uu_id: Optional[int] = None
# class UpdateDepartments(PydanticBaseModel):
#
# department_code: Optional[str] = None
# department_name: Optional[str] = None
# department_description: Optional[str] = None
# company_uu_id: Optional[str] = None
# parent_department_uu_id: Optional[int] = None

View File

@@ -0,0 +1,81 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class BindEmployees2People(PydanticBaseModel):
staff_uu_id: str
people_uu_id: str
expiry_starts: Optional[str] = None
class UnBindEmployees2People(PydanticBaseModel):
people_uu_id: str
expiry_ends: str
class InsertEmployees(PydanticBaseModel):
staff_uu_id: str
people_uu_id: Optional[str] = None
class InsertCompanyDuty(PydanticBaseModel):
duty_code: str
duty_name: str
duty_description: Optional[str] = None
class SelectDuties(PydanticBaseModel):
duty_uu_id: Optional[str] = None
class InsertDuties(PydanticBaseModel):
duties_uu_id: str
department_uu_id: str
is_default_duty: Optional[bool] = False
class UpdateDuties(PydanticBaseModel):
duties_uu_id: Optional[str] = None
department_uu_id: Optional[str] = None
is_default_duty: Optional[bool] = None
class UpdateCompanyDuty(PydanticBaseModel):
duty_code: Optional[str] = None
duty_name: Optional[str] = None
duty_description: Optional[str] = None
class InsertCompanyEmployeesSalaries(PydanticBaseModel):
gross_salary: float
net_salary: float
start_date: str
stop_date: Optional[str] = None
people_id: int
class UpdateCompanyEmployeesSalaries(PydanticBaseModel):
gross_salary: Optional[float] = None
net_salary: Optional[float] = None
start_date: Optional[str] = None
stop_date: Optional[str] = None
people_id: Optional[int] = None
class InsertCompanyEmployees(PydanticBaseModel):
employee_description: Optional[str] = None
person_uu_id: str
duty_uu_id: str
start_date: Optional[str] = None
stop_date: Optional[str] = None
class UpdateCompanyEmployees(PydanticBaseModel):
stop_date: Optional[str] = None
employee_description: Optional[str] = None

View File

@@ -0,0 +1,24 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class CreateEvents(PydanticBaseModel):
event_name: Optional[str] = None
event_description: Optional[str] = None
event_date: Optional[str] = None
event_location: Optional[str] = None
class RegisterEvents2Employee(PydanticBaseModel):
event_uu_id_list: list[str] = []
employee_uu_id: Optional[str] = None
class RegisterEvents2Occupant(PydanticBaseModel):
event_uu_id_list: list[str] = []
build_part_uu_id: Optional[str] = None
occupant_uu_id: Optional[str] = None

View File

@@ -0,0 +1,79 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertPerson(PydanticBaseModel):
firstname: str
surname: str
sex_code: str
national_identity_id: str
middle_name: Optional[str] = None
father_name: Optional[str] = None
mother_name: Optional[str] = None
country_code: Optional[str] = "TR"
birth_place: Optional[str] = None
birth_date: Optional[str] = None
tax_no: Optional[str] = None
class ResponsePersonSalesMange(PydanticBaseModel):
uu_id: str
firstname: str
surname: str
national_identity_id: str
birth_place: Optional[str] = None
birth_date: Optional[str] = None
tax_no: Optional[str] = None
class UpdatePerson(PydanticBaseModel):
firstname: Optional[str] = None
surname: Optional[str] = None
middle_name: Optional[str]
father_name: Optional[str] = None
mother_name: Optional[str] = None
sex_code: Optional[str] = None
country_code: Optional[str] = None
national_identity_id: Optional[str] = None
birth_place: Optional[str] = None
birth_date: Optional[str] = None
tax_no: Optional[str] = None
#
# class QueryPeople(PydanticBaseModel):
# uu_id: Optional[str] = None
#
#
# class InsertPeople(PydanticBaseModel):
# key_id: Optional[str] = None
# query: Optional[dict] = None
# data: Optional[_InsertPerson] = None
#
#
# class UpdatePeople(PydanticBaseModel):
# key_id: Optional[str] = None
# query: Optional[QueryPeople] = None
# data: Optional[_UpdatePerson] = None
#
#
# class DeletePeople(PydanticBaseModel):
# key_id: Optional[str] = None
# query: Optional[List[QueryPeople]] = None
# data: Optional[dict] = None
#
#
# class ListPeople(PydanticBaseModel):
# key_id: Optional[str] = None
# query: Optional[QueryPeople] = None
# data: Optional[ListOptions] = None
#
#
# class ActivePeople(PydanticBaseModel):
# key_id: Optional[str] = None
# query: Optional[List[QueryPeople]] = None
# data: Optional[dict] = None

View File

@@ -0,0 +1,75 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertBuildDecisionBookProjects(PydanticBaseModel):
build_decision_book_item_uu_id: str
project_response_person_uu_id: str
project_name: str
project_start_date: str
project_stop_date: str
project_type: str
is_out_sourced: Optional[bool] = False
project_note: Optional[str] = None
decision_book_pdf_path: Optional[str] = None
resp_company_fix_wage: Optional[float] = None
contact_agreement_path: Optional[str] = None
contact_agreement_date: Optional[str] = None
meeting_date: Optional[str] = None
bid_price: Optional[float] = None
approved_price: Optional[float] = None
final_price: Optional[float] = None
resp_company_uu_id: Optional[str] = None
class UpdateBuildDecisionBookProjects(PydanticBaseModel):
resp_company_uu_id: Optional[str] = None
project_response: Optional[str] = None
project_name: Optional[str] = None
project_type: Optional[str] = None
project_note: Optional[str] = None
decision_book_pdf_path: Optional[str] = None
resp_company_fix_wage: Optional[float] = None
is_out_sourced: Optional[bool] = None
contact_agreement_path: Optional[str] = None
contact_agreement_date: Optional[str] = None
meeting_date: Optional[str] = None
bid_price: Optional[float] = None
approved_price: Optional[float] = None
final_price: Optional[float] = None
class InsertBuildDecisionBookProjectItems(PydanticBaseModel):
item_order: int
item_comment: str
build_decision_book_project_uu_id: str
item_objection: Optional[str] = None
class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
item_comment: Optional[str] = None
item_objection: Optional[str] = None
class InsertBuildDecisionBookProjectItemDebits(PydanticBaseModel):
build_decision_book_project_item_uu_id: str
payment_date: str
dues_values: dict
is_official: Optional[bool] = False
discount_value: Optional[float] = None
discount_fix: Optional[float] = None
decision_taken: Optional[bool] = None
class UpdateBuildDecisionBookProjectItemDebits(PydanticBaseModel):
dues_values: Optional[str] = None
discount_value: Optional[float] = None
discount_fix: Optional[float] = None
decision_taken: Optional[bool] = None
is_official: Optional[bool] = None

View File

@@ -0,0 +1,22 @@
from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertEndpointAccess(PydanticBaseModel):
duty_uu_id: str
endpoint_restriction_list_uu_ids: list
class UpdateEndpointAccess(PydanticBaseModel):
endpoint_restriction_uu_id: Optional[str] = None
deleted: Optional[bool] = None
active: Optional[bool] = None
is_confirmed: Optional[bool] = None
class UpdateEndpointAccessList(PydanticBaseModel):
endpoint_restriction_list: List[UpdateEndpointAccess]

View File

@@ -0,0 +1,15 @@
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class RegisterServices2Occupant(PydanticBaseModel):
service_uu_id: str
occupant_uu_id: str
build_part_uu_id: str
class RegisterServices2Employee(PydanticBaseModel):
service_uu_id: str
employee_uu_id: str

View File

@@ -0,0 +1,20 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertStaff(PydanticBaseModel):
staff_name: str
staff_description: Optional[str] = None
staff_code: Optional[str] = None
duties_uu_id: str
class SelectStaff(PydanticBaseModel):
duties_uu_id: str

View File

@@ -0,0 +1,44 @@
from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
class InsertUsers(PydanticBaseModel):
people_uu_id: str
user_tag: str
email: Optional[str] = None
phone_number: Optional[str] = None
avatar: Optional[str] = None
class UpdateUsers(PydanticBaseModel):
people_uu_id: Optional[str] = None
nick_name: Optional[str] = None
domain_name: Optional[str] = None
email: Optional[str] = None
phone_number: Optional[str] = None
avatar: Optional[str] = None
class QueryUsers(PydanticBaseModel):
uu_id: Optional[str] = None
class DeleteUsers(PydanticBaseModel):
key_id: Optional[str] = None
query: Optional[List[QueryUsers]] = None
data: Optional[dict] = None
class ListUsers(PydanticBaseModel):
key_id: Optional[str] = None
query: Optional[QueryUsers] = None
data: Optional[ListOptions] = None
class ActiveUsers(PydanticBaseModel):
key_id: Optional[str] = None
query: Optional[List[QueryUsers]] = None
data: Optional[dict] = None