alchemy functions updated
This commit is contained in:
@@ -1,16 +1,12 @@
|
||||
from fastapi.exceptions import HTTPException
|
||||
|
||||
from databases import (
|
||||
Addresses,
|
||||
Duties,
|
||||
)
|
||||
from databases.sql_models.core_mixin import CrudCollection
|
||||
|
||||
from sqlalchemy import String, Integer, Boolean, ForeignKey, Index, Identity
|
||||
from sqlalchemy.orm import mapped_column, Mapped
|
||||
|
||||
from api_configs import RelationAccess
|
||||
from databases.extensions import SelectAction, Explanation
|
||||
from databases.extensions import SelectAction
|
||||
from api_validations.validations_request import (
|
||||
InsertCompany,
|
||||
UpdateCompany,
|
||||
@@ -64,7 +60,9 @@ class RelationshipDutyCompany(CrudCollection):
|
||||
|
||||
@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"
|
||||
)
|
||||
@@ -103,7 +101,9 @@ class RelationshipDutyCompany(CrudCollection):
|
||||
|
||||
@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"
|
||||
)
|
||||
@@ -157,152 +157,6 @@ class RelationshipDutyCompany(CrudCollection):
|
||||
)
|
||||
|
||||
|
||||
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,
|
||||
}
|
||||
|
||||
|
||||
class Companies(CrudCollection, SelectAction):
|
||||
"""
|
||||
Company class based on declarative_base and CrudCollection via session
|
||||
@@ -316,7 +170,7 @@ class Companies(CrudCollection, SelectAction):
|
||||
__exclude__fields__ = ["is_blacklist", "is_commercial"]
|
||||
__access_by__ = []
|
||||
__many__table__ = RelationshipDutyCompany
|
||||
__explain__ = AbstractCompany()
|
||||
# __explain__ = AbstractCompany()
|
||||
|
||||
formal_name: Mapped[str] = mapped_column(
|
||||
String, nullable=False, comment="Formal Name"
|
||||
@@ -423,6 +277,9 @@ class Companies(CrudCollection, SelectAction):
|
||||
|
||||
@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")
|
||||
@@ -554,3 +411,151 @@ class Companies(CrudCollection, SelectAction):
|
||||
# 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,
|
||||
# }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user