schemas added & lang models added

This commit is contained in:
berkay 2025-01-13 22:40:23 +03:00
parent 5d8b37179d
commit 50ae911d4e
56 changed files with 11037 additions and 8 deletions

View File

@ -4,10 +4,236 @@ from .base_validations import (
ListOptions,
CrudRecords,
)
from .address import (
InsertAddress,
UpdateAddress,
UpdatePostCode,
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 .account_records import (
InsertAccountRecord,
UpdateAccountRecord,
)
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,
)
from .project_decision_book import (
InsertBuildDecisionBookProjectItemDebits,
UpdateBuildDecisionBookProjectItemDebits,
InsertBuildDecisionBookProjects,
UpdateBuildDecisionBookProjects,
InsertBuildDecisionBookProjectPerson,
UpdateBuildDecisionBookProjectPerson,
InsertBuildDecisionBookProjectItems,
UpdateBuildDecisionBookProjectItems,
ApprovalsBuildDecisionBookProjects,
)
from .rules import (
UpdateEndpointAccess,
UpdateEndpointAccessList,
InsertEndpointAccess,
CheckEndpointAccess,
)
from .services import (
RegisterServices2Employee,
RegisterServices2Occupant,
)
from .staff import (
InsertStaff,
SelectStaff,
)
from .user import (
InsertUsers,
UpdateUsers,
QueryUsers,
# ActiveUsers,
# ListUsers,
# DeleteUsers,
)
from .modules import (
RegisterModules2Occupant,
RegisterModules2Employee,
)
__all__ = [
"BaseModelRegular",
"PydanticBaseModel",
"ListOptions",
"CrudRecords",
"ListOptions",
"CrudRecords",
"PydanticBaseModel",
"BaseModelRegular",
"InsertAddress",
"UpdateAddress",
"UpdatePostCode",
"InsertPostCode",
"SearchAddress",
"SingleEnumUUID",
"SingleEnumClassKey",
"SingleEnumOnlyClass",
"SingleOccupantTypeUUID",
"SingleOccupantTypeClassKey",
"InsertBuildArea",
"InsertBuildSites",
"UpdateBuildArea",
"UpdateBuildSites",
"Login",
"Logout",
"ChangePassword",
"Remember",
"Forgot",
"CreatePassword",
"OccupantSelection",
"EmployeeSelection",
"InsertAccountRecord",
"UpdateAccountRecord",
"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",
"RegisterEvents2Employee",
"RegisterEvents2Occupant",
"UpdatePerson",
"InsertPerson",
"InsertBuildDecisionBookProjectItems",
"UpdateBuildDecisionBookProjectItems",
"ApprovalsBuildDecisionBookProjects",
"InsertBuildDecisionBookProjectItemDebits",
"UpdateBuildDecisionBookProjectItemDebits",
"InsertBuildDecisionBookProjects",
"UpdateBuildDecisionBookProjects",
"InsertBuildDecisionBookProjectPerson",
"UpdateBuildDecisionBookProjectPerson",
"UpdateEndpointAccess",
"UpdateEndpointAccessList",
"InsertEndpointAccess",
"CheckEndpointAccess",
"RegisterServices2Employee",
"RegisterServices2Occupant",
"InsertStaff",
"SelectStaff",
"InsertUsers",
"UpdateUsers",
"QueryUsers",
"RegisterModules2Occupant",
"RegisterModules2Employee",
]

View File

@ -0,0 +1,162 @@
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
)
from typing import Optional
class AccountValidation:
tr = {
"iban": "IBAN Numarası",
"bank_date": "Bank Tarih",
"currency_value": "Para Değeri",
"bank_balance": "Banka Bakiye",
"currency": "Para Birimi",
"additional_balance": "Ek Bakiye",
"channel_branch": "Kanal Şubesi",
"process_name": "İşlem Adı",
"process_type": "İşlem Tipi",
"process_comment": "İşlem Yorum",
"bank_reference_code": "Banka Referans Kodu",
"add_comment_note": "Yorum Not",
"is_receipt_mail_send": "Fiş Mail Gönderildi",
"found_from": "Bulunduğu Yer",
"similarity": "Benzerlik",
"remainder_balance": "Kalan Bakiye",
"bank_date_y": "Bank Tarih Yıl",
"bank_date_m": "Bank Tarih Ay",
"bank_date_w": "Bank Tarih Hafta",
"bank_date_d": "Bank Tarih Gün",
"approving_accounting_record": "Onaylayan Muhasebe Kaydı",
"accounting_receipt_date": "Muhasebe Fiş Tarihi",
"accounting_receipt_number": "Muhasebe Fiş Numarası",
"approved_record": "Onaylanmış Kayıt",
"import_file_name": "İçe Aktarım Dosya Adı",
"receive_debit_uu_id": "Alacak UUID",
"budget_type_uu_id": "Bütçe Tipi UUID",
"company_uu_id": "Şirket UUID",
"send_company_uu_id": "Gönderen Şirket UUID",
"customer_id": "Müşteri ID",
"customer_uu_id": "Müşteri UUID",
"send_person_uu_id": "Gönderen Kişi UUID",
"approving_accounting_person_uu_id": "Onaylayan Muhasebe Kişi UUID",
"build_parts_uu_id": "Daire UUID",
"build_decision_book_uu_id": "Karar Defteri UUID",
}
en = {
"iban": "IBAN Number",
"bank_date": "Bank Date",
"currency_value": "Currency Value",
"bank_balance": "Bank Balance",
"currency": "Currency",
"additional_balance": "Additional Balance",
"channel_branch": "Channel Branch",
"process_name": "Process Name",
"process_type": "Process Type",
"process_comment": "Process Comment",
"bank_reference_code": "Bank Reference Code",
"add_comment_note": "Comment Note",
"is_receipt_mail_send": "Receipt Mail Send",
"found_from": "Found From",
"similarity": "Similarity",
"remainder_balance": "Remainder Balance",
"bank_date_y": "Bank Date Year",
"bank_date_m": "Bank Date Month",
"bank_date_w": "Bank Date Week",
"bank_date_d": "Bank Date Day",
"approving_accounting_record": "Approving Accounting Record",
"accounting_receipt_date": "Accounting Receipt Date",
"accounting_receipt_number": "Accounting Receipt Number",
"approved_record": "Approved Record",
"import_file_name": "Import File Name",
"receive_debit_uu_id": "Receive Debit UUID",
"budget_type_uu_id": "Budget Type UUID",
"company_uu_id": "Company UUID",
"send_company_uu_id": "Send Company UUID",
"customer_id": "Customer ID",
"customer_uu_id": "Customer UUID",
"send_person_uu_id": "Send Person UUID",
"approving_accounting_person_uu_id": "Approving Accounting Person UUID",
"build_parts_uu_id": "Build Parts UUID",
"build_decision_book_uu_id": "Build Decision Book UUID",
}
class InsertAccountRecord(BaseModelRegular, AccountValidation):
iban: str
bank_date: str
currency_value: float
bank_balance: float
currency: str
additional_balance: float
channel_branch: str
process_name: str
process_type: str
process_comment: str
bank_reference_code: str
add_comment_note: Optional[str] = None
is_receipt_mail_send: Optional[bool] = None
found_from: Optional[str] = None
similarity: Optional[float] = None
remainder_balance: Optional[float] = None
bank_date_y: Optional[int] = None
bank_date_m: Optional[int] = None
bank_date_w: Optional[int] = None
bank_date_d: Optional[int] = None
approving_accounting_record: Optional[bool] = None
accounting_receipt_date: Optional[str] = None
accounting_receipt_number: Optional[int] = None
approved_record: Optional[bool] = None
import_file_name: Optional[str] = None
# receive_debit_uu_id: Optional[str] = None
budget_type_uu_id: Optional[str] = None
company_uu_id: Optional[str] = None
send_company_uu_id: Optional[str] = None
customer_id: Optional[str] = None
customer_uu_id: Optional[str] = None
send_person_uu_id: Optional[str] = None
approving_accounting_person_uu_id: Optional[str] = None
build_parts_uu_id: Optional[str] = None
build_decision_book_uu_id: Optional[str] = None
class UpdateAccountRecord(PydanticBaseModel, AccountValidation):
iban: Optional[str] = None
bank_date: Optional[str] = None
currency_value: Optional[float] = None
bank_balance: Optional[float] = None
currency: Optional[str] = None
additional_balance: Optional[float] = None
channel_branch: Optional[str] = None
process_name: Optional[str] = None
process_type: Optional[str] = None
process_comment: Optional[str] = None
bank_reference_code: Optional[str] = None
add_comment_note: Optional[str] = None
is_receipt_mail_send: Optional[bool] = None
found_from: Optional[str] = None
similarity: Optional[float] = None
remainder_balance: Optional[float] = None
bank_date_y: Optional[int] = None
bank_date_m: Optional[int] = None
bank_date_w: Optional[int] = None
bank_date_d: Optional[int] = None
approving_accounting_record: Optional[bool] = None
accounting_receipt_date: Optional[str] = None
accounting_receipt_number: Optional[int] = None
approved_record: Optional[bool] = None
import_file_name: Optional[str] = None
receive_debit_uu_id: Optional[str] = None
budget_type_uu_id: Optional[str] = None
company_uu_id: Optional[str] = None
send_company_uu_id: Optional[str] = None
customer_id: Optional[str] = None
customer_uu_id: Optional[str] = None
send_person_uu_id: Optional[str] = None
approving_accounting_person_uu_id: Optional[str] = None
build_parts_uu_id: Optional[str] = None
build_decision_book_uu_id: Optional[str] = None

View File

@ -0,0 +1,130 @@
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
ListOptions,
)
from typing import Optional
class PostCodeValidation:
tr = {
"post_code": "Posta Kodu",
"street_uu_id": "Sokak UUID",
}
en = {
"post_code": "Post Code",
"street_uu_id": "Street UUID",
}
class InsertPostCode(BaseModelRegular, PostCodeValidation):
street_uu_id: str
post_code: str
class UpdatePostCode(PydanticBaseModel, PostCodeValidation):
street_uu_id: Optional[str] = None
post_code: Optional[str] = None
class SearchAddressValidation:
tr = {
"search": "Ara",
"list_options": "Liste Seçenekleri",
}
en = {
"search": "Search",
"list_options": "List Options",
}
class SearchAddress(PydanticBaseModel, SearchAddressValidation):
search: str
list_options: ListOptions
class StreetValidation:
tr = {
"street_code": "Sokak Kodu",
"street_name": "Sokak Adı",
"postcode": "Posta Kodu",
"type_code": "Tip Kodu",
"type_description": "Tip Açıklaması",
"gov_code": "Devlet Kodu",
"address_geographic_uu_id": "Coğrafi UUID",
}
en = {
"street_code": "Street Code",
"street_name": "Street Name",
"postcode": "Post Code",
"type_code": "Type Code",
"type_description": "Type Description",
"gov_code": "Government Code",
"address_geographic_uu_id": "Address Geographic UUID",
}
class InsertStreet(PydanticBaseModel, StreetValidation):
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 AddressValidation:
tr = {
"post_code_uu_id": "Posta Kodu UUID",
"comment_address": "Adres Yorumu",
"letter_address": "Mektup Adresi",
"build_number": "Bina Numarası",
"door_number": "Kapı Numarası",
"floor_number": "Kat Numarası",
"short_letter_address": "Kısa Mektup Adresi",
"latitude": "Enlem",
"longitude": "Boylam",
}
en = {
"post_code_uu_id": "Post Code UUID",
"comment_address": "Address Comment",
"letter_address": "Letter Address",
"build_number": "Build Number",
"door_number": "Door Number",
"floor_number": "Floor Number",
"short_letter_address": "Short Letter Address",
"latitude": "Latitude",
"longitude": "Longitude",
}
class InsertAddress(BaseModelRegular, AddressValidation):
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, AddressValidation):
post_code_uu_id: Optional[str] = None
comment_address: Optional[str] = None
letter_address: Optional[str] = None
build_number: Optional[str] = None
door_number: Optional[str] = None
floor_number: Optional[str] = None
short_letter_address: Optional[str] = None
latitude: Optional[float] = None
longitude: Optional[float] = None

View File

@ -0,0 +1,69 @@
from api_validations.core_validations import BaseModelRegular
class SingleEnumClassKeyValidation:
tr = {
"class_name": "Sınıf Adı",
"key_name": "Anahtar Adı",
}
en = {
"class_name": "Class Name",
"key_name": "Key Name",
}
class SingleEnumClassKey(BaseModelRegular):
class_name: str
key_name: str
class SingleEnumUUIDValidation:
tr = {
"uu_id": "UUID",
}
en = {
"uu_id": "UUID",
}
class SingleEnumUUID(BaseModelRegular):
uu_id: str
class SingleEnumOnlyClassValidation:
tr = {
"class_name": "Sınıf Adı",
}
en = {
"class_name": "Class Name",
}
class SingleEnumOnlyClass(BaseModelRegular):
class_name: str
class SingleOccupantTypeClassKeyValidation:
tr = {
"type_code": "Tip Kodu",
}
en = {
"type_code": "Type Code",
}
class SingleOccupantTypeClassKey(BaseModelRegular):
type_code: str
class SingleOccupantTypeUUIDValidation:
tr = {
"uu_id": "Görev UUID",
}
en = {
"uu_id": "Occupant UUID",
}
class SingleOccupantTypeUUID(BaseModelRegular):
uu_id: str

View File

@ -0,0 +1,76 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
)
class BuildAreaValidation:
tr = {
"area_name": "Alan Adı",
"area_code": "Alan Kodu",
"area_type": "Alan Tipi",
"area_direction": "Alan Yönü",
"area_gross_size": "Brüt Alan",
"area_net_size": "Net Alan",
"width": "Genişlik",
"size": "En",
}
en = {
"area_name": "Area Name",
"area_code": "Area Code",
"area_type": "Area Type",
"area_direction": "Area Direction",
"area_gross_size": "Gross Size",
"area_net_size": "Net Size",
"width": "Width",
"size": "Size",
}
class InsertBuildArea(BaseModelRegular, BuildAreaValidation):
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, BuildAreaValidation):
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 BuildSites:
tr = {"address_uu_id": "Adres UU ID", "site_name": "Site Adı", "site_no": "Site No"}
en = {
"address_uu_id": "Address UU ID",
"site_name": "Site Name",
"site_no": "Site No",
}
class InsertBuildSites(BaseModelRegular, BuildSites):
address_uu_id: str
site_name: str
site_no: str
class UpdateBuildSites(PydanticBaseModel, BuildSites):
site_name: Optional[str] = None
site_no: Optional[str] = None

View File

@ -0,0 +1,104 @@
from api_validations.core_validations import BaseModelRegular
from typing import Optional
from pydantic import BaseModel
class ChangePasswordValidation:
tr = {"old_password": "Eski Şifre", "new_password": "Yeni Şifre"}
en = {"old_password": "Old Password", "new_password": "New Password"}
class ChangePassword(BaseModelRegular, ChangePasswordValidation):
old_password: str
new_password: str
class CreatePasswordValidation:
tr = {
"password_token": "Şifre Token",
"password": "Şifre",
"re_password": "Şifre Tekrar",
}
en = {
"password_token": "Password Token",
"password": "Password",
"re_password": "Re-Password",
}
class CreatePassword(BaseModelRegular, CreatePasswordValidation):
password_token: str
password: str
re_password: str
class OccupantSelectionValidation:
tr = {"occupant_uu_id": "Kiracı UU ID", "build_part_uu_id": "Bölüm UU ID"}
en = {"occupant_uu_id": "Occupant UU ID", "build_part_uu_id": "Build Part UU ID"}
class OccupantSelection(BaseModel, OccupantSelectionValidation):
occupant_uu_id: str
build_part_uu_id: str
class EmployeeSelectionValidation:
tr = {"company_uu_id": "Şirket UU ID"}
en = {"company_uu_id": "Company UU ID"}
class EmployeeSelection(BaseModel, EmployeeSelectionValidation):
company_uu_id: str
class LoginValidation:
tr = {
"domain": "Domain",
"access_key": "Erişim Anahtarı",
"password": "Şifre",
"remember_me": "Beni Hatırla",
}
en = {
"domain": "Domain",
"access_key": "Access Key",
"password": "Password",
"remember_me": "Remember Me",
}
class Login(BaseModelRegular, LoginValidation):
domain: str
access_key: str
password: str
remember_me: Optional[bool] = False
class LogoutValidation:
tr = {"domain": "Domain"}
en = {"domain": "Domain"}
class Logout(BaseModelRegular, LogoutValidation):
domain: str
class RememberValidation:
tr = {"domain": "Domain", "refresh_token": "Yenileme Anahtarı"}
en = {"domain": "Domain", "refresh_token": "Refresh Token"}
class Remember(BaseModelRegular, RememberValidation):
domain: str
refresh_token: str
class ForgotValidation:
tr = {"domain": "Domain", "access_key": "Erişim Anahtarı"}
en = {"domain": "Domain", "access_key": "Access Key"}
class Forgot(BaseModelRegular, ForgotValidation):
domain: str
access_key: str

View File

@ -0,0 +1,52 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class BuildLivingSpaceValidation:
tr = {
"person_uu_id": "Kişi UUID'si",
"build_parts_uu_id": "Bina UUID'si",
"occupant_type_uu_id": "Mülk Sahibi UUID'si",
"expiry_starts": "Geçerlilik Başlangıç Tarihi",
"expiry_ends": "Geçerlilik Bitiş Tarihi",
}
en = {
"person_uu_id": "Person UUID",
"build_parts_uu_id": "Build UUID",
"occupant_type_uu_id": "Occupant UUID",
"expiry_starts": "Expiry Starts",
"expiry_ends": "Expiry Ends",
}
class PydanticBaseModelValidationUpdate:
tr = {
**PydanticBaseModelValidation.tr,
"is_tenant_live": "Kiracı mı?",
"build_parts_uu_id": "Bina UUID'si",
"person_uu_id": "Kişi UUID'si",
}
en = {
**PydanticBaseModelValidation.en,
"is_tenant_live": "Is Tenant Live?",
"build_parts_uu_id": "Build UUID",
"person_uu_id": "Person UUID",
}
class InsertBuildLivingSpace(BaseModelRegular, BuildLivingSpaceValidation):
person_uu_id: str
build_parts_uu_id: str
occupant_type_uu_id: str
expiry_starts: str
expiry_ends: Optional[str] = None
class UpdateBuildLivingSpace(PydanticBaseModel, BuildLivingSpaceValidation):
is_tenant_live: Optional[bool] = None
build_parts_uu_id: Optional[str] = None
person_uu_id: Optional[str] = None

View File

@ -0,0 +1,139 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class BuildTypesUpdateValidation:
tr = {
**PydanticBaseModelValidation.tr,
"function_code": "Fonksiyon Kodu",
"type_code": "Tip Kodu",
"lang": "Dil",
"type_name": "Tip Adı",
}
en = {
**PydanticBaseModelValidation.en,
"function_code": "Function Code",
"type_code": "Type Code",
"lang": "Language",
"type_name": "Type Name",
}
class BuildTypesValidation:
tr = {
"function_code": "Fonksiyon Kodu",
"type_code": "Tip Kodu",
"lang": "Dil",
"type_name": "Tip Adı",
}
en = {
"function_code": "Function Code",
"type_code": "Type Code",
"lang": "Language",
"type_name": "Type Name",
}
class InsertBuildTypes(BaseModelRegular, BuildTypesValidation):
function_code: str
type_code: str
lang: str
type_name: str
class UpdateBuildTypes(PydanticBaseModel, BuildTypesUpdateValidation): ...
class BuildPartsValidation:
tr = {
"address_gov_code": "Adres İl Kodu",
"part_no": "Daire No",
"part_level": "Daire Seviyesi",
"build_part_type_uu_id": "Bina Daire Tipi UUID'si",
"part_code": "Daire Kodu",
"part_gross_size": "Daire Brüt Alanı",
"part_net_size": "Daire Net Alanı",
"default_accessory": "Varsayılan Aksesuar",
"human_livable": "İnsan Yaşanabilir",
"part_direction": "Daire Yönü",
}
en = {
"address_gov_code": "Address Gov Code",
"part_no": "Flat No",
"part_level": "Flat Level",
"build_part_type_uu_id": "Build Flat Type UUID",
"part_code": "Flat Code",
"part_gross_size": "Flat Gross Size",
"part_net_size": "Flat Net Size",
"default_accessory": "Default Accessory",
"human_livable": "Human Livable",
"part_direction": "Flat Direction",
}
class InsertBuildParts(BaseModelRegular, BuildPartsValidation):
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
ref_id: Optional[str] = None
class UpdateBuildPartsValidation:
tr = {
**PydanticBaseModelValidation.tr,
"address_gov_code": "Adres İl Kodu",
"part_no": "Daire No",
"part_level": "Daire Seviyesi",
"build_part_type_uu_id": "Bina Daire Tipi UUID'si",
"part_code": "Daire Kodu",
"part_gross_size": "Daire Brüt Alanı",
"part_net_size": "Daire Net Alanı",
"default_accessory": "Varsayılan Aksesuar",
"human_livable": "İnsan Yaşanabilir",
"part_direction": "Daire Yönü",
"current_owner_person_uu_id": "Mevcut Sahip Kişi UUID'si",
"current_tenant_person_uu_id": "Mevcut Kiracı Kişi UUID'si",
}
en = {
**PydanticBaseModelValidation.en,
"address_gov_code": "Address Gov Code",
"part_no": "Flat No",
"part_level": "Flat Level",
"build_part_type_uu_id": "Build Flat Type UUID",
"part_code": "Flat Code",
"part_gross_size": "Flat Gross Size",
"part_net_size": "Flat Net Size",
"default_accessory": "Default Accessory",
"human_livable": "Human Livable",
"part_direction": "Flat Direction",
"current_owner_person_uu_id": "Current Owner Person UUID",
"current_tenant_person_uu_id": "Current Tenant Person UUID",
}
class UpdateBuildParts(PydanticBaseModel, UpdateBuildPartsValidation):
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,102 @@
from typing import Optional
from datetime import datetime
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
CrudRecordValidation,
)
class BuildValidation:
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ı",
}
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",
}
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: datetime
decision_period_date: datetime
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_uu_id: Optional[str] = None
max_floor: Optional[int] = None
underground_floor: Optional[int] = None
build_date: Optional[datetime] = 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,74 @@
from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class CompanyValidation:
tr = {
"formal_name": "Resmi Ad",
"company_type": "Şirket Tipi",
"commercial_type": "Ticari Tip",
"tax_no": "Vergi No",
"public_name": "Halka Açık Ad",
"company_tag": "Şirket Etiketi",
"default_lang_type": "Varsayılan Dil Tipi",
"default_money_type": "Varsayılan Para Tipi",
"official_address_uu_id": "Resmi Adres UU ID",
}
class InsertCompany(BaseModelRegular, CompanyValidation):
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[str] = None
# parent_uu_id: Optional[int] = None
class CompanyUpdateValidation:
tr = {
**CompanyValidation.tr,
**PydanticBaseModelValidation.tr,
}
en = {
**CompanyValidation.tr,
**PydanticBaseModelValidation.en,
}
class UpdateCompany(PydanticBaseModel, CompanyUpdateValidation):
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[str] = None
class MatchCompany2CompanyValidation:
tr = {
**PydanticBaseModelValidation.tr,
"match_company_uu_id": "Eşleşen Şirket UU ID",
"duty_uu_id": "Görev UU ID",
}
en = {
**PydanticBaseModelValidation.en,
"match_company_uu_id": "Match Company UU ID",
"duty_uu_id": "Duty UU ID",
}
class MatchCompany2Company(PydanticBaseModel, MatchCompany2CompanyValidation):
match_company_uu_id: List[str]
duty_uu_id: str
show_only: Optional[bool] = None

View File

@ -0,0 +1,116 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
class ListOptionsValidation:
tr = {
"page": "Sayfa",
"size": "Boyut",
"order_field": "Sıralama Alanı",
"order_type": "Sıralama Türü",
"include_joins": "Alt İçerikleri",
"query": "Sorgu",
}
en = {
"page": "Page",
"size": "Size",
"order_field": "Order Field",
"order_type": "Order Type",
"include_joins": "Include Joins",
"query": "Query",
}
class ListOptions(BaseModelRegular, ListOptionsValidation):
page: Optional[int] = 1
size: Optional[int] = 10
order_field: Optional[str] = "id"
order_type: Optional[str] = "asc"
include_joins: Optional[list] = None
query: Optional[dict] = None
class CrudRecordValidation:
tr = {
"uu_id": "UUID",
"created_at": "Oluşturulma Tarihi",
"updated_at": "Güncellenme Tarihi",
"created_by": "Oluşturan",
"updated_by": "Güncelleyen",
"confirmed_by": "Onaylayan",
"is_confirmed": "Onay",
"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",
"created_at": "Created At",
"updated_at": "Updated At",
"created_by": "Created By",
"updated_by": "Updated By",
"confirmed_by": "Confirmed By",
"is_confirmed": "Confirmed",
"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 = {
"active": "Aktif",
"deleted": "Silinmiş",
"expiry_starts": "Geçerlilik Başlangıç Tarihi",
"expiry_ends": "Geçerlilik Bitiş Tarihi",
"is_confirmed": "Onay",
}
en = {
"active": "Active",
"deleted": "Deleted",
"expiry_starts": "Expiry Starts",
"expiry_ends": "Expiry Ends",
"is_confirmed": "Confirmed",
}
class PydanticBaseModel(BaseModelRegular):
active: Optional[bool] = None
deleted: Optional[bool] = None
expiry_starts: Optional[str] = None
# expiry_ends: Optional[str] = None
is_confirmed: Optional[bool] = None
class EndpointPydantic(BaseModelRegular):
data: Optional[dict] = None
class EndpointValidation(BaseModelRegular):
endpoint: Optional[str] = None
class PatchRecord(BaseModelRegular):
confirm: Optional[bool] = None
delete: Optional[bool] = None
active: Optional[bool] = None

View File

@ -0,0 +1,73 @@
import typing
from datetime import datetime
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_all(
# 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,356 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
ListOptions,
)
class DecisionBookDecisionBookInvitationsValidation:
tr = {
"build_decision_book_uu_id": "Karar Defteri UUID",
"message": "Mesaj",
"planned_date": "Planlanan Tarih",
}
en = {
"build_decision_book_uu_id": "Decision Book UUID",
"message": "Message",
"planned_date": "Planned Date",
}
class DecisionBookDecisionBookInvitations(
BaseModelRegular, DecisionBookDecisionBookInvitationsValidation
):
build_decision_book_uu_id: str
message: str
planned_date: str
class DecisionBookDecisionBookInvitationsAttendValidation:
tr = {
"token": "Token",
"is_attend": "Katılacak mı?",
}
en = {
"token": "Token",
"is_attend": "Is Attend?",
}
class DecisionBookDecisionBookInvitationsAttend(
BaseModelRegular, DecisionBookDecisionBookInvitationsAttendValidation
):
token: str
is_attend: bool
class DecisionBookDecisionBookInvitationsAssignValidation:
tr = {
"token": "Token",
"build_living_space_uu_id": "Yapı Yaşam Alanı UUID",
"occupant_type_uu_id": "Sakin Tipi UUID",
}
en = {
"token": "Token",
"build_living_space_uu_id": "Build Living Space UUID",
"occupant_type_uu_id": "Occupant Type UUID",
}
class DecisionBookDecisionBookInvitationsAssign(
BaseModelRegular, DecisionBookDecisionBookInvitationsAssignValidation
):
token: str
build_living_space_uu_id: str
occupant_type_uu_id: str
class DecisionBookDecisionBookInvitationsUpdateValidation:
tr = {
**PydanticBaseModelValidation.tr,
"token": "Token",
"occupant_type_uu_id": "Sakin Tipi UUID",
}
en = {
**PydanticBaseModelValidation.en,
"token": "Token",
"occupant_type_uu_id": "Occupant Type UUID",
}
class DecisionBookDecisionBookInvitationsUpdate(
PydanticBaseModel, DecisionBookDecisionBookInvitationsUpdateValidation
):
token: str
occupant_type_uu_id: Optional[str] = None
class ListDecisionBookValidation:
tr = {
"build_decision_book_uu_id": "Karar Defteri UUID",
}
en = {
"build_decision_book_uu_id": "Decision Book UUID",
}
class ListDecisionBook(ListOptions, ListDecisionBookValidation):
build_decision_book_uu_id: Optional[str] = None
class InsertDecisionBookValidation:
tr = {
**PydanticBaseModelValidation.tr,
"build_uu_id": "Yapı UUID",
"decision_type": "Karar Tipi",
"meeting_date": "Toplantı Tarihi",
"is_out_sourced": "Dış Kaynak mı?",
"resp_company_fix_wage": "Firma Sabit Ücreti",
"resp_company_uu_id": "Firma UUID",
}
en = {
**PydanticBaseModelValidation.en,
"build_uu_id": "Build UUID",
"decision_type": "Decision Type",
"meeting_date": "Meeting Date",
"is_out_sourced": "Is Out Sourced?",
"resp_company_fix_wage": "Company Fixed Wage",
"resp_company_uu_id": "Company UUID",
}
class InsertDecisionBook(PydanticBaseModel, InsertDecisionBookValidation):
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 InsertDecisionBookCompletedValidation:
tr = {
"build_decision_book_uu_id": "Karar Defteri UUID",
"meeting_completed_date": "Toplantı Tamamlanma Tarihi",
}
en = {
"build_decision_book_uu_id": "Decision Book UUID",
"meeting_completed_date": "Meeting Completed Date",
}
class InsertDecisionBookCompleted(
BaseModelRegular, InsertDecisionBookCompletedValidation
):
build_decision_book_uu_id: str
meeting_completed_date: str
class InsertDecisionBookPersonValidation:
tr = {
"person_uu_id": "Kişi UUID",
"build_decision_book_uu_id": "Karar Defteri UUID",
"management_typecode_uu_id": "Yönetim Tipi UUID",
"dues_discount_approval_date": "Aidat İndirim Onay Tarihi",
"dues_fix_discount": "Aidat Sabit İndirim",
"dues_percent_discount": "Aidat Yüzde İndirim",
}
en = {
"person_uu_id": "Person UUID",
"build_decision_book_uu_id": "Decision Book UUID",
"management_typecode_uu_id": "Management Type UUID",
"dues_discount_approval_date": "Dues Discount Approval Date",
"dues_fix_discount": "Dues Fix Discount",
"dues_percent_discount": "Dues Percent Discount",
}
class InsertDecisionBookPerson(BaseModelRegular, InsertDecisionBookPersonValidation):
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 UpdateDecisionBookPersonValidation:
tr = {
**PydanticBaseModelValidation.tr,
"dues_fix_discount": "Aidat Sabit İndirim",
"dues_percent_discount": "Aidat Yüzde İndirim",
}
en = {
**PydanticBaseModelValidation.en,
"dues_fix_discount": "Dues Fix Discount",
"dues_percent_discount": "Dues Percent Discount",
}
class UpdateDecisionBookPerson(PydanticBaseModel, UpdateDecisionBookPersonValidation):
dues_fix_discount: Optional[float] = None
dues_percent_discount: Optional[int] = None
class RemoveDecisionBookPersonValidation:
tr = {
"person_uu_id": "Kişi UUID",
"build_decision_book_person_uu_id": "Karar Defteri Kişi UUID",
}
en = {
"person_uu_id": "Person UUID",
"build_decision_book_person_uu_id": "Decision Book Person UUID",
}
class RemoveDecisionBookPerson(PydanticBaseModel, RemoveDecisionBookPersonValidation):
person_uu_id: str
build_decision_book_person_uu_id: str
class UpdateDecisionBookValidation:
tr = {
**PydanticBaseModelValidation.tr,
"decision_book_pdf_path": "Karar Defteri PDF Yolu",
"is_out_sourced": "Dış Kaynak mı?",
"contact_agreement_path": "İletişim Anlaşma Yolu",
"contact_agreement_date": "İletişim Anlaşma Tarihi",
"meeting_date": "Toplantı Tarihi",
"decision_type": "Karar Tipi",
"resp_company_fix_wage": "Firma Sabit Ücreti",
"resp_company_uu_id": "Firma UUID",
}
en = {
**PydanticBaseModelValidation.en,
"decision_book_pdf_path": "Decision Book PDF Path",
"is_out_sourced": "Is Out Sourced?",
"contact_agreement_path": "Contact Agreement Path",
"contact_agreement_date": "Contact Agreement Date",
"meeting_date": "Meeting Date",
"decision_type": "Decision Type",
"resp_company_fix_wage": "Company Fixed Wage",
"resp_company_uu_id": "Company UUID",
}
class UpdateDecisionBook(PydanticBaseModel, UpdateDecisionBookValidation):
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 InsertBuildDecisionBookItemsValidation:
tr = {
"token": "Token",
"info_type_uu_id": "Bilgi Tipi UUID",
"item_comment": "Öğe Yorumu / Açıklama",
"currency": "Para Birimi",
"unit_type": "Birim Tipi",
"debit_start_date": "Borç Başlangıç Tarihi",
"debit_end_date": "Borç Bitiş Tarihi",
"unit_price_is_fixed": "Birim Fiyat Sabit mi?",
"unit_price": "Birim Fiyat",
}
en = {
"token": "Token",
"info_type_uu_id": "Info Type UUID",
"item_comment": "Item Comment",
"currency": "Currency",
"unit_type": "Unit Type",
"debit_start_date": "Debit Start Date",
"debit_end_date": "Debit End Date",
"unit_price_is_fixed": "Unit Price Is Fixed?",
"unit_price": "Unit Price",
}
class InsertBuildDecisionBookItems(
BaseModelRegular, InsertBuildDecisionBookItemsValidation
):
token: str
info_type_uu_id: str
item_comment: str
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
unit_price: Optional[float] = 0.00
# build_decision_book_uu_id: str
# item_objection: Optional[str] = None
class UpdateBuildDecisionBookItemsValidation:
tr = {
**PydanticBaseModelValidation.tr,
"item_comment": "Öğe Yorumu / Açıklama",
"item_objection": "Öğe İtirazı",
}
en = {
**PydanticBaseModelValidation.en,
"item_comment": "Item Comment",
"item_objection": "Item Objection",
}
class UpdateBuildDecisionBookItems(
PydanticBaseModel, UpdateBuildDecisionBookItemsValidation
):
item_comment: Optional[str] = None
item_objection: Optional[str] = None
class InsertBuildDecisionBookItemDebitsValidation:
tr = {
"build_decision_book_item_uu_id": "Karar Defteri Öğe UUID",
"dues_values": "Aidat Değerleri",
}
en = {
"build_decision_book_item_uu_id": "Decision Book Item UUID",
"dues_values": "Dues Values",
}
class InsertBuildDecisionBookItemDebits(
BaseModelRegular, InsertBuildDecisionBookItemDebitsValidation
):
build_decision_book_item_uu_id: str
dues_values: dict
# dues_types_uu_id: str
# decision_taken: Optional[bool] = None
class UpdateBuildDecisionBookItemDebitsValidation:
tr = {
**PydanticBaseModelValidation.tr,
"dues_types_uu_id": "Aidat Tipi UUID",
"dues_values": "Aidat Değerleri",
"decision_taken": "Karar Alındı mı?",
}
en = {
**PydanticBaseModelValidation.en,
"dues_types_uu_id": "Dues Type UUID",
"dues_values": "Dues Values",
"decision_taken": "Decision Taken?",
}
class UpdateBuildDecisionBookItemDebits(
PydanticBaseModel, UpdateBuildDecisionBookItemDebitsValidation
):
dues_types_uu_id: Optional[str] = None
dues_values: Optional[dict] = None
decision_taken: Optional[bool] = None

View File

@ -0,0 +1,40 @@
from typing import Optional
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class DepartmentsPydanticValidation:
tr = {
"department_code": "Department Kodu",
"department_name": "Departman Adı",
"department_description": "Departman Açıklaması",
"company_uu_id": "Şirket UUID",
"parent_department_uu_id": "Üst Departman UUID",
}
en = {
"department_code": "Department Code",
"department_name": "Department Name",
"department_description": "Department Description",
"company_uu_id": "Company UUID",
"parent_department_uu_id": "Parent Department UUID",
}
class DepartmentsPydantic(PydanticBaseModel, PydanticBaseModelValidation):
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,251 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class BindEmployees2PeopleValidation:
tr = {
**PydanticBaseModelValidation.tr,
"staff_uu_id": "Kadro UUID",
"people_uu_id": "Kişi UUID",
"expiry_starts": "Başlangıç Tarihi",
}
en = {
**PydanticBaseModelValidation.en,
"staff_uu_id": "Staff UUID",
"people_uu_id": "People UUID",
"expiry_starts": "Start Date",
}
class BindEmployees2People(PydanticBaseModel, BindEmployees2PeopleValidation):
staff_uu_id: str
people_uu_id: str
expiry_starts: Optional[str] = None
class UnBindEmployees2PeopleValidation:
tr = {
**PydanticBaseModelValidation.tr,
"people_uu_id": "Kişi UUID",
"expiry_ends": "Bitiş Tarihi",
}
en = {
**PydanticBaseModelValidation.en,
"people_uu_id": "People UUID",
"expiry_ends": "End Date",
}
class UnBindEmployees2People(PydanticBaseModel, UnBindEmployees2PeopleValidation):
people_uu_id: str
expiry_ends: str
class InsertEmployeesValidation:
tr = {
"staff_uu_id": "Kadro UUID",
"people_uu_id": "Kişi UUID",
}
en = {
"staff_uu_id": "Staff UUID",
"people_uu_id": "People UUID",
}
class InsertEmployees(BaseModelRegular, InsertEmployeesValidation):
staff_uu_id: str
people_uu_id: Optional[str] = None
class InsertCompanyDutyValidation:
tr = {
"duty_code": "Görev Kodu",
"duty_name": "Görev Adı",
"duty_description": "Görev Açıklaması",
}
en = {
"duty_code": "Duty Code",
"duty_name": "Duty Name",
"duty_description": "Duty Description",
}
class InsertCompanyDuty(BaseModelRegular, InsertCompanyDutyValidation):
duty_code: str
duty_name: str
duty_description: Optional[str] = None
class SelectDutiesValidation:
tr = {
"duty_uu_id": "Görev UUID",
}
en = {
"duty_uu_id": "Duty UUID",
}
class SelectDuties(BaseModelRegular, SelectDutiesValidation):
duty_uu_id: Optional[str] = None
class InsertDutiesValidation:
tr = {
"duties_uu_id": "Görev UUID",
"department_uu_id": "Departman UUID",
"is_default_duty": "Varsayılan Görev",
}
en = {
"duties_uu_id": "Duty UUID",
"department_uu_id": "Department UUID",
"is_default_duty": "Default Duty",
}
class InsertDuties(BaseModelRegular, InsertDutiesValidation):
duties_uu_id: str
department_uu_id: str
is_default_duty: Optional[bool] = False
class UpdateDutiesValidation:
tr = {
**PydanticBaseModelValidation.tr,
"duties_uu_id": "Görev UUID",
"department_uu_id": "Departman UUID",
"is_default_duty": "Varsayılan Görev",
}
en = {
**PydanticBaseModelValidation.en,
"duties_uu_id": "Duty UUID",
"department_uu_id": "Department UUID",
"is_default_duty": "Default Duty",
}
class UpdateDuties(PydanticBaseModel):
duties_uu_id: Optional[str] = None
department_uu_id: Optional[str] = None
is_default_duty: Optional[bool] = None
class UpdateCompanyDutyValidation:
tr = {
**PydanticBaseModelValidation.tr,
"duty_code": "Görev Kodu",
"duty_name": "Görev Adı",
"duty_description": "Görev Açıklaması",
}
en = {
**PydanticBaseModelValidation.en,
"duty_code": "Duty Code",
"duty_name": "Duty Name",
"duty_description": "Duty Description",
}
class UpdateCompanyDuty(PydanticBaseModel):
duty_code: Optional[str] = None
duty_name: Optional[str] = None
duty_description: Optional[str] = None
class InsertCompanyEmployeesSalariesValidation:
tr = {
"gross_salary": "Brüt Maaş",
"net_salary": "Net Maaş",
"start_date": "Başlangıç Tarihi",
"stop_date": "Bitiş Tarihi",
"people_id": "Kişi ID",
}
en = {
"gross_salary": "Gross Salary",
"net_salary": "Net Salary",
"start_date": "Start Date",
"stop_date": "Stop Date",
"people_id": "People ID",
}
class InsertCompanyEmployeesSalaries(BaseModelRegular):
gross_salary: float
net_salary: float
start_date: str
stop_date: Optional[str] = None
people_id: int
class UpdateCompanyEmployeesSalariesValidation:
tr = {
**PydanticBaseModelValidation.tr,
"gross_salary": "Brüt Maaş",
"net_salary": "Net Maaş",
"start_date": "Başlangıç Tarihi",
"stop_date": "Bitiş Tarihi",
"people_id": "Kişi ID",
}
en = {
**PydanticBaseModelValidation.en,
"gross_salary": "Gross Salary",
"net_salary": "Net Salary",
"start_date": "Start Date",
"stop_date": "Stop Date",
"people_id": "People ID",
}
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 InsertCompanyEmployeesValidation:
tr = {
"employee_description": "Çalışan Açıklaması",
"person_uu_id": "Kişi UUID",
"duty_uu_id": "Görev UUID",
"start_date": "Başlangıç Tarihi",
"stop_date": "Bitiş Tarihi",
}
en = {
"employee_description": "Employee Description",
"person_uu_id": "Person UUID",
"duty_uu_id": "Duty UUID",
"start_date": "Start Date",
"stop_date": "Stop Date",
}
class InsertCompanyEmployees(BaseModelRegular, InsertCompanyEmployeesValidation):
employee_description: Optional[str] = None
person_uu_id: str
duty_uu_id: str
start_date: Optional[str] = None
stop_date: Optional[str] = None
class UpdateCompanyEmployeesValidation:
tr = {
**PydanticBaseModelValidation.tr,
"stop_date": "Bitiş Tarihi",
"employee_description": "Çalışan Açıklaması",
}
en = {
**PydanticBaseModelValidation.en,
"stop_date": "Stop Date",
"employee_description": "Employee Description",
}
class UpdateCompanyEmployees(PydanticBaseModel, UpdateCompanyEmployeesValidation):
stop_date: Optional[str] = None
employee_description: Optional[str] = None

View File

@ -0,0 +1,37 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
class RegisterEvents2EmployeeValidation:
tr = {
"event_uu_id_list": "Etkinlikler Listesi",
"employee_uu_id": "Çalışan UU ID",
}
en = {
"event_uu_id_list": "Event List",
"employee_uu_id": "Employee UU ID",
}
class RegisterEvents2Employee(BaseModelRegular, RegisterEvents2EmployeeValidation):
event_uu_id_list: list[str] = None
employee_uu_id: Optional[str] = None
class RegisterEvents2OccupantValidation:
tr = {
"event_uu_id_list": "Etkinlikler Listesi",
"build_part_uu_id": "Bina Parça UU ID",
"occupant_uu_id": "Apartman Sakini UU ID",
}
en = {
"event_uu_id_list": "Event List",
"build_part_uu_id": "Building Part UU ID",
"occupant_uu_id": "Occupant UU ID",
}
class RegisterEvents2Occupant(BaseModelRegular, RegisterEvents2OccupantValidation):
event_uu_id_list: list[str] = None
build_part_uu_id: Optional[str] = None
occupant_uu_id: Optional[str] = None

View File

@ -0,0 +1,36 @@
from api_validations.core_validations import BaseModelRegular
class RegisterModules2OccupantValidation:
tr = {
"modules_uu_id": "Modül Listesi",
"occupant_uu_id": "Mülk Sahibi",
"build_part_uu_id": "Daire UUID",
}
en = {
"modules_uu_id": "Module List",
"occupant_uu_id": "Occupant",
"build_part_uu_id": "Flat UUID",
}
class RegisterModules2Occupant(BaseModelRegular, RegisterModules2OccupantValidation):
modules_uu_id: str
occupant_uu_id: str
build_part_uu_id: str
class RegisterModules2EmployeeValidation:
tr = {
"modules_uu_id": "Modül Listesi",
"employee_uu_id": "Çalışan",
}
en = {
"modules_uu_id": "Module List",
"employee_uu_id": "Employee",
}
class RegisterModules2Employee(BaseModelRegular, RegisterModules2EmployeeValidation):
modules_uu_id: str
employee_uu_id: str

View File

@ -0,0 +1,98 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class InsertPersonValidation:
tr = {
"firstname": "İsim",
"surname": "Soyisim",
"sex_code": "Cinsiyet",
"national_identity_id": "T.C. Kimlik Numarası",
"middle_name": "Orta İsim",
"father_name": "Baba Adı",
"mother_name": "Anne Adı",
"country_code": "Ülke Kodu",
"birth_place": "Doğum Yeri",
"birth_date": "Doğum Tarihi",
"tax_no": "Vergi Numarası",
"ref_id": "Referans ID",
}
class InsertPerson(BaseModelRegular, InsertPersonValidation):
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
ref_id: Optional[str] = None
class UpdatePersonValidation:
tr = {
**PydanticBaseModelValidation.tr,
**InsertPersonValidation.tr,
}
en = {
**PydanticBaseModelValidation.en,
**InsertPersonValidation.tr,
}
class UpdatePerson(PydanticBaseModel, UpdatePersonValidation):
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,276 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
PydanticBaseModelValidation,
)
class InsertBuildDecisionBookProjectItemsValidation:
tr = {
"build_decision_book_project_uu_id": "Proje UUID",
"item_header": "Başlık",
"item_comment": "ı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
attachment_pdf_path: Optional[str] = None
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
attachment_pdf_path: Optional[str] = None
item_estimated_cost: Optional[float] = None
build_decision_book_project_uu_id: Optional[str] = None
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
decision_price: Optional[float] = None
build_decision_book_project_uu_id: str
living_space_uu_id: str
project_team_type_uu_id: str
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
decision_price: Optional[float] = None
build_decision_book_project_uu_id: Optional[str] = None
living_space_uu_id: Optional[str] = None
project_team_type_uu_id: Optional[str] = None
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
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
currency: Optional[str] = None
bid_price: Optional[float] = None
resp_company_uu_id: Optional[str] = None
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
# decision_book_pdf_path: Optional[str] = None
status_id: Optional[int] = None
resp_company_fix_wage: Optional[float] = None
contact_agreement_path: Optional[str] = None
contact_agreement_date: Optional[str] = None
contact_uu_id: Optional[str] = None
resp_company_uu_id: Optional[str] = None
approved_price: Optional[float] = None
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
final_price_list: Optional[list[dict]] = (
None # {"date": "2021-01-01", "price": 1000}
)
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
is_official: Optional[bool] = False
discount_value: Optional[float] = None
discount_fix: Optional[float] = None
decision_taken: Optional[bool] = None
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
decision_taken: Optional[bool] = None
is_official: Optional[bool] = None

View File

@ -0,0 +1,25 @@
from typing import Optional, List
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
)
class CheckEndpointAccess(BaseModelRegular):
endpoint: str
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,36 @@
from api_validations.core_validations import 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 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

View File

@ -0,0 +1,42 @@
from typing import Optional
from api_validations.core_validations import BaseModelRegular
from api_validations.validations_request import (
PydanticBaseModel,
)
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(BaseModelRegular, InsertStaffValidation):
staff_name: str
staff_description: Optional[str] = None
staff_code: Optional[str] = None
duties_uu_id: str
class SelectStaffValidation:
tr = {
"duties_uu_id": "Görev UUID",
}
en = {
"duties_uu_id": "Duties UUID",
}
class SelectStaff(PydanticBaseModel, SelectStaffValidation):
duties_uu_id: str

View File

