updated response models and event validations
This commit is contained in:
parent
3c8ec13dfe
commit
1b15b77036
|
|
@ -32,7 +32,7 @@ class Config:
|
||||||
"/authentication/valid",
|
"/authentication/valid",
|
||||||
"/api/Contact/Us/current_date",
|
"/api/Contact/Us/current_date",
|
||||||
]
|
]
|
||||||
NOT_SECURE_PATHS = ["/access/endpoints/available"]
|
NOT_SECURE_PATHS = ["/access/endpoints/available", "/validations/endpoint"]
|
||||||
|
|
||||||
APP_NAME = "evyos-web-api-gateway"
|
APP_NAME = "evyos-web-api-gateway"
|
||||||
TITLE = "WAG API Web Api Gateway"
|
TITLE = "WAG API Web Api Gateway"
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,9 @@ from api_validations.validations_request import (
|
||||||
PatchRecord,
|
PatchRecord,
|
||||||
ListOptions,
|
ListOptions,
|
||||||
)
|
)
|
||||||
|
from api_validations.validations_response import (
|
||||||
|
ListBuildingResponse
|
||||||
|
)
|
||||||
|
|
||||||
from api_validations.core_response import AlchemyJsonResponse
|
from api_validations.core_response import AlchemyJsonResponse
|
||||||
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
|
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
|
||||||
|
|
@ -34,6 +37,9 @@ class BuildListEventMethods(MethodToEvent):
|
||||||
__event_keys__ = {
|
__event_keys__ = {
|
||||||
"68b3b5ed-b74c-4a27-820f-3959214e94e9": "build_list",
|
"68b3b5ed-b74c-4a27-820f-3959214e94e9": "build_list",
|
||||||
}
|
}
|
||||||
|
__event_validation__ = {
|
||||||
|
"68b3b5ed-b74c-4a27-820f-3959214e94e9": ListBuildingResponse,
|
||||||
|
}
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def build_list(
|
def build_list(
|
||||||
|
|
@ -55,6 +61,7 @@ class BuildListEventMethods(MethodToEvent):
|
||||||
completed=True,
|
completed=True,
|
||||||
message="Building Records are listed",
|
message="Building Records are listed",
|
||||||
result=records,
|
result=records,
|
||||||
|
response_model=ListBuildingResponse,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,6 +25,7 @@ class AlchemyJsonResponse:
|
||||||
cls.message = message
|
cls.message = message
|
||||||
cls.result = result
|
cls.result = result
|
||||||
cls.completed = completed
|
cls.completed = completed
|
||||||
|
cls.response_model = response_model
|
||||||
|
|
||||||
if isinstance(cls.result, dict) or isinstance(cls.result, list):
|
if isinstance(cls.result, dict) or isinstance(cls.result, list):
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ from .core_request_validations import (
|
||||||
BaseModelRegular,
|
BaseModelRegular,
|
||||||
PydanticBaseModelValidation,
|
PydanticBaseModelValidation,
|
||||||
CrudRecordValidation,
|
CrudRecordValidation,
|
||||||
|
CrudRecords,
|
||||||
)
|
)
|
||||||
from .address import (
|
from .address import (
|
||||||
InsertAddress,
|
InsertAddress,
|
||||||
|
|
@ -103,7 +104,6 @@ from .events import (
|
||||||
from .people import (
|
from .people import (
|
||||||
UpdatePerson,
|
UpdatePerson,
|
||||||
InsertPerson,
|
InsertPerson,
|
||||||
ResponsePersonSalesMange,
|
|
||||||
)
|
)
|
||||||
from .project_decision_book import (
|
from .project_decision_book import (
|
||||||
InsertBuildDecisionBookProjectItemDebits,
|
InsertBuildDecisionBookProjectItemDebits,
|
||||||
|
|
@ -133,9 +133,9 @@ from .user import (
|
||||||
InsertUsers,
|
InsertUsers,
|
||||||
UpdateUsers,
|
UpdateUsers,
|
||||||
QueryUsers,
|
QueryUsers,
|
||||||
ActiveUsers,
|
# ActiveUsers,
|
||||||
ListUsers,
|
# ListUsers,
|
||||||
DeleteUsers,
|
# DeleteUsers,
|
||||||
)
|
)
|
||||||
from .modules import (
|
from .modules import (
|
||||||
RegisterModules2Occupant,
|
RegisterModules2Occupant,
|
||||||
|
|
@ -148,6 +148,7 @@ __all__ = [
|
||||||
"EndpointValidation",
|
"EndpointValidation",
|
||||||
"PydanticBaseModelValidation",
|
"PydanticBaseModelValidation",
|
||||||
"CrudRecordValidation",
|
"CrudRecordValidation",
|
||||||
|
"CrudRecords",
|
||||||
"PydanticBaseModel",
|
"PydanticBaseModel",
|
||||||
"PatchRecord",
|
"PatchRecord",
|
||||||
"EndpointPydantic",
|
"EndpointPydantic",
|
||||||
|
|
@ -214,12 +215,10 @@ __all__ = [
|
||||||
"InsertCompanyDuty",
|
"InsertCompanyDuty",
|
||||||
"UpdateCompanyEmployeesSalaries",
|
"UpdateCompanyEmployeesSalaries",
|
||||||
"UpdateCompanyDuty",
|
"UpdateCompanyDuty",
|
||||||
# "CreateEvents",
|
|
||||||
"RegisterEvents2Employee",
|
"RegisterEvents2Employee",
|
||||||
"RegisterEvents2Occupant",
|
"RegisterEvents2Occupant",
|
||||||
"UpdatePerson",
|
"UpdatePerson",
|
||||||
"InsertPerson",
|
"InsertPerson",
|
||||||
"ResponsePersonSalesMange",
|
|
||||||
"InsertBuildDecisionBookProjectItems",
|
"InsertBuildDecisionBookProjectItems",
|
||||||
"UpdateBuildDecisionBookProjectItems",
|
"UpdateBuildDecisionBookProjectItems",
|
||||||
"ApprovalsBuildDecisionBookProjects",
|
"ApprovalsBuildDecisionBookProjects",
|
||||||
|
|
@ -239,9 +238,6 @@ __all__ = [
|
||||||
"InsertUsers",
|
"InsertUsers",
|
||||||
"UpdateUsers",
|
"UpdateUsers",
|
||||||
"QueryUsers",
|
"QueryUsers",
|
||||||
"ActiveUsers",
|
|
||||||
"ListUsers",
|
|
||||||
"DeleteUsers",
|
|
||||||
"RegisterModules2Occupant",
|
"RegisterModules2Occupant",
|
||||||
"RegisterModules2Employee",
|
"RegisterModules2Employee",
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -3,11 +3,13 @@ from api_validations.core_validations import BaseModelRegular
|
||||||
from api_validations.validations_request import (
|
from api_validations.validations_request import (
|
||||||
PydanticBaseModel,
|
PydanticBaseModel,
|
||||||
PydanticBaseModelValidation,
|
PydanticBaseModelValidation,
|
||||||
|
CrudRecordValidation,
|
||||||
ListOptions,
|
ListOptions,
|
||||||
)
|
)
|
||||||
|
|
||||||
class BuildValidation:
|
class BuildValidation:
|
||||||
tr = {
|
tr = {
|
||||||
|
**CrudRecordValidation.tr,
|
||||||
"gov_address_code": "Devlet Adres Kodu",
|
"gov_address_code": "Devlet Adres Kodu",
|
||||||
"build_name": "Bina Adı",
|
"build_name": "Bina Adı",
|
||||||
"build_types_uu_id": "Bina Tipi",
|
"build_types_uu_id": "Bina Tipi",
|
||||||
|
|
@ -26,6 +28,7 @@ class BuildValidation:
|
||||||
"garage_count": "Garaj Sayısı",
|
"garage_count": "Garaj Sayısı",
|
||||||
}
|
}
|
||||||
en = {
|
en = {
|
||||||
|
**CrudRecordValidation.en,
|
||||||
"gov_address_code": "Government Address Code",
|
"gov_address_code": "Government Address Code",
|
||||||
"build_name": "Building Name",
|
"build_name": "Building Name",
|
||||||
"build_types_uu_id": "Building Type",
|
"build_types_uu_id": "Building Type",
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ class ListOptionsValidation:
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class ListOptions(BaseModelRegular):
|
class ListOptions(BaseModelRegular, ListOptionsValidation):
|
||||||
page: Optional[int] = 1
|
page: Optional[int] = 1
|
||||||
size: Optional[int] = 10
|
size: Optional[int] = 10
|
||||||
order_field: Optional[str] = "id"
|
order_field: Optional[str] = "id"
|
||||||
|
|
@ -34,33 +34,45 @@ class ListOptions(BaseModelRegular):
|
||||||
class CrudRecordValidation:
|
class CrudRecordValidation:
|
||||||
tr = {
|
tr = {
|
||||||
"uu_id": "UUID",
|
"uu_id": "UUID",
|
||||||
"ref_id": "Ref ID",
|
|
||||||
"created_at": "Oluşturulma Tarihi",
|
"created_at": "Oluşturulma Tarihi",
|
||||||
"updated_at": "Güncellenme Tarihi",
|
"updated_at": "Güncellenme Tarihi",
|
||||||
"created_by": "Oluşturan",
|
"created_by": "Oluşturan",
|
||||||
"updated_by": "Güncelleyen",
|
"updated_by": "Güncelleyen",
|
||||||
"confirmed_by": "Onaylayan",
|
"confirmed_by": "Onaylayan",
|
||||||
"is_confirmed": "Onay",
|
"is_confirmed": "Onay",
|
||||||
"deleted": "Silinmiş",
|
"expiry_starts": "Geçerlilik Başlangıç Tarihi",
|
||||||
|
"expiry_ends": "Geçerlilik Bitiş Tarihi",
|
||||||
"active": "Aktif",
|
"active": "Aktif",
|
||||||
"is_notification_send": "Bildirim Gönderildi",
|
"is_notification_send": "Bildirim Gönderildi",
|
||||||
"is_email_send": "E-posta Gönderildi",
|
"is_email_send": "E-posta Gönderildi",
|
||||||
}
|
}
|
||||||
en = {
|
en = {
|
||||||
"uu_id": "UUID",
|
"uu_id": "UUID",
|
||||||
"ref_id": "Ref ID",
|
|
||||||
"created_at": "Created At",
|
"created_at": "Created At",
|
||||||
"updated_at": "Updated At",
|
"updated_at": "Updated At",
|
||||||
"created_by": "Created By",
|
"created_by": "Created By",
|
||||||
"updated_by": "Updated By",
|
"updated_by": "Updated By",
|
||||||
"confirmed_by": "Confirmed By",
|
"confirmed_by": "Confirmed By",
|
||||||
"is_confirmed": "Confirmed",
|
"is_confirmed": "Confirmed",
|
||||||
"deleted": "Deleted",
|
"expiry_starts": "Expiry Starts",
|
||||||
|
"expiry_ends": "Expiry Ends",
|
||||||
"active": "Active",
|
"active": "Active",
|
||||||
"is_notification_send": "Notification Send",
|
"is_notification_send": "Notification Send",
|
||||||
"is_email_send": "Email Send",
|
"is_email_send": "Email Send",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class CrudRecords:
|
||||||
|
uu_id: Optional[str] = None
|
||||||
|
created_at: Optional[str] = None
|
||||||
|
updated_at: Optional[str] = None
|
||||||
|
created_by: Optional[str] = None
|
||||||
|
updated_by: Optional[str] = None
|
||||||
|
confirmed_by: Optional[str] = None
|
||||||
|
is_confirmed: Optional[bool] = None
|
||||||
|
active: Optional[bool] = None
|
||||||
|
is_notification_send: Optional[bool] = None
|
||||||
|
is_email_send: Optional[bool] = None
|
||||||
|
|
||||||
|
|
||||||
class PydanticBaseModelValidation:
|
class PydanticBaseModelValidation:
|
||||||
tr = {
|
tr = {
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,28 @@ from typing import Optional
|
||||||
from api_validations.core_validations import BaseModelRegular
|
from api_validations.core_validations import BaseModelRegular
|
||||||
from api_validations.validations_request import (
|
from api_validations.validations_request import (
|
||||||
PydanticBaseModel,
|
PydanticBaseModel,
|
||||||
|
PydanticBaseModelValidation,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class InsertBuildDecisionBookProjectItems(BaseModelRegular):
|
class InsertBuildDecisionBookProjectItemsValidation:
|
||||||
|
tr = {
|
||||||
|
"build_decision_book_project_uu_id": "Proje UUID",
|
||||||
|
"item_header": "Başlık",
|
||||||
|
"item_comment": "Açıklama",
|
||||||
|
"attachment_pdf_path": "Ek Dosya Yolu",
|
||||||
|
"item_objection": "İtiraz",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"build_decision_book_project_uu_id": "Project UUID",
|
||||||
|
"item_header": "Header",
|
||||||
|
"item_comment": "Comment",
|
||||||
|
"attachment_pdf_path": "Attachment PDF Path",
|
||||||
|
"item_objection": "Objection",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class InsertBuildDecisionBookProjectItems(BaseModelRegular, InsertBuildDecisionBookProjectItemsValidation):
|
||||||
build_decision_book_project_uu_id: str
|
build_decision_book_project_uu_id: str
|
||||||
item_header: str
|
item_header: str
|
||||||
item_comment: str
|
item_comment: str
|
||||||
|
|
@ -13,6 +31,17 @@ class InsertBuildDecisionBookProjectItems(BaseModelRegular):
|
||||||
item_objection: Optional[str] = None
|
item_objection: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
class UpdateBuildDecisionBookProjectItemsValidation:
|
||||||
|
tr = {
|
||||||
|
**InsertBuildDecisionBookProjectItemsValidation.tr,
|
||||||
|
**PydanticBaseModelValidation.tr
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
**InsertBuildDecisionBookProjectItemsValidation.en,
|
||||||
|
**PydanticBaseModelValidation.en
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
|
class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
|
||||||
item_header: Optional[str] = None
|
item_header: Optional[str] = None
|
||||||
item_comment: Optional[str] = None
|
item_comment: Optional[str] = None
|
||||||
|
|
@ -21,7 +50,28 @@ class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
|
||||||
build_decision_book_project_uu_id: Optional[str] = None
|
build_decision_book_project_uu_id: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class InsertBuildDecisionBookProjectPerson(BaseModelRegular):
|
class InsertBuildDecisionBookProjectPersonValidation:
|
||||||
|
tr = {
|
||||||
|
"dues_percent_discount": "İskonto Oranı",
|
||||||
|
"job_fix_wage": "Sabit Ücret",
|
||||||
|
"bid_price": "Teklif Fiyatı",
|
||||||
|
"decision_price": "Karar Fiyatı",
|
||||||
|
"build_decision_book_project_uu_id": "Proje UUID",
|
||||||
|
"living_space_uu_id": "Yaşam Alanı UUID",
|
||||||
|
"project_team_type_uu_id": "Proje Takım Tipi UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"dues_percent_discount": "Discount Rate",
|
||||||
|
"job_fix_wage": "Fixed Wage",
|
||||||
|
"bid_price": "Bid Price",
|
||||||
|
"decision_price": "Decision Price",
|
||||||
|
"build_decision_book_project_uu_id": "Project UUID",
|
||||||
|
"living_space_uu_id": "Living Space UUID",
|
||||||
|
"project_team_type_uu_id": "Project Team Type UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class InsertBuildDecisionBookProjectPerson(BaseModelRegular, InsertBuildDecisionBookProjectPersonValidation):
|
||||||
dues_percent_discount: Optional[int] = None
|
dues_percent_discount: Optional[int] = None
|
||||||
job_fix_wage: Optional[float] = None
|
job_fix_wage: Optional[float] = None
|
||||||
bid_price: Optional[float] = None
|
bid_price: Optional[float] = None
|
||||||
|
|
@ -31,7 +81,18 @@ class InsertBuildDecisionBookProjectPerson(BaseModelRegular):
|
||||||
project_team_type_uu_id: str
|
project_team_type_uu_id: str
|
||||||
|
|
||||||
|
|
||||||
class UpdateBuildDecisionBookProjectPerson(PydanticBaseModel):
|
class UpdateBuildDecisionBookProjectPersonValidation:
|
||||||
|
tr = {
|
||||||
|
**InsertBuildDecisionBookProjectPersonValidation.tr,
|
||||||
|
**PydanticBaseModelValidation.tr
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
**InsertBuildDecisionBookProjectPersonValidation.en,
|
||||||
|
**PydanticBaseModelValidation.en
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class UpdateBuildDecisionBookProjectPerson(PydanticBaseModel, UpdateBuildDecisionBookProjectPersonValidation):
|
||||||
dues_percent_discount: Optional[int] = None
|
dues_percent_discount: Optional[int] = None
|
||||||
job_fix_wage: Optional[float] = None
|
job_fix_wage: Optional[float] = None
|
||||||
bid_price: Optional[float] = None
|
bid_price: Optional[float] = None
|
||||||
|
|
@ -41,7 +102,46 @@ class UpdateBuildDecisionBookProjectPerson(PydanticBaseModel):
|
||||||
project_team_type_uu_id: Optional[str] = None
|
project_team_type_uu_id: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class InsertBuildDecisionBookProjects(BaseModelRegular):
|
class InsertBuildDecisionBookProjectsValidation:
|
||||||
|
tr = {
|
||||||
|
"build_decision_book_item_uu_id": "Karar Defteri UUID",
|
||||||
|
"project_responsible_person_uu_id": "Proje Sorumlu Kişi UUID",
|
||||||
|
"project_name": "Proje Adı",
|
||||||
|
"project_start_date": "Proje Başlangıç Tarihi",
|
||||||
|
"project_stop_date": "Proje Bitiş Tarihi",
|
||||||
|
"project_type": "Proje Tipi",
|
||||||
|
"is_out_sourced": "Dış Kaynak Kullanımı",
|
||||||
|
"project_note": "Proje Notu",
|
||||||
|
"decision_book_pdf_path": "Karar Defteri PDF Yolu",
|
||||||
|
"resp_company_fix_wage": "Firma Sabit Ücreti",
|
||||||
|
"contact_agreement_path": "İletişim Anlaşması Yolu",
|
||||||
|
"contact_agreement_date": "İletişim Anlaşması Tarihi",
|
||||||
|
"meeting_date": "Toplantı Tarihi",
|
||||||
|
"currency": "Para Birimi",
|
||||||
|
"bid_price": "Teklif Fiyatı",
|
||||||
|
"resp_company_uu_id": "Firma UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"build_decision_book_item_uu_id": "Decision Book UUID",
|
||||||
|
"project_responsible_person_uu_id": "Project Responsible Person UUID",
|
||||||
|
"project_name": "Project Name",
|
||||||
|
"project_start_date": "Project Start Date",
|
||||||
|
"project_stop_date": "Project Stop Date",
|
||||||
|
"project_type": "Project Type",
|
||||||
|
"is_out_sourced": "Out Sourced",
|
||||||
|
"project_note": "Project Note",
|
||||||
|
"decision_book_pdf_path": "Decision Book PDF Path",
|
||||||
|
"resp_company_fix_wage": "Company Fixed Wage",
|
||||||
|
"contact_agreement_path": "Contact Agreement Path",
|
||||||
|
"contact_agreement_date": "Contact Agreement Date",
|
||||||
|
"meeting_date": "Meeting Date",
|
||||||
|
"currency": "Currency",
|
||||||
|
"bid_price": "Bid Price",
|
||||||
|
"resp_company_uu_id": "Company UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class InsertBuildDecisionBookProjects(BaseModelRegular, InsertBuildDecisionBookProjectsValidation):
|
||||||
build_decision_book_item_uu_id: str
|
build_decision_book_item_uu_id: str
|
||||||
project_responsible_person_uu_id: str
|
project_responsible_person_uu_id: str
|
||||||
project_name: str
|
project_name: str
|
||||||
|
|
@ -61,7 +161,18 @@ class InsertBuildDecisionBookProjects(BaseModelRegular):
|
||||||
resp_company_uu_id: Optional[str] = None
|
resp_company_uu_id: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class UpdateBuildDecisionBookProjects(PydanticBaseModel):
|
class UpdateBuildDecisionBookProjectsValidation:
|
||||||
|
tr = {
|
||||||
|
**InsertBuildDecisionBookProjectsValidation.tr,
|
||||||
|
**PydanticBaseModelValidation.tr
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
**InsertBuildDecisionBookProjectsValidation.en,
|
||||||
|
**PydanticBaseModelValidation.en
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class UpdateBuildDecisionBookProjects(PydanticBaseModel, UpdateBuildDecisionBookProjectsValidation):
|
||||||
build_decision_book_project_uu_id: str
|
build_decision_book_project_uu_id: str
|
||||||
is_out_sourced: Optional[bool] = False
|
is_out_sourced: Optional[bool] = False
|
||||||
project_note: Optional[str] = None
|
project_note: Optional[str] = None
|
||||||
|
|
@ -75,7 +186,22 @@ class UpdateBuildDecisionBookProjects(PydanticBaseModel):
|
||||||
approved_price: Optional[float] = None
|
approved_price: Optional[float] = None
|
||||||
|
|
||||||
|
|
||||||
class ApprovalsBuildDecisionBookProjects(PydanticBaseModel):
|
class ApprovalsBuildDecisionBookProjectsValidation:
|
||||||
|
tr = {
|
||||||
|
"build_decision_book_project_uu_id": "Karar Defteri Proje UUID",
|
||||||
|
"project_stop_date": "Proje Bitiş Tarihi",
|
||||||
|
"status_code": "Durum Kodu",
|
||||||
|
"final_price_list": "Son Fiyat Listesi",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"build_decision_book_project_uu_id": "Decision Book Project UUID",
|
||||||
|
"project_stop_date": "Project Stop Date",
|
||||||
|
"status_code": "Status Code",
|
||||||
|
"final_price_list": "Final Price List",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class ApprovalsBuildDecisionBookProjects(PydanticBaseModel, ApprovalsBuildDecisionBookProjectsValidation):
|
||||||
build_decision_book_project_uu_id: str
|
build_decision_book_project_uu_id: str
|
||||||
project_stop_date: str
|
project_stop_date: str
|
||||||
status_code: Optional[int] = None
|
status_code: Optional[int] = None
|
||||||
|
|
@ -84,7 +210,28 @@ class ApprovalsBuildDecisionBookProjects(PydanticBaseModel):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class InsertBuildDecisionBookProjectItemDebits(PydanticBaseModel):
|
class InsertBuildDecisionBookProjectItemDebitsValidation:
|
||||||
|
tr = {
|
||||||
|
"build_decision_book_project_item_uu_id": "Karar Defteri Proje Öğe UUID",
|
||||||
|
"payment_date": "Ödeme Tarihi",
|
||||||
|
"dues_values": "Borç Değerleri",
|
||||||
|
"is_official": "Resmi Mi?",
|
||||||
|
"discount_value": "İskonto Oranı",
|
||||||
|
"discount_fix": "İskonto Sabit",
|
||||||
|
"decision_taken": "Karar Alındı Mı?",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"build_decision_book_project_item_uu_id": "Decision Book Project Item UUID",
|
||||||
|
"payment_date": "Payment Date",
|
||||||
|
"dues_values": "Dues Values",
|
||||||
|
"is_official": "Is Official?",
|
||||||
|
"discount_value": "Discount Rate",
|
||||||
|
"discount_fix": "Discount Fix",
|
||||||
|
"decision_taken": "Decision Taken?",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class InsertBuildDecisionBookProjectItemDebits(PydanticBaseModel, InsertBuildDecisionBookProjectItemDebitsValidation):
|
||||||
build_decision_book_project_item_uu_id: str
|
build_decision_book_project_item_uu_id: str
|
||||||
payment_date: str
|
payment_date: str
|
||||||
dues_values: dict
|
dues_values: dict
|
||||||
|
|
@ -94,7 +241,18 @@ class InsertBuildDecisionBookProjectItemDebits(PydanticBaseModel):
|
||||||
decision_taken: Optional[bool] = None
|
decision_taken: Optional[bool] = None
|
||||||
|
|
||||||
|
|
||||||
class UpdateBuildDecisionBookProjectItemDebits(PydanticBaseModel):
|
class UpdateBuildDecisionBookProjectItemDebitsValidation:
|
||||||
|
tr = {
|
||||||
|
**InsertBuildDecisionBookProjectItemDebitsValidation.tr,
|
||||||
|
**PydanticBaseModelValidation.tr
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
**InsertBuildDecisionBookProjectItemDebitsValidation.en,
|
||||||
|
**PydanticBaseModelValidation.en
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class UpdateBuildDecisionBookProjectItemDebits(PydanticBaseModel, UpdateBuildDecisionBookProjectItemDebitsValidation):
|
||||||
dues_values: Optional[str] = None
|
dues_values: Optional[str] = None
|
||||||
discount_value: Optional[float] = None
|
discount_value: Optional[float] = None
|
||||||
discount_fix: Optional[float] = None
|
discount_fix: Optional[float] = None
|
||||||
|
|
|
||||||
|
|
@ -5,12 +5,36 @@ from api_validations.validations_request import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class RegisterServices2Occupant(BaseModelRegular):
|
class RegisterServices2OccupantValidation:
|
||||||
|
tr = {
|
||||||
|
"service_uu_id": "Hizmet UUID",
|
||||||
|
"occupant_uu_id": "Müşteri UUID",
|
||||||
|
"build_part_uu_id": "Bina Parça UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"service_uu_id": "Service UUID",
|
||||||
|
"occupant_uu_id": "Occupant UUID",
|
||||||
|
"build_part_uu_id": "Building Part UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class RegisterServices2Occupant(BaseModelRegular, RegisterServices2OccupantValidation):
|
||||||
service_uu_id: str
|
service_uu_id: str
|
||||||
occupant_uu_id: str
|
occupant_uu_id: str
|
||||||
build_part_uu_id: str
|
build_part_uu_id: str
|
||||||
|
|
||||||
|
|
||||||
class RegisterServices2Employee(BaseModelRegular):
|
class RegisterServices2EmployeeValidation:
|
||||||
|
tr = {
|
||||||
|
"service_uu_id": "Hizmet UUID",
|
||||||
|
"employee_uu_id": "Personel UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"service_uu_id": "Service UUID",
|
||||||
|
"employee_uu_id": "Employee UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class RegisterServices2Employee(BaseModelRegular, RegisterServices2EmployeeValidation):
|
||||||
service_uu_id: str
|
service_uu_id: str
|
||||||
employee_uu_id: str
|
employee_uu_id: str
|
||||||
|
|
|
||||||
|
|
@ -5,16 +5,38 @@ from api_validations.validations_request import (
|
||||||
ListOptions,
|
ListOptions,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
class InsertStaffValidation:
|
||||||
|
tr = {
|
||||||
|
"staff_name": "Kadro Adı",
|
||||||
|
"staff_description": "Kadro Açıklaması",
|
||||||
|
"staff_code": "Kadro Kodu",
|
||||||
|
"duties_uu_id": "Görev UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"staff_name": "Staff Name",
|
||||||
|
"staff_description": "Staff Description",
|
||||||
|
"staff_code": "Staff Code",
|
||||||
|
"duties_uu_id": "Duties UUID",
|
||||||
|
}
|
||||||
|
|
||||||
class InsertStaff(PydanticBaseModel):
|
|
||||||
|
class InsertStaff(BaseModelRegular, InsertStaffValidation):
|
||||||
|
|
||||||
staff_name: str
|
staff_name: str
|
||||||
staff_description: Optional[str] = None
|
staff_description: Optional[str] = None
|
||||||
staff_code: Optional[str] = None
|
staff_code: Optional[str] = None
|
||||||
|
|
||||||
duties_uu_id: str
|
duties_uu_id: str
|
||||||
|
|
||||||
|
|
||||||
class SelectStaff(PydanticBaseModel):
|
class SelectStaffValidation:
|
||||||
|
tr = {
|
||||||
|
"duties_uu_id": "Görev UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"duties_uu_id": "Duties UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class SelectStaff(PydanticBaseModel, SelectStaffValidation):
|
||||||
|
|
||||||
duties_uu_id: str
|
duties_uu_id: str
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,23 @@ from api_validations.validations_request import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class InsertUsers(PydanticBaseModel):
|
class InsertUsersValidation:
|
||||||
|
tr = {
|
||||||
|
"people_uu_id": "Kişi UUID",
|
||||||
|
"user_tag": "Kullanıcı Etiketi",
|
||||||
|
"email": "E-posta",
|
||||||
|
"phone_number": "Telefon Numarası",
|
||||||
|
"avatar": "Avatar",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"people_uu_id": "People UUID",
|
||||||
|
"user_tag": "User Tag",
|
||||||
|
"email": "Email",
|
||||||
|
"phone_number": "Phone Number",
|
||||||
|
"avatar": "Avatar",
|
||||||
|
}
|
||||||
|
|
||||||
|
class InsertUsers(PydanticBaseModel, InsertUsersValidation):
|
||||||
people_uu_id: str
|
people_uu_id: str
|
||||||
user_tag: str
|
user_tag: str
|
||||||
email: Optional[str] = None
|
email: Optional[str] = None
|
||||||
|
|
@ -14,7 +30,25 @@ class InsertUsers(PydanticBaseModel):
|
||||||
avatar: Optional[str] = None
|
avatar: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
class UpdateUsers(PydanticBaseModel):
|
class UpdateUsersValidation:
|
||||||
|
tr = {
|
||||||
|
"people_uu_id": "Kişi UUID",
|
||||||
|
"nick_name": "Kullanıcı Etiketi",
|
||||||
|
"domain_name": "Domain Adı",
|
||||||
|
"email": "E-posta",
|
||||||
|
"phone_number": "Telefon Numarası",
|
||||||
|
"avatar": "Avatar",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"people_uu_id": "People UUID",
|
||||||
|
"nick_name": "User Tag",
|
||||||
|
"domain_name": "Domain Name",
|
||||||
|
"email": "Email",
|
||||||
|
"phone_number": "Phone Number",
|
||||||
|
"avatar": "Avatar",
|
||||||
|
}
|
||||||
|
|
||||||
|
class UpdateUsers(PydanticBaseModel, UpdateUsersValidation):
|
||||||
people_uu_id: Optional[str] = None
|
people_uu_id: Optional[str] = None
|
||||||
nick_name: Optional[str] = None
|
nick_name: Optional[str] = None
|
||||||
domain_name: Optional[str] = None
|
domain_name: Optional[str] = None
|
||||||
|
|
@ -23,23 +57,13 @@ class UpdateUsers(PydanticBaseModel):
|
||||||
avatar: Optional[str] = None
|
avatar: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
class QueryUsersValidation:
|
||||||
|
tr = {
|
||||||
|
"uu_id": "UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
"uu_id": "UUID",
|
||||||
|
}
|
||||||
|
|
||||||
class QueryUsers(PydanticBaseModel):
|
class QueryUsers(PydanticBaseModel):
|
||||||
uu_id: Optional[str] = None
|
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
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
from .building import ListBuildingResponse
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"ListBuildingResponse",
|
||||||
|
]
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
from typing import Optional
|
||||||
|
from api_validations.core_validations import BaseModelRegular
|
||||||
|
from api_validations.validations_request import (
|
||||||
|
PydanticBaseModel,
|
||||||
|
PydanticBaseModelValidation,
|
||||||
|
CrudRecordValidation,
|
||||||
|
CrudRecords,
|
||||||
|
)
|
||||||
|
|
||||||
|
class BuildListValidation:
|
||||||
|
tr = {
|
||||||
|
**CrudRecordValidation.tr,
|
||||||
|
"gov_address_code": "Devlet Adres Kodu",
|
||||||
|
"build_name": "Bina Adı",
|
||||||
|
"build_types_uu_id": "Bina Tipi",
|
||||||
|
"build_no": "Bina No",
|
||||||
|
"max_floor": "Kat Sayısı",
|
||||||
|
"underground_floor": "Bodrum Kat Sayısı",
|
||||||
|
"address_uu_id": "Adres",
|
||||||
|
"build_date": "Yapım Tarihi",
|
||||||
|
"decision_period_date": "Karar Tarihi",
|
||||||
|
"tax_no": "Vergi No",
|
||||||
|
"lift_count": "Asansör Sayısı",
|
||||||
|
"heating_system": "Isıtma Sistemi",
|
||||||
|
"cooling_system": "Soğutma Sistemi",
|
||||||
|
"hot_water_system": "Sıcak Su Sistemi",
|
||||||
|
"block_service_man_count": "Hizmet Görevlisi Sayısı",
|
||||||
|
"security_service_man_count": "Güvenlik Görevlisi Sayısı",
|
||||||
|
"garage_count": "Garaj Sayısı",
|
||||||
|
"site_uu_id": "Site UUID",
|
||||||
|
}
|
||||||
|
en = {
|
||||||
|
**CrudRecordValidation.en,
|
||||||
|
"gov_address_code": "Government Address Code",
|
||||||
|
"build_name": "Building Name",
|
||||||
|
"build_types_uu_id": "Building Type",
|
||||||
|
"build_no": "Building No",
|
||||||
|
"max_floor": "Number of Floors",
|
||||||
|
"underground_floor": "Number of Basement Floors",
|
||||||
|
"address_uu_id": "Address",
|
||||||
|
"build_date": "Construction Date",
|
||||||
|
"decision_period_date": "Decision Date",
|
||||||
|
"tax_no": "Tax No",
|
||||||
|
"lift_count": "Number of Elevators",
|
||||||
|
"heating_system": "Heating System",
|
||||||
|
"cooling_system": "Cooling System",
|
||||||
|
"hot_water_system": "Hot Water System",
|
||||||
|
"block_service_man_count": "Number of Service Officers",
|
||||||
|
"security_service_man_count": "Number of Security Officers",
|
||||||
|
"garage_count": "Number of Garages",
|
||||||
|
"site_uu_id": "Site UUID",
|
||||||
|
}
|
||||||
|
|
||||||
|
class ListBuildingResponse(BaseModelRegular, CrudRecords, BuildListValidation):
|
||||||
|
|
||||||
|
gov_address_code: Optional[str] = None
|
||||||
|
build_name: Optional[str] = None
|
||||||
|
build_types_uu_id: Optional[str] = None
|
||||||
|
build_no: Optional[str] = None
|
||||||
|
max_floor: Optional[int] = None
|
||||||
|
underground_floor: Optional[int] = None
|
||||||
|
address_uu_id: Optional[str] = None
|
||||||
|
build_date: Optional[str] = None
|
||||||
|
decision_period_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
|
||||||
|
site_uu_id: Optional[str] = None
|
||||||
|
|
||||||
|
|
||||||
|
# class InsertBuild(BaseModelRegular, BuildValidation):
|
||||||
|
# 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 BuildUpdateValidation:
|
||||||
|
# tr = {
|
||||||
|
# **BuildValidation.tr,
|
||||||
|
# **PydanticBaseModelValidation.tr,
|
||||||
|
# }
|
||||||
|
# en = {
|
||||||
|
# **BuildValidation.en,
|
||||||
|
# **PydanticBaseModelValidation.en,
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# class UpdateBuild(PydanticBaseModel, BuildUpdateValidation):
|
||||||
|
# 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
|
||||||
|
|
@ -49,61 +49,37 @@ def user_list(request: Request, validation: EndpointValidation):
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
detail=f"This endpoint {str(validation.endpoint)} is not active for this user, please contact your responsible company for further information.",
|
detail=f"This endpoint {str(validation.endpoint)} is not active for this user, please contact your responsible company for further information.",
|
||||||
)
|
)
|
||||||
if valid_token.user_type == 1:
|
if valid_token.user_type == 1 and not valid_token.selected_company:
|
||||||
if not valid_token.selected_company:
|
raise HTTPException(
|
||||||
raise HTTPException(
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
detail="Selected company is not found in the token object.",
|
||||||
detail="Selected company is not found in the token object.",
|
|
||||||
)
|
|
||||||
selected_event = Events.filter_one(
|
|
||||||
Events.endpoint_id == endpoint_active.id,
|
|
||||||
Events.id.in_(valid_token.selected_company.reachable_event_list_id),
|
|
||||||
).data
|
|
||||||
if not selected_event:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
||||||
detail="This endpoint requires event validation. Please contact your responsible company to use this event.",
|
|
||||||
)
|
|
||||||
active_validation = retrieve_validation_from_class(selected_event, events)
|
|
||||||
if not active_validation:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
||||||
detail="This endpoint requires event validation. Please contact your responsible company to use this event.",
|
|
||||||
)
|
|
||||||
headers = getattr(
|
|
||||||
active_validation, str(valid_token.lang).lower(), active_validation.tr
|
|
||||||
)
|
)
|
||||||
return EndpointValidationResponse(
|
elif valid_token.user_type == 2 and not valid_token.selected_occupant:
|
||||||
language=valid_token.lang,
|
raise HTTPException(
|
||||||
headers=headers,
|
status_code=status.HTTP_418_IM_A_TEAPOT,
|
||||||
validation=active_validation.model_json_schema(),
|
detail="Selected occupant is not found in the token object.",
|
||||||
)
|
)
|
||||||
elif valid_token.user_type == 2:
|
selected_event = Events.filter_one(
|
||||||
if not valid_token.selected_occupant:
|
Events.endpoint_id == endpoint_active.id,
|
||||||
raise HTTPException(
|
Events.id.in_(valid_token.selected_company.reachable_event_list_id),
|
||||||
status_code=status.HTTP_418_IM_A_TEAPOT,
|
).data
|
||||||
detail="Selected occupant is not found in the token object.",
|
if not selected_event:
|
||||||
)
|
raise HTTPException(
|
||||||
selected_event = Events.filter_one(
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
Events.endpoint_id == endpoint_active.id,
|
detail="This endpoint requires event validation. Please contact your responsible company to use this event.",
|
||||||
Events.id.in_(valid_token.selected_occupant.reachable_event_list_id),
|
|
||||||
).data
|
|
||||||
if not selected_event:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
||||||
detail=f"This endpoint {str(validation.endpoint)} requires event validation. Please contact your responsible company to use this event.",
|
|
||||||
)
|
|
||||||
active_validation = retrieve_validation_from_class(selected_event, events)
|
|
||||||
if not active_validation:
|
|
||||||
raise HTTPException(
|
|
||||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
|
||||||
detail=f"This endpoint {str(validation.endpoint)} requires event validation. Please contact your responsible company to use this event.",
|
|
||||||
)
|
|
||||||
headers = getattr(
|
|
||||||
active_validation, str(valid_token.lang), active_validation.tr
|
|
||||||
)
|
)
|
||||||
return EndpointValidationResponse(
|
active_validation = retrieve_validation_from_class(selected_event, events)
|
||||||
language=valid_token.lang,
|
if not active_validation:
|
||||||
headers=headers,
|
raise HTTPException(
|
||||||
validation=active_validation.model_json_schema(),
|
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||||
|
detail="No validation found for this endpoint.",
|
||||||
)
|
)
|
||||||
|
headers = getattr(
|
||||||
|
active_validation, str(valid_token.lang).lower(), active_validation.tr
|
||||||
|
)
|
||||||
|
print('headers', headers)
|
||||||
|
return EndpointValidationResponse(
|
||||||
|
language=valid_token.lang,
|
||||||
|
headers=headers,
|
||||||
|
validation=active_validation.model_json_schema(),
|
||||||
|
)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue