updated response models and event validations
This commit is contained in:
parent
3c8ec13dfe
commit
1b15b77036
|
|
@ -32,7 +32,7 @@ class Config:
|
|||
"/authentication/valid",
|
||||
"/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"
|
||||
TITLE = "WAG API Web Api Gateway"
|
||||
|
|
|
|||
|
|
@ -19,6 +19,9 @@ from api_validations.validations_request import (
|
|||
PatchRecord,
|
||||
ListOptions,
|
||||
)
|
||||
from api_validations.validations_response import (
|
||||
ListBuildingResponse
|
||||
)
|
||||
|
||||
from api_validations.core_response import AlchemyJsonResponse
|
||||
from api_events.events.abstract_class import MethodToEvent, ActionsSchema
|
||||
|
|
@ -34,6 +37,9 @@ class BuildListEventMethods(MethodToEvent):
|
|||
__event_keys__ = {
|
||||
"68b3b5ed-b74c-4a27-820f-3959214e94e9": "build_list",
|
||||
}
|
||||
__event_validation__ = {
|
||||
"68b3b5ed-b74c-4a27-820f-3959214e94e9": ListBuildingResponse,
|
||||
}
|
||||
|
||||
@classmethod
|
||||
def build_list(
|
||||
|
|
@ -55,6 +61,7 @@ class BuildListEventMethods(MethodToEvent):
|
|||
completed=True,
|
||||
message="Building Records are listed",
|
||||
result=records,
|
||||
response_model=ListBuildingResponse,
|
||||
)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ class AlchemyJsonResponse:
|
|||
cls.message = message
|
||||
cls.result = result
|
||||
cls.completed = completed
|
||||
cls.response_model = response_model
|
||||
|
||||
if isinstance(cls.result, dict) or isinstance(cls.result, list):
|
||||
return JSONResponse(
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ from .core_request_validations import (
|
|||
BaseModelRegular,
|
||||
PydanticBaseModelValidation,
|
||||
CrudRecordValidation,
|
||||
CrudRecords,
|
||||
)
|
||||
from .address import (
|
||||
InsertAddress,
|
||||
|
|
@ -103,7 +104,6 @@ from .events import (
|
|||
from .people import (
|
||||
UpdatePerson,
|
||||
InsertPerson,
|
||||
ResponsePersonSalesMange,
|
||||
)
|
||||
from .project_decision_book import (
|
||||
InsertBuildDecisionBookProjectItemDebits,
|
||||
|
|
@ -133,9 +133,9 @@ from .user import (
|
|||
InsertUsers,
|
||||
UpdateUsers,
|
||||
QueryUsers,
|
||||
ActiveUsers,
|
||||
ListUsers,
|
||||
DeleteUsers,
|
||||
# ActiveUsers,
|
||||
# ListUsers,
|
||||
# DeleteUsers,
|
||||
)
|
||||
from .modules import (
|
||||
RegisterModules2Occupant,
|
||||
|
|
@ -148,6 +148,7 @@ __all__ = [
|
|||
"EndpointValidation",
|
||||
"PydanticBaseModelValidation",
|
||||
"CrudRecordValidation",
|
||||
"CrudRecords",
|
||||
"PydanticBaseModel",
|
||||
"PatchRecord",
|
||||
"EndpointPydantic",
|
||||
|
|
@ -214,12 +215,10 @@ __all__ = [
|
|||
"InsertCompanyDuty",
|
||||
"UpdateCompanyEmployeesSalaries",
|
||||
"UpdateCompanyDuty",
|
||||
# "CreateEvents",
|
||||
"RegisterEvents2Employee",
|
||||
"RegisterEvents2Occupant",
|
||||
"UpdatePerson",
|
||||
"InsertPerson",
|
||||
"ResponsePersonSalesMange",
|
||||
"InsertBuildDecisionBookProjectItems",
|
||||
"UpdateBuildDecisionBookProjectItems",
|
||||
"ApprovalsBuildDecisionBookProjects",
|
||||
|
|
@ -239,9 +238,6 @@ __all__ = [
|
|||
"InsertUsers",
|
||||
"UpdateUsers",
|
||||
"QueryUsers",
|
||||
"ActiveUsers",
|
||||
"ListUsers",
|
||||
"DeleteUsers",
|
||||
"RegisterModules2Occupant",
|
||||
"RegisterModules2Employee",
|
||||
]
|
||||
|
|
|
|||
|
|
@ -3,11 +3,13 @@ from api_validations.core_validations import BaseModelRegular
|
|||
from api_validations.validations_request import (
|
||||
PydanticBaseModel,
|
||||
PydanticBaseModelValidation,
|
||||
CrudRecordValidation,
|
||||
ListOptions,
|
||||
)
|
||||
|
||||
class BuildValidation:
|
||||
tr = {
|
||||
**CrudRecordValidation.tr,
|
||||
"gov_address_code": "Devlet Adres Kodu",
|
||||
"build_name": "Bina Adı",
|
||||
"build_types_uu_id": "Bina Tipi",
|
||||
|
|
@ -26,6 +28,7 @@ class BuildValidation:
|
|||
"garage_count": "Garaj Sayısı",
|
||||
}
|
||||
en = {
|
||||
**CrudRecordValidation.en,
|
||||
"gov_address_code": "Government Address Code",
|
||||
"build_name": "Building Name",
|
||||
"build_types_uu_id": "Building Type",
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class ListOptionsValidation:
|
|||
}
|
||||
|
||||
|
||||
class ListOptions(BaseModelRegular):
|
||||
class ListOptions(BaseModelRegular, ListOptionsValidation):
|
||||
page: Optional[int] = 1
|
||||
size: Optional[int] = 10
|
||||
order_field: Optional[str] = "id"
|
||||
|
|
@ -34,33 +34,45 @@ class ListOptions(BaseModelRegular):
|
|||
class CrudRecordValidation:
|
||||
tr = {
|
||||
"uu_id": "UUID",
|
||||
"ref_id": "Ref ID",
|
||||
"created_at": "Oluşturulma Tarihi",
|
||||
"updated_at": "Güncellenme Tarihi",
|
||||
"created_by": "Oluşturan",
|
||||
"updated_by": "Güncelleyen",
|
||||
"confirmed_by": "Onaylayan",
|
||||
"is_confirmed": "Onay",
|
||||
"deleted": "Silinmiş",
|
||||
"expiry_starts": "Geçerlilik Başlangıç Tarihi",
|
||||
"expiry_ends": "Geçerlilik Bitiş Tarihi",
|
||||
"active": "Aktif",
|
||||
"is_notification_send": "Bildirim Gönderildi",
|
||||
"is_email_send": "E-posta Gönderildi",
|
||||
}
|
||||
en = {
|
||||
"uu_id": "UUID",
|
||||
"ref_id": "Ref ID",
|
||||
"created_at": "Created At",
|
||||
"updated_at": "Updated At",
|
||||
"created_by": "Created By",
|
||||
"updated_by": "Updated By",
|
||||
"confirmed_by": "Confirmed By",
|
||||
"is_confirmed": "Confirmed",
|
||||
"deleted": "Deleted",
|
||||
"expiry_starts": "Expiry Starts",
|
||||
"expiry_ends": "Expiry Ends",
|
||||
"active": "Active",
|
||||
"is_notification_send": "Notification 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:
|
||||
tr = {
|
||||
|
|
|
|||
|
|
@ -2,10 +2,28 @@ from typing import Optional
|
|||
from api_validations.core_validations import BaseModelRegular
|
||||
from api_validations.validations_request import (
|
||||
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
|
||||
item_header: str
|
||||
item_comment: str
|
||||
|
|
@ -13,6 +31,17 @@ class InsertBuildDecisionBookProjectItems(BaseModelRegular):
|
|||
item_objection: Optional[str] = None
|
||||
|
||||
|
||||
class UpdateBuildDecisionBookProjectItemsValidation:
|
||||
tr = {
|
||||
**InsertBuildDecisionBookProjectItemsValidation.tr,
|
||||
**PydanticBaseModelValidation.tr
|
||||
}
|
||||
en = {
|
||||
**InsertBuildDecisionBookProjectItemsValidation.en,
|
||||
**PydanticBaseModelValidation.en
|
||||
}
|
||||
|
||||
|
||||
class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
|
||||
item_header: Optional[str] = None
|
||||
item_comment: Optional[str] = None
|
||||
|
|
@ -21,7 +50,28 @@ class UpdateBuildDecisionBookProjectItems(PydanticBaseModel):
|
|||
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
|
||||
job_fix_wage: Optional[float] = None
|
||||
bid_price: Optional[float] = None
|
||||
|
|
@ -31,7 +81,18 @@ class InsertBuildDecisionBookProjectPerson(BaseModelRegular):
|
|||
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
|
||||
job_fix_wage: Optional[float] = None
|
||||
bid_price: Optional[float] = None
|
||||
|
|
@ -41,7 +102,46 @@ class UpdateBuildDecisionBookProjectPerson(PydanticBaseModel):
|
|||
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
|
||||
project_responsible_person_uu_id: str
|
||||
project_name: str
|
||||
|
|
@ -61,7 +161,18 @@ class InsertBuildDecisionBookProjects(BaseModelRegular):
|
|||
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
|
||||
is_out_sourced: Optional[bool] = False
|
||||
project_note: Optional[str] = None
|
||||
|
|
@ -75,7 +186,22 @@ class UpdateBuildDecisionBookProjects(PydanticBaseModel):
|
|||
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
|
||||
project_stop_date: str
|
||||
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
|
||||
payment_date: str
|
||||
dues_values: dict
|
||||
|
|
@ -94,7 +241,18 @@ class InsertBuildDecisionBookProjectItemDebits(PydanticBaseModel):
|
|||
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
|
||||
discount_value: 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
|
||||
occupant_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
|
||||
employee_uu_id: str
|
||||
|
|
|
|||
|
|
@ -5,16 +5,38 @@ from api_validations.validations_request import (
|
|||
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_description: Optional[str] = None
|
||||
staff_code: Optional[str] = None
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
user_tag: str
|
||||
email: Optional[str] = None
|
||||
|
|
@ -14,7 +30,25 @@ class InsertUsers(PydanticBaseModel):
|
|||
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
|
||||
nick_name: Optional[str] = None
|
||||
domain_name: Optional[str] = None
|
||||
|
|
@ -23,23 +57,13 @@ class UpdateUsers(PydanticBaseModel):
|
|||
avatar: Optional[str] = None
|
||||
|
||||
|
||||
class QueryUsersValidation:
|
||||
tr = {
|
||||
"uu_id": "UUID",
|
||||
}
|
||||
en = {
|
||||
"uu_id": "UUID",
|
||||
}
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -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,12 +49,16 @@ def user_list(request: Request, validation: EndpointValidation):
|
|||
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.",
|
||||
)
|
||||
if valid_token.user_type == 1:
|
||||
if not valid_token.selected_company:
|
||||
if valid_token.user_type == 1 and not valid_token.selected_company:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Selected company is not found in the token object.",
|
||||
)
|
||||
elif valid_token.user_type == 2 and not valid_token.selected_occupant:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_418_IM_A_TEAPOT,
|
||||
detail="Selected occupant 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),
|
||||
|
|
@ -68,40 +72,12 @@ def user_list(request: Request, validation: EndpointValidation):
|
|||
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.",
|
||||
detail="No validation found for this endpoint.",
|
||||
)
|
||||
headers = getattr(
|
||||
active_validation, str(valid_token.lang).lower(), active_validation.tr
|
||||
)
|
||||
return EndpointValidationResponse(
|
||||
language=valid_token.lang,
|
||||
headers=headers,
|
||||
validation=active_validation.model_json_schema(),
|
||||
)
|
||||
elif valid_token.user_type == 2:
|
||||
if not valid_token.selected_occupant:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_418_IM_A_TEAPOT,
|
||||
detail="Selected occupant is not found in the token object.",
|
||||
)
|
||||
selected_event = Events.filter_one(
|
||||
Events.endpoint_id == endpoint_active.id,
|
||||
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
|
||||
)
|
||||
print('headers', headers)
|
||||
return EndpointValidationResponse(
|
||||
language=valid_token.lang,
|
||||
headers=headers,
|
||||
|
|
|
|||
Loading…
Reference in New Issue