@ -0,0 +1,70 @@
from typing import Optional
from api_validations.validations_request import (
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
phone_number: Optional[str] = None
avatar: Optional[str] = None
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
email: Optional[str] = None
phone_number: Optional[str] = None
avatar: Optional[str] = None
class QueryUsersValidation:
tr = {
"uu_id": "UUID",
}
en = {
"uu_id": "UUID",
}
class QueryUsers(PydanticBaseModel):
uu_id: Optional[str] = None

View File

@ -1,4 +0,0 @@
from ErrorHandlers.LanguageModels.base_languages import BaseErrorLanguageModels
__all__ = ["BaseErrorLanguageModels"]

View File

@ -0,0 +1,42 @@
CrudCollectionLanguageModel = dict(
tr={
"id": "ID",
"uu_id": "UUID",
"ref_id": "Referans ID",
"created_at": "Oluşturulma Tarihi",
"updated_at": "Güncellenme Tarihi",
"cryp_uu_id": "Şifreli ID",
"created_by": "Oluşturan",
"created_by_id": "Oluşturan ID",
"updated_by": "Güncelleyen",
"updated_by_id": "Güncelleyen ID",
"confirmed_by": "Onaylayan",
"confirmed_by_id": "Onaylayan ID",
"is_confirmed": "Onay Durumu",
"replication_id": "Replikasyon ID",
"deleted": "Silindi",
"active": "Aktif",
"is_notification_send": "Bildirim Gönderildi",
"is_email_send": "E-posta Gönderildi",
},
en={
"id": "Identity",
"uu_id": "UUID",
"ref_id": "Reference Identity",
"created_at": "Created At",
"updated_at": "Updated At",
"cryp_uu_id": "Encrypted Identity",
"created_by": "Created By",
"created_by_id": "Created By Identity",
"updated_by": "Updated By",
"updated_by_id": "Updated By Identity",
"confirmed_by": "Confirmed By",
"confirmed_by_id": "Confirmed By Identity",
"is_confirmed": "Confirmation Status",
"replication_id": "Replication Identity",
"deleted": "Deleted",
"active": "Active",
"is_notification_send": "Notification Sent",
"is_email_send": "Email Sent",
},
)

View File

View File

@ -0,0 +1,388 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
AccountBooksLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"country": "Ülke",
"branch_type": "Şube Türü",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UU ID",
"branch_id": "Şube ID",
"branch_uu_id": "Şube UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"country": "Country",
"branch_type": "Branch Type",
"company_id": "Company ID",
"company_uu_id": "Company UU ID",
"branch_id": "Branch ID",
"branch_uu_id": "Branch UU ID",
},
)
AccountCodesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"account_code": "Hesap Kodu",
"comment_line": "Yorum Satırı",
"is_receive_or_debit": "Alacak veya Borç",
"product_id": "Ürün ID",
"nvi_id": "Nvi ID",
"status_id": "Durum ID",
"account_code_seperator": "Hesap Kodu Ayırıcı",
"system_id": "Sistem ID",
"locked": "Kilitli",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UU ID",
"customer_id": "Müşteri ID",
"customer_uu_id": "Müşteri UU ID",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"account_code": "Account Code",
"comment_line": "Comment Line",
"is_receive_or_debit": "Is Receive or Debit",
"product_id": "Product ID",
"nvi_id": "Nvi ID",
"status_id": "Status ID",
"account_code_seperator": "Account Code Seperator",
"system_id": "System ID",
"locked": "Locked",
"company_id": "Company ID",
"company_uu_id": "Company UU ID",
"customer_id": "Customer ID",
"customer_uu_id": "Customer UU ID",
"person_id": "Person ID",
"person_uu_id": "Person UU ID",
},
)
AccountCodeParserLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"account_code_1": "Hesap Kodu 1",
"account_code_2": "Hesap Kodu 2",
"account_code_3": "Hesap Kodu 3",
"account_code_4": "Hesap Kodu 4",
"account_code_5": "Hesap Kodu 5",
"account_code_6": "Hesap Kodu 6",
"account_code_id": "Hesap Kodu ID",
"account_code_uu_id": "Hesap Kodu UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"account_code_1": "Account Code 1",
"account_code_2": "Account Code 2",
"account_code_3": "Account Code 3",
"account_code_4": "Account Code 4",
"account_code_5": "Account Code 5",
"account_code_6": "Account Code 6",
"account_code_id": "Account Code ID",
"account_code_uu_id": "Account Code UU ID",
},
)
AccountMasterLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"doc_date": "Belge Tarihi",
"plug_type": "Fiş Türü",
"plug_number": "Fiş Numarası",
"special_code": "Özel Kod",
"authorization_code": "Yetki Kodu",
"doc_code": "Belge Kodu",
"doc_type": "Belge Türü",
"comment_line1": "Yorum Satırı 1",
"comment_line2": "Yorum Satırı 2",
"comment_line3": "Yorum Satırı 3",
"comment_line4": "Yorum Satırı 4",
"comment_line5": "Yorum Satırı 5",
"comment_line6": "Yorum Satırı 6",
"project_code": "Proje Kodu",
"module_no": "Modül No",
"journal_no": "Defter No",
"status_id": "Durum ID",
"canceled": "İptal Edildi",
"print_count": "Yazdırma Sayısı",
"total_active": "Toplam Aktif",
"total_passive": "Toplam Pasif",
"total_active_1": "Toplam Aktif 1",
"total_passive_1": "Toplam Pasif 1",
"total_active_2": "Toplam Aktif 2",
"total_passive_2": "Toplam Pasif 2",
"total_active_3": "Toplam Aktif 3",
"total_passive_3": "Toplam Pasif 3",
"total_active_4": "Toplam Aktif 4",
"total_passive_4": "Toplam Pasif 4",
"cross_ref": "Çapraz Referans",
"data_center_id": "Veri Merkezi ID",
"data_center_rec_num": "Veri Merkezi Kayıt Numarası",
"account_header_id": "Hesap Başlığı ID",
"account_header_uu_id": "Hesap Başlığı UU ID",
"project_item_id": "Proje Öğesi ID",
"project_item_uu_id": "Proje Öğesi UU ID",
"department_id": "Departman ID",
"department_uu_id": "Departman UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"doc_date": "Document Date",
"plug_type": "Plug Type",
"plug_number": "Plug Number",
"special_code": "Special Code",
"authorization_code": "Authorization Code",
"doc_code": "Document Code",
"doc_type": "Document Type",
"comment_line1": "Comment Line 1",
"comment_line2": "Comment Line 2",
"comment_line3": "Comment Line 3",
"comment_line4": "Comment Line 4",
"comment_line5": "Comment Line 5",
"comment_line6": "Comment Line 6",
"project_code": "Project Code",
"module_no": "Module No",
"journal_no": "Journal No",
"status_id": "Status ID",
"canceled": "Canceled",
"print_count": "Print Count",
"total_active": "Total Active",
"total_passive": "Total Passive",
"total_active_1": "Total Active 1",
"total_passive_1": "Total Passive 1",
"total_active_2": "Total Active 2",
"total_passive_2": "Total Passive 2",
"total_active_3": "Total Active 3",
"total_passive_3": "Total Passive 3",
"total_active_4": "Total Active 4",
"total_passive_4": "Total Passive 4",
"cross_ref": "Cross Reference",
"data_center_id": "Data Center ID",
"data_center_rec_num": "Data Center Record Number",
"account_header_id": "Account Header ID",
"account_header_uu_id": "Account Header UU ID",
"project_item_id": "Project Item ID",
"project_item_uu_id": "Project Item UU ID",
"department_id": "Department ID",
"department_uu_id": "Department UU ID",
},
)
AccountDetailLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"doc_date": "Belge Tarihi",
"plug_type": "Fiş Türü",
"plug_number": "Fiş Numarası",
"special_code": "Özel Kod",
"authorization_code": "Yetki Kodu",
"doc_code": "Belge Kodu",
"doc_type": "Belge Türü",
"comment_line1": "Yorum Satırı 1",
"comment_line2": "Yorum Satırı 2",
"comment_line3": "Yorum Satırı 3",
"comment_line4": "Yorum Satırı 4",
"comment_line5": "Yorum Satırı 5",
"comment_line6": "Yorum Satırı 6",
"project_code": "Proje Kodu",
"module_no": "Modül No",
"journal_no": "Defter No",
"status_id": "Durum ID",
"canceled": "İptal Edildi",
"print_count": "Yazdırma Sayısı",
"total_active": "Toplam Aktif",
"total_passive": "Toplam Pasif",
"total_active_1": "Toplam Aktif 1",
"total_passive_1": "Toplam Pasif 1",
"total_active_2": "Toplam Aktif 2",
"total_passive_2": "Toplam Pasif 2",
"total_active_3": "Toplam Aktif 3",
"total_passive_3": "Toplam Pasif 3",
"total_active_4": "Toplam Aktif 4",
"total_passive_4": "Toplam Pasif 4",
"cross_ref": "Çapraz Referans",
"data_center_id": "Veri Merkezi ID",
"data_center_rec_num": "Veri Merkezi Kayıt Numarası",
"account_header_id": "Hesap Başlığı ID",
"account_header_uu_id": "Hesap Başlığı UU ID",
"project_item_id": "Proje Öğesi ID",
"project_item_uu_id": "Proje Öğesi UU ID",
"department_id": "Departman ID",
"department_uu_id": "Departman UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"doc_date": "Document Date",
"plug_type": "Plug Type",
"plug_number": "Plug Number",
"special_code": "Special Code",
"authorization_code": "Authorization Code",
"doc_code": "Document Code",
"doc_type": "Document Type",
"comment_line1": "Comment Line 1",
"comment_line2": "Comment Line 2",
"comment_line3": "Comment Line 3",
"comment_line4": "Comment Line 4",
"comment_line5": "Comment Line 5",
"comment_line6": "Comment Line 6",
"project_code": "Project Code",
"module_no": "Module No",
"journal_no": "Journal No",
"status_id": "Status ID",
"canceled": "Canceled",
"print_count": "Print Count",
"total_active": "Total Active",
"total_passive": "Total Passive",
"total_active_1": "Total Active 1",
"total_passive_1": "Total Passive 1",
"total_active_2": "Total Active 2",
"total_passive_2": "Total Passive 2",
"total_active_3": "Total Active 3",
"total_passive_3": "Total Passive 3",
"total_active_4": "Total Active 4",
"total_passive_4": "Total Passive 4",
"cross_ref": "Cross Reference",
"data_center_id": "Data Center ID",
"data_center_rec_num": "Data Center Record Number",
"account_header_id": "Account Header ID",
"account_header_uu_id": "Account Header UU ID",
"project_item_id": "Project Item ID",
"project_item_uu_id": "Project Item UU ID",
"department_id": "Department ID",
"department_uu_id": "Department UU ID",
},
)
AccountRecordsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"iban": "IBAN",
"bank_date": "Banka Tarihi",
"currency_value": "Döviz Değeri",
"bank_balance": "Banka Bakiyesi",
"currency": "Döviz",
"additional_balance": "Ek Bakiye",
"channel_branch": "Kanal Şubesi",
"process_name": "İşlem Türü Adı",
"process_type": "İşlem Türü",
"process_comment": "İşlem Kayıt Yorumu",
"process_garbage": "İşlem Kayıt Çöpü",
"bank_reference_code": "Banka Referans Kodu",
"add_comment_note": "Yorum Not Ekle",
"is_receipt_mail_send": "Alındı Mail Gönderildi",
"found_from": "Bulunduğu",
"similarity": "Benzerlik",
"remainder_balance": "Kalan Bakiye",
"bank_date_y": "Banka Tarihi Yıl",
"bank_date_m": "Banka Tarihi Ay",
"bank_date_w": "Banka Tarihi Hafta",
"bank_date_d": "Banka Tarihi Gün",
"approving_accounting_record": "Onaylayan Muhasebe Kaydı",
"accounting_receipt_date": "Muhasebe Alındı Tarihi",
"accounting_receipt_number": "Muhasebe Alındı Numarası",
"status_id": "Durum ID",
"approved_record": "Onaylanmış Kayıt",
"import_file_name": "İçe Aktarım Dosya Adı",
"receive_debit": "Alacak Borç",
"receive_debit_uu_id": "Alacak Borç UU ID",
"budget_type": "Bütçe Türü",
"budget_type_uu_id": "Bütçe Türü UU ID",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UU ID",
"send_company_id": "Gönderen Şirket ID",
"send_company_uu_id": "Gönderen Şirket UU ID",
"send_person_id": "Gönderen Kişi ID",
"send_person_uu_id": "Gönderen Kişi UU ID",
"approving_accounting_person": "Onaylayan Muhasebe Kişi",
"approving_accounting_person_uu_id": "Onaylayan Muhasebe Kişi UU ID",
"living_space_id": "Yaşam Alanı ID",
"living_space_uu_id": "Yaşam Alanı UU ID",
"customer_id": "Müşteri ID",
"customer_uu_id": "Müşteri UU ID",
"build_id": "Bina ID",
"build_uu_id": "Bina UU ID",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UU ID",
"build_decision_book_id": "Bina Karar Defteri ID",
"build_decision_book_uu_id": "Bina Karar Defteri UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"iban": "IBAN",
"bank_date": "Bank Date",
"currency_value": "Currency Value",
"bank_balance": "Bank Balance",
"currency": "Currency",
"additional_balance": "Additional Balance",
"channel_branch": "Channel Branch",
"process_name": "Process Type Name",
"process_type": "Process Type",
"process_comment": "Process Record Comment",
"process_garbage": "Process Record Garbage",
"bank_reference_code": "Bank Reference Code",
"add_comment_note": "Add Comment Note",
"is_receipt_mail_send": "Is Receipt Mail Send",
"found_from": "Found From",
"similarity": "Similarity",
"remainder_balance": "Remainder Balance",
"bank_date_y": "Bank Date Year",
"bank_date_m": "Bank Date Month",
"bank_date_w": "Bank Date Week",
"bank_date_d": "Bank Date Day",
"approving_accounting_record": "Approving Accounting Record",
"accounting_receipt_date": "Accounting Receipt Date",
"accounting_receipt_number": "Accounting Receipt Number",
"status_id": "Status ID",
"approved_record": "Approved Record",
"import_file_name": "Import File Name",
"receive_debit": "Receive Debit",
"receive_debit_uu_id": "Receive Debit UU ID",
"budget_type": "Budget Type",
"budget_type_uu_id": "Budget Type UU ID",
"company_id": "Company ID",
"company_uu_id": "Company UU ID",
"send_company_id": "Send Company ID",
"send_company_uu_id": "Send Company UU ID",
"send_person_id": "Send Person ID",
"send_person_uu_id": "Send Person UU ID",
"approving_accounting_person": "Approving Accounting Person",
"approving_accounting_person_uu_id": "Approving Accounting Person UU ID",
"living_space_id": "Living Space ID",
"living_space_uu_id": "Living Space UU ID",
"customer_id": "Customer ID",
"customer_uu_id": "Customer UU ID",
"build_id": "Build ID",
"build_uu_id": "Build UU ID",
"build_parts_id": "Build Parts ID",
"build_parts_uu_id": "Build Parts UU ID",
"build_decision_book_id": "Build Decision Book ID",
"build_decision_book_uu_id": "Build Decision Book UU ID",
},
)
AccountRecordExchangesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"are_currency": "Para Birimi",
"are_exchange_rate": "Döviz Kuru",
"usd_exchange_rate_value": "USD Döviz Kuru Değeri",
"eur_exchange_rate_value": "EUR Döviz Kuru Değeri",
"gbp_exchange_rate_value": "GBP Döviz Kuru Değeri",
"cny_exchange_rate_value": "CNY Döviz Kuru Değeri",
"account_records_id": "Hesap Kayıt ID",
"account_records_uu_id": "Hesap Kayıt UU ID",
},
en={
**CrudCollectionLanguageModel["en"],
"are_currency": "Currency",
"are_exchange_rate": "Exchange Rate",
"usd_exchange_rate_value": "USD Exchange Rate Value",
"eur_exchange_rate_value": "EUR Exchange Rate Value",
"gbp_exchange_rate_value": "GBP Exchange Rate Value",
"cny_exchange_rate_value": "CNY Exchange Rate Value",
"account_records_id": "Account Record ID",
"account_records_uu_id": "Account Record UU ID",
},
)

View File

@ -0,0 +1,52 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
BuildIbansLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"iban": "IBAN Numarası",
"start_date": "Banka İşlem Başlangıç Tarihi",
"stop_date": "Banka İşlem Bitiş Tarihi",
"bank_code": "Banka Kodu",
"xcomment": "Yorum",
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"iban": "IBAN Number",
"start_date": "Bank Transaction Start Date",
"stop_date": "Bank Transaction End Date",
"bank_code": "Bank Code",
"xcomment": "Comment",
"build_id": "Build ID",
"build_uu_id": "Build UUID",
},
)
BuildIbanDescriptionLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"iban": "IBAN Numarası",
"group_id": "Grup ID",
"search_word": "Arama Kelimesi",
"customer_id": "Müşteri ID",
"customer_uu_id": "Müşteri UUID",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"iban": "IBAN Number",
"group_id": "Group ID",
"search_word": "Search Word",
"customer_id": "Customer ID",
"customer_uu_id": "Customer UUID",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
"build_parts_id": "Build Parts ID",
"build_parts_uu_id": "Build Parts UUID",
},
)

View File

@ -0,0 +1,101 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
DecisionBookBudgetBooksLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"country": "Ülke",
"branch_type": "Şube Tipi",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
"branch_id": "Şube ID",
"branch_uu_id": "Şube UUID",
"build_decision_book_id": "Karar Defteri ID",
"build_decision_book_uu_id": "Karar Defteri UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"country": "Country",
"branch_type": "Branch Type",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
"branch_id": "Branch ID",
"branch_uu_id": "Branch UUID",
"build_decision_book_id": "Build Decision Book ID",
"build_decision_book_uu_id": "Build Decision Book UUID",
},
)
DecisionBookBudgetCodesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"budget_code": "Bütçe Kodu",
"comment_line": "Yorum Satırı",
"build_decision_book_id": "Karar Defteri ID",
"build_decision_book_uu_id": "Karar Defteri UUID",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UUID",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"budget_code": "Budget Code",
"comment_line": "Comment Line",
"build_decision_book_id": "Build Decision Book ID",
"build_decision_book_uu_id": "Build Decision Book UUID",
"build_parts_id": "Build Parts ID",
"build_parts_uu_id": "Build Parts UUID",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
},
)
DecisionBookBudgetMasterLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"budget_type": "Bütçe Tipi",
"currency": "Para Birimi",
"total_budget": "Toplam Bütçe",
"tracking_period_id": "Takip Dönemi ID",
"tracking_period_uu_id": "Takip Dönemi UUID",
"budget_books_id": "Bütçe Kitapları ID",
"budget_books_uu_id": "Bütçe Kitapları UUID",
"department_id": "Departman ID",
"department_uu_id": "Departman UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"budget_type": "Budget Type",
"currency": "Currency",
"total_budget": "Total Budget",
"tracking_period_id": "Tracking Period ID",
"tracking_period_uu_id": "Tracking Period UUID",
"budget_books_id": "Budget Books ID",
"budget_books_uu_id": "Budget Books UUID",
"department_id": "Department ID",
"department_uu_id": "Department UUID",
},
)
DecisionBookBudgetsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"process_date": "İşlem Tarihi",
"budget_codes_id": "Bütçe Kodları ID",
"total_budget": "Toplam Bütçe",
"used_budget": "Kullanılan Bütçe",
"remaining_budget": "Kalan Bütçe",
"decision_book_budget_master_id": "Karar Defteri Bütçesi ID",
"decision_book_budget_master_uu_id": "Karar Defteri Bütçesi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"process_date": "Process Date",
"budget_codes_id": "Budget Codes ID",
"total_budget": "Total Budget",
"used_budget": "Used Budget",
"remaining_budget": "Remaining Budget",
"decision_book_budget_master_id": "Decision Book Budget Master ID",
"decision_book_budget_master_uu_id": "Decision Book Budget Master UUID",
},
)

View File

@ -0,0 +1,301 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
BuildTypesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"function_code": "Fonksiyon Kodu",
"type_code": "Yapı Tipi Kodu",
"lang": "Dil",
"type_name": "Tip Adı",
},
en={
**CrudCollectionLanguageModel["en"],
"function_code": "Function Code",
"type_code": "Type Code",
"lang": "Language",
"type_name": "Type Name",
},
)
Part2EmployeeLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_id": "Bina ID",
"part_id": "Bina Parça ID",
"employee_id": "Çalışan ID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_id": "Build ID",
"part_id": "Build Part ID",
"employee_id": "Employee ID",
},
)
RelationshipEmployee2BuildLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"company_id": "Şirket ID",
"employee_id": "Çalışan ID",
"member_id": "Üye ID",
"relationship_type": "İlişki Tipi",
"show_only": "Sadece Göster",
},
en={
**CrudCollectionLanguageModel["en"],
"company_id": "Company ID",
"employee_id": "Employee ID",
"member_id": "Member ID",
"relationship_type": "Relationship Type",
"show_only": "Show Only",
},
)
BuildLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"gov_address_code": "Adres Kodu",
"build_name": "Bina Adı",
"build_no": "Bina No",
"max_floor": "Max Kat",
"underground_floor": "Zemin Kat",
"build_date": "Bina Tarihi",
"decision_period_date": "Karar Dönemi 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": "Blok Hizmet Görevlisi Sayısı",
"security_service_man_count": "Güvenlik Görevlisi Sayısı",
"garage_count": "Garaj Sayısı",
"management_room_id": "Yönetim Odası ID",
"site_id": "Site ID",
"site_uu_id": "Site UUID",
"address_id": "Adres ID",
"address_uu_id": "Adres UUID",
"build_types_id": "Bina Tipi ID",
"build_types_uu_id": "Bina Tipi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"gov_address_code": "Address Code",
"build_name": "Building Name",
"build_no": "Building Number",
"max_floor": "Max Floor",
"underground_floor": "Underground Floor",
"build_date": "Building Date",
"decision_period_date": "Decision Period Date",
"tax_no": "Tax No",
"lift_count": "Lift Count",
"heating_system": "Heating System",
"cooling_system": "Cooling System",
"hot_water_system": "Hot Water System",
"block_service_man_count": "Block Service Man Count",
"security_service_man_count": "Security Service Man Count",
"garage_count": "Garage Count",
"management_room_id": "Management Room ID",
"site_id": "Site ID",
"site_uu_id": "Site UUID",
"address_id": "Address ID",
"address_uu_id": "Address UUID",
"build_types_id": "Build Types ID",
"build_types_uu_id": "Build Types UUID",
},
)
BuildPartsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"address_gov_code": "Adres Kodu",
"part_no": "Bina Parça No",
"part_level": "Bina Parça Katı",
"part_code": "Bina Parça Kodu",
"part_gross_size": "Bina Parça Brüt Alanı",
"part_net_size": "Bina Parça Net Alanı",
"default_accessory": "Varsayılan Aksesuar",
"human_livable": "İnsan Yaşam Alanı",
"due_part_key": "Ödeme Grubu",
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"part_direction_id": "Bina Parça Yönü ID",
"part_direction_uu_id": "Bina Parça Yönü UUID",
"part_type_id": "Bina Parça Tipi ID",
"part_type_uu_id": "Bina Parça Tipi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"address_gov_code": "Address Code",
"part_no": "Part Number",
"part_level": "Part Level",
"part_code": "Part Code",
"part_gross_size": "Part Gross Size",
"part_net_size": "Part Net Size",
"default_accessory": "Default Accessory",
"human_livable": "Human Livable",
"due_part_key": "Due Part Key",
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"part_direction_id": "Part Direction ID",
"part_direction_uu_id": "Part Direction UUID",
"part_type_id": "Part Type ID",
"part_type_uu_id": "Part Type UUID",
},
)
BuildLivingSpaceLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"fix_value": "Düz Değer",
"fix_percent": "Düz Yüzde",
"agreement_no": "Anlaşma No",
"marketing_process": "Pazarlama İşlemi",
"marketing_layer": "Pazarlama Katmanı",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UUID",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UUID",
"occupant_type": "Sakin Tipi",
"occupant_type_uu_id": "Sakin Tipi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"fix_value": "Fixed Value",
"fix_percent": "Fixed Percent",
"agreement_no": "Agreement No",
"marketing_process": "Marketing Process",
"marketing_layer": "Marketing Layer",
"build_parts_id": "Build Part ID",
"build_parts_uu_id": "Build Part UUID",
"person_id": "Person ID",
"person_uu_id": "Person UUID",
"occupant_type": "Occupant Type",
"occupant_type_uu_id": "Occupant Type UUID",
},
)
BuildManagementLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"discounted_percentage": "İndirim Yüzdesi",
"discounted_price": "İndirimli Fiyat",
"calculated_price": "Hesaplanan Fiyat",
"occupant_type": "Sakin Tipi",
"occupant_type_uu_id": "Sakin Tipi UUID",
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"discounted_percentage": "Discounted Percentage",
"discounted_price": "Discounted Price",
"calculated_price": "Calculated Price",
"occupant_type": "Occupant Type",
"occupant_type_uu_id": "Occupant Type UUID",
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"build_parts_id": "Build Part ID",
"build_parts_uu_id": "Build Part UUID",
},
)
BuildAreaLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"area_name": "Alan Adı",
"area_code": "Alan Kodu",
"area_type": "Alan Tipi",
"area_direction": "Alan Yönü",
"area_gross_size": "Alan Brüt Alanı",
"area_net_size": "Alan Net Alanı",
"width": "En",
"size": "Boyut",
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"part_type_id": "Bina Parça Tipi ID",
"part_type_uu_id": "Bina Parça Tipi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"area_name": "Area Name",
"area_code": "Area Code",
"area_type": "Area Type",
"area_direction": "Area Direction",
"area_gross_size": "Area Gross Size",
"area_net_size": "Area Net Size",
"width": "Width",
"size": "Size",
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"part_type_id": "Part Type ID",
"part_type_uu_id": "Part Type UUID",
},
)
BuildSitesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"site_name": "Site Adı",
"site_no": "Site No",
"address_id": "Adres ID",
"address_uu_id": "Adres UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"site_name": "Site Name",
"site_no": "Site No",
"address_id": "Address ID",
"address_uu_id": "Address UUID",
},
)
BuildCompaniesProvidingLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
"provide_id": "Sağlayıcı ID",
"provide_uu_id": "Sağlayıcı UUID",
"contract_id": "Sözleşme ID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
"provide_id": "Provide ID",
"provide_uu_id": "Provide UUID",
"contract_id": "Contract ID",
},
)
BuildPersonProvidingLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"people_id": "Kişi ID",
"people_uu_id": "Kişi UUID",
"provide_id": "Sağlayıcı ID",
"provide_uu_id": "Sağlayıcı UUID",
"contract_id": "Sözleşme ID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"people_id": "People ID",
"people_uu_id": "People UUID",
"provide_id": "Provide ID",
"provide_uu_id": "Provide UUID",
"contract_id": "Contract ID",
},
)

View File

@ -0,0 +1,398 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
BuildDecisionBookLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"decision_book_pdf_path": "Karar Defteri PDF Yolu",
"resp_company_fix_wage": "Firma Sabit Ücreti",
"is_out_sourced": "Dış Kaynak Kullanımı",
"meeting_date": "Toplantı Tarihi",
"decision_type": "Karar Türü",
"meeting_is_completed": "Toplantı Tamamlandı",
"meeting_completed_date": "Toplantı Tamamlanma Tarihi",
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"resp_company_id": "Sorumlu Firma ID",
"resp_company_uu_id": "Sorumlu Firma UUID",
"contact_id": "İletişim ID",
"contact_uu_id": "İletişim UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"decision_book_pdf_path": "Decision Book PDF Path",
"resp_company_fix_wage": "Resp Company Fix Wage",
"is_out_sourced": "Is Out Sourced",
"meeting_date": "Meeting Date",
"decision_type": "Decision Type",
"meeting_is_completed": "Meeting Is Completed",
"meeting_completed_date": "Meeting Completed Date",
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"resp_company_id": "Resp Company ID",
"resp_company_uu_id": "Resp Company UUID",
"contact_id": "Contact ID",
"contact_uu_id": "Contact UUID",
},
)
BuildDecisionBookInvitationsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_id": "Bina ID",
"build_uu_id": "Bina UUID",
"decision_book_id": "Karar Defteri ID",
"decision_book_uu_id": "Karar Defteri UUID",
"invitation_type": "Davet Türü",
"invitation_attempt": "Davet Denemesi",
"living_part_count": "Yaşam Bölüm Sayısı",
"living_part_percentage": "Yaşam Bölüm Yüzdesi",
"message": "Davet Mesajı",
"planned_date": "Planlanan Tarih",
"planned_date_expires": "Planlanan Tarih Bitiş",
},
en={
**CrudCollectionLanguageModel["en"],
"build_id": "Build ID",
"build_uu_id": "Build UUID",
"decision_book_id": "Decision Book ID",
"decision_book_uu_id": "Decision Book UUID",
"invitation_type": "Invitation Type",
"invitation_attempt": "Invitation Attempt",
"living_part_count": "Living Part Count",
"living_part_percentage": "Living Part Percentage",
"message": "Message",
"planned_date": "Planned Date",
"planned_date_expires": "Planned Date Expires",
},
)
BuildDecisionBookPersonLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"dues_percent_discount": "Aidat İndirim Oranı",
"dues_fix_discount": "Aidat Sabit İndirim",
"dues_discount_approval_date": "İndirim Onay Tarihi",
"send_date": "Gönderme Tarihi",
"is_attending": "Katılıyor",
"confirmed_date": "Onay Tarihi",
"token": "Token",
"vicarious_person_id": "Vekil Kişi ID",
"vicarious_person_uu_id": "Vekil Kişi UUID",
"invite_id": "Davet ID",
"invite_uu_id": "Davet UUID",
"build_decision_book_id": "Karar Defteri ID",
"build_decision_book_uu_id": "Karar Defteri UUID",
"build_living_space_id": "Yaşam Alanı ID",
"build_living_space_uu_id": "Yaşam Alanı UUID",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"dues_percent_discount": "Dues Percent Discount",
"dues_fix_discount": "Dues Fix Discount",
"dues_discount_approval_date": "Dues Discount Approval Date",
"send_date": "Send Date",
"is_attending": "Is Attending",
"confirmed_date": "Confirmed Date",
"token": "Token",
"vicarious_person_id": "Vicarious Person ID",
"vicarious_person_uu_id": "Vicarious Person UUID",
"invite_id": "Invite ID",
"invite_uu_id": "Invite UUID",
"build_decision_book_id": "Decision Book ID",
"build_decision_book_uu_id": "Decision Book UUID",
"build_living_space_id": "Living Space ID",
"build_living_space_uu_id": "Living Space UUID",
"person_id": "Person ID",
"person_uu_id": "Person UUID",
},
)
BuildDecisionBookPersonOccupantsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_decision_book_person_id": "Karar Defteri Kişi ID",
"build_decision_book_person_uu_id": "Karar Defter Kişi UUID",
"invite_id": "Davet ID",
"invite_uu_id": "Davet UUID",
"occupant_type_id": "Kişi Tür ID",
"occupant_type_uu_id": "Kişi Tür UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_decision_book_person_id": "Build Decision Book Person ID",
"build_decision_book_person_uu_id": "Build Decision Book Person UUID",
"invite_id": "Invite ID",
"invite_uu_id": "Invite UUID",
"occupant_type_id": "Occupant Type ID",
"occupant_type_uu_id": "Occupant Type UUID",
},
)
BuildDecisionBookItemsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"item_order": "Madde Sırası",
"item_comment": "Madde Yorumu",
"item_objection": "Madde İtirazı",
"info_is_completed": "Bilgi Tamamlandı",
"is_payment_created": "Ödeme Yapıldı",
"info_type_id": "Bilgi Türü ID",
"info_type_uu_id": "Bilgi Türü UUID",
"build_decision_book_id": "Karar Defteri ID",
"build_decision_book_uu_id": "Karar Defteri UUID",
"item_short_comment": "Kısa Yorum",
},
en={
**CrudCollectionLanguageModel["en"],
"item_order": "Item Order",
"item_comment": "Item Comment",
"item_objection": "Item Objection",
"info_is_completed": "Info Is Completed",
"is_payment_created": "Is Payment Created",
"info_type_id": "Info Type ID",
"info_type_uu_id": "Info Type UUID",
"build_decision_book_id": "Build Decision Book ID",
"build_decision_book_uu_id": "Build Decision Book UUID",
"item_short_comment": "Item Short Comment",
},
)
BuildDecisionBookItemsUnapprovedLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"item_objection": "Madde İtirazı",
"item_order": "Madde Sırası",
"decision_book_item_id": "Karar Defteri Madde ID",
"decision_book_item_uu_id": "Karar Defteri Madde UUID",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UUID",
"build_decision_book_item": "Karar Defteri Madde ID",
"build_decision_book_item_uu_id": "Karar Defteri Madde UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"item_objection": "Item Objection",
"item_order": "Item Order",
"decision_book_item_id": "Decision Book Item ID",
"decision_book_item_uu_id": "Decision Book Item UUID",
"person_id": "Person ID",
"person_uu_id": "Person UUID",
"build_decision_book_item": "Build Decision Book Item ID",
"build_decision_book_item_uu_id": "Build Decision Book Item UUID",
},
)
BuildDecisionBookPaymentsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"payment_plan_time_periods": "Ödeme Planı Zaman Periyodu",
"process_date": "Ödeme Tarihi",
"payment_amount": "Ödeme Miktarı",
"currency": "Para Birimi",
"payment_types_id": "Ödeme Türü ID",
"payment_types_uu_id": "Ödeme Türü UUID",
"period_time": "Dönem Zamanı",
"process_date_y": "Tarih Yılı",
"process_date_m": "Tarih Ayı",
"build_decision_book_item_id": "Karar Defteri Madde ID",
"build_decision_book_item_uu_id": "Karar Defteri Madde UUID",
"build_parts_id": "Bina Parça ID",
"build_parts_uu_id": "Bina Parça UUID",
"decision_book_project_id": "Karar Defteri Proje ID",
"decision_book_project_uu_id": "Karar Defteri Proje UUID",
"account_records_id": "Hesap Kayıtları ID",
"account_records_uu_id": "Hesap Kayıtları UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"payment_plan_time_periods": "Payment Plan Time Periods",
"process_date": "Process Date",
"payment_amount": "Payment Amount",
"currency": "Currency",
"payment_types_id": "Payment Types ID",
"payment_types_uu_id": "Payment Types UUID",
"period_time": "Period Time",
"process_date_y": "Process Date Year",
"process_date_m": "Process Date Month",
"build_decision_book_item_id": "Build Decision Book Item ID",
"build_decision_book_item_uu_id": "Build Decision Book Item UUID",
"build_parts_id": "Build Parts ID",
"build_parts_uu_id": "Build Parts UUID",
"decision_book_project_id": "Decision Book Project ID",
"decision_book_project_uu_id": "Decision Book Project UUID",
"account_records_id": "Account Records ID",
"account_records_uu_id": "Account Records UUID",
},
)
BuildDecisionBookLegalLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"period_start_date": "Dönem Başlangıç Tarihi",
"lawsuits_decision_number": "Dava Karar Numarası",
"lawsuits_decision_date": "Dava Karar Tarihi",
"period_stop_date": "Dönem Bitiş Tarihi",
"decision_book_pdf_path": "Karar Defteri PDF Yolu",
"resp_company_total_wage": "Firma Toplam Ücreti",
"contact_agreement_path": "İletişim Anlaşma Yolu",
"contact_agreement_date": "İletişim Anlaşma Tarihi",
"meeting_date": "Toplantı Tarihi",
"lawsuits_type": "Dava Türü",
"lawsuits_name": "Dava Adı",
"lawsuits_note": "Dava Notu",
"lawyer_cost": "Avukat Ücreti",
"mediator_lawyer_cost": "Arabulucu Avukat Ücreti",
"other_cost": "Diğer Ücret",
"legal_cost": "Yasal Ücret",
"approved_cost": "Onaylanan Ücret",
"total_price": "Toplam Ücret",
"build_db_item_id": "Karar Defteri Madde ID",
"build_db_item_uu_id": "Karar Defteri Madde UUID",
"resp_attorney_id": "Sorumlu Avukat ID",
"resp_attorney_uu_id": "Sorumlu Avukat UUID",
"resp_attorney_company_id": "Sorumlu Avukat Firma ID",
"resp_attorney_company_uu_id": "Sorumlu Avukat Firma UUID",
"mediator_lawyer_person_id": "Arabulucu Avukat Kişi ID",
"mediator_lawyer_person_uu_id": "Arabulucu Avukat Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"period_start_date": "Period Start Date",
"lawsuits_decision_number": "Lawsuits Decision Number",
"lawsuits_decision_date": "Lawsuits Decision Date",
"period_stop_date": "Period Stop Date",
"decision_book_pdf_path": "Decision Book PDF Path",
"resp_company_total_wage": "Resp Company Total Wage",
"contact_agreement_path": "Contact Agreement Path",
"contact_agreement_date": "Contact Agreement Date",
"meeting_date": "Meeting Date",
"lawsuits_type": "Lawsuits Type",
"lawsuits_name": "Lawsuits Name",
"lawsuits_note": "Lawsuits Note",
"lawyer_cost": "Lawyer Cost",
"mediator_lawyer_cost": "Mediator Lawyer Cost",
"other_cost": "Other Cost",
"legal_cost": "Legal Cost",
"approved_cost": "Approved Cost",
"total_price": "Total Price",
"build_db_item_id": "Build Decision Book Item ID",
"build_db_item_uu_id": "Build Decision Book Item UUID",
"resp_attorney_id": "Resp Attorney ID",
"resp_attorney_uu_id": "Resp Attorney UUID",
"resp_attorney_company_id": "Resp Attorney Company ID",
"resp_attorney_company_uu_id": "Resp Attorney Company UUID",
"mediator_lawyer_person_id": "Mediator Lawyer Person ID",
"mediator_lawyer_person_uu_id": "Mediator Lawyer Person UUID",
},
)
BuildDecisionBookProjectsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"project_no": "Proje No",
"project_name": "Proje Adı",
"project_start_date": "Proje Başlangıç Tarihi",
"project_stop_date": "Proje Bitiş Tarihi",
"project_type": "Proje Türü",
"project_note": "Proje Notu",
"decision_book_pdf_path": "Karar Defteri PDF Yolu",
"is_completed": "Proje Tamamlandı",
"status_code": "Durum Kodu",
"resp_company_fix_wage": "Firma Sabit Ücreti",
"is_out_sourced": "Dış Kaynak Kullanımı",
"meeting_date": "Toplantı Tarihi",
"currency": "Para Birimi",
"bid_price": "Teklif Fiyatı",
"approved_price": "Onaylanan Fiyat",
"final_price": "Son Fiyat",
"contact_id": "İletişim ID",
"contact_uu_id": "İletişim UUID",
"build_decision_book_id": "Karar Defteri ID",
"build_decision_book_uu_id": "Karar Defteri UUID",
"build_decision_book_item_id": "Karar Defteri Madde ID",
"build_decision_book_item_uu_id": "Karar Defteri Madde UUID",
"project_response_living_space_id": "Proje Yanıt Yaşam Alanı ID",
"project_response_living_space_uu_id": "Proje Yanıt Yaşam Alanı UUID",
"resp_company_id": "Sorumlu Firma ID",
"resp_company_uu_id": "Sorumlu Firma UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"project_no": "Project No",
"project_name": "Project Name",
"project_start_date": "Project Start Date",
"project_stop_date": "Project Stop Date",
"project_type": "Project Type",
"project_note": "Project Note",
"decision_book_pdf_path": "Decision Book PDF Path",
"is_completed": "Is Completed",
"status_code": "Status Code",
"resp_company_fix_wage": "Resp Company Fix Wage",
"is_out_sourced": "Is Out Sourced",
"meeting_date": "Meeting Date",
"currency": "Currency",
"bid_price": "Bid Price",
"approved_price": "Approved Price",
"final_price": "Final Price",
"contact_id": "Contact ID",
"contact_uu_id": "Contact UUID",
"build_decision_book_id": "Build Decision Book ID",
"build_decision_book_uu_id": "Build Decision Book UUID",
"build_decision_book_item_id": "Build Decision Book Item ID",
"build_decision_book_item_uu_id": "Build Decision Book Item UUID",
"project_response_living_space_id": "Project Response Living Space ID",
"project_response_living_space_uu_id": "Project Response Living Space UUID",
"resp_company_id": "Resp Company ID",
"resp_company_uu_id": "Resp Company UUID",
},
)
BuildDecisionBookProjectPersonLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"dues_percent_discount": "Aidat İndirim Oranı",
"job_fix_wage": "İş Sabit Ücreti",
"bid_price": "Teklif Fiyatı",
"decision_price": "Karar Fiyatı",
"build_decision_book_project_id": "Karar Defteri Proje ID",
"build_decision_book_project_uu_id": "Karar Defteri Proje UUID",
"living_space_id": "Yaşam Alanı ID",
"living_space_uu_id": "Yaşam Alanı UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"dues_percent_discount": "Dues Percent Discount",
"job_fix_wage": "Job Fix Wage",
"bid_price": "Bid Price",
"decision_price": "Decision Price",
"build_decision_book_project_id": "Build Decision Book Project ID",
"build_decision_book_project_uu_id": "Build Decision Book Project UUID",
"living_space_id": "Living Space ID",
"living_space_uu_id": "Living Space UUID",
},
)
BuildDecisionBookProjectItemsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"item_header": "Madde Başlığı",
"item_comment": "Madde Yorumu",
"attachment_pdf_path": "Ek PDF Yolu",
"item_estimated_cost": "Tahmini Maliyet",
"item_short_comment": "Kısa Yorum",
"build_decision_book_project_id": "Karar Defteri Proje ID",
"build_decision_book_project_uu_id": "Karar Defteri Proje UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"item_header": "Item Header",
"item_comment": "Item Comment",
"attachment_pdf_path": "Attachment PDF Path",
"item_estimated_cost": "Estimated Cost",
"item_short_comment": "Item Short Comment",
"build_decision_book_project_id": "Build Decision Book Project ID",
"build_decision_book_project_uu_id": "Build Decision Book Project UUID",
},
)

View File

@ -0,0 +1,65 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
RelationshipDutyCompanyLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"owner_id": "Sahip ID",
"duties_id": "Görev ID",
"member_id": "Üye ID",
"parent_id": "Üst ID",
"relationship_type": "İlişki Tipi",
"child_count": "Çocuk Sayısı",
"show_only": "Sadece Göster",
},
en={
**CrudCollectionLanguageModel["en"],
"owner_id": "Owner ID",
"duties_id": "Duties ID",
"member_id": "Member ID",
"parent_id": "Parent ID",
"relationship_type": "Relationship Type",
"child_count": "Child Count",
"show_only": "Show Only",
},
)
CompaniesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"formal_name": "Resmi Ad",
"company_type": "Şirket Tipi",
"commercial_type": "Ticari Tip",
"tax_no": "Vergi No",
"public_name": "Kamu Adı",
"company_tag": "Şirket Etiketi",
"default_lang_type": "Varsayılan Dil Tipi",
"default_money_type": "Varsayılan Para Tipi",
"is_commercial": "Ticari",
"is_blacklist": "Kara Liste",
"parent_id": "Üst ID",
"workplace_no": "İşyeri No",
"official_address_id": "Resmi Adres ID",
"official_address_uu_id": "Resmi Adres UUID",
"top_responsible_company_id": "Üst Sorumlu Şirket ID",
"top_responsible_company_uu_id": "Üst Sorumlu Şirket UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"formal_name": "Formal Name",
"company_type": "Company Type",
"commercial_type": "Commercial Type",
"tax_no": "Tax No",
"public_name": "Public Name",
"company_tag": "Company Tag",
"default_lang_type": "Default Language Type",
"default_money_type": "Default Money Type",
"is_commercial": "Commercial",
"is_blacklist": "Blacklist",
"parent_id": "Parent ID",
"workplace_no": "Workplace No",
"official_address_id": "Official Address ID",
"official_address_uu_id": "Official Address UUID",
"top_responsible_company_id": "Top Responsible Company ID",
"top_responsible_company_uu_id": "Top Responsible Company UUID",
},
)

View File

@ -0,0 +1,62 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
DepartmentsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"parent_department_id": "Üst Departman ID",
"department_code": "Departman Kodu",
"department_name": "Departman Adı",
"department_description": "Departman Açıklaması",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"parent_department_id": "Parent Department ID",
"department_code": "Department Code",
"department_name": "Department Name",
"department_description": "Department Description",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
},
)
DutiesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"users_default_duty": "Kullanıcılar için Varsayılan Görev",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
"duties_id": "Görev ID",
"duties_uu_id": "Görev UUID",
"department_id": "Departman ID",
"department_uu_id": "Departman UUID",
"management_duty": "Yönetim Görevi",
},
en={
**CrudCollectionLanguageModel["en"],
"users_default_duty": "Default Duty for Users",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
"duties_id": "Duty ID",
"duties_uu_id": "Duty UUID",
"department_id": "Department ID",
"department_uu_id": "Department UUID",
"management_duty": "Management Duty",
},
)
DutyLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"duty_name": "Görev Adı",
"duty_code": "Görev Kodu",
"duty_description": "Görev Açıklaması",
},
en={
**CrudCollectionLanguageModel["en"],
"duty_name": "Duty Name",
"duty_code": "Duty Code",
"duty_description": "Duty Description",
},
)

View File

@ -0,0 +1,71 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
StaffLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"staff_description": "Personel Açıklaması",
"staff_name": "Personel Adı",
"staff_code": "Personel Kodu",
"duties_id": "Görev ID",
"duties_uu_id": "Görev UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"staff_description": "Staff Description",
"staff_name": "Staff Name",
"staff_code": "Staff Code",
"duties_id": "Duty ID",
"duties_uu_id": "Duty UUID",
},
)
EmployeesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"staff_id": "Personel ID",
"staff_uu_id": "Personel UUID",
"people_id": "Kişi ID",
"people_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"staff_id": "Staff ID",
"staff_uu_id": "Staff UUID",
"people_id": "People ID",
"people_uu_id": "People UUID",
},
)
EmployeeHistoryLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"staff_id": "Personel ID",
"staff_uu_id": "Personel UUID",
"people_id": "Kişi ID",
"people_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"staff_id": "Staff ID",
"staff_uu_id": "Staff UUID",
"people_id": "People ID",
"people_uu_id": "People UUID",
},
)
EmployeesSalariesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"gross_salary": "Brüt Maaş",
"net_salary": "Net Maaş",
"people_id": "Kişi ID",
"people_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"gross_salary": "Gross Salary",
"net_salary": "Net Salary",
"people_id": "People ID",
"people_uu_id": "People UUID",
},
)

View File

@ -0,0 +1,185 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
EventsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"event_type": "Etkinlik Türü",
"function_code": "Fonksiyon Kodu",
"function_class": "Fonksiyon Sınıfı",
"description": "ıklama",
"property_description": "Özellik Açıklaması",
"marketing_layer": "Pazarlama Katmanı",
"cost": "Maliyet",
"unit_price": "Birim Fiyat",
"endpoint_id": "Endpoint ID",
"endpoint_uu_id": "Endpoint UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"event_type": "Event Type",
"function_code": "Function Code",
"function_class": "Function Class",
"description": "Description",
"property_description": "Property Description",
"marketing_layer": "Marketing Layer",
"cost": "Cost",
"unit_price": "Unit Price",
"endpoint_id": "Endpoint ID",
"endpoint_uu_id": "Endpoint UUID",
},
)
ModulesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"module_name": "Modül Adı",
"module_description": "Modül Açıklaması",
"module_code": "Modül Kodu",
"module_layer": "Modül Katmanı",
"is_default_module": "Varsayılan Modül",
},
en={
**CrudCollectionLanguageModel["en"],
"module_name": "Module Name",
"module_description": "Module Description",
"module_code": "Module Code",
"module_layer": "Module Layer",
"is_default_module": "Default Module",
},
)
ServicesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"module_id": "Modül ID",
"module_uu_id": "Modül UUID",
"service_name": "Servis Adı",
"service_description": "Servis Açıklaması",
"service_code": "Servis Kodu",
"related_responsibility": "İlgili Sorumluluk",
},
en={
**CrudCollectionLanguageModel["en"],
"module_id": "Module ID",
"module_uu_id": "Module UUID",
"service_name": "Service Name",
"service_description": "Service Description",
"service_code": "Service Code",
"related_responsibility": "Related Responsibility",
},
)
Service2EventsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"service_id": "Servis ID",
"service_uu_id": "Servis UUID",
"event_id": "Etkinlik ID",
"event_uu_id": "Etkinlik UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"service_id": "Service ID",
"service_uu_id": "Service UUID",
"event_id": "Event ID",
"event_uu_id": "Event UUID",
},
)
Event2OccupantExtraLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_living_space_id": "Bina Yaşam Alanı ID",
"build_living_space_uu_id": "Bina Yaşam Alanı UUID",
"event_id": "Etkinlik ID",
"event_uu_id": "Etkinlik UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_living_space_id": "Build Living Space ID",
"build_living_space_uu_id": "Build Living Space UUID",
"event_id": "Event ID",
"event_uu_id": "Event UUID",
},
)
Event2EmployeeExtraLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"employee_id": "Çalışan ID",
"employee_uu_id": "Çalışan UUID",
"event_id": "Etkinlik ID",
"event_uu_id": "Etkinlik UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"employee_id": "Employee ID",
"employee_uu_id": "Employee UUID",
"event_id": "Event ID",
"event_uu_id": "Event UUID",
},
)
Event2EmployeeLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"employee_id": "Çalışan ID",
"employee_uu_id": "Çalışan UUID",
"event_service_id": "Etkinlik Servis ID",
"event_service_uu_id": "Etkinlik Servis UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"employee_id": "Employee ID",
"employee_uu_id": "Employee UUID",
"event_service_id": "Event Service ID",
"event_service_uu_id": "Event Service UUID",
},
)
Event2OccupantLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_living_space_id": "Bina Yaşam Alanı ID",
"build_living_space_uu_id": "Bina Yaşam Alanı UUID",
"event_service_id": "Etkinlik Servis ID",
"event_service_uu_id": "Etkinlik Servis UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_living_space_id": "Build Living Space ID",
"build_living_space_uu_id": "Build Living Space UUID",
"event_service_id": "Event Service ID",
"event_service_uu_id": "Event Service UUID",
},
)
ModulePriceLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"campaign_code": "Kampanya Kodu",
"module_id": "Modül ID",
"module_uu_id": "Modül UUID",
"service_id": "Servis ID",
"service_uu_id": "Servis UUID",
"event_id": "Etkinlik ID",
"event_uu_id": "Etkinlik UUID",
"is_counted_percentage": "İndirim Oranı",
"discounted_price": "İndirimli Fiyat",
"calculated_price": "Hesaplanan Fiyat",
},
en={
**CrudCollectionLanguageModel["en"],
"campaign_code": "Campaign Code",
"module_id": "Module ID",
"module_uu_id": "Module UUID",
"service_id": "Service ID",
"service_uu_id": "Service UUID",
"event_id": "Event ID",
"event_uu_id": "Event UUID",
"is_counted_percentage": "Discount Rate",
"discounted_price": "Discounted Price",
"calculated_price": "Calculated Price",
},
)

View File

@ -0,0 +1,424 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
UsersTokensLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"user_id": "Kullanıcı ID",
"token_type": "Token Türü",
"token": "Token",
"domain": "Domain",
"expires_at": "Bitiş Tarihi",
},
en={
**CrudCollectionLanguageModel["en"],
"user_id": "User ID",
"token_type": "Token Type",
"token": "Token",
"domain": "Domain",
"expires_at": "Expires At",
},
)
UsersLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"user_tag": "Kullanıcı Etiketi",
"email": "E-posta",
"phone_number": "Telefon Numarası",
"via": "Via",
"avatar": "Avatar",
"hash_password": "Şifre",
"password_token": "Şifre Token",
"remember_me": "Beni Hatırla",
"password_expires_day": "Şifre Son Kullanma Günü",
"password_expiry_begins": "Şifre Son Kullanma Başlangıç",
"related_company": "İlgili Şirket",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"user_tag": "User Tag",
"email": "Email",
"phone_number": "Phone Number",
"via": "Via",
"avatar": "Avatar",
"hash_password": "Password",
"password_token": "Password Token",
"remember_me": "Remember Me",
"password_expires_day": "Password Expires Day",
"password_expiry_begins": "Password Expiry Begins",
"related_company": "Related Company",
"person_id": "Person ID",
"person_uu_id": "Person UUID",
},
)
RelationshipDutyPeopleLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"company_id": "Şirket ID",
"duties_id": "Görev ID",
"member_id": "Üye ID",
"relationship_type": "İlişki Türü",
"show_only": "Sadece Göster",
},
en={
**CrudCollectionLanguageModel["en"],
"company_id": "Company ID",
"duties_id": "Duty ID",
"member_id": "Member ID",
"relationship_type": "Relationship Type",
"show_only": "Show Only",
},
)
PeopleLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"firstname": "Ad",
"surname": "Soyad",
"middle_name": "Orta Ad",
"sex_code": "Cinsiyet Kodu",
"person_ref": "Kişi Referansı",
"person_tag": "Kişi Etiketi",
"father_name": "Baba Adı",
"mother_name": "Anne Adı",
"country_code": "Ülke Kodu",
"national_identity_id": "Kimlik Numarası",
"birth_place": "Doğum Yeri",
"birth_date": "Doğum Tarihi",
"tax_no": "Vergi Numarası",
},
en={
**CrudCollectionLanguageModel["en"],
"firstname": "First Name",
"surname": "Last Name",
"middle_name": "Middle Name",
"sex_code": "Gender",
"person_ref": "Person Reference",
"person_tag": "Person Tag",
"father_name": "Father Name",
"mother_name": "Mother Name",
"country_code": "Country Code",
"national_identity_id": "National Identity ID",
"birth_place": "Birth Place",
"birth_date": "Birth Date",
"tax_no": "Tax No",
},
)
RelationshipEmployee2PostCodeLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"company_id": "Şirket ID",
"employee_id": "Çalışan ID",
"member_id": "Üye ID",
"relationship_type": "İlişki Türü",
"show_only": "Sadece Göster",
},
en={
**CrudCollectionLanguageModel["en"],
"company_id": "Company ID",
"employee_id": "Employee ID",
"member_id": "Member ID",
"relationship_type": "Relationship Type",
"show_only": "Show Only",
},
)
AddressPostcodeLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"street_id": "Sokak ID",
"street_uu_id": "Sokak UUID",
"postcode": "Posta Kodu",
},
en={
**CrudCollectionLanguageModel["en"],
"street_id": "Street ID",
"street_uu_id": "Street UUID",
"postcode": "Postcode",
},
)
AddressesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"build_number": "Bina Numarası",
"door_number": "Kapı Numarası",
"floor_number": "Kat Numarası",
"comment_address": "Adres",
"letter_address": "Adres",
"short_letter_address": "Adres",
"latitude": "Enlem",
"longitude": "Boylam",
"street_id": "Sokak ID",
"street_uu_id": "Sokak UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"build_number": "Build Number",
"door_number": "Door Number",
"floor_number": "Floor Number",
"comment_address": "Address",
"letter_address": "Address",
"short_letter_address": "Address",
"latitude": "Latitude",
"longitude": "Longitude",
"street_id": "Street ID",
"street_uu_id": "Street UUID",
},
)
AddressGeographicLocationsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"geo_table": "Tablo Adı",
"geo_id": "ID",
"geo_name": "Ad",
"geo_latitude": "Enlem",
"geo_longitude": "Boylam",
"geo_altitude": "Yükseklik",
"geo_description": "ıklama",
"geo_area_size": "Alan",
"geo_population": "Nüfus",
},
en={
**CrudCollectionLanguageModel["en"],
"geo_table": "Table Name",
"geo_id": "ID",
"geo_name": "Name",
"geo_latitude": "Latitude",
"geo_longitude": "Longitude",
"geo_altitude": "Altitude",
"geo_description": "Description",
"geo_area_size": "Area",
"geo_population": "Population",
},
)
AddressCountryLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"country_code": "Ülke Kodu",
"country_name": "Ülke Adı",
"money_code": "Para Kodu",
"language": "Dil Kodu",
"address_geographic_id": "Adres Coğrafi ID",
},
en={
**CrudCollectionLanguageModel["en"],
"country_code": "Country Code",
"country_name": "Country Name",
"money_code": "Money Code",
"language": "Language Code",
"address_geographic_id": "Address Geographic ID",
},
)
AddressStateLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"state_code": "Eyalet Kodu",
"state_name": "Eyalet Adı",
"licence_plate": "Plaka Kodu",
"phone_code": "Telefon Kodu",
"gov_code": "Hükümet Kodu",
"address_geographic_id": "Adres Coğrafi ID",
"country_id": "Ülke ID",
"country_uu_id": "Ülke UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"state_code": "State Code",
"state_name": "State Name",
"licence_plate": "Licence Plate",
"phone_code": "Phone Code",
"gov_code": "Government Code",
"address_geographic_id": "Address Geographic ID",
"country_id": "Country ID",
"country_uu_id": "Country UUID",
},
)
AddressCityLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"city_code": "Şehir Kodu",
"city_name": "Şehir Adı",
"licence_plate": "Plaka Kodu",
"phone_code": "Telefon Kodu",
"gov_code": "Hükümet Kodu",
"address_geographic_id": "Adres Coğrafi ID",
"state_id": "Eyalet ID",
"state_uu_id": "Eyalet UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"city_code": "City Code",
"city_name": "City Name",
"licence_plate": "Licence Plate",
"phone_code": "Phone Code",
"gov_code": "Government Code",
"address_geographic_id": "Address Geographic ID",
"state_id": "State ID",
"state_uu_id": "State UUID",
},
)
AddressDistrictLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"district_code": "İlçe Kodu",
"district_name": "İlçe Adı",
"phone_code": "Telefon Kodu",
"gov_code": "Hükümet Kodu",
"address_geographic_id": "Adres Coğrafi ID",
"city_id": "Şehir ID",
"city_uu_id": "Şehir UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"district_code": "District Code",
"district_name": "District Name",
"phone_code": "Phone Code",
"gov_code": "Government Code",
"address_geographic_id": "Address Geographic ID",
"city_id": "City ID",
"city_uu_id": "City UUID",
},
)
AddressLocalityLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"locality_code": "Mahalle Kodu",
"locality_name": "Mahalle Adı",
"type_code": "Tip Kodu",
"type_description": "Tip Açıklaması",
"gov_code": "Hükümet Kodu",
"address_show": "Adres Göster",
"address_geographic_id": "Adres Coğrafi ID",
"district_id": "İlçe ID",
"district_uu_id": "İlçe UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"locality_code": "Locality Code",
"locality_name": "Locality Name",
"type_code": "Type Code",
"type_description": "Type Description",
"gov_code": "Government Code",
"address_show": "Address Show",
"address_geographic_id": "Address Geographic ID",
"district_id": "District ID",
"district_uu_id": "District UUID",
},
)
AddressNeighborhoodLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"neighborhood_code": "Mahalle Kodu",
"neighborhood_name": "Mahalle Adı",
"type_code": "Tip Kodu",
"type_description": "Tip Açıklaması",
"gov_code": "Hükümet Kodu",
"address_show": "Adres Göster",
"address_geographic_id": "Adres Coğrafi ID",
"district_id": "İlçe ID",
"district_uu_id": "İlçe UUID",
"locality_id": "Mahalle ID",
"locality_uu_id": "Mahalle UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"neighborhood_code": "Neighborhood Code",
"neighborhood_name": "Neighborhood Name",
"type_code": "Type Code",
"type_description": "Type Description",
"gov_code": "Government Code",
"address_show": "Address Show",
"address_geographic_id": "Address Geographic ID",
"district_id": "District ID",
"district_uu_id": "District UUID",
"locality_id": "Locality ID",
"locality_uu_id": "Locality UUID",
},
)
AddressStreetLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"street_code": "Sokak Kodu",
"street_name": "Sokak Adı",
"type_code": "Tip Kodu",
"type_description": "Tip Açıklaması",
"gov_code": "Hükümet Kodu",
"address_geographic_id": "Adres Coğrafi ID",
"neighborhood_id": "Mahalle ID",
"neighborhood_uu_id": "Mahalle UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"street_code": "Street Code",
"street_name": "Street Name",
"type_code": "Type Code",
"type_description": "Type Description",
"gov_code": "Government Code",
"address_geographic_id": "Address Geographic ID",
"neighborhood_id": "Neighborhood ID",
"neighborhood_uu_id": "Neighborhood UUID",
},
)
OccupantTypesLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"occupant_type": "Kişi Türü",
"occupant_description": "Kişi Açıklaması",
"occupant_code": "Kişi Kodu",
"occupant_category": "Kişi Kategori",
"occupant_category_type": "Kişi Kategori Türü",
"occupant_is_unique": "Kişi Benzersiz",
},
en={
**CrudCollectionLanguageModel["en"],
"occupant_type": "Occupant Type",
"occupant_description": "Occupant Description",
"occupant_code": "Occupant Code",
"occupant_category": "Occupant Category",
"occupant_category_type": "Occupant Category Type",
"occupant_is_unique": "Occupant Unique",
},
)
ContractsLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"contract_type": "Sözleşme Türü",
"contract_title": "Sözleşme Başlığı",
"contract_details": "Sözleşme Detayları",
"contract_terms": "Sözleşme Şartları",
"contract_code": "Sözleşme Kodu",
"contract_date": "Sözleşme Tarihi",
"company_id": "Şirket ID",
"company_uu_id": "Şirket UUID",
"person_id": "Kişi ID",
"person_uu_id": "Kişi UUID",
},
en={
**CrudCollectionLanguageModel["en"],
"contract_type": "Contract Type",
"contract_title": "Contract Title",
"contract_details": "Contract Details",
"contract_terms": "Contract Terms",
"contract_code": "Contract Code",
"contract_date": "Contract Date",
"company_id": "Company ID",
"company_uu_id": "Company UUID",
"person_id": "Person ID",
"person_uu_id": "Person UUID",
},
)

View File

@ -0,0 +1,20 @@
from LanguageModels.Database.Mixins.crud_mixin import CrudCollectionLanguageModel
EndpointRestrictionLanguageModel = dict(
tr={
**CrudCollectionLanguageModel["tr"],
"endpoint_function": "API Fonksiyonu",
"endpoint_name": "API Adı",
"endpoint_method": "API Metodu",
"endpoint_desc": "API Açıklaması",
"endpoint_code": "API Kodu",
},
en={
**CrudCollectionLanguageModel["en"],
"endpoint_function": "API Function",
"endpoint_name": "API Name",
"endpoint_method": "API Method",
"endpoint_desc": "API Description",
"endpoint_code": "API Code",
},
)

View File

@ -0,0 +1,3 @@
from LanguageModels.Errors.base_languages import BaseErrorLanguageModels
__all__ = ["BaseErrorLanguageModels"]

View File

179
Schemas/__init__.py Normal file
View File

@ -0,0 +1,179 @@
# SQL Models
from Schemas.account.account import (
AccountBooks,
AccountCodeParser,
AccountRecords,
AccountCodes,
AccountDetail,
AccountMaster,
AccountRecordExchanges,
)
from Schemas.building.budget import (
DecisionBookBudgetBooks,
DecisionBookBudgetCodes,
DecisionBookBudgetMaster,
DecisionBookBudgets,
)
from Schemas.account.iban import (
BuildIbans,
BuildIbanDescription,
)
from Schemas.api.encrypter import CrypterEngine
from Schemas.building.build import (
Build,
BuildTypes,
BuildParts,
BuildArea,
BuildSites,
BuildLivingSpace,
BuildPersonProviding,
BuildCompaniesProviding,
RelationshipEmployee2Build,
)
from Schemas.building.decision_book import (
BuildDecisionBook,
BuildDecisionBookItems,
BuildDecisionBookPerson,
BuildDecisionBookLegal,
BuildDecisionBookItemsUnapproved,
BuildDecisionBookInvitations,
BuildDecisionBookPayments,
BuildDecisionBookProjects,
BuildDecisionBookProjectPerson,
BuildDecisionBookPersonOccupants,
BuildDecisionBookProjectItems,
)
from Schemas.company.company import (
Companies,
RelationshipDutyCompany,
)
from Schemas.company.employee import (
Employees,
EmployeesSalaries,
EmployeeHistory,
Staff,
)
from Schemas.company.department import (
Duty,
Duties,
Departments,
)
from Schemas.event.event import (
Modules,
Services,
Service2Events,
Events,
Event2Occupant,
Event2Employee,
Event2OccupantExtra,
Event2EmployeeExtra,
)
from Schemas.identity.identity import (
Addresses,
AddressCity,
AddressStreet,
AddressLocality,
AddressDistrict,
AddressNeighborhood,
AddressState,
AddressCountry,
AddressPostcode,
AddressGeographicLocations,
UsersTokens,
OccupantTypes,
People,
Users,
RelationshipDutyPeople,
RelationshipEmployee2PostCode,
Contracts,
)
from Schemas.others.enums import (
ApiEnumDropdown,
)
from Schemas.rules.rules import (
EndpointRestriction,
)
# # NO-SQL Models
# from Schemas.no_sql_models.mongo_database import (
# MongoQuery,
# )
# from Schemas.no_sql_models.identity import (
# MongoQueryIdentity,
# )
__all__ = [
"AccountBooks",
"AccountCodeParser",
"AccountRecords",
"AccountCodes",
"AccountDetail",
"AccountMaster",
"AccountRecordExchanges",
"BuildIbans",
"BuildIbanDescription",
"CrypterEngine",
"Build",
"BuildTypes",
"BuildParts",
"BuildArea",
"BuildSites",
"BuildLivingSpace",
"BuildPersonProviding",
"BuildCompaniesProviding",
"BuildDecisionBook",
"BuildDecisionBookItems",
"BuildDecisionBookPerson",
"BuildDecisionBookLegal",
"BuildDecisionBookItemsUnapproved",
"BuildDecisionBookInvitations",
"BuildDecisionBookPayments",
"BuildDecisionBookProjects",
"BuildDecisionBookProjectPerson",
"BuildDecisionBookPersonOccupants",
"BuildDecisionBookProjectItems",
"DecisionBookBudgetBooks",
"DecisionBookBudgetCodes",
"DecisionBookBudgetMaster",
"DecisionBookBudgets",
"Companies",
"RelationshipDutyCompany",
"Employees",
"EmployeesSalaries",
"EmployeeHistory",
"Staff",
"Duty",
"Duties",
"Departments",
"Modules",
"Services",
"Service2Events",
"Events",
"Event2Occupant",
"Event2Employee",
"Event2OccupantExtra",
"Event2EmployeeExtra",
"Addresses",
"AddressCity",
"AddressStreet",
"AddressLocality",
"AddressDistrict",
"AddressNeighborhood",
"AddressState",
"AddressCountry",
"AddressPostcode",
"AddressGeographicLocations",
"UsersTokens",
"OccupantTypes",
"People",
"Users",
"RelationshipDutyPeople",
"RelationshipEmployee2PostCode",
"Contracts",
"ApiEnumDropdown",
"EndpointRestriction",
"RelationshipEmployee2Build",
# ------------------------------------------------
"MongoQuery",
"MongoQueryIdentity",
]

641
Schemas/account/account.py Normal file
View File

@ -0,0 +1,641 @@
from sqlalchemy.orm import mapped_column, Mapped
from sqlalchemy import (
String,
Integer,
Boolean,
ForeignKey,
Index,
TIMESTAMP,
Numeric,
SmallInteger,
)
from Services.PostgresDb import CrudCollection
from LanguageModels.Database.account.account import (
AccountBooksLanguageModel,
AccountCodesLanguageModel,
AccountRecordsLanguageModel,
AccountRecordExchangesLanguageModel,
AccountDetailLanguageModel,
AccountCodeParserLanguageModel,
AccountMasterLanguageModel,
)
class AccountBooks(CrudCollection):
__tablename__ = "account_books"
__exclude__fields__ = []
__language_model__ = AccountBooksLanguageModel
country: Mapped[str] = mapped_column(String, nullable=False)
branch_type: Mapped[int] = mapped_column(SmallInteger, server_default="0")
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=False)
company_uu_id: Mapped[str] = mapped_column(String, nullable=False)
branch_id: Mapped[int] = mapped_column(ForeignKey("companies.id"))
branch_uu_id: Mapped[str] = mapped_column(String, comment="Branch UU ID")
__table_args__ = (
Index("account_companies_book_ndx_00", company_id, "expiry_starts"),
{"comment": "Account Book Information"},
)
class AccountCodes(CrudCollection):
__tablename__ = "account_codes"
__exclude__fields__ = []
__language_model__ = AccountCodesLanguageModel
account_code: Mapped[str] = mapped_column(
String(48), nullable=False, comment="Account Code"
)
comment_line: Mapped[str] = mapped_column(
String(128), nullable=False, comment="Comment Line"
)
is_receive_or_debit: Mapped[bool] = mapped_column(Boolean)
product_id: Mapped[int] = mapped_column(Integer, server_default="0")
nvi_id: Mapped[str] = mapped_column(String(48), server_default="")
status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0")
account_code_seperator: Mapped[str] = mapped_column(String(1), server_default=".")
system_id: Mapped[int] = mapped_column(SmallInteger, server_default="0")
locked: Mapped[int] = mapped_column(SmallInteger, server_default="0")
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"))
company_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Company UU ID"
)
customer_id: Mapped[int] = mapped_column(ForeignKey("companies.id"))
customer_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Customer UU ID"
)
person_id: Mapped[int] = mapped_column(ForeignKey("people.id"))
person_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Person UU ID"
)
__table_args__ = ({"comment": "Account Code Information"},)
class AccountCodeParser(CrudCollection):
__tablename__ = "account_code_parser"
__exclude__fields__ = []
__language_model__ = AccountCodesLanguageModel
account_code_1: Mapped[str] = mapped_column(String, nullable=False, comment="Order")
account_code_2: Mapped[str] = mapped_column(String, nullable=False, comment="Order")
account_code_3: Mapped[str] = mapped_column(String, nullable=False, comment="Order")
account_code_4: Mapped[str] = mapped_column(String, server_default="")
account_code_5: Mapped[str] = mapped_column(String, server_default="")
account_code_6: Mapped[str] = mapped_column(String, server_default="")
account_code_id: Mapped[int] = mapped_column(
ForeignKey("account_codes.id"), nullable=False
)
account_code_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Account Code UU ID"
)
__table_args__ = (
Index("_account_code_parser_ndx_00", account_code_id),
{"comment": "Account Code Parser Information"},
)
@property
def get_account_code(self):
return f"{self.account_codes.account_code_seperator}".join(
[
getattr(self, f"account_code_{i}")
for i in range(1, 7)
if getattr(self, f"account_code_{i}")
]
)
class AccountMaster(CrudCollection):
"""
AccountCodes class based on declarative_base and CrudCollection via session
"""
__tablename__ = "account_master"
__exclude__fields__ = []
__language_model__ = AccountMasterLanguageModel
doc_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), nullable=False, comment="Document Date"
)
plug_type: Mapped[str] = mapped_column(String, nullable=False, comment="Plug Type")
plug_number: Mapped[int] = mapped_column(
Integer, nullable=False, comment="Plug Number"
)
special_code: Mapped[str] = mapped_column(String(12), server_default="")
authorization_code: Mapped[str] = mapped_column(String(12), server_default="")
doc_code: Mapped[str] = mapped_column(String(12), server_default="")
doc_type: Mapped[int] = mapped_column(SmallInteger, server_default="0")
comment_line1: Mapped[str] = mapped_column(String, server_default="")
comment_line2: Mapped[str] = mapped_column(String, server_default="")
comment_line3: Mapped[str] = mapped_column(String, server_default="")
comment_line4: Mapped[str] = mapped_column(String, server_default="")
comment_line5: Mapped[str] = mapped_column(String, server_default="")
comment_line6: Mapped[str] = mapped_column(String, server_default="")
project_code: Mapped[str] = mapped_column(String(12), server_default="")
module_no: Mapped[str] = mapped_column(String, server_default="")
journal_no: Mapped[int] = mapped_column(Integer, server_default="0")
status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0")
canceled: Mapped[bool] = mapped_column(Boolean, server_default="0")
print_count: Mapped[int] = mapped_column(SmallInteger, server_default="0")
total_active: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_passive: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_active_1: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_passive_1: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_active_2: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_passive_2: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_active_3: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_passive_3: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_active_4: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
total_passive_4: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
cross_ref: Mapped[int] = mapped_column(Integer, server_default="0")
data_center_id: Mapped[str] = mapped_column(String, server_default="")
data_center_rec_num: Mapped[int] = mapped_column(Integer, server_default="0")
account_header_id: Mapped[int] = mapped_column(
ForeignKey("account_books.id"), nullable=False
)
account_header_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Account Header UU ID"
)
project_item_id: Mapped[int] = mapped_column(
ForeignKey("build_decision_book_projects.id")
)
project_item_uu_id: Mapped[str] = mapped_column(
String, comment="Project Item UU ID"
)
department_id: Mapped[int] = mapped_column(ForeignKey("departments.id"))
department_uu_id: Mapped[str] = mapped_column(String, comment="Department UU ID")
__table_args__ = (
Index("_account_master_ndx_00", doc_date, account_header_id),
{"comment": "Account Master Information"},
)
class AccountDetail(CrudCollection):
"""
AccountCodes class based on declarative_base and CrudCollection via session
"""
__tablename__ = "account_detail"
__exclude__fields__ = []
__enum_list__ = [("plug_type", "AccountingReceiptTypes", "M")]
__language_model__ = AccountDetailLanguageModel
doc_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), nullable=False, comment="Document Date"
)
line_no: Mapped[int] = mapped_column(
SmallInteger, nullable=False, comment="Line Number"
)
receive_debit: Mapped[str] = mapped_column(
String(1), nullable=False, comment="Receive Debit"
)
debit: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Debit"
)
department: Mapped[str] = mapped_column(String(24), server_default="")
special_code: Mapped[str] = mapped_column(String(12), server_default="")
account_ref: Mapped[int] = mapped_column(Integer, server_default="0")
account_fiche_ref: Mapped[int] = mapped_column(Integer, server_default="0")
center_ref: Mapped[int] = mapped_column(Integer, server_default="0")
general_code: Mapped[str] = mapped_column(String(32), server_default="")
credit: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
currency_type: Mapped[str] = mapped_column(String(4), server_default="TL")
exchange_rate: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
debit_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
credit_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
discount_cur: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
amount: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
cross_account_code: Mapped[float] = mapped_column(String(32), server_default="")
inf_index: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
not_inflated: Mapped[int] = mapped_column(SmallInteger, server_default="0")
not_calculated: Mapped[int] = mapped_column(SmallInteger, server_default="0")
comment_line1: Mapped[str] = mapped_column(String(64), server_default="")
comment_line2: Mapped[str] = mapped_column(String(64), server_default="")
comment_line3: Mapped[str] = mapped_column(String(64), server_default="")
comment_line4: Mapped[str] = mapped_column(String(64), server_default="")
comment_line5: Mapped[str] = mapped_column(String(64), server_default="")
comment_line6: Mapped[str] = mapped_column(String(64), server_default="")
owner_acc_ref: Mapped[int] = mapped_column(Integer, server_default="0")
from_where: Mapped[int] = mapped_column(Integer, server_default="0")
orj_eid: Mapped[int] = mapped_column(Integer, server_default="0")
canceled: Mapped[int] = mapped_column(SmallInteger, server_default="0")
cross_ref: Mapped[int] = mapped_column(Integer, server_default="0")
data_center_id: Mapped[str] = mapped_column(String, server_default="")
data_center_rec_num: Mapped[int] = mapped_column(Integer, server_default="0")
status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0")
plug_type_id: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
plug_type_uu_id = mapped_column(String, nullable=False, comment="Plug Type UU ID")
account_header_id: Mapped[int] = mapped_column(
ForeignKey("account_books.id"), nullable=False
)
account_header_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Account Header UU ID"
)
account_code_id: Mapped[int] = mapped_column(
ForeignKey("account_codes.id"), nullable=False
)
account_code_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Account Code UU ID"
)
account_master_id: Mapped[int] = mapped_column(
ForeignKey("account_master.id"), nullable=False
)
account_master_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Account Master UU ID"
)
project_id: Mapped[int] = mapped_column(
ForeignKey("build_decision_book_projects.id")
)
project_uu_id: Mapped[str] = mapped_column(String, comment="Project UU ID")
__table_args__ = (
Index(
"_account_detail_ndx_00",
account_master_id,
doc_date,
line_no,
account_header_id,
unique=True,
),
{"comment": "Account Detail Information"},
)
class AccountRecords(CrudCollection):
"""
build_decision_book_id = kaydın sorumlu olduğu karar defteri
send_company_id = kaydı gönderen firma, send_person_id = gönderen kişi
customer_id = sorumlu kullanıcı bilgisi, company_id = sorumlu firma
"""
__tablename__ = "account_records"
__exclude__fields__ = []
__enum_list__ = [
("receive_debit", "DebitTypes", "D"),
("budget_type", "BudgetType", "B"),
]
__language_model__ = AccountRecordsLanguageModel
iban: Mapped[str] = mapped_column(
String(64), nullable=False, comment="IBAN Number of Bank"
)
bank_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), nullable=False, comment="Bank Transaction Date"
)
currency_value: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Currency Value"
)
bank_balance: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Bank Balance"
)
currency: Mapped[str] = mapped_column(
String(5), nullable=False, comment="Unit of Currency"
)
additional_balance: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Additional Balance"
)
channel_branch: Mapped[str] = mapped_column(
String(120), nullable=False, comment="Branch Bank"
)
process_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Bank Process Type Name"
)
process_type: Mapped[str] = mapped_column(
String, nullable=False, comment="Bank Process Type"
)
process_comment: Mapped[str] = mapped_column(
String, nullable=False, comment="Transaction Record Comment"
)
process_garbage: Mapped[str] = mapped_column(
String, nullable=True, comment="Transaction Record Garbage"
)
bank_reference_code: Mapped[str] = mapped_column(
String, nullable=False, comment="Bank Reference Code"
)
add_comment_note: Mapped[str] = mapped_column(String, server_default="")
is_receipt_mail_send: Mapped[bool] = mapped_column(Boolean, server_default="0")
found_from = mapped_column(String, server_default="")
similarity: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
remainder_balance: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
bank_date_y: Mapped[int] = mapped_column(Integer)
bank_date_m: Mapped[int] = mapped_column(SmallInteger)
bank_date_w: Mapped[int] = mapped_column(SmallInteger)
bank_date_d: Mapped[int] = mapped_column(SmallInteger)
approving_accounting_record: Mapped[bool] = mapped_column(
Boolean, server_default="0"
)
accounting_receipt_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), server_default="1900-01-01 00:00:00"
)
accounting_receipt_number: Mapped[int] = mapped_column(Integer, server_default="0")
status_id: Mapped[int] = mapped_column(SmallInteger, server_default="0")
approved_record: Mapped[bool] = mapped_column(Boolean, server_default="0")
import_file_name: Mapped[str] = mapped_column(
String, nullable=True, comment="XLS Key"
)
receive_debit: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
receive_debit_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Debit UU ID"
)
budget_type: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
budget_type_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Budget Type UU ID"
)
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=True)
company_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Company UU ID"
)
send_company_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=True
)
send_company_uu_id = mapped_column(
String, nullable=True, comment="Send Company UU ID"
)
send_person_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True)
send_person_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Send Person UU ID"
)
approving_accounting_person: Mapped[int] = mapped_column(
ForeignKey("people.id"), nullable=True
)
approving_accounting_person_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Approving Accounting Person UU ID"
)
living_space_id: Mapped[int] = mapped_column(
ForeignKey("build_living_space.id"), nullable=True
)
living_space_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Living Space UU ID"
)
customer_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True)
customer_uu_id = mapped_column(String, nullable=True, comment="Customer UU ID")
build_id: Mapped[int] = mapped_column(ForeignKey("build.id"), nullable=True)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build UU ID"
)
build_parts_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"), nullable=True
)
build_parts_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Parts UU ID"
)
build_decision_book_id: Mapped[int] = mapped_column(
ForeignKey("build_decision_book.id"), nullable=True
)
build_decision_book_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Decision Book UU ID"
)
__table_args__ = (
Index("_budget_records_ndx_00", is_receipt_mail_send, bank_date),
Index(
"_budget_records_ndx_01",
iban,
bank_date,
bank_reference_code,
bank_balance,
unique=True,
),
Index("_budget_records_ndx_02", status_id, bank_date),
{
"comment": "Bank Records that are related to building and financial transactions"
},
)
# def payment_budget_record_close(self):
# from database_sql_models import (
# DecisionBookProjectPaymentsMaster,
# ApiEnumDropdown,
# BuildDecisionBook,
# BuildDecisionBookPaymentsMaster,
# )
#
# budget_record = self
# if self.receive_debit == ApiEnumDropdown.uuid_of_enum(
# enum_class="DebitTypes", key="R"
# ):
# print(
# "This record is not debit. Debit:",
# self.receive_debit,
# "DebitTypes.R.name",
# # str(DebitTypes.R.name),
# )
# return
# if abs(budget_record.currency_value + budget_record.remainder_balance) > 0:
# payment_dict = {
# "budget_records_id": self.id,
# "build_decision_book_id": budget_record.build_decision_book_id,
# "build_parts_id": budget_record.build_parts_id,
# "start_date": budget_record.bank_date,
# "paid_value": budget_record.currency_value
# - budget_record.remainder_balance,
# "is_all": False,
# }
# (paid_value, start_paid_value, balance) = (
# float(budget_record.currency_value - budget_record.remainder_balance),
# float(budget_record.currency_value - budget_record.remainder_balance),
# float(budget_record.remainder_balance),
# )
# print(
# "self.id",
# self.id,
# "paid_value",
# paid_value,
# "start_paid_value",
# start_paid_value,
# "balance",
# balance,
# self.receive_debit,
# )
#
# if not BuildDecisionBook.find_one(
# id=payment_dict["build_decision_book_id"]
# ):
# return paid_value
#
# if budget_record.replication_id == 55:
# if paid_value > 0:
# payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum(
# enum_class="BuildDuesTypes", key="L"
# )
# paid_value = (
# DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part(
# **payment_dict
# )
# )
# print("dues_type", payment_dict["dues_type"], paid_value)
# if paid_value > 0:
# payment_dict.pop("dues_type", None)
# paid_value = BuildDecisionBookPaymentsMaster.pay_dues_of_build_part(
# **payment_dict
# )
# print("dues_type", None, paid_value)
# if paid_value > 0:
# payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum(
# enum_class="BuildDuesTypes", key="R"
# )
# paid_value = (
# DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part(
# **payment_dict
# )
# )
# print("dues_type", payment_dict["dues_type"], paid_value)
# payment_dict["is_all"] = True
# if paid_value > 0:
# payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum(
# enum_class="BuildDuesTypes", key="L"
# )
# paid_value = (
# DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part(
# **payment_dict
# )
# )
# print("is all dues_type", payment_dict["dues_type"], paid_value)
# if paid_value > 0:
# payment_dict.pop("dues_type", None)
# paid_value = BuildDecisionBookPaymentsMaster.pay_dues_of_build_part(
# **payment_dict
# )
# print("is all dues_type", None, paid_value)
# if paid_value > 0:
# payment_dict["dues_type"] = ApiEnumDropdown.uuid_of_enum(
# enum_class="BuildDuesTypes", key="R"
# )
# paid_value = (
# DecisionBookProjectPaymentsMaster.pay_law_and_ren_of_build_part(
# **payment_dict
# )
# )
# print("is all dues_type", payment_dict["dues_type"], paid_value)
# class AccountRecordDecisionPaymentClosed(CrudCollection):
#
# __tablename__ = "account_record_decision_payment_closed"
# __exclude__fields__ = []
#
# arc_currency: Mapped[str] = mapped_column(
# String(5), nullable=False, comment="Unit of Currency"
# )
# arc_processing_time: Mapped[TIMESTAMP] = mapped_column(
# TIMESTAMP(timezone=True), nullable=False, comment="Processing Time"
# )
# arc_currency_value: Mapped[float] = mapped_column(
# Numeric(20, 6), nullable=False, comment="Currency Value"
# )
#
# decision_book_budgets_id: Mapped[int] = mapped_column(
# ForeignKey("decision_book_budgets.id"), nullable=True
# )
# decision_book_budgets_uu_id: Mapped[str] = mapped_column(
# String, nullable=True, comment="Budget UUID"
# )
#
# build_decision_book_payment_id: Mapped[int] = mapped_column(
# ForeignKey("build_decision_book_payments.id")
# )
# build_decision_book_payment_uu_id: Mapped[str] = mapped_column(
# String, nullable=True, comment="Build Decision Book Payment UU ID"
# )
# account_records_id: Mapped[int] = mapped_column(ForeignKey("account_records.id"))
# account_records_uu_id: Mapped[str] = mapped_column(
# String, nullable=True, comment="Account Record UU ID"
# )
#
# __table_args__ = (
# Index(
# "_account_record_decision_payment_closed_ndx_00",
# account_records_id,
# build_decision_book_payment_id,
# arc_processing_time,
# ),
# Index(
# "_account_record_decision_payment_closed_ndx_01",
# build_decision_book_payment_id,
# account_records_id,
# arc_processing_time,
# ),
# {"comment": "Account Record Decision Payment Closed Information"},
# )
class AccountRecordExchanges(CrudCollection):
__tablename__ = "account_record_exchanges"
__exclude__fields__ = []
__language_model__ = AccountRecordExchangesLanguageModel
are_currency: Mapped[str] = mapped_column(
String(5), nullable=False, comment="Unit of Currency"
)
are_exchange_rate: Mapped[float] = mapped_column(
Numeric(18, 6), nullable=False, server_default="1"
)
usd_exchange_rate_value: Mapped[float] = mapped_column(
Numeric(18, 6),
nullable=True,
server_default="0",
comment="It will be written by multiplying the usd exchange rate with the current value result.",
)
eur_exchange_rate_value: Mapped[float] = mapped_column(
Numeric(18, 6),
nullable=True,
server_default="0",
comment="It will be written by multiplying the eur exchange rate with the current value result.",
)
gbp_exchange_rate_value: Mapped[float] = mapped_column(
Numeric(18, 6),
nullable=True,
server_default="0",
comment="It will be written by multiplying the gpd exchange rate with the current value result.",
)
cny_exchange_rate_value: Mapped[float] = mapped_column(
Numeric(18, 6),
nullable=True,
server_default="0",
comment="It will be written by multiplying the cny exchange rate with the current value result.",
)
account_records_id: Mapped[int] = mapped_column(ForeignKey("account_records.id"))
account_records_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Account Record UU ID"
)
__table_args__ = (
Index("_account_record_exchanges_ndx_00", account_records_id),
{"comment": "Account Record Exchanges Information"},
)

103
Schemas/account/iban.py Normal file
View File

@ -0,0 +1,103 @@
from sqlalchemy import String, ForeignKey, Index, TIMESTAMP, SmallInteger, Identity
from sqlalchemy.orm import mapped_column, Mapped
from Services.PostgresDb import CrudCollection
class BuildIbans(CrudCollection):
"""
BuildParts class based on declarative_base and BaseMixin via session
"""
__tablename__ = "build_ibans"
__exclude__fields__ = []
iban: Mapped[str] = mapped_column(
String(40), server_default="", nullable=False, comment="IBAN number"
)
start_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), nullable=False, comment="Bank Transaction Start Date"
)
stop_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), server_default="2900-01-01 00:00:00"
)
bank_code: Mapped[str] = mapped_column(String(24), server_default="TR0000000000000")
xcomment: Mapped[str] = mapped_column(String(64), server_default="????")
build_id: Mapped[int] = mapped_column(
ForeignKey("build.id"), nullable=True, comment="Building ID"
)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Building UUID", index=True
)
# building: Mapped["Build"] = relationship(
# "Build", back_populates="build_ibans", foreign_keys=[build_id]
# )
__table_args__ = (
Index("_build_ibans_ndx_01", iban, start_date, unique=True),
{"comment": "IBANs related to money transactions due to building objects"},
)
class BuildIbanDescription(CrudCollection):
"""
SearchComments class based on declarative_base and CrudCollection via session
"""
__tablename__ = "build_iban_description"
__exclude__fields__ = []
iban: Mapped[str] = mapped_column(String, nullable=False, comment="IBAN Number")
group_id: Mapped[int] = mapped_column(
SmallInteger, nullable=False, comment="Group ID"
)
search_word: Mapped[str] = mapped_column(
String, nullable=False, comment="Search Word", index=True
)
# decision_book_project_id: Mapped[int] = mapped_column(
# ForeignKey("build_decision_book_projects.id")
# )
# decision_book_project_uu_id: Mapped[str] = mapped_column(
# String, nullable=False, comment="Decision Book Project UUID"
# )
customer_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True)
customer_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Customer UUID"
)
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=True)
company_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Company UUID"
)
build_parts_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"), nullable=True
)
build_parts_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Parts UUID"
)
# decision_book_project: Mapped["BuildDecisionBookProjects"] = relationship(
# "BuildDecisionBookProjects",
# back_populates="search_iban_description",
# foreign_keys=[decision_book_project_id],
# )
# customer: Mapped["People"] = relationship(
# "People", back_populates="search_iban_description", foreign_keys=[customer_id]
# )
# company: Mapped["Companies"] = relationship(
# "Company", back_populates="search_iban_description", foreign_keys=[company_id]
# )
# parts: Mapped["BuildParts"] = relationship(
# "BuildParts",
# back_populates="search_iban_description",
# foreign_keys=[build_parts_id],
# )
__table_args__ = (
Index(
"_search_iban_description_ndx_00", iban, search_word, group_id, unique=True
),
{"comment": "Search Iban Description Information"},
)

124
Schemas/api/encrypter.py Normal file
View File

@ -0,0 +1,124 @@
import random
from datetime import datetime, timedelta
from sqlalchemy import String
from sqlalchemy.orm import mapped_column, Mapped
from cryptography.fernet import Fernet, MultiFernet
from databases.sql_models.core_mixin import CrudCollection
class CrypterEngine(CrudCollection):
__tablename__ = "crypter_engine"
__table_args__ = ()
encrypt_list = []
decrypt_list = []
keys_error = "Unable to retrieve encrypt keys"
alchemy_error = "Alchemy object is empty"
key_first: Mapped[str] = mapped_column(String, nullable=False)
key_second: Mapped[str] = mapped_column(String, nullable=False)
@classmethod
def get_valid_keys(cls, row=None):
cls.encrypt_list, cls.decrypt_list = [], []
if not cls.filter_all(cls.created_at > datetime.now() - timedelta(days=29)).get(
1
):
cls.create_encrypt_keys(count=100)
if decrypt_identifier := getattr(row, "cryp_uu_id", None):
if decrypt_row := cls.find_one(uu_id=str(decrypt_identifier)):
return (
decrypt_row.key_first.decode(),
decrypt_row.key_second.decode(),
decrypt_row.uu_id,
)
if encrypt_rows := cls.filter_all(
cls.created_at > datetime.now() - timedelta(days=29)
).data:
encrypt_row = random.choice(encrypt_rows)
return (
encrypt_row.key_first.encode(),
encrypt_row.key_second.encode(),
encrypt_rows.uu_id,
)
return None, None, None
@classmethod
def create_encrypt_keys(cls, count: int):
for _ in range(count):
key_first = Fernet.generate_key()
key_second = Fernet.generate_key()
cls.find_or_create(
key_first=key_first.decode(), key_second=key_second.decode()
)
@classmethod
def raise_exception(cls, message=None):
raise Exception(message if message else cls.keys_error)
@classmethod
def encrypt_given_alchemy_list(cls, alchemy_object_list: list):
for alchemy_object in alchemy_object_list:
key_first, key_second, cryp_uu_id = cls.get_valid_keys()
fernet_keys = MultiFernet([Fernet(key_first), Fernet(key_second)])
if not key_first or not key_second:
cls.raise_exception()
alchemy_dict = alchemy_object.get_dict() if alchemy_object else None
if not alchemy_dict:
cls.raise_exception(cls.alchemy_error)
for key, plain_row in alchemy_dict.items():
if key in alchemy_object.__encrypt_list__:
alchemy_dict[key] = fernet_keys.encrypt(plain_row).decode()
alchemy_dict["cryp_uu_id"] = cryp_uu_id
cls.encrypt_list.append(alchemy_object.update(**alchemy_dict))
return cls.encrypt_list
@classmethod
def encrypt_given_alchemy_object(cls, alchemy_object_object):
key_first, key_second, cryp_uu_id = cls.get_valid_keys()
fernet_keys = MultiFernet([Fernet(key_first), Fernet(key_second)])
if not key_first or not key_second:
cls.raise_exception()
alchemy_dict = (
alchemy_object_object.get_dict() if alchemy_object_object else None
)
if not alchemy_dict:
cls.raise_exception(cls.alchemy_error)
for key, plain_row in alchemy_dict.items():
if key in alchemy_object_object.__encrypt_list__:
alchemy_dict[key] = fernet_keys.encrypt(plain_row).decode()
alchemy_dict["cryp_uu_id"] = cryp_uu_id
return alchemy_object_object.update(**alchemy_dict)
@classmethod
def decrypt_given_alchemy(cls, alchemy_object_list: list):
for alchemy_object in alchemy_object_list:
key_first, key_second, cryp_uu_id = cls.get_valid_keys(row=alchemy_object)
fernet_keys = MultiFernet([Fernet(key_first), Fernet(key_second)])
if not key_first or not key_second:
cls.raise_exception()
alchemy_dict = alchemy_object.get_dict() if alchemy_object else None
if not alchemy_dict:
cls.raise_exception(cls.alchemy_error)
for key, plain_row in alchemy_dict.items():
if key in alchemy_object.__encrypt_list__:
alchemy_dict[key] = fernet_keys.decrypt(plain_row).decode()
cls.decrypt_list.append(alchemy_dict)
return cls.decrypt_list
@classmethod
def decrypt_given_alchemy_object(cls, alchemy_object):
key_first, key_second, cryp_uu_id = cls.get_valid_keys(row=alchemy_object)
fernet_keys = MultiFernet([Fernet(key_first), Fernet(key_second)])
if not key_first or not key_second:
cls.raise_exception()
alchemy_dict = alchemy_object.get_dict() if alchemy_object else None
if not alchemy_dict:
cls.raise_exception(cls.alchemy_error)
for key, plain_row in alchemy_dict.items():
if key in alchemy_object.__encrypt_list__:
alchemy_dict[key] = fernet_keys.decrypt(plain_row).decode()
return alchemy_dict

156
Schemas/building/budget.py Normal file
View File

@ -0,0 +1,156 @@
from sqlalchemy import (
String,
ForeignKey,
Index,
SmallInteger,
TIMESTAMP,
Text,
Numeric,
Integer,
)
from sqlalchemy.orm import mapped_column, Mapped
from Services.PostgresDb import CrudCollection
class DecisionBookBudgetBooks(CrudCollection):
__tablename__ = "decision_book_budget_books"
__exclude__fields__ = []
country: Mapped[str] = mapped_column(String, nullable=False)
branch_type: Mapped[int] = mapped_column(SmallInteger, server_default="0")
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=False)
company_uu_id: Mapped[str] = mapped_column(String, nullable=False)
branch_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=True)
branch_uu_id: Mapped[str] = mapped_column(
String, comment="Branch UU ID", nullable=True
)
build_decision_book_id: Mapped[int] = mapped_column(
ForeignKey("build_decision_book.id"), nullable=False
)
build_decision_book_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Decision Book UU ID"
)
__table_args__ = (
Index(
"_decision_book_budget_companies_book_ndx_00",
company_id,
CrudCollection.created_at,
),
{"comment": "budget Book Information"},
)
class DecisionBookBudgetCodes(CrudCollection):
__tablename__ = "decision_book_budget_codes"
__exclude__fields__ = []
budget_code: Mapped[str] = mapped_column(
String(48), nullable=False, comment="budget Code"
)
comment_line: Mapped[str] = mapped_column(
Text, nullable=False, comment="Comment Line"
)
build_decision_book_id: Mapped[int] = mapped_column(
ForeignKey("build_decision_book.id"), nullable=True
)
build_decision_book_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Decision Book UU ID"
)
build_parts_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"), nullable=True
)
build_parts_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Build Parts UU ID"
)
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=True)
company_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Company UU ID"
)
__table_args__ = (
Index("_decision_book_budget_codes_ndx_00", budget_code, "created_at"),
Index("_decision_book_budget_codes_ndx_01", company_id, "created_at"),
{"comment": "budget Book Information"},
)
class DecisionBookBudgetMaster(CrudCollection):
__tablename__ = "decision_book_budget_master"
__exclude__fields__ = []
budget_type: Mapped[str] = mapped_column(
String(50), nullable=False
) # Bütçe tipi (örneğin: Operasyonel, Yatırım)
currency: Mapped[str] = mapped_column(
String(8), server_default="TRY"
) # Bütçe para birimi
total_budget: Mapped[float] = mapped_column(
Numeric(10, 2), nullable=False
) # Toplam bütçe
tracking_period_id: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
tracking_period_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Part Direction UUID"
)
budget_books_id: Mapped[int] = mapped_column(
Integer, ForeignKey("decision_book_budget_books.id"), nullable=False
)
budget_books_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Budget Books UU ID"
)
department_id: Mapped[int] = mapped_column(
Integer, ForeignKey("departments.id"), nullable=False
) # Departman ile ilişki
department_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Department UU ID"
)
__table_args__ = ({"comment": "budget Book Information"},)
class DecisionBookBudgets(CrudCollection):
__tablename__ = "decision_book_budgets"
__exclude__fields__ = []
process_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), nullable=False
) # Başlangıç tarihi
budget_codes_id: Mapped[int] = mapped_column(
Integer, ForeignKey("decision_book_budget_codes.id"), nullable=False
)
total_budget: Mapped[float] = mapped_column(
Numeric(10, 2), nullable=False
) # Toplam bütçe
used_budget: Mapped[float] = mapped_column(
Numeric(10, 2), nullable=False, default=0.0
) # Kullanılan bütçe
remaining_budget: Mapped[float] = mapped_column(
Numeric(10, 2), nullable=False, default=0.0
) # Kullanılan bütçe
decision_book_budget_master_id: Mapped[int] = mapped_column(
Integer, ForeignKey("decision_book_budget_master.id"), nullable=False
)
decision_book_budget_master_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Decision Book Budget Master UU ID"
)
__table_args__ = (
Index(
"_decision_book_budgets_ndx_00",
decision_book_budget_master_uu_id,
process_date,
),
{"comment": "budget Book Information"},
)

807
Schemas/building/build.py Normal file
View File

@ -0,0 +1,807 @@
from datetime import datetime, timedelta
from typing import List, Optional, Union
from fastapi import HTTPException, status
from sqlalchemy.orm import mapped_column, relationship, Mapped
from sqlalchemy import (
String,
Integer,
Boolean,
ForeignKey,
Index,
TIMESTAMP,
func,
Text,
Numeric,
or_,
)
from api_library.date_time_actions.date_functions import system_arrow
from Services.PostgresDb import CrudCollection
from databases.extensions.selector_classes import SelectActionWithEmployee
from api_validations.validations_request import (
InsertBuild,
InsertBuildParts,
InsertBuildLivingSpace,
UpdateBuild,
)
from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject
from databases.language_models.building.build import (
BuildTypesLanguageModel,
Part2EmployeeLanguageModel,
BuildPartsLanguageModel,
BuildSitesLanguageModel,
RelationshipEmployee2BuildLanguageModel,
BuildLanguageModel,
BuildPartsLanguageModel,
BuildLivingSpaceLanguageModel,
BuildManagementLanguageModel,
BuildAreaLanguageModel,
BuildCompaniesProvidingLanguageModel,
BuildPersonProvidingLanguageModel,
)
class BuildTypes(CrudCollection):
"""
BuildTypes class based on declarative_base and BaseMixin via session
"""
__tablename__ = "build_types"
__exclude__fields__ = []
__language_model__ = BuildTypesLanguageModel
__include__fields__ = []
function_code: Mapped[str] = mapped_column(
String(12), server_default="", nullable=False, comment="Function Code"
)
type_code: Mapped[str] = mapped_column(
String(12), server_default="", nullable=False, comment="Structure Type Code"
)
lang: Mapped[str] = mapped_column(
String(4), server_default="TR", nullable=False, comment="Language"
)
type_name: Mapped[str] = mapped_column(
String(48), server_default="", nullable=False, comment="Type Name"
)
__table_args__ = (
Index("_build_types_ndx_00", type_code, function_code, lang, unique=True),
{"comment": "Function group of building types with their language information"},
)
class Part2Employee(CrudCollection):
"""
Employee2Parts class based on declarative_base and BaseMixin via session
In between start and end date, a part can be assigned to only one employee
"""
__tablename__ = "part2employee"
__exclude__fields__ = []
__language_model__ = Part2EmployeeLanguageModel
__include__fields__ = []
build_id: Mapped[int] = mapped_column(Integer, comment="Building ID")
part_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"), nullable=False, comment="Part ID"
)
employee_id: Mapped[int] = mapped_column(
ForeignKey("employees.id"), nullable=False, comment="Employee ID"
)
__table_args__ = (
Index("_part2employee_ndx_00", employee_id, part_id, unique=True),
{"comment": "Employee2Parts Information"},
)
class RelationshipEmployee2Build(CrudCollection):
"""
CompanyRelationship class based on declarative_base and CrudCollection via session
Company -> Sub Company -> Sub-Sub Company
"""
__tablename__ = "relationship_employee2build"
__exclude__fields__ = []
__language_model__ = RelationshipEmployee2BuildLanguageModel
company_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=False
) # 1, 2, 3
employee_id: Mapped[int] = mapped_column(
ForeignKey("employees.id"), nullable=False
) # employee -> (n)person Evyos LTD
member_id: Mapped[int] = mapped_column(
ForeignKey("build.id"), nullable=False
) # 2, 3, 4
relationship_type: Mapped[str] = mapped_column(
String, nullable=True, server_default="Employee"
) # Commercial
show_only: Mapped[bool] = mapped_column(Boolean, server_default="False")
__table_args__ = (
Index(
"relationship_build_employee_ndx_00",
company_id,
employee_id,
member_id,
relationship_type,
unique=True,
),
{"comment": "Build & Employee Relationship Information"},
)
class Build(CrudCollection, SelectActionWithEmployee):
"""
Builds class based on declarative_base and BaseMixin via session
"""
__tablename__ = "build"
__exclude__fields__ = []
__language_model__ = BuildLanguageModel
__include__fields__ = []
__access_by__ = []
__many__table__ = RelationshipEmployee2Build
# __explain__ = AbstractBuild()
gov_address_code: Mapped[str] = mapped_column(
String, server_default="", unique=True
)
build_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Building Name"
)
build_no: Mapped[str] = mapped_column(
String(8), nullable=False, comment="Building Number"
)
max_floor: Mapped[int] = mapped_column(
Integer, server_default="1", nullable=False, comment="Max Floor"
)
underground_floor: Mapped[int] = mapped_column(
Integer, server_default="0", nullable=False, comment="Underground Floor"
)
build_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True), server_default="1900-01-01"
)
decision_period_date: Mapped[TIMESTAMP] = mapped_column(
TIMESTAMP(timezone=True),
server_default="1900-01-01",
comment="Building annual ordinary meeting period",
)
tax_no: Mapped[str] = mapped_column(String(24), server_default="")
lift_count: Mapped[int] = mapped_column(Integer, server_default="0")
heating_system: Mapped[bool] = mapped_column(Boolean, server_default="True")
cooling_system: Mapped[bool] = mapped_column(Boolean, server_default="False")
hot_water_system: Mapped[bool] = mapped_column(Boolean, server_default="False")
block_service_man_count: Mapped[int] = mapped_column(Integer, server_default="0")
security_service_man_count: Mapped[int] = mapped_column(Integer, server_default="0")
garage_count: Mapped[int] = mapped_column(
Integer, server_default="0", comment="Garage Count"
)
management_room_id: Mapped[int] = mapped_column(
Integer, nullable=True, comment="Management Room ID"
)
site_id: Mapped[int] = mapped_column(ForeignKey("build_sites.id"), nullable=True)
site_uu_id: Mapped[str] = mapped_column(String, comment="Site UUID", nullable=True)
address_id: Mapped[int] = mapped_column(ForeignKey("addresses.id"), nullable=False)
address_uu_id: Mapped[str] = mapped_column(
String, comment="Address UUID", nullable=False
)
build_types_id: Mapped[int] = mapped_column(
ForeignKey("build_types.id"), nullable=False, comment="Building Type"
)
build_types_uu_id: Mapped[str] = mapped_column(String, comment="Building Type UUID")
parts: Mapped[List["BuildParts"]] = relationship(
"BuildParts", back_populates="buildings", foreign_keys="BuildParts.build_id"
)
decision_books: Mapped[List["BuildDecisionBook"]] = relationship(
"BuildDecisionBook",
back_populates="buildings",
foreign_keys="BuildDecisionBook.build_id",
)
# build_ibans: Mapped["BuildIbans"] = relationship(
# "BuildIbans", back_populates="building", foreign_keys="BuildIbans.build_id"
# )
# areas: Mapped["BuildArea"] = relationship(
# "BuildArea", back_populates="buildings", foreign_keys="BuildArea.build_id"
# )
# response_companies: Mapped["Companies"] = relationship(
# "Companies",
# back_populates="response_buildings",
# foreign_keys=[response_company_id],
# )
# addresses: Mapped[List["Address"]] = relationship(
# "Address", back_populates="buildings", foreign_keys=[address_id]
# )
# peoples: Mapped["People"] = relationship(
# "People", back_populates="buildings", foreign_keys=[people_id]
# )
# sites: Mapped["BuildSites"] = relationship(
# "BuildSites", back_populates="buildings", foreign_keys=[site_id]
# )
__table_args__ = (
Index("_builds_ndx_00", gov_address_code),
Index("_builds_ndx_01", build_name, build_no),
{
"comment": "Build objects are building that are created for living and store purposes"
},
)
@property
def management_room(self):
if management_room := BuildParts.filter_by_one(
system=True, id=self.management_room_id, build_id=self.id
).data:
return management_room
return None
@classmethod
def create_action(cls, data: InsertBuild, token):
from databases import Addresses
data_dict = data.excluded_dump()
data_dict["address_id"] = None
if data.address_uu_id:
official_address = Addresses.filter_one(
Addresses.uu_id == data.address_uu_id,
).data
data_dict["address_id"] = official_address.id
data_dict["build_no"] = str(official_address.build_number)
if not data_dict["address_id"]:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="Address is not found in database. Re-enter address record then try again.",
)
build_type = BuildTypes.filter_by_one(
system=True, uu_id=str(data.build_types_uu_id)
).data
data_dict["build_types_id"] = build_type.id
build_created = cls.find_or_create(**data_dict)
created_build_relation = cls.__many__table__.find_or_create(
company_id=token.selected_company.company_id,
employee_id=token.selected_company.employee_id,
member_id=build_created.id,
)
build_created.save()
build_created.update(is_confirmed=True)
build_created.save()
created_build_relation.update(is_confirmed=True)
created_build_relation.save()
return build_created
@classmethod
def update_action(cls, data: UpdateBuild, build_uu_id: str, token):
from databases import Addresses
print("data_dict", data.dump())
data_dict = data.excluded_dump()
if data.address_uu_id:
official_address = Addresses.filter_one(
Addresses.uu_id == data.address_uu_id
).data
data_dict["address_id"] = official_address.id if official_address else None
print("data_dict", data_dict)
if build_to_update := cls.filter_one(cls.uu_id == build_uu_id).data:
print("build_to_update", build_to_update.get_dict())
updated_build = build_to_update.update(**data_dict)
updated_build.save()
print("updated_build", updated_build.get_dict())
return updated_build
@property
def top_flat(self):
max_flat_no = 0
for part in self.parts:
if part.part_no > self.max_floor:
max_flat_no = part.part_no
return max_flat_no
@property
def bottom_flat(self):
min_flat_no = 0
for part in self.parts:
if part.part_no < self.max_floor:
min_flat_no = part.part_no
return min_flat_no
@property
def human_livable_parts(self) -> tuple:
parts = list(part for part in self.parts if part.human_livable)
return parts, len(parts)
@property
def livable_part_count(self):
livable_parts = BuildParts.filter_all(
BuildParts.build_id == self.id,
BuildParts.human_livable == True,
)
if not livable_parts.data:
raise HTTPException(
status_code=status.HTTP_404_NOT_FOUND,
detail="There is no livable part in this building.",
)
return livable_parts.count
@property
def part_type_count(self):
building_types = None
for part in self.parts:
building_types = {}
build_type = BuildTypes.filter_by_one(
system=True, id=part.build_part_type_id
).data
if build_type.type_code in building_types:
building_types[build_type.type_code]["list"].append(part.part_no)
else:
building_types[build_type.type_code] = {"list": [part.part_no]}
# for key, val in building_types.items():
# list_parts = val["list"]
# building_types[key] = {
# "list": list_parts,
# "min": min(list_parts),
# "max": max(list_parts),
# "count": len(list_parts),
# }
return building_types
class BuildParts(CrudCollection):
"""
BuildParts class based on declarative_base and BaseMixin via session
Attentions: Part_no is unique for each building and Every building must have a management section.!!! default no 0
"""
__tablename__ = "build_parts"
__exclude__fields__ = []
__language_model__ = BuildPartsLanguageModel
__include__fields__ = []
__enum_list__ = [("part_direction", "Directions", "NN")]
# https://adres.nvi.gov.tr/VatandasIslemleri/AdresSorgu
address_gov_code: Mapped[str] = mapped_column(
String, nullable=False, comment="Goverment Door Code"
)
# part_name: Mapped[str] = mapped_column(String(24), server_default="", nullable=False, comment="Part Name")
part_no: Mapped[int] = mapped_column(
Integer, server_default="0", nullable=False, comment="Part Number"
)
part_level: Mapped[int] = mapped_column(
Integer, server_default="0", comment="Building Part Level"
)
part_code: Mapped[str] = mapped_column(
String, server_default="", nullable=False, comment="Part Code"
)
part_gross_size: Mapped[int] = mapped_column(
Integer, server_default="0", comment="Part Gross Size"
)
part_net_size: Mapped[int] = mapped_column(
Integer, server_default="0", comment="Part Net Size"
)
default_accessory: Mapped[str] = mapped_column(
Text, server_default="0", comment="Default Accessory"
)
human_livable: Mapped[bool] = mapped_column(
Boolean, server_default="1", comment="Human Livable"
)
due_part_key: Mapped[str] = mapped_column(
String, server_default="", nullable=False, comment="Constant Payment Group"
)
build_id: Mapped[int] = mapped_column(
ForeignKey("build.id"), nullable=False, comment="Building ID"
)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Building UUID"
)
part_direction_id: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
part_direction_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Part Direction UUID"
)
part_type_id: Mapped[int] = mapped_column(
ForeignKey("build_types.id"), nullable=False, comment="Building Part Type"
)
part_type_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Building Part Type UUID"
)
buildings: Mapped["Build"] = relationship(
"Build", back_populates="parts", foreign_keys=[build_id]
)
__table_args__ = (
Index("build_parts_ndx_01", build_id, part_no, unique=True),
{"comment": "Part objects that are belong to building objects"},
)
@classmethod
def create_action(cls, data: InsertBuildParts, token):
from databases import ApiEnumDropdown
data_dict = data.dump()
build_from_duty = Build.select_action(
employee_id=token.selected_company.employee_id,
filter_expr=[Build.uu_id == data.build_uu_id],
)
building = build_from_duty.first()
if not building:
raise HTTPException(
status_code=status.HTTP_406_NOT_ACCEPTABLE,
detail="This Employee can not reach this building or building uu-id not found in database. "
"Check with your supervisor.",
)
if build_types := BuildTypes.filter_one(
BuildTypes.uu_id == data.build_part_type_uu_id,
).data:
part_direction = ApiEnumDropdown.get_by_uuid(
uuid=str(data.part_direction_uu_id)
)
data_dict["part_gross_size"] = data.part_gross_size
data_dict["part_net_size"] = data.part_net_size
data_dict["part_type_id"] = build_types.id
data_dict["part_level"] = data.part_level
data_dict["build_id"] = building.id
data_dict["part_no"] = data.part_no
data_dict["part_code"] = (
f"{build_types.type_code}:{str(data_dict['part_no']).zfill(2)}"
)
data_dict["address_gov_code"] = data.address_gov_code
data_dict["default_accessory"] = data.default_accessory
data_dict["human_livable"] = bool(data.human_livable)
data_dict["build_uu_id"] = str(data.build_uu_id)
data_dict["part_type_id"] = build_types.id
data_dict["part_type_uu_id"] = str(build_types.uu_id)
data_dict["part_direction_id"] = part_direction.id
data_dict["part_direction_uu_id"] = str(part_direction.uu_id)
# data_dict["part_direction"] = str(data.part_direction_uu_id)
if not data_dict["part_gross_size"]:
raise HTTPException(
status_code=status.HTTP_406_NOT_ACCEPTABLE,
detail="Part Gross Size can not be empty.",
)
if not data_dict["part_net_size"]:
raise HTTPException(
status_code=status.HTTP_406_NOT_ACCEPTABLE,
detail="Part Net Size can not be empty.",
)
pt = int(data_dict["part_net_size"])
data_dict["due_part_key"] = str(pt + (5 - (pt % 5))) + "M2"
del data_dict["build_part_type_uu_id"]
return cls.find_or_create(**data_dict)
raise HTTPException(
status_code=status.HTTP_418_IM_A_TEAPOT,
detail="Build Part can not be created.",
)
@property
def part_name(self):
if build_type := BuildTypes.filter_by_one(
system=True, id=self.part_type_id
).data:
return f"{str(build_type.type_name).upper()} : {str(self.part_no).upper()}"
return f"Undefined:{str(build_type.type_name).upper()}"
class BuildLivingSpace(CrudCollection):
"""
LivingSpace class based on declarative_base and BaseMixin via session
Owner or live person = Occupant of the build part
+ Query OR(owner_person_id == person_id, life_person_id == person_id) AND (now(date))
"""
__tablename__ = "build_living_space"
__exclude__fields__ = []
__language_model__ = BuildLivingSpaceLanguageModel
__include__fields__ = []
fix_value: Mapped[float] = mapped_column(
Numeric(20, 6),
server_default="0",
comment="Fixed value is deducted from debit.",
)
fix_percent: Mapped[float] = mapped_column(
Numeric(6, 2),
server_default="0",
comment="Fixed percent is deducted from debit.",
)
agreement_no: Mapped[str] = mapped_column(
String, server_default="", comment="Agreement No"
)
marketing_process: Mapped[bool] = mapped_column(Boolean, server_default="False")
marketing_layer: Mapped[int] = mapped_column(Integer, server_default="0")
build_parts_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"),
nullable=False,
index=True,
comment="Build Part ID",
)
build_parts_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Build Part UUID"
)
person_id: Mapped[int] = mapped_column(
ForeignKey("people.id"),
nullable=False,
index=True,
comment="Responsible People ID",
)
person_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Responsible People UUID"
)
occupant_type: Mapped[int] = mapped_column(
ForeignKey("occupant_types.id"),
nullable=False,
comment="Occupant Type",
)
occupant_type_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Occupant Type UUID"
)
__table_args__ = (
{"comment": "Living Space inside building parts that are related to people"},
)
@classmethod
def create_action(
cls,
data: dict,
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
):
from databases import Services, OccupantTypes
from api_events.events.events.events_bind_modules import (
ModulesBindOccupantEventMethods,
)
if data.get("expiry_starts"):
data["expiry_starts"] = str(system_arrow.get(data["expiry_starts"]))
if data.get("expiry_ends"):
data["expiry_ends"] = str(system_arrow.get(data["expiry_ends"]))
created_living_space = BuildLivingSpace.find_or_create(**data)
occupant_type = OccupantTypes.filter_by_one(
system=True, uu_id=created_living_space.occupant_type_uu_id
).data
related_service = Services.filter_by_one(
related_responsibility=occupant_type.occupant_code,
).data
if not related_service:
raise HTTPException(
status_code=status.HTTP_418_IM_A_TEAPOT,
detail="Service is not found in database. Re-enter service record then try again.",
)
ModulesBindOccupantEventMethods.bind_default_module_for_first_init_occupant(
build_living_space_id=created_living_space.id,
)
created_living_space.save_and_confirm()
return created_living_space
@classmethod
def find_living_from_customer_id(
cls, customer_id, process_date, add_days: int = 32
):
from api_library.date_time_actions.date_functions import system_arrow
formatted_date = system_arrow.get(str(process_date))
living_spaces = cls.filter_all(
or_(
cls.owner_person_id == customer_id,
cls.life_person_id == customer_id,
),
cls.start_date < formatted_date - timedelta(days=add_days),
cls.stop_date > formatted_date + timedelta(days=add_days),
)
return living_spaces.data, living_spaces.count
class BuildManagement(CrudCollection):
__tablename__ = "build_management"
__exclude__fields__ = []
__language_model__ = BuildManagementLanguageModel
discounted_percentage: Mapped[float] = mapped_column(
Numeric(6, 2), server_default="0.00"
) # %22
discounted_price: Mapped[float] = mapped_column(
Numeric(20, 2), server_default="0.00"
) # Normal: 78.00 TL
calculated_price: Mapped[float] = mapped_column(
Numeric(20, 2), server_default="0.00"
) # sana düz 75.00 TL yapar
occupant_type: Mapped[int] = mapped_column(
ForeignKey("occupant_types.id"),
nullable=False,
comment="Occupant Type",
)
occupant_type_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Occupant Type UUID"
)
build_id: Mapped[int] = mapped_column(
ForeignKey("build.id"), nullable=False, comment="Building ID"
)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Building UUID"
)
build_parts_id: Mapped[int] = mapped_column(
ForeignKey("build_parts.id"),
nullable=False,
index=True,
comment="Build Part ID",
)
build_parts_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Build Part UUID"
)
__table_args__ = (
Index(
"build_management_ndx_00",
build_parts_id,
occupant_type,
"expiry_starts",
unique=True,
),
{"comment": "Management of the building parts that are related to people"},
)
class BuildArea(CrudCollection):
"""
Builds class based on declarative_base and BaseMixin via session
"""
__tablename__ = "build_area"
__exclude__fields__ = []
__language_model__ = BuildAreaLanguageModel
area_name: Mapped[str] = mapped_column(String, server_default="")
area_code: Mapped[str] = mapped_column(String, server_default="")
area_type: Mapped[str] = mapped_column(String, server_default="GREEN")
area_direction: Mapped[str] = mapped_column(String(2), server_default="NN")
area_gross_size: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
area_net_size: Mapped[float] = mapped_column(Numeric(20, 6), server_default="0")
width = mapped_column(Integer, server_default="0")
size = mapped_column(Integer, server_default="0")
build_id: Mapped[int] = mapped_column(ForeignKey("build.id"))
build_uu_id: Mapped[str] = mapped_column(String, comment="Building UUID")
part_type_id: Mapped[int] = mapped_column(
ForeignKey("build_types.id"), nullable=True, comment="Building Part Type"
)
part_type_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Building Part Type UUID"
)
# buildings: Mapped["Build"] = relationship(
# "Build", back_populates="areas", foreign_keys=[build_id]
# )
_table_args_ = (
Index("_edm_build_parts_area_ndx_00", build_id, area_code, unique=True),
)
class BuildSites(CrudCollection):
"""
Builds class based on declarative_base and BaseMixin via session
"""
__tablename__ = "build_sites"
__exclude__fields__ = []
__language_model__ = BuildSitesLanguageModel
__include__fields__ = []
site_name: Mapped[str] = mapped_column(String(24), nullable=False)
site_no: Mapped[str] = mapped_column(String(8), nullable=False)
address_id: Mapped[int] = mapped_column(ForeignKey("addresses.id"))
address_uu_id: Mapped[str] = mapped_column(String, comment="Address UUID")
# addresses: Mapped["Address"] = relationship(
# "Address", back_populates="site", foreign_keys=[address_id]
# )
# buildings: Mapped["Build"] = relationship(
# "Build", back_populates="sites", foreign_keys="Build.site_id"
# )
__table_args__ = (
Index("_sites_ndx_01", site_no, site_name),
{"comment": "Sites that groups building objets"},
)
class BuildCompaniesProviding(CrudCollection):
""" """
__tablename__ = "build_companies_providing"
__exclude__fields__ = []
__language_model__ = BuildCompaniesProvidingLanguageModel
__include__fields__ = []
build_id = mapped_column(
ForeignKey("build.id"), nullable=False, comment="Building ID"
)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Providing UUID"
)
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"))
company_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Providing UUID"
)
provide_id: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
provide_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Providing UUID"
)
contract_id: Mapped[int] = mapped_column(
Integer, ForeignKey("companies.id"), nullable=True
)
__table_args__ = (
Index(
"_build_companies_providing_ndx_00",
build_id,
company_id,
provide_id,
unique=True,
),
{"comment": "Companies providing services for building"},
)
class BuildPersonProviding(CrudCollection):
""" """
__tablename__ = "build_person_providing"
__exclude__fields__ = []
__language_model__ = BuildPersonProvidingLanguageModel
__include__fields__ = []
build_id = mapped_column(
ForeignKey("build.id"), nullable=False, comment="Building ID"
)
build_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Providing UUID"
)
people_id: Mapped[int] = mapped_column(ForeignKey("people.id"))
people_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="People UUID"
)
provide_id: Mapped[int] = mapped_column(
ForeignKey("api_enum_dropdown.id"), nullable=True
)
provide_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Providing UUID"
)
contract_id: Mapped[int] = mapped_column(
Integer, ForeignKey("companies.id"), nullable=True
)
__table_args__ = (
Index(
"_build_person_providing_ndx_00",
build_id,
people_id,
provide_id,
unique=True,
),
{"comment": "People providing services for building"},
)

File diff suppressed because it is too large Load Diff

585
Schemas/company/company.py Normal file
View File

@ -0,0 +1,585 @@
from fastapi.exceptions import HTTPException
from databases.sql_models.core_mixin import CrudCollection
from sqlalchemy import (
String,
Integer,
Boolean,
ForeignKey,
Index,
Identity,
TIMESTAMP,
func,
)
from sqlalchemy.orm import mapped_column, relationship, Mapped
from api_configs import RelationAccess
from databases.extensions import SelectAction
from api_validations.validations_request import (
InsertCompany,
UpdateCompany,
MatchCompany2Company,
)
from api_objects.auth.token_objects import EmployeeTokenObject
from databases.language_models.company.company import (
RelationshipDutyCompanyLanguageModel,
CompaniesLanguageModel,
# CompanyDutiesLanguageModel,
)
class RelationshipDutyCompany(CrudCollection):
"""
CompanyRelationship class based on declarative_base and CrudCollection via session
Company -> Sub Company -> Sub-Sub Company
if owner_id == parent_id: can manipulate data of any record
else: Read-Only
duty_id = if relationship_type == base An organization / not operational / no responsible person
relationship = company_id filter -> Action filter(company_id) relationship_type = Organization
relationship = company_id filter -> Action filter(company_id) relationship_type = Commercial
"""
__tablename__ = "relationship_duty_company"
__exclude__fields__ = []
__access_by__ = RelationAccess.SuperAccessList
__language_model__ = RelationshipDutyCompanyLanguageModel
owner_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=False
) # 1
duties_id: Mapped[int] = mapped_column(
ForeignKey("duties.id"), nullable=False
) # duty -> (n)employee Evyos LTD
member_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=False
) # 2, 3, 4
parent_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=True
) # None
relationship_type: Mapped[str] = mapped_column(
String, nullable=True, server_default="Commercial"
) # Commercial, Organization # Bulk
child_count: Mapped[int] = mapped_column(Integer) # 0
show_only: Mapped[bool] = mapped_column(Boolean, server_default="0")
# related_company: Mapped[List["Companies"]] = relationship(
# "Companies",
# back_populates="related_companies",
# foreign_keys=[related_company_id],
# )
@classmethod
def match_company_to_company_commercial(cls, data: MatchCompany2Company, token):
from databases import (
Duties,
)
token_duties_id, token_company_id = token.get("duty_id"), token.get(
"company_id"
)
list_match_company_id = []
send_duties = Duties.filter_one(
Duties.uu_id == data.duty_uu_id,
)
send_user_duties = Duties.filter_one(
Duties.duties_id == send_duties.id,
Duties.company_id == token_duties_id,
)
if not send_user_duties:
raise Exception(
"Send Duty is not found in company. Please check duty uuid and try again."
)
for company_uu_id in list(data.match_company_uu_id):
company = Companies.filter_one(
Companies.uu_id == company_uu_id,
)
bulk_company = RelationshipDutyCompany.filter_one(
RelationshipDutyCompany.owner_id == token_company_id,
RelationshipDutyCompany.relationship_type == "Bulk",
RelationshipDutyCompany.member_id == company.id,
)
if not bulk_company:
raise Exception(
f"Bulk Company is not found in company. "
f"Please check company uuid {bulk_company.uu_id} and try again."
)
list_match_company_id.append(bulk_company)
for match_company_id in list_match_company_id:
RelationshipDutyCompany.find_or_create(
owner_id=token_company_id,
duties_id=send_user_duties.id,
member_id=match_company_id.id,
parent_id=match_company_id.parent_id,
relationship_type="Commercial",
show_only=False,
)
@classmethod
def match_company_to_company_organization(cls, data: MatchCompany2Company, token):
from databases import (
Duties,
)
token_duties_id, token_company_id = token.get("duty_id"), token.get(
"company_id"
)
list_match_company_id = []
send_duties = Duties.filter_one(
Duties.uu_id == data.duty_uu_id,
)
send_user_duties = Duties.filter_one(
Duties.duties_id == send_duties.id,
Duties.company_id == token_duties_id,
)
if not send_user_duties:
raise Exception(
"Send Duty is not found in company. Please check duty uuid and try again."
)
for company_uu_id in list(data.match_company_uu_id):
company = Companies.filter_one(
Companies.uu_id == company_uu_id,
)
bulk_company = RelationshipDutyCompany.filter_one(
RelationshipDutyCompany.owner_id == token_company_id,
RelationshipDutyCompany.relationship_type == "Bulk",
RelationshipDutyCompany.member_id == company.id,
)
if not bulk_company:
raise Exception(
f"Bulk Company is not found in company. "
f"Please check company uuid {bulk_company.uu_id} and try again."
)
list_match_company_id.append(bulk_company)
for match_company_id in list_match_company_id:
Duties.init_a_company_default_duties(
company_id=match_company_id.id,
company_uu_id=str(match_company_id.uu_id),
)
RelationshipDutyCompany.find_or_create(
owner_id=token_company_id,
duties_id=send_user_duties.id,
member_id=match_company_id.id,
parent_id=match_company_id.parent_id,
relationship_type="Organization",
show_only=False,
)
__table_args__ = (
Index(
"_company_relationship_ndx_01",
duties_id,
owner_id,
member_id,
relationship_type,
unique=True,
),
{"comment": "Company Relationship Information"},
)
class Companies(CrudCollection, SelectAction):
"""
Company class based on declarative_base and CrudCollection via session
formal_name = Government register name by offical
public_name = Public registered name by User
nick_name = Search by nickname, commercial_type = Tüzel veya birey
"""
__tablename__ = "companies"
__exclude__fields__ = ["is_blacklist", "is_commercial"]
__access_by__ = []
__many__table__ = RelationshipDutyCompany
__language_model__ = CompaniesLanguageModel
# __explain__ = AbstractCompany()
formal_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Formal Name"
)
company_type: Mapped[str] = mapped_column(
String, nullable=False, comment="Company Type"
)
commercial_type: Mapped[str] = mapped_column(
String, nullable=False, comment="Commercial Type"
)
tax_no: Mapped[str] = mapped_column(
String, index=True, unique=True, nullable=False, comment="Tax No"
)
public_name: Mapped[str] = mapped_column(String, comment="Public Name of a company")
company_tag: Mapped[str] = mapped_column(String, comment="Company Tag")
default_lang_type: Mapped[str] = mapped_column(String, server_default="TR")
default_money_type: Mapped[str] = mapped_column(String, server_default="TL")
is_commercial: Mapped[bool] = mapped_column(Boolean, server_default="False")
is_blacklist: Mapped[bool] = mapped_column(Boolean, server_default="False")
parent_id = mapped_column(Integer, nullable=True)
workplace_no: Mapped[str] = mapped_column(String, nullable=True)
official_address_id: Mapped[int] = mapped_column(
ForeignKey("addresses.id"), nullable=True
)
official_address_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Official Address UUID"
)
top_responsible_company_id: Mapped[int] = mapped_column(
ForeignKey("companies.id"), nullable=True
)
top_responsible_company_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Top Responsible Company UUID"
)
# buildings: Mapped[List["Build"]] = relationship(
# "Build",
# back_populates="companies",
# foreign_keys="Build.company_id",
# )
__table_args__ = (
Index("_company_ndx_01", tax_no, unique=True),
Index("_company_ndx_02", formal_name, public_name),
{"comment": "Company Information"},
)
@classmethod
def create_action(cls, data: InsertCompany, token: EmployeeTokenObject):
from databases import Addresses, Duties
data_dict = data.model_dump()
if cls.filter_one(cls.tax_no == str(data.tax_no).strip(), system=True).data:
raise HTTPException(
status_code=400,
detail="Company already exists. Please ask supervisor to make company visible for your duty.",
)
official_address = Addresses.filter_one(
Addresses.uu_id == data.official_address_uu_id,
).data
# if not official_address:
# raise HTTPException(
# status_code=400,
# detail="Official address is not found. Please check address uuid and try again.",
# )
bulk_duties = Duties.get_bulk_duties_of_a_company(
company_id=token.selected_company.company_id
)
if official_address:
data_dict["official_address_id"] = official_address.id
data_dict["official_address_uu_id"] = str(official_address.uu_id)
data_dict["parent_id"] = token.selected_company.company_id
data_dict["top_responsible_company_id"] = token.selected_company.company_id
data_dict["top_responsible_company_uu_id"] = (
token.selected_company.company_uu_id
)
company_created = cls.find_or_create(**data_dict)
company_created.save_and_confirm()
company_relationship_created = RelationshipDutyCompany.find_or_create(
owner_id=token.selected_company.company_id,
duties_id=bulk_duties.id,
member_id=company_created.id,
parent_id=company_created.parent_id,
child_count=0,
relationship_type="Bulk",
show_only=False,
)
company_relationship_created.save_and_confirm()
return company_created
@classmethod
def update_action(cls, data: UpdateCompany, token):
from databases import (
Addresses,
)
data_dict = data.excluded_dump()
duty_id = token.get("duty_id")
company_id = token.get("company_id")
if data.official_address_uu_id:
official_address = Addresses.filter_one(
Addresses.uu_id == data.official_address_uu_id,
*Addresses.valid_record_args(Addresses),
).data
data_dict["official_address_id"] = official_address.id
del data_dict["official_address_uu_id"], data_dict["company_uu_id"]
company_to_update = cls.select_action(
duty_id_list=[duty_id],
filter_expr=[
cls.uu_id == data.company_uu_id,
RelationshipDutyCompany.parent_id == company_id,
],
)
return company_to_update.update(**data_dict)
# parent_id = mapped_column(ForeignKey("companies.id"))
# if data.parent_uu_id:
# company = Companies.find_one(uu_id=data.parent_uu_id)
# data_dict["parent_id"] = company.id
# def is_access_valid(self, endpoint_ext: str):
# try:
# if (
# not arrow.get(self.stop_date)
# > arrow.utcnow()
# > arrow.get(self.start_date)
# ):
# message = f"Kullanıcı yetkileri süresi dolmuştur. {self.endpoint_name} için supervisor ile görüşünüz."
# SystemLogs.create_log(
# log_type="ERROR",
# log_code="ACCESS_EXPIRED",
# log_action=self.__tablename__,
# log_message=message,
# )
# return False
# except Exception as e:
# SystemLogs.create_log(
# log_type="ERROR",
# log_code="ACCESS_EXPIRED",
# log_action=self.__tablename__,
# log_message=e,
# )
# return False
#
# access_dict = {
# "LIST": self.access_read,
# "INSERT": self.access_write,
# "UPDATE": self.access_update,
# "DELETE": self.access_delete,
# "ACTIVE": self.access_update,
# "PRINT": self.report_print,
# "EXPORT": self.report_export,
# }
# return access_dict.get(endpoint_ext.upper(), False)
# official_address: Mapped[List["Address"]] = relationship(
# "Address",
# back_populates="official_companies",
# foreign_keys=[official_address_id],
# )
#
# emails: Mapped[List["UsersEmails"]] = relationship(
# "UsersEmails", back_populates="companies", foreign_keys="UsersEmails.company_id"
# )
# phones: Mapped[List["UsersPhones"]] = relationship(
# "UsersPhones", back_populates="company", foreign_keys="UsersPhones.company_id"
# )
# buildings: Mapped[List["Build"]] = relationship(
# "Build",
# back_populates="companies",
# foreign_keys="Build.company_id",
# )
# response_buildings: Mapped[List["Build"]] = relationship(
# "Build",
# back_populates="response_companies",
# foreign_keys="Build.response_company_id",
# )
# departments: Mapped[List["CompanyDepartments"]] = relationship(
# "CompanyDepartments",
# back_populates="company",
# foreign_keys="CompanyDepartments.company_id",
# )
# budget_records: Mapped[List["CompanyBudgetRecords"]] = relationship(
# "CompanyBudgetRecords",
# back_populates="companies",
# foreign_keys="CompanyBudgetRecords.company_id",
# )
# send_budget_records: Mapped[List["CompanyBudgetRecords"]] = relationship(
# "CompanyBudgetRecords",
# back_populates="send_companies",
# foreign_keys="CompanyBudgetRecords.send_company_id",
# )
# decision_books: Mapped[List["BuildDecisionBook"]] = relationship(
# "BuildDecisionBook",
# back_populates="companies",
# foreign_keys="BuildDecisionBook.resp_company_id",
# )
# decision_book_projects: Mapped[List["BuildDecisionBookProjects"]] = relationship(
# "BuildDecisionBookProjects",
# back_populates="companies",
# foreign_keys="BuildDecisionBookProjects.resp_company_id",
# )
# decision_book_legal: Mapped["BuildDecisionBookLegal"] = relationship(
# "BuildDecisionBookLegal",
# back_populates="attorney_companies",
# foreign_keys="BuildDecisionBookLegal.resp_attorney_company",
# )
#
# company_account_books: Mapped["AccountBooks"] = relationship(
# "AccountBooks",
# back_populates="company",
# foreign_keys="AccountBooks.company_id",
# )
# branch_account_books: Mapped["AccountBooks"] = relationship(
# "AccountBooks",
# back_populates="branch",
# foreign_keys="AccountBooks.branch_id",
# )
# account_codes: Mapped["AccountCodes"] = relationship(
# "AccountCodes", back_populates="company", foreign_keys="AccountCodes.company_id"
# )
# search_iban_description: Mapped["BuildIbanDescription"] = relationship(
# "BuildIbanDescription",
# back_populates="company",
# foreign_keys="BuildIbanDescription.company_id",
# )
# related_companies: Mapped[List["CompanyRelationship"]] = relationship(
# "CompanyRelationship",
# back_populates="related_company",
# foreign_keys="CompanyRelationship.related_company_id",
# )
#
# class AbstractCompany:
# """
# Abstract and explanation of Company class for end-user guide
# """
#
# formal_name = Explanation(
# explanation="Devletin resmi kayıtlarında bulunan şirket ünvanıdır.",
# usage="Devletin resmi kayıtlarında bulunan şirket adı istendiğinde kullanılır.",
# alias="Resmi Ünvan",
# example=["X Şirketi LTD", "Y Şirketi A.Ş."],
# )
# company_type = Explanation(
# explanation="Şirketin türüdür.",
# usage="Şirketin türü istendiğinde kullanılır.",
# alias="Şirket Türü",
# example=[
# "Şahıs",
# "Limited",
# "Anonim",
# "Kolektif",
# "Komandit",
# "Kooperatif",
# "Serbest Meslek",
# "Adi Ortaklık",
# ],
# )
# commercial_type = Explanation(
# explanation="Şirketin ticari türüdür.",
# usage="Şirketin ticari türü istendiğinde kullanılır.",
# alias="Ticari Tür",
# example=["Tüzel", "Birey"],
# )
# tax_no = Explanation(
# explanation="Şirketin vergi numarasıdır.",
# usage="Şirketin vergi numarası istendiğinde kullanılır.",
# alias="Vergi No",
# example=["1234567890"],
# )
# public_name = Explanation(
# explanation="Şirketin kamuoyunda bilinen adıdır.",
# usage="Şirketin kamuoyunda bilinen adı istendiğinde kullanılır.",
# alias="Piyasada Bilinen Adı",
# example=["X Şirketi", "Y Şirketi"],
# )
# company_tag = Explanation(
# explanation="Şirketin takma adı veya etiketidir.",
# usage="Şirketin yöneticisin karar verdiği takma adı veya etiketi istendiğinde kullanılır.",
# alias="Şirket Etiketi veya Takma Adı",
# example=["X", "Y"],
# )
# default_lang_type = Explanation(
# explanation="Şirketin varsayılan dil türüdür.",
# usage="Şirketin varsayılan dil türü istendiğinde kullanılır.",
# alias="Şirketin Dil Türü",
# example=["TR", "EN"],
# )
# default_money_type = Explanation(
# explanation="Şirketin varsayılan para birimi türüdür.",
# usage="Şirketin varsayılan para birimi türü istendiğinde kullanılır.",
# alias="Şirketin Para Birimi Türü",
# example=["TL", "USD", "EUR"],
# )
# is_commercial = Explanation(
# explanation="Şirketin ticari olup olmadığını belirtir.",
# usage="Şirketin ticari olup olmadığını applikasyonun anlaması için kullanılır.",
# condition=lambda commercial_type: True if commercial_type == "Şahıs" else False,
# alias="Şirket Ticari mi?",
# )
# is_blacklist = Explanation(
# explanation="Şirketin kara listeye alınıp alınmadığını belirtir.",
# usage="Şirketin kara listeye alınıp alınmadığını applikasyonun anlaması için kullanılır.",
# alias="Kara Listeye alınsın mı?",
# example=[True, False],
# )
# parent_id = Explanation(
# explanation="Şirketin sorumlu olduğu şirketin ID'sidir.",
# usage="Şirketin sorumlu olduğu şirketin ID'si istendiğinde kullanılır.",
# alias="Sorumlu Şirket",
# example=[
# "Bir şirketin sorumlu şirketi hangisi olduğunu bulmak için kullanılır.",
# ],
# )
# workplace_no = Explanation(
# explanation="Şirketin iş yeri numarasıdır.",
# usage="Şirketin iş yeri numarası istendiğinde kullanılır.",
# alias="İş Yeri No",
# example=["1234567890"],
# )
# official_address_id = Explanation(
# explanation="Şirketin resmi adresidi.",
# usage="Şirketin resmi adresinin ne olduğunu bulmak için kullanılır.",
# alias="Resmi Adres",
# example=[
# "Bu şirketin adresi nedir sorusuna cevap vermek için kullanılır.",
# ],
# )
# top_responsible_company_id = Explanation(
# explanation="Şirketin en üst sorumlu şirketin ID'sidir.",
# usage="Şirketin en üst sorumlu şirketin hangisi olduğunu bulmak için kullanılır.",
# alias="Ana Yetkili Şirket",
# example=[
# "Bölge veya ülke genelinde en üst sorumlu şirketin hangisi olduğunu belirtmek için kullanılır.",
# ],
# )
# buildings = Explanation(
# explanation="Şirketin sahip olduğu binaların listesidir.",
# usage="Şirketin sahip olduğu binaların listesini bulmak için kullanılır.",
# alias="Sorumlu olduğu binalar Binalar",
# example=[
# "Şirketin sahip olduğu binaların listesini bulmak için kullanılır.",
# ],
# )
#
# def wag_create_company(self):
# """
# Er kişiye wag_create_company fonksiyonu = fieldları manipule edebilir?
# 78 ile oluşturulan bir user için wag_create_company fonksiyonu = fieldları manipule edebilir?
# """
# return {
# "commercial_type": self.commercial_type,
# "formal_name": self.formal_name,
# "public_name": self.public_name,
# "company_type": self.company_type,
# "tax_no": self.tax_no,
# "workplace_no": self.workplace_no,
# "company_tag": self.company_tag,
# "default_lang_type": self.default_lang_type,
# "default_money_type": self.default_money_type,
# "official_address_id": self.official_address_id,
# }
#
# def wag_update_company(self):
# return {
# "commercial_type": self.commercial_type,
# "formal_name": self.formal_name,
# "public_name": self.public_name,
# "company_type": self.company_type,
# "tax_no": self.tax_no,
# "workplace_no": self.workplace_no,
# "company_tag": self.company_tag,
# "default_lang_type": self.default_lang_type,
# "default_money_type": self.default_money_type,
# "official_address_id": self.official_address_id,
# }

View File

@ -0,0 +1,232 @@
from sqlalchemy import String, Integer, ForeignKey, Index, Boolean, Identity
from sqlalchemy.orm import mapped_column, Mapped
from databases.sql_models.core_mixin import CrudCollection
class Departments(CrudCollection):
__tablename__ = "departments"
__exclude__fields__ = []
parent_department_id = mapped_column(Integer, server_default="0")
department_code = mapped_column(
String(16), nullable=False, index=True, comment="Department Code"
)
department_name: Mapped[str] = mapped_column(
String(128), nullable=False, comment="Department Name"
)
department_description: Mapped[str] = mapped_column(String, server_default="")
company_id: Mapped[int] = mapped_column(ForeignKey("companies.id"), nullable=False)
company_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Company UUID"
)
# @classmethod
# def create_action(cls, data: DepartmentsPydantic, token):
# data_dict = data.model_dump()
# data_dict["company_id"] = token.selected_company.company_id
# return cls.find_or_create(**data_dict)
__table_args__ = {"comment": "Departments Information"}
class Duty(CrudCollection):
__tablename__ = "duty"
__exclude__fields__ = []
duty_name: Mapped[str] = mapped_column(
String, unique=True, nullable=False, comment="Duty Name"
)
duty_code: Mapped[str] = mapped_column(String, nullable=False, comment="Duty Code")
duty_description: Mapped[str] = mapped_column(String, comment="Duty Description")
# @classmethod
# def create_action(cls, data: InsertCompanyDuty, token):
# # if not cls.__is_super__:
# # raise HTTPException(
# # status_code=401, detail="You are not authorized to create a duty."
# # )
# data_dict = data.model_dump()
#
# return cls.find_or_create(**data_dict)
__table_args__ = ({"comment": "Duty Information"},)
class Duties(CrudCollection):
__tablename__ = "duties"
__exclude__fields__ = []
users_default_duty = mapped_column(
ForeignKey("duty.id"), nullable=True, comment="Default Duty for Users"
)
company_id: Mapped[int] = mapped_column(Integer)
company_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Company UUID"
)
duties_id: Mapped[int] = mapped_column(ForeignKey("duty.id"), nullable=False)
duties_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Duty UUID"
)
department_id = mapped_column(
ForeignKey("departments.id"), nullable=False, comment="Department ID"
)
department_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Department UUID"
)
# priority_id: Mapped[int] = mapped_column(ForeignKey("priority.id"), nullable=True)
management_duty = mapped_column(
Boolean, server_default="0"
) # is this a prime Company Duty ???
@classmethod
def init_a_company_default_duties(cls, company_id, company_uu_id):
__default_init__ = ["Execution Office", "IT Department"]
active_row = dict(
is_confirmed=True, active=True, deleted=False, is_notification_send=True
)
list_of_created = []
execution = Departments.find_or_create(
department_name="Execution Office",
department_code="EO001",
company_id=company_id,
company_uu_id=str(company_uu_id),
**active_row,
)
list_of_created.append(execution)
it_dept = Departments.find_or_create(
department_name="IT Department",
department_code="ITD001",
company_id=company_id,
company_uu_id=str(company_uu_id),
**active_row,
)
list_of_created.append(it_dept)
bm_duty = Duty.find_or_create(
duty_name="Business Manager",
duty_code="BM0001",
duty_description="Business Manager",
**active_row,
)
list_of_created.append(bm_duty)
it_duty = Duty.find_or_create(
duty_name="IT Manager",
duty_code="IT0001",
duty_description="IT Manager",
**active_row,
)
list_of_created.append(it_duty)
bulk_duty = Duty.find_or_create(
duty_name="BULK",
duty_code="BULK",
duty_description="BULK RECORDS OF THE COMPANY",
**active_row,
)
list_of_created.append(bulk_duty)
occu_duty = Duty.find_or_create(
duty_name="OCCUPANT",
duty_code="OCCUPANT",
duty_description="OCCUPANT RECORDS OF THE COMPANY",
**active_row,
)
list_of_created.append(occu_duty)
duties_created_bm = cls.find_or_create(
company_id=company_id,
company_uu_id=str(company_uu_id),
duties_id=bm_duty.id,
duties_uu_id=str(bm_duty.uu_id),
department_id=execution.id,
department_uu_id=str(execution.uu_id),
**active_row,
)
list_of_created.append(duties_created_bm)
duties_created_it = cls.find_or_create(
company_id=company_id,
company_uu_id=str(company_uu_id),
duties_id=it_duty.id,
duties_uu_id=str(it_duty.uu_id),
department_id=it_dept.id,
department_uu_id=str(it_dept.uu_id),
**active_row,
)
list_of_created.append(duties_created_it)
duties_created__ex = cls.find_or_create(
company_id=company_id,
company_uu_id=str(company_uu_id),
duties_id=bulk_duty.id,
duties_uu_id=str(bulk_duty.uu_id),
department_id=execution.id,
department_uu_id=str(execution.uu_id),
**active_row,
)
list_of_created.append(duties_created__ex)
duties_created_at = cls.find_or_create(
company_id=company_id,
company_uu_id=str(company_uu_id),
duties_id=occu_duty.id,
duties_uu_id=str(occu_duty.uu_id),
department_id=execution.id,
department_uu_id=str(execution.uu_id),
**active_row,
)
list_of_created.append(duties_created_at)
return list_of_created
@classmethod
def get_bulk_duties_of_a_company(cls, company_id):
duties_id = Duty.filter_by_one(system=True, duty_code="BULK").data
if bulk_duties := Duties.filter_by_one(
duties_id=getattr(duties_id, "id", None),
company_id=company_id,
**Duties.valid_record_dict,
).data:
return bulk_duties
raise Exception("Bulk Duty not found. Please contact with supervisor.")
# @classmethod
# def create_action(cls, data: InsertCompanyDuty):
# data_dict = data.model_dump()
# if department := Departments.find_one(uu_id=data.department_uu_id):
# data_dict["department_id"] = department.id
# del data_dict["department_uu_id"]
# return cls.find_or_create(**data_dict)
__table_args__ = (
Index("duty_ndx_00", company_id, duties_id, department_id, unique=True),
{"comment": "Duty & Company & Department Information"},
)
# department: Mapped[List["CompanyDepartments"]] = relationship(
# "CompanyDepartments", back_populates="duties", foreign_keys=[department_id]
# )
# employees: Mapped[List["CompanyEmployees"]] = relationship(
# "CompanyEmployees",
# back_populates="duty",
# foreign_keys="CompanyEmployees.duty_id",
# )
# duty_app: Mapped["CompanyDutyApp"] = relationship(
# "CompanyDutyApp", back_populates="duties", foreign_keys="CompanyDutyApp.company_duty_id"
# )
# def get_language_of_duty(self, lang):
# if erp_text := ErpText.find_one(lang=lang, text_code=self.duty_code):
# return erp_text.text_name, erp_text.text_description
# return None, None
# company: Mapped["Companies"] = relationship(
# "Company", back_populates="departments", foreign_keys=[company_id]
# )
# duties: Mapped[List["CompanyDuty"]] = relationship(
# "CompanyDuty",
# back_populates="department",
# foreign_keys="CompanyDuty.department_id",
# )
# app_item: Mapped["AppItems"] = relationship(
# "AppItems", back_populates="department", foreign_keys="AppItems.department_id"
# )

153
Schemas/company/employee.py Normal file
View File

@ -0,0 +1,153 @@
from sqlalchemy import (
String,
ForeignKey,
Index,
Numeric,
)
from sqlalchemy.orm import mapped_column, Mapped
from databases.language_models.company.employee import (
StaffLanguageModel,
EmployeesLanguageModel,
EmployeeHistoryLanguageModel,
EmployeesSalariesLanguageModel,
)
from databases.sql_models.core_mixin import CrudCollection
from api_validations.validations_request import InsertCompanyEmployees
class Staff(CrudCollection):
__tablename__ = "staff"
__exclude__fields__ = []
__language_model__ = StaffLanguageModel
staff_description: Mapped[str] = mapped_column(
String, server_default="", comment="Staff Description"
)
staff_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Staff Name"
)
staff_code: Mapped[str] = mapped_column(
String, nullable=False, comment="Staff Code"
)
duties_id: Mapped[int] = mapped_column(ForeignKey("duties.id"), nullable=False)
duties_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Duty UUID"
)
# people: Mapped["People"] = relationship(
# "People", back_populates="employees", foreign_keys=[people_id], uselist=True
# )
# duty: Mapped["CompanyDuty"] = relationship(
# "CompanyDuty", back_populates="employees", foreign_keys=[duty_id]
# )
@classmethod
def create_action(cls, data: InsertCompanyEmployees):
from databases import Duties
data_dict = data.model_dump()
if duty := Duties.find_one(uu_id=data.duty_uu_id):
data_dict["duty_id"] = duty.id
# if person := People.find_one(uu_id=data.person_uu_id):
# data_dict["people_id"] = person.id
if data.start_date:
data_dict["expiry_starts"] = data.start_date
if data.stop_date:
data_dict["expiry_ends"] = data.stop_date
# del data_dict["duty_uu_id"], data_dict["person_uu_id"]
del data_dict["start_date"], data_dict["stop_date"], data_dict["duty_uu_id"]
return cls.find_or_create(**data_dict)
__table_args__ = ({"comment": "Staff Information"},)
class Employees(CrudCollection):
__tablename__ = "employees"
__exclude__fields__ = []
__language_model__ = EmployeesLanguageModel
staff_id: Mapped[int] = mapped_column(ForeignKey("staff.id"))
staff_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Staff UUID"
)
people_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=True)
people_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="People UUID"
)
__table_args__ = (
Index("employees_ndx_00", people_id, staff_id, unique=True),
{"comment": "Employee Person Information"},
)
class EmployeeHistory(CrudCollection):
__tablename__ = "employee_history"
__exclude__fields__ = []
__language_model__ = EmployeeHistoryLanguageModel
staff_id: Mapped[int] = mapped_column(
ForeignKey("staff.id"), nullable=False, comment="Staff ID"
)
staff_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Staff UUID"
)
people_id: Mapped[int] = mapped_column(
ForeignKey("people.id"), nullable=False, comment="People ID"
)
people_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="People UUID"
)
__table_args__ = (
Index("_employee_history_ndx_00", people_id, staff_id),
{"comment": "Employee History Information"},
)
class EmployeesSalaries(CrudCollection):
__tablename__ = "employee_salaries"
__exclude__fields__ = []
__language_model__ = EmployeesSalariesLanguageModel
gross_salary: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Gross Salary"
)
net_salary: Mapped[float] = mapped_column(
Numeric(20, 6), nullable=False, comment="Net Salary"
)
people_id: Mapped[int] = mapped_column(ForeignKey("people.id"), nullable=False)
people_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="People UUID"
)
# people: Mapped["People"] = relationship(
# "People", back_populates="employee_salaries", foreign_keys=[people_id]
# )
__table_args__ = (
Index("_employee_salaries_ndx_00", people_id, "expiry_starts"),
{"comment": "Employee Salaries Information"},
)
# class Events2Employees(CrudCollection):
#
# __tablename__ = "events2employees"
# __exclude__fields__ = []
#
# event_id = mapped_column(ForeignKey("events.id"), nullable=False)
# employees_id = mapped_column(ForeignKey("employees.id"), nullable=False)
#
# __table_args__ = (
# Index("_events2employees_ndx_00", event_id, employees_id),
# {"comment": "Events2Employees Information"},
# )

358
Schemas/event/event.py Normal file
View File

@ -0,0 +1,358 @@
from databases.sql_models.core_mixin import CrudCollection
from databases.language_models.event.event import (
EventsLanguageModel,
ModulesLanguageModel,
ServicesLanguageModel,
Service2EventsLanguageModel,
Event2OccupantExtraLanguageModel,
Event2EmployeeExtraLanguageModel,
Event2EmployeeLanguageModel,
Event2OccupantLanguageModel,
ModulePriceLanguageModel,
)
from sqlalchemy import (
String,
ForeignKey,
Numeric,
SmallInteger,
Boolean,
Integer,
Index,
)
from sqlalchemy.orm import mapped_column, Mapped
class Events(CrudCollection):
"""
Events class based on declarative_base and BaseMixin via session
If Events2Occupants and Events2Employees are not found for user request, response 401 Unauthorized
"""
__tablename__ = "events"
__exclude__fields__ = []
__language_model__ = EventsLanguageModel
event_type: Mapped[str] = mapped_column(
String, nullable=False, comment="Event Type"
)
function_code: Mapped[str] = mapped_column(
String, nullable=False, comment="function code"
)
function_class: Mapped[str] = mapped_column(
String, nullable=False, comment="class name"
)
# name: Mapped[str] = mapped_column(String, nullable=True) # form or page title
description: Mapped[str] = mapped_column(
String, server_default=""
) # form or page description
property_description: Mapped[str] = mapped_column(String, server_default="")
marketing_layer = mapped_column(SmallInteger, server_default="3")
cost: Mapped[float] = mapped_column(Numeric(20, 2), server_default="0.00")
unit_price: Mapped[float] = mapped_column(Numeric(20, 2), server_default="0.00")
endpoint_id: Mapped[int] = mapped_column(
ForeignKey("endpoint_restriction.id"), nullable=True
)
endpoint_uu_id: Mapped[str] = mapped_column(
String, nullable=True, comment="Endpoint UUID"
)
__table_args__ = ({"comment": "Events Information"},)
class Modules(CrudCollection):
"""
Modules class based on declarative_base and BaseMixin via session
"""
__tablename__ = "modules"
__exclude__fields__ = []
__language_model__ = ModulesLanguageModel
module_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Module Name"
)
module_description: Mapped[str] = mapped_column(String, server_default="")
module_code: Mapped[str] = mapped_column(
String, nullable=False, comment="Module Code"
)
module_layer = mapped_column(Integer, nullable=False, comment="Module Layer")
is_default_module = mapped_column(Boolean, server_default="0")
def retrieve_services(self):
services = Services.filter_all(Services.module_id == self.id).data
if not services:
self.raise_http_exception(
status_code="HTTP_404_NOT_FOUND",
error_case="RECORD_NOT_FOUND",
message=f"No services found for this module : {str(self.uu_id)}",
data={
"module_uu_id": str(self.uu_id),
},
)
return services
__table_args__ = ({"comment": "Modules Information"},)
class Services(CrudCollection):
"""
Services class based on declarative_base and BaseMixin via session
"""
__tablename__ = "services"
__exclude__fields__ = []
__language_model__ = ServicesLanguageModel
module_id: Mapped[int] = mapped_column(ForeignKey("modules.id"), nullable=False)
module_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Module UUID"
)
service_name: Mapped[str] = mapped_column(
String, nullable=False, comment="Service Name"
)
service_description: Mapped[str] = mapped_column(String, server_default="")
service_code: Mapped[str] = mapped_column(
String, nullable=True, comment="Service Code"
)
related_responsibility: Mapped[str] = mapped_column(String, server_default="")
@classmethod
def retrieve_service_via_occupant_code(cls, occupant_code):
from databases import OccupantTypes
occupant_type = OccupantTypes.filter_by_one(
system=True,
occupant_code=occupant_code,
).data
if not occupant_type:
cls.raise_http_exception(
status_code="HTTP_404_NOT_FOUND",
error_case="RECORD_NOT_FOUND",
message=f"No occupant type found for this code : {occupant_code}",
data={
"occupant_code": occupant_code,
},
)
return cls.filter_one(
cls.related_responsibility == occupant_type.occupant_code
).data
__table_args__ = ({"comment": "Services Information"},)
class Service2Events(CrudCollection):
"""
Service2Actions class based on declarative_base and BaseMixin via session
"""
__tablename__ = "services2events"
__exclude__fields__ = []
__language_model__ = Service2EventsLanguageModel
service_id: Mapped[int] = mapped_column(ForeignKey("services.id"), nullable=False)
service_uu_id = mapped_column(String, nullable=False, comment="Service UUID")
event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), nullable=False)
event_uu_id = mapped_column(String, nullable=False, comment="Event UUID")
__table_args__ = ({"comment": "Service2Events Information"},)
class Event2OccupantExtra(CrudCollection):
__tablename__ = "event2occupant_extra"
__exclude__fields__ = []
__language_model__ = Event2OccupantExtraLanguageModel
build_living_space_id: Mapped[int] = mapped_column(
ForeignKey("build_living_space.id"), nullable=False
)
build_living_space_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Build Living Space UUID"
)
event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), nullable=False)
event_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Event UUID"
)
__table_args__ = (
Index(
"event2occupant_extra_bind_event_to_occupant",
build_living_space_id,
event_id,
unique=True,
),
{"comment": "Occupant2Event Information"},
)
class Event2EmployeeExtra(CrudCollection):
"""
Employee2Event class based on declarative_base and BaseMixin via session
"""
__tablename__ = "event2employee_extra"
__exclude__fields__ = []
__language_model__ = Event2EmployeeExtraLanguageModel
employee_id: Mapped[int] = mapped_column(ForeignKey("employees.id"), nullable=False)
employee_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Employee UUID"
)
event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), nullable=False)
event_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Event UUID"
)
__table_args__ = (
Index(
"event2employee_extra_employee_to_event",
employee_id,
event_id,
unique=True,
),
{"comment": "Employee to Event Information"},
)
class Event2Employee(CrudCollection):
"""
Employee2Event class based on declarative_base and BaseMixin via session
"""
__tablename__ = "event2employee"
__exclude__fields__ = []
__language_model__ = Event2EmployeeLanguageModel
employee_id: Mapped[int] = mapped_column(ForeignKey("employees.id"), nullable=False)
employee_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Employee UUID"
)
event_service_id: Mapped[int] = mapped_column(
ForeignKey("services.id"), nullable=False
)
event_service_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Event Cluster UUID"
)
__table_args__ = (
Index(
"event2employee_employee_to_event",
employee_id,
event_service_id,
unique=True,
),
{"comment": "Employee to Event Information"},
)
@classmethod
def get_event_id_by_employee_id(cls, employee_id) -> list:
occupant_events = cls.filter_all(
cls.employee_id == employee_id,
).data
active_events = Service2Events.filter_all(
Service2Events.service_id.in_(
[event.event_service_id for event in occupant_events]
),
system=True,
).data
active_events_id = [event.event_id for event in active_events]
if extra_events := Event2EmployeeExtra.filter_all(
Event2EmployeeExtra.employee_id == employee_id
).data:
active_events_id.extend([event.event_id for event in extra_events])
return active_events_id
class Event2Occupant(CrudCollection):
"""
Occupant2Event class based on declarative_base and BaseMixin via session
"""
__tablename__ = "event2occupant"
__exclude__fields__ = []
__language_model__ = Event2OccupantLanguageModel
build_living_space_id: Mapped[str] = mapped_column(
ForeignKey("build_living_space.id"), nullable=False
)
build_living_space_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Build Living Space UUID"
)
event_service_id: Mapped[int] = mapped_column(
ForeignKey("services.id"), nullable=False
)
event_service_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Event Cluster UUID"
)
# event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), nullable=False)
# event_uu_id = mapped_column(String, nullable=False, comment="Event UUID")
__table_args__ = (
Index(
"event2occupant_bind_event_to_occupant",
build_living_space_id,
event_service_id,
unique=True,
),
{"comment": "Occupant2Event Information"},
)
@classmethod
def get_event_id_by_build_living_space_id(cls, build_living_space_id) -> list:
occupant_events = cls.filter_all(
cls.build_living_space_id == build_living_space_id,
).data
active_events = Service2Events.filter_all(
Service2Events.service_id.in_(
[event.event_service_id for event in occupant_events]
),
system=True,
).data
active_events_id = [event.event_id for event in active_events]
if extra_events := Event2OccupantExtra.filter_all(
Event2OccupantExtra.build_living_space_id == build_living_space_id
).data:
active_events_id.extend([event.event_id for event in extra_events])
return active_events_id
class ModulePrice(CrudCollection):
"""
ModulePrice class based on declarative_base and BaseMixin via session
"""
__tablename__ = "module_price"
__exclude__fields__ = []
__language_model__ = ModulePriceLanguageModel
campaign_code: Mapped[str] = mapped_column(
String, nullable=False, comment="Campaign Code"
)
module_id: Mapped[int] = mapped_column(ForeignKey("modules.id"), nullable=False)
module_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Module UUID"
)
service_id: Mapped[int] = mapped_column(ForeignKey("services.id"), nullable=False)
service_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Service UUID"
)
event_id: Mapped[int] = mapped_column(ForeignKey("events.id"), nullable=False)
event_uu_id: Mapped[str] = mapped_column(
String, nullable=False, comment="Event UUID"
)
is_counted_percentage: Mapped[float] = mapped_column(
Numeric(6, 2), server_default="0.00"
) # %22
discounted_price: Mapped[float] = mapped_column(
Numeric(20, 2), server_default="0.00"
) # Normal: 78.00 TL
calculated_price: Mapped[float] = mapped_column(
Numeric(20, 2), server_default="0.00"
) # sana düz 75.00 TL yapar
__table_args__ = ({"comment": "ModulePrice Information"},)

1059
Schemas/identity/identity.py Normal file

File diff suppressed because it is too large Load Diff

106
Schemas/others/enums.py Normal file
View File

@ -0,0 +1,106 @@
from fastapi.exceptions import HTTPException
from sqlalchemy import (
UUID,
String,
text,
)
from sqlalchemy.orm import (
Mapped,
mapped_column,
)
from databases.sql_models.core_mixin import CrudCollection
class ApiEnumDropdown(CrudCollection):
__tablename__ = "api_enum_dropdown"
__exclude__fields__ = ["enum_class"]
__language_model__ = None
id: Mapped[int] = mapped_column(primary_key=True)
uu_id: Mapped[str] = mapped_column(
UUID, server_default=text("gen_random_uuid()"), index=True, unique=True
)
enum_class: Mapped[str] = mapped_column(
String, nullable=False, comment="Enum Constant Name"
)
key: Mapped[str] = mapped_column(String, nullable=False, comment="Enum Key")
value: Mapped[str] = mapped_column(String, nullable=False, comment="Enum Value")
description: Mapped[str] = mapped_column(String, nullable=True)
__table_args__ = ({"comment": "Enum objets that are linked to tables"},)
@classmethod
def get_by_uuid(cls, uuid: str):
return cls.filter_by_one(system=True, uu_id=str(uuid)).data
@classmethod
def get_debit_search(cls, search_debit: str = None, search_uu_id: str = None):
if search_uu_id:
if search := cls.filter_one(
cls.enum_class.in_(["DebitTypes"]),
cls.uu_id == search_uu_id,
system=True,
).data:
return search
elif search_debit:
if search := cls.filter_one(
cls.enum_class.in_(["DebitTypes"]), cls.key == search_debit, system=True
).data:
return search
return cls.filter_all(cls.enum_class.in_(["DebitTypes"]), system=True).data
@classmethod
def get_due_types(cls):
if due_list := cls.filter_all(
cls.enum_class == "BuildDuesTypes",
cls.key.in_(["BDT-A", "BDT-D"]),
system=True,
).data:
return [due.uu_id.__str__() for due in due_list]
raise HTTPException(
status_code=404,
detail="No dues types found",
)
@classmethod
def due_type_search(cls, search_management: str = None, search_uu_id: str = None):
if search_uu_id:
if search := cls.filter_one(
cls.enum_class.in_(["BuildDuesTypes"]),
cls.uu_id == search_uu_id,
system=True,
).data:
return search
elif search_management:
if search := cls.filter_one(
cls.enum_class.in_(["BuildDuesTypes"]),
cls.key == search_management,
system=True,
).data:
return search
return cls.filter_all(cls.enum_class.in_(["BuildDuesTypes"]), system=True).data
def get_enum_dict(self):
return {
"uu_id": str(self.uu_id),
"enum_class": self.enum_class,
"key": self.key,
"value": self.value,
"description": self.description,
}
@classmethod
def uuid_of_enum(cls, enum_class: str, key: str):
return str(
getattr(
cls.filter_one(
cls.enum_class == enum_class, cls.key == key, system=True
).data,
"uu_id",
None,
)
)
ApiEnumDropdown.set_session(ApiEnumDropdown.__session__)

31
Schemas/rules/rules.py Normal file
View File

@ -0,0 +1,31 @@
from sqlalchemy import String
from sqlalchemy.orm import mapped_column, Mapped
from databases.language_models.rules.rules import EndpointRestrictionLanguageModel
from databases.sql_models.core_mixin import CrudCollection
class EndpointRestriction(CrudCollection):
"""
Initialize Endpoint Restriction with default values
"""
__tablename__ = "endpoint_restriction"
__exclude__fields__ = []
__language_model__ = EndpointRestrictionLanguageModel
endpoint_function: Mapped[str] = mapped_column(
String, server_default="", comment="Function name of the API endpoint"
)
endpoint_name: Mapped[str] = mapped_column(
String, server_default="", comment="Name of the API endpoint"
)
endpoint_method: Mapped[str] = mapped_column(
String, server_default="", comment="HTTP method used by the endpoint"
)
endpoint_desc: Mapped[str] = mapped_column(
String, server_default="", comment="Description of the endpoint"
)
endpoint_code: Mapped[str] = mapped_column(
String, server_default="", unique=True, comment="Unique code for the endpoint"
)

View File

@ -63,7 +63,11 @@ class PostgresResponse(Generic[T]):
@property
def all(self) -> List[T]:
"""Get all results as list."""
return self.data if isinstance(self.data, list) else [self.data] if self.data else []
return (
self.data
if isinstance(self.data, list)
else [self.data] if self.data else []
)
@property
def first_item(self) -> Optional[T]: