init defaults completed
This commit is contained in:
@@ -1,7 +1,6 @@
|
|||||||
from api_events.events.identity.people import (
|
from api_events.events.identity.people import (
|
||||||
PeopleListEventMethod,
|
PeopleListEventMethod,
|
||||||
PeopleCreateEventMethod,
|
PeopleCreateEventMethod,
|
||||||
PeopleDeleteEventMethod,
|
|
||||||
PeopleUpdateEventMethod,
|
PeopleUpdateEventMethod,
|
||||||
PeoplePatchEventMethod,
|
PeoplePatchEventMethod,
|
||||||
)
|
)
|
||||||
@@ -136,7 +135,6 @@ __all__ = [
|
|||||||
"AddressPostCodeUpdateEventMethod",
|
"AddressPostCodeUpdateEventMethod",
|
||||||
"AddressPostCodeListEventMethod",
|
"AddressPostCodeListEventMethod",
|
||||||
"PeopleListEventMethod",
|
"PeopleListEventMethod",
|
||||||
"PeopleDeleteEventMethod",
|
|
||||||
"PeopleUpdateEventMethod",
|
"PeopleUpdateEventMethod",
|
||||||
"PeoplePatchEventMethod",
|
"PeoplePatchEventMethod",
|
||||||
"PeopleCreateEventMethod",
|
"PeopleCreateEventMethod",
|
||||||
|
|||||||
@@ -14,8 +14,9 @@ class ActionsSchema(ABC):
|
|||||||
from databases import EndpointRestriction
|
from databases import EndpointRestriction
|
||||||
|
|
||||||
endpoint_restriction = EndpointRestriction.filter_one(
|
endpoint_restriction = EndpointRestriction.filter_one(
|
||||||
EndpointRestriction.endpoint_name.ilike(f"%{self.endpoint}%")
|
EndpointRestriction.endpoint_name.ilike(f"%{self.endpoint}%"),
|
||||||
).get(1)
|
system=True
|
||||||
|
).data
|
||||||
if not endpoint_restriction:
|
if not endpoint_restriction:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=404,
|
status_code=404,
|
||||||
@@ -32,7 +33,7 @@ class ActionsSchemaFactory:
|
|||||||
self.action_match = self.action.retrieve_action_from_endpoint()
|
self.action_match = self.action.retrieve_action_from_endpoint()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
err = e
|
err = e
|
||||||
self.action_match = None
|
print(f"ActionsSchemaFactory Error: {e}")
|
||||||
|
|
||||||
|
|
||||||
class MethodToEvent(ABC, ActionsSchemaFactory):
|
class MethodToEvent(ABC, ActionsSchemaFactory):
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ class AddressSearchEventMethods(MethodToEvent):
|
|||||||
data: SearchAddress,
|
data: SearchAddress,
|
||||||
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
|
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
|
||||||
):
|
):
|
||||||
import databases as database_sql_models
|
import databases.sql_models
|
||||||
from time import perf_counter
|
from time import perf_counter
|
||||||
|
|
||||||
st = perf_counter()
|
st = perf_counter()
|
||||||
@@ -171,7 +171,7 @@ class AddressSearchEventMethods(MethodToEvent):
|
|||||||
filter_list["order_field"] = "uu_id"
|
filter_list["order_field"] = "uu_id"
|
||||||
else:
|
else:
|
||||||
filter_table = getattr(
|
filter_table = getattr(
|
||||||
database_sql_models, str(filter_list.get("order_field")).split(".")[0]
|
databases.sql_models, str(filter_list.get("order_field")).split(".")[0]
|
||||||
)
|
)
|
||||||
filter_list["order_field"] = str(filter_list.get("order_field")).split(".")[
|
filter_list["order_field"] = str(filter_list.get("order_field")).split(".")[
|
||||||
1
|
1
|
||||||
|
|||||||
@@ -558,7 +558,7 @@ class AuthenticationRefreshTokenEventMethods(MethodToEvent):
|
|||||||
cls, request: Request, data: Remember, token_dict: dict = None
|
cls, request: Request, data: Remember, token_dict: dict = None
|
||||||
):
|
):
|
||||||
token_refresher = UsersTokens.filter_by_one(
|
token_refresher = UsersTokens.filter_by_one(
|
||||||
token=data.refresh_token, domain=data.domain, *UsersTokens.valid_record_dict
|
token=data.refresh_token, domain=data.domain, **UsersTokens.valid_record_dict
|
||||||
).data
|
).data
|
||||||
if not token_refresher:
|
if not token_refresher:
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
|||||||
@@ -155,7 +155,7 @@ class AuthenticationSelectEventMethods(MethodToEvent):
|
|||||||
Departments.id == duties.department_id,
|
Departments.id == duties.department_id,
|
||||||
).data
|
).data
|
||||||
bulk_id = Duty.filter_by_one(
|
bulk_id = Duty.filter_by_one(
|
||||||
duty_code="BULK", *Duty.valid_record_args(Duty)
|
duty_code="BULK", **Duty.valid_record_args(Duty)
|
||||||
).data
|
).data
|
||||||
bulk_duty_id = Duties.filter_by_one(
|
bulk_duty_id = Duties.filter_by_one(
|
||||||
company_id=selected_company.id,
|
company_id=selected_company.id,
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class BuildCreateEventMethods(MethodToEvent):
|
|||||||
created_build = Build.create_action(data=data, token=token_dict)
|
created_build = Build.create_action(data=data, token=token_dict)
|
||||||
|
|
||||||
build_type = BuildTypes.filter_by_one(
|
build_type = BuildTypes.filter_by_one(
|
||||||
type_code="APT_YNT", *BuildTypes.valid_record_dict
|
**BuildTypes.valid_record_dict, type_code="APT_YNT"
|
||||||
).data
|
).data
|
||||||
if not build_type:
|
if not build_type:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
|
|||||||
@@ -188,8 +188,8 @@ class ServiceBindEmployeeEventMethods(MethodToEvent):
|
|||||||
def bind_services_employee(cls, service_id: int, employee_id: int):
|
def bind_services_employee(cls, service_id: int, employee_id: int):
|
||||||
from sqlalchemy.dialects.postgresql import insert
|
from sqlalchemy.dialects.postgresql import insert
|
||||||
|
|
||||||
employee = Employees.filter_by_one(id=employee_id, *Employees.valid_record_dict).data
|
employee = Employees.filter_by_one(id=employee_id, **Employees.valid_record_dict).data
|
||||||
service = Services.filter_by_one(id=service_id, *Services.valid_record_dict).data
|
service = Services.filter_by_one(id=service_id, **Services.valid_record_dict).data
|
||||||
service_events = Service2Events.filter_all(
|
service_events = Service2Events.filter_all(
|
||||||
Service2Events.service_id == service.id,
|
Service2Events.service_id == service.id,
|
||||||
*Service2Events.valid_record_args(Service2Events),
|
*Service2Events.valid_record_args(Service2Events),
|
||||||
@@ -236,7 +236,7 @@ class ServiceBindEmployeeEventMethods(MethodToEvent):
|
|||||||
)
|
)
|
||||||
|
|
||||||
employee = Employees.filter_by_one(
|
employee = Employees.filter_by_one(
|
||||||
uu_id=data.employee_uu_id, *Employees.valid_record_dict
|
uu_id=data.employee_uu_id, **Employees.valid_record_dict
|
||||||
).data
|
).data
|
||||||
if not employee:
|
if not employee:
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
@@ -249,7 +249,7 @@ class ServiceBindEmployeeEventMethods(MethodToEvent):
|
|||||||
)
|
)
|
||||||
|
|
||||||
service = Services.filter_by_one(
|
service = Services.filter_by_one(
|
||||||
uu_id=data.service_uu_id, *Services.valid_record_dict
|
uu_id=data.service_uu_id, **Services.valid_record_dict
|
||||||
).data
|
).data
|
||||||
if not service:
|
if not service:
|
||||||
return JSONResponse(
|
return JSONResponse(
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class EventsUpdateEventMethods(MethodToEvent):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def events_update(cls, data: CreateEvents, token_dict):
|
def events_update(cls, data: CreateEvents, token_dict):
|
||||||
event = Events.filter_by_one(uu_id=data.uu_id, *Events.valid_record_dict).data
|
event = Events.filter_by_one(uu_id=data.uu_id, **Events.valid_record_dict).data
|
||||||
if not event:
|
if not event:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=404,
|
status_code=404,
|
||||||
@@ -113,7 +113,7 @@ class EventsPatchEventMethods(MethodToEvent):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def events_patch(cls, data: CreateEvents, token_dict):
|
def events_patch(cls, data: CreateEvents, token_dict):
|
||||||
event = Events.filter_by_one(uu_id=data.uu_id, *Events.valid_record_dict).data
|
event = Events.filter_by_one(uu_id=data.uu_id, **Events.valid_record_dict).data
|
||||||
if not event:
|
if not event:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=404,
|
status_code=404,
|
||||||
|
|||||||
@@ -166,6 +166,3 @@ PeopleUpdateEventMethod = PeopleUpdateEventMethods(
|
|||||||
PeoplePatchEventMethod = PeoplePatchEventMethods(
|
PeoplePatchEventMethod = PeoplePatchEventMethods(
|
||||||
action=ActionsSchema(endpoint="/people/patch")
|
action=ActionsSchema(endpoint="/people/patch")
|
||||||
)
|
)
|
||||||
PeopleDeleteEventMethod = PeopleDeleteEventMethods(
|
|
||||||
action=ActionsSchema(endpoint="/people/delete")
|
|
||||||
)
|
|
||||||
|
|||||||
@@ -2,15 +2,13 @@ class AddEventFunctionality:
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def retrieve_events(cls, events) -> list[tuple[int, str]]:
|
def retrieve_events(cls, events) -> list[tuple[int, str]]:
|
||||||
from database_sql_models import Events
|
from databases import Events
|
||||||
from sqlalchemy import select
|
|
||||||
|
|
||||||
get_event_ids = Events.session.execute(
|
get_event_ids = Events.filter_all(
|
||||||
select(Events.id, Events.uu_id).where(
|
Events.function_code.in_([event["function_code"] for event in events]),
|
||||||
Events.function_code.in_([event["function_code"] for event in events])
|
system=True
|
||||||
)
|
).data
|
||||||
).all()
|
|
||||||
if get_event_ids:
|
if get_event_ids:
|
||||||
return [(get_event[0], str(get_event[1])) for get_event in get_event_ids]
|
return [(get_event.id, str(get_event.uu_id)) for get_event in get_event_ids]
|
||||||
else:
|
else:
|
||||||
raise Exception("No event found")
|
raise Exception("No event found")
|
||||||
|
|||||||
@@ -47,6 +47,3 @@ class DateTimeLocal:
|
|||||||
|
|
||||||
client_arrow = DateTimeLocal(is_client=True)
|
client_arrow = DateTimeLocal(is_client=True)
|
||||||
system_arrow = DateTimeLocal(is_client=False)
|
system_arrow = DateTimeLocal(is_client=False)
|
||||||
|
|
||||||
print(client_arrow.string_time_only(arrow.utcnow()))
|
|
||||||
print(system_arrow.string_time_only(arrow.utcnow()))
|
|
||||||
|
|||||||
@@ -5,16 +5,6 @@ from fastapi import status
|
|||||||
from fastapi.exceptions import HTTPException
|
from fastapi.exceptions import HTTPException
|
||||||
|
|
||||||
from api_configs import Auth
|
from api_configs import Auth
|
||||||
from databases import (
|
|
||||||
BuildLivingSpace,
|
|
||||||
BuildParts,
|
|
||||||
Companies,
|
|
||||||
Duties,
|
|
||||||
Departments,
|
|
||||||
Duty,
|
|
||||||
Employees,
|
|
||||||
Staff,
|
|
||||||
)
|
|
||||||
from api_objects import (
|
from api_objects import (
|
||||||
OccupantTokenObject,
|
OccupantTokenObject,
|
||||||
EmployeeTokenObject,
|
EmployeeTokenObject,
|
||||||
@@ -50,6 +40,16 @@ def save_object_to_redis(
|
|||||||
def save_access_token_to_redis(
|
def save_access_token_to_redis(
|
||||||
request, found_user, domain: str, access_token: str = None
|
request, found_user, domain: str, access_token: str = None
|
||||||
):
|
):
|
||||||
|
from databases import (
|
||||||
|
BuildLivingSpace,
|
||||||
|
BuildParts,
|
||||||
|
Companies,
|
||||||
|
Duties,
|
||||||
|
Departments,
|
||||||
|
Duty,
|
||||||
|
Employees,
|
||||||
|
Staff,
|
||||||
|
)
|
||||||
if not found_user:
|
if not found_user:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
status_code=400,
|
status_code=400,
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
from fastapi import HTTPException, status
|
from fastapi import HTTPException, status
|
||||||
from fastapi.requests import Request
|
from fastapi.requests import Request
|
||||||
|
|
||||||
from databases import Events
|
|
||||||
|
|
||||||
|
|
||||||
def parse_token_object_to_dict(request: Request): # from requests import Request
|
def parse_token_object_to_dict(request: Request): # from requests import Request
|
||||||
from api_services.redis.functions import get_object_via_access_key
|
from api_services.redis.functions import get_object_via_access_key
|
||||||
from databases import EndpointRestriction
|
from databases import EndpointRestriction, Events
|
||||||
import api_events.events as events
|
import api_events.events as events
|
||||||
|
|
||||||
if valid_token := get_object_via_access_key(request=request):
|
if valid_token := get_object_via_access_key(request=request):
|
||||||
|
|||||||
@@ -8,13 +8,6 @@ from datetime import timedelta
|
|||||||
from fastapi.exceptions import HTTPException
|
from fastapi.exceptions import HTTPException
|
||||||
from fastapi import status
|
from fastapi import status
|
||||||
|
|
||||||
from databases import (
|
|
||||||
Users,
|
|
||||||
People,
|
|
||||||
Companies,
|
|
||||||
UsersTokens,
|
|
||||||
MongoQueryIdentity,
|
|
||||||
)
|
|
||||||
from databases.no_sql_models.validations import (
|
from databases.no_sql_models.validations import (
|
||||||
PasswordHistoryViaUser,
|
PasswordHistoryViaUser,
|
||||||
AccessHistoryViaUser,
|
AccessHistoryViaUser,
|
||||||
@@ -46,7 +39,7 @@ class AuthModule(PasswordModule):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def check_user_exits(cls, access_key, domain):
|
def check_user_exits(cls, access_key, domain):
|
||||||
found_user: Users = cls.filter_one(
|
found_user = cls.filter_one(
|
||||||
or_(
|
or_(
|
||||||
cls.email == str(access_key).lower(),
|
cls.email == str(access_key).lower(),
|
||||||
cls.phone_number == str(access_key).replace(" ", ""),
|
cls.phone_number == str(access_key).replace(" ", ""),
|
||||||
@@ -72,6 +65,9 @@ class AuthModule(PasswordModule):
|
|||||||
return self.generate_token(Auth.ACCESS_TOKEN_LENGTH)
|
return self.generate_token(Auth.ACCESS_TOKEN_LENGTH)
|
||||||
|
|
||||||
def remove_refresher_token(self, domain, disconnect: bool = False):
|
def remove_refresher_token(self, domain, disconnect: bool = False):
|
||||||
|
from databases import (
|
||||||
|
UsersTokens,
|
||||||
|
)
|
||||||
if disconnect:
|
if disconnect:
|
||||||
registered_tokens = UsersTokens.filter_all(
|
registered_tokens = UsersTokens.filter_all(
|
||||||
UsersTokens.user_id == self.id, system=True
|
UsersTokens.user_id == self.id, system=True
|
||||||
@@ -110,6 +106,9 @@ class AuthModule(PasswordModule):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def create_password(self, password, password_token=None):
|
def create_password(self, password, password_token=None):
|
||||||
|
from databases import (
|
||||||
|
MongoQueryIdentity,
|
||||||
|
)
|
||||||
if self.password_token:
|
if self.password_token:
|
||||||
replace_day = 0
|
replace_day = 0
|
||||||
try:
|
try:
|
||||||
@@ -161,6 +160,9 @@ class AuthModule(PasswordModule):
|
|||||||
self.save()
|
self.save()
|
||||||
|
|
||||||
def generate_refresher_token(self, domain: str, remember_me=False):
|
def generate_refresher_token(self, domain: str, remember_me=False):
|
||||||
|
from databases import (
|
||||||
|
UsersTokens,
|
||||||
|
)
|
||||||
if remember_me:
|
if remember_me:
|
||||||
refresh_token = self.generate_token(Auth.REFRESHER_TOKEN_LENGTH)
|
refresh_token = self.generate_token(Auth.REFRESHER_TOKEN_LENGTH)
|
||||||
if already_token := UsersTokens.find_one(
|
if already_token := UsersTokens.find_one(
|
||||||
@@ -200,7 +202,11 @@ class UserLoginModule(AuthModule):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def login_user_with_credentials(cls, data, request):
|
def login_user_with_credentials(cls, data, request):
|
||||||
|
from databases import (
|
||||||
|
Users,
|
||||||
|
People,
|
||||||
|
MongoQueryIdentity,
|
||||||
|
)
|
||||||
found_user = Users.check_user_exits(
|
found_user = Users.check_user_exits(
|
||||||
access_key=data.access_key, domain=data.domain
|
access_key=data.access_key, domain=data.domain
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -40,8 +40,8 @@ class MongoQuery:
|
|||||||
|
|
||||||
def __init__(self, table_name: str, database_name: str):
|
def __init__(self, table_name: str, database_name: str):
|
||||||
database = MongoClient(MongoConfig.url)[database_name]
|
database = MongoClient(MongoConfig.url)[database_name]
|
||||||
if table_name not in database.collection_names():
|
# if table_name not in database.collection_names():
|
||||||
database.create_collection(name=table_name)
|
# database.create_collection(name=table_name)
|
||||||
self.table: Collection = database[table_name]
|
self.table: Collection = database[table_name]
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
|||||||
@@ -438,7 +438,7 @@ class BuildDecisionBookPerson(CrudCollection):
|
|||||||
if build_living_space_id:
|
if build_living_space_id:
|
||||||
related_service = Services.filter_by_one(
|
related_service = Services.filter_by_one(
|
||||||
related_responsibility=str(occupant_type.occupant_code),
|
related_responsibility=str(occupant_type.occupant_code),
|
||||||
*Services.valid_record_dict,
|
**Services.valid_record_dict,
|
||||||
).data
|
).data
|
||||||
if not related_service:
|
if not related_service:
|
||||||
raise HTTPException(
|
raise HTTPException(
|
||||||
|
|||||||
@@ -194,14 +194,14 @@ class Companies(CrudCollection, SelectAction):
|
|||||||
parent_id = mapped_column(Integer, nullable=True)
|
parent_id = mapped_column(Integer, nullable=True)
|
||||||
workplace_no: Mapped[str] = mapped_column(String, nullable=True)
|
workplace_no: Mapped[str] = mapped_column(String, nullable=True)
|
||||||
|
|
||||||
official_address_id: Mapped[int] = mapped_column(ForeignKey("addresses.id"))
|
official_address_id: Mapped[int] = mapped_column(ForeignKey("addresses.id"), nullable=True)
|
||||||
official_address_uu_id = mapped_column(
|
official_address_uu_id: Mapped[str] = mapped_column(
|
||||||
String, nullable=True, comment="Official Address UUID"
|
String, nullable=True, comment="Official Address UUID"
|
||||||
)
|
)
|
||||||
top_responsible_company_id = mapped_column(
|
top_responsible_company_id: Mapped[int] = mapped_column(
|
||||||
ForeignKey("companies.id"), nullable=True
|
ForeignKey("companies.id"), nullable=True
|
||||||
)
|
)
|
||||||
top_responsible_company_uu_id = mapped_column(
|
top_responsible_company_uu_id: Mapped[str] = mapped_column(
|
||||||
String, nullable=True, comment="Top Responsible Company UUID"
|
String, nullable=True, comment="Top Responsible Company UUID"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,7 @@ class Duties(CrudCollection):
|
|||||||
active_row = dict(
|
active_row = dict(
|
||||||
is_confirmed=True, active=True, deleted=False, is_notification_send=True
|
is_confirmed=True, active=True, deleted=False, is_notification_send=True
|
||||||
)
|
)
|
||||||
|
list_of_created = []
|
||||||
|
|
||||||
execution = Departments.find_or_create(
|
execution = Departments.find_or_create(
|
||||||
department_name="Execution Office",
|
department_name="Execution Office",
|
||||||
@@ -98,6 +99,7 @@ class Duties(CrudCollection):
|
|||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(execution)
|
||||||
it_dept = Departments.find_or_create(
|
it_dept = Departments.find_or_create(
|
||||||
department_name="IT Department",
|
department_name="IT Department",
|
||||||
department_code="ITD001",
|
department_code="ITD001",
|
||||||
@@ -105,39 +107,46 @@ class Duties(CrudCollection):
|
|||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(it_dept)
|
||||||
bm_duty = Duty.find_or_create(
|
bm_duty = Duty.find_or_create(
|
||||||
duty_name="Business Manager",
|
duty_name="Business Manager",
|
||||||
duty_code="BM0001",
|
duty_code="BM0001",
|
||||||
duty_description="Business Manager",
|
duty_description="Business Manager",
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(bm_duty)
|
||||||
it_duty = Duty.find_or_create(
|
it_duty = Duty.find_or_create(
|
||||||
duty_name="IT Manager",
|
duty_name="IT Manager",
|
||||||
duty_code="IT0001",
|
duty_code="IT0001",
|
||||||
duty_description="IT Manager",
|
duty_description="IT Manager",
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(it_duty)
|
||||||
bulk_duty = Duty.find_or_create(
|
bulk_duty = Duty.find_or_create(
|
||||||
duty_name="BULK",
|
duty_name="BULK",
|
||||||
duty_code="BULK",
|
duty_code="BULK",
|
||||||
duty_description="BULK RECORDS OF THE COMPANY",
|
duty_description="BULK RECORDS OF THE COMPANY",
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(bulk_duty)
|
||||||
occu_duty = Duty.find_or_create(
|
occu_duty = Duty.find_or_create(
|
||||||
duty_name="OCCUPANT",
|
duty_name="OCCUPANT",
|
||||||
duty_code="OCCUPANT",
|
duty_code="OCCUPANT",
|
||||||
duty_description="OCCUPANT RECORDS OF THE COMPANY",
|
duty_description="OCCUPANT RECORDS OF THE COMPANY",
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
cls.find_or_create(
|
list_of_created.append(occu_duty)
|
||||||
|
duties_created_bm = cls.find_or_create(
|
||||||
company_id=company_id,
|
company_id=company_id,
|
||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
duties_id=bm_duty.id,
|
duties_id=bm_duty.id,
|
||||||
duties_uu_id=str(bm_duty.uu_id),
|
duties_uu_id=str(bm_duty.uu_id),
|
||||||
department_id=execution.id,
|
department_id=execution.id,
|
||||||
|
department_uu_id=str(execution.uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
cls.find_or_create(
|
list_of_created.append(duties_created_bm)
|
||||||
|
duties_created_it = cls.find_or_create(
|
||||||
company_id=company_id,
|
company_id=company_id,
|
||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
duties_id=it_duty.id,
|
duties_id=it_duty.id,
|
||||||
@@ -146,7 +155,8 @@ class Duties(CrudCollection):
|
|||||||
department_uu_id=str(it_dept.uu_id),
|
department_uu_id=str(it_dept.uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
cls.find_or_create(
|
list_of_created.append(duties_created_it)
|
||||||
|
duties_created__ex = cls.find_or_create(
|
||||||
company_id=company_id,
|
company_id=company_id,
|
||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
duties_id=bulk_duty.id,
|
duties_id=bulk_duty.id,
|
||||||
@@ -155,7 +165,8 @@ class Duties(CrudCollection):
|
|||||||
department_uu_id=str(execution.uu_id),
|
department_uu_id=str(execution.uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
cls.find_or_create(
|
list_of_created.append(duties_created__ex)
|
||||||
|
duties_created_at = cls.find_or_create(
|
||||||
company_id=company_id,
|
company_id=company_id,
|
||||||
company_uu_id=str(company_uu_id),
|
company_uu_id=str(company_uu_id),
|
||||||
duties_id=occu_duty.id,
|
duties_id=occu_duty.id,
|
||||||
@@ -164,6 +175,9 @@ class Duties(CrudCollection):
|
|||||||
department_uu_id=str(execution.uu_id),
|
department_uu_id=str(execution.uu_id),
|
||||||
**active_row,
|
**active_row,
|
||||||
)
|
)
|
||||||
|
list_of_created.append(duties_created_at)
|
||||||
|
return list_of_created
|
||||||
|
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_bulk_duties_of_a_company(cls, company_id):
|
def get_bulk_duties_of_a_company(cls, company_id):
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import datetime
|
import datetime
|
||||||
from decimal import Decimal
|
from decimal import Decimal
|
||||||
from typing import Union
|
|
||||||
|
|
||||||
from sqlalchemy import (
|
from sqlalchemy import (
|
||||||
TIMESTAMP,
|
TIMESTAMP,
|
||||||
@@ -24,8 +23,6 @@ from sqlalchemy_mixins.repr import ReprMixin
|
|||||||
from sqlalchemy_mixins.smartquery import SmartQueryMixin
|
from sqlalchemy_mixins.smartquery import SmartQueryMixin
|
||||||
|
|
||||||
from api_library.date_time_actions.date_functions import DateTimeLocal, client_arrow
|
from api_library.date_time_actions.date_functions import DateTimeLocal, client_arrow
|
||||||
from api_objects import EmployeeTokenObject, OccupantTokenObject
|
|
||||||
from api_objects.auth.token_objects import Credentials
|
|
||||||
|
|
||||||
from databases.sql_models.sql_operations import FilterAttributes
|
from databases.sql_models.sql_operations import FilterAttributes
|
||||||
from databases.sql_models.postgres_database import Base
|
from databases.sql_models.postgres_database import Base
|
||||||
@@ -80,7 +77,7 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
"created_by_id",
|
"created_by_id",
|
||||||
]
|
]
|
||||||
|
|
||||||
creds: Credentials = None # The credentials to use in the model.
|
creds = None # The credentials to use in the model.
|
||||||
client_arrow: DateTimeLocal = None # The arrow to use in the model.
|
client_arrow: DateTimeLocal = None # The arrow to use in the model.
|
||||||
valid_record_dict: dict = {"active": True, "deleted": False}
|
valid_record_dict: dict = {"active": True, "deleted": False}
|
||||||
valid_record_args = lambda class_: [class_.active == True, class_.deleted == False]
|
valid_record_args = lambda class_: [class_.active == True, class_.deleted == False]
|
||||||
@@ -94,7 +91,7 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def set_user_define_properties(
|
def set_user_define_properties(
|
||||||
cls, token: Union[EmployeeTokenObject, OccupantTokenObject]
|
cls, token
|
||||||
):
|
):
|
||||||
cls.creds = token.credentials
|
cls.creds = token.credentials
|
||||||
cls.client_arrow = DateTimeLocal(is_client=True, timezone=token.timezone)
|
cls.client_arrow = DateTimeLocal(is_client=True, timezone=token.timezone)
|
||||||
@@ -149,7 +146,6 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
formatted_date = client_arrow.get(str(val)).format(
|
formatted_date = client_arrow.get(str(val)).format(
|
||||||
"DD-MM-YYYY HH:mm:ss"
|
"DD-MM-YYYY HH:mm:ss"
|
||||||
)
|
)
|
||||||
print(key, "isinstance(value_type, datetime) | ", formatted_date)
|
|
||||||
return str(formatted_date) if val else None
|
return str(formatted_date) if val else None
|
||||||
elif isinstance(value_type, bool):
|
elif isinstance(value_type, bool):
|
||||||
return bool(val) if val else None
|
return bool(val) if val else None
|
||||||
@@ -175,7 +171,7 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
"""
|
"""
|
||||||
check_kwargs = cls.extract_system_fields(kwargs)
|
check_kwargs = cls.extract_system_fields(kwargs)
|
||||||
cls.pre_query = cls.query.filter(cls.expiry_ends < system_arrow.now().date())
|
cls.pre_query = cls.query.filter(cls.expiry_ends < system_arrow.now().date())
|
||||||
already_record = cls.filter_by_one(**check_kwargs, system=True).data
|
already_record = cls.filter_by_one(system=True, **check_kwargs).data
|
||||||
cls.pre_query = None
|
cls.pre_query = None
|
||||||
if already_record:
|
if already_record:
|
||||||
if already_record.deleted:
|
if already_record.deleted:
|
||||||
@@ -202,9 +198,10 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
created_record = cls()
|
created_record = cls()
|
||||||
for key, value in check_kwargs.items():
|
for key, value in check_kwargs.items():
|
||||||
setattr(created_record, key, value)
|
setattr(created_record, key, value)
|
||||||
created_record.flush()
|
if getattr(cls.creds, 'person_id', None) and getattr(cls.creds, 'person_name', None):
|
||||||
cls.created_by_id = cls.creds.person_id
|
cls.created_by_id = cls.creds.person_id
|
||||||
cls.created_by = cls.creds.person_name
|
cls.created_by = cls.creds.person_name
|
||||||
|
created_record.flush()
|
||||||
return created_record
|
return created_record
|
||||||
|
|
||||||
def update(self, **kwargs):
|
def update(self, **kwargs):
|
||||||
@@ -223,9 +220,11 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
setattr(self, key, value)
|
setattr(self, key, value)
|
||||||
|
|
||||||
if is_confirmed_argument:
|
if is_confirmed_argument:
|
||||||
|
if getattr(self.creds, 'person_id', None) and getattr(self.creds, 'person_name', None):
|
||||||
self.confirmed_by_id = self.creds.person_id
|
self.confirmed_by_id = self.creds.person_id
|
||||||
self.confirmed_by = self.creds.person_name
|
self.confirmed_by = self.creds.person_name
|
||||||
else:
|
else:
|
||||||
|
if getattr(self.creds, 'person_id', None) and getattr(self.creds, 'person_name', None):
|
||||||
self.updated_by_id = self.creds.person_id
|
self.updated_by_id = self.creds.person_id
|
||||||
self.updated_by = self.creds.person_name
|
self.updated_by = self.creds.person_name
|
||||||
self.flush()
|
self.flush()
|
||||||
@@ -252,8 +251,6 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
exclude.extend(
|
exclude.extend(
|
||||||
list(set(self.__exclude__fields__ or []).difference(exclude))
|
list(set(self.__exclude__fields__ or []).difference(exclude))
|
||||||
)
|
)
|
||||||
for i in self.__system_default_model__:
|
|
||||||
print("i", str(i)[-2:])
|
|
||||||
exclude.extend(
|
exclude.extend(
|
||||||
[
|
[
|
||||||
element
|
element
|
||||||
@@ -278,27 +275,27 @@ class CrudMixin(Base, SmartQueryMixin, SessionMixin, FilterAttributes):
|
|||||||
if value_of_database is not None:
|
if value_of_database is not None:
|
||||||
return_dict[key] = value_of_database
|
return_dict[key] = value_of_database
|
||||||
|
|
||||||
all_arguments = [
|
# all_arguments = [
|
||||||
record
|
# record
|
||||||
for record in self.__class__.__dict__
|
# for record in self.__class__.__dict__
|
||||||
if "_" not in record[0] and "id" not in record[-2:]
|
# if "_" not in record[0] and "id" not in record[-2:]
|
||||||
]
|
# ]
|
||||||
|
#
|
||||||
for all_argument in all_arguments:
|
# for all_argument in all_arguments:
|
||||||
column = getattr(self.__class__, all_argument)
|
# column = getattr(self.__class__, all_argument)
|
||||||
is_populate = isinstance(column, InstrumentedAttribute) and not hasattr(
|
# is_populate = isinstance(column, InstrumentedAttribute) and not hasattr(
|
||||||
column, "foreign_keys"
|
# column, "foreign_keys"
|
||||||
)
|
# )
|
||||||
if is_populate and all_argument in include_joins or []:
|
# if is_populate and all_argument in include_joins or []:
|
||||||
populate_arg = getattr(self, all_argument, None)
|
# populate_arg = getattr(self, all_argument, None)
|
||||||
if isinstance(populate_arg, list):
|
# if isinstance(populate_arg, list):
|
||||||
return_dict[all_argument] = [
|
# return_dict[all_argument] = [
|
||||||
arg.get_dict() if arg else [] for arg in populate_arg
|
# arg.get_dict() if arg else [] for arg in populate_arg
|
||||||
]
|
# ]
|
||||||
elif getattr(populate_arg, "get_dict", None):
|
# elif getattr(populate_arg, "get_dict", None):
|
||||||
return_dict[all_argument] = (
|
# return_dict[all_argument] = (
|
||||||
populate_arg.get_dict() if populate_arg else []
|
# populate_arg.get_dict() if populate_arg else []
|
||||||
)
|
# )
|
||||||
return dict(sorted(return_dict.items(), reverse=False))
|
return dict(sorted(return_dict.items(), reverse=False))
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ class UsersTokens(CrudCollection):
|
|||||||
token_type: Mapped[str] = mapped_column(String(16), server_default="RememberMe")
|
token_type: Mapped[str] = mapped_column(String(16), server_default="RememberMe")
|
||||||
token: Mapped[str] = mapped_column(String, server_default="")
|
token: Mapped[str] = mapped_column(String, server_default="")
|
||||||
domain: Mapped[str] = mapped_column(String, server_default="")
|
domain: Mapped[str] = mapped_column(String, server_default="")
|
||||||
expires_at = mapped_column(TIMESTAMP, default=str(system_arrow.shift(days=3)))
|
expires_at = mapped_column(
|
||||||
|
TIMESTAMP, default=str(system_arrow.shift(date=system_arrow.now(),days=3))
|
||||||
|
)
|
||||||
|
|
||||||
# users = relationship("Users", back_populates="tokens", foreign_keys=[user_id])
|
# users = relationship("Users", back_populates="tokens", foreign_keys=[user_id])
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
services:
|
services:
|
||||||
|
|
||||||
# commercial_mongo_service:
|
commercial_mongo_service:
|
||||||
# container_name: commercial_mongo_service
|
container_name: commercial_mongo_service
|
||||||
# image: "bitnami/mongodb:latest"
|
image: "bitnami/mongodb:latest"
|
||||||
## image: "bitnami/mongodb:4.4.1-debian-10-r3"
|
# image: "bitnami/mongodb:4.4.1-debian-10-r3"
|
||||||
# networks:
|
networks:
|
||||||
# - network_store_services
|
- network_store_services
|
||||||
# environment:
|
environment:
|
||||||
# - MONGODB_DISABLE_ENFORCE_AUTH=true
|
- MONGODB_DISABLE_ENFORCE_AUTH=true
|
||||||
# - MONGODB_ROOT_PASSWORD=root
|
- MONGODB_ROOT_PASSWORD=root
|
||||||
# - MONGODB_DATABASE=mongo_database
|
- MONGODB_DATABASE=mongo_database
|
||||||
# - MONGODB_USERNAME=mongo_user
|
- MONGODB_USERNAME=mongo_user
|
||||||
# - MONGODB_PASSWORD=mongo_password
|
- MONGODB_PASSWORD=mongo_password
|
||||||
# - MONGO_INITDB_ROOT_USERNAME=mongo_user
|
- MONGO_INITDB_ROOT_USERNAME=mongo_user
|
||||||
# - MONGO_INITDB_ROOT_PASSWORD=mongo_password
|
- MONGO_INITDB_ROOT_PASSWORD=mongo_password
|
||||||
# - MONGO_INITDB_DATABASE=mongo_database
|
- MONGO_INITDB_DATABASE=mongo_database
|
||||||
# volumes:
|
volumes:
|
||||||
# - wag_commercial_mongodb_data:/bitnami/mongodb
|
- wag_commercial_mongodb_data:/bitnami/mongodb
|
||||||
# ports:
|
ports:
|
||||||
# - "11110:27017"
|
- "11110:27017"
|
||||||
|
|
||||||
commercial_memory_service:
|
commercial_memory_service:
|
||||||
container_name: commercial_memory_service
|
container_name: commercial_memory_service
|
||||||
@@ -44,6 +44,8 @@ services:
|
|||||||
- POSTGRES_DB=wag_database
|
- POSTGRES_DB=wag_database
|
||||||
- POSTGRES_USER=berkay_wag_user
|
- POSTGRES_USER=berkay_wag_user
|
||||||
- POSTGRES_PASSWORD=berkay_wag_user_password
|
- POSTGRES_PASSWORD=berkay_wag_user_password
|
||||||
|
depends_on:
|
||||||
|
- commercial_mongo_service
|
||||||
ports:
|
ports:
|
||||||
- "5434:5432"
|
- "5434:5432"
|
||||||
volumes:
|
volumes:
|
||||||
@@ -60,6 +62,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- network_store_services
|
- network_store_services
|
||||||
depends_on:
|
depends_on:
|
||||||
|
- wag_management_init_service
|
||||||
- grafana
|
- grafana
|
||||||
|
|
||||||
wag_management_service_second:
|
wag_management_service_second:
|
||||||
@@ -73,6 +76,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- network_store_services
|
- network_store_services
|
||||||
depends_on:
|
depends_on:
|
||||||
|
- wag_management_init_service
|
||||||
- grafana
|
- grafana
|
||||||
|
|
||||||
wag_management_init_service:
|
wag_management_init_service:
|
||||||
@@ -83,7 +87,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- network_store_services
|
- network_store_services
|
||||||
depends_on:
|
depends_on:
|
||||||
- wag_management_service
|
- postgres_commercial
|
||||||
|
|
||||||
wag_management_test_service:
|
wag_management_test_service:
|
||||||
container_name: wag_management_test_service
|
container_name: wag_management_test_service
|
||||||
@@ -164,7 +168,7 @@ volumes:
|
|||||||
wag_cronjob-volume:
|
wag_cronjob-volume:
|
||||||
wag_postgres_commercial_data:
|
wag_postgres_commercial_data:
|
||||||
grafana_data:
|
grafana_data:
|
||||||
# wag_commercial_mongodb_data:
|
wag_commercial_mongodb_data:
|
||||||
|
|
||||||
# environment:
|
# environment:
|
||||||
# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database
|
||||||
|
|||||||
@@ -5,16 +5,14 @@ from fastapi.exceptions import HTTPException
|
|||||||
|
|
||||||
from middlewares.token_middleware import AuthHeaderMiddleware
|
from middlewares.token_middleware import AuthHeaderMiddleware
|
||||||
from application.create_file import create_app
|
from application.create_file import create_app
|
||||||
from application.app_runner_init import create_endpoints_from_api_functions
|
|
||||||
from handlers_exception import (
|
from handlers_exception import (
|
||||||
exception_handler_http,
|
exception_handler_http,
|
||||||
exception_handler_exception,
|
exception_handler_exception,
|
||||||
)
|
)
|
||||||
from prometheus_fastapi_instrumentator import Instrumentator
|
from prometheus_fastapi_instrumentator import Instrumentator
|
||||||
# from prometheus_client import Counter, Histogram
|
import routers
|
||||||
|
|
||||||
|
app = create_app(routers=routers)
|
||||||
app = create_app()
|
|
||||||
Instrumentator().instrument(app=app).expose(app=app)
|
Instrumentator().instrument(app=app).expose(app=app)
|
||||||
|
|
||||||
app.add_middleware(
|
app.add_middleware(
|
||||||
@@ -30,7 +28,6 @@ app.add_middleware(AuthHeaderMiddleware)
|
|||||||
|
|
||||||
app.add_exception_handler(HTTPException, exception_handler_http)
|
app.add_exception_handler(HTTPException, exception_handler_http)
|
||||||
app.add_exception_handler(Exception, exception_handler_exception)
|
app.add_exception_handler(Exception, exception_handler_exception)
|
||||||
create_endpoints_from_api_functions(api_app=app)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
uvicorn_config = {
|
uvicorn_config = {
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
from databases import EndpointRestriction
|
|
||||||
|
|
||||||
|
|
||||||
def create_endpoints_from_api_functions(api_app):
|
|
||||||
|
|
||||||
for route in api_app.routes:
|
|
||||||
route_path, route_summary = (
|
|
||||||
str(getattr(route, "path")),
|
|
||||||
str(getattr(route, "name")) or "",
|
|
||||||
)
|
|
||||||
# if route_path in Config.INSECURE_PATHS:
|
|
||||||
# continue
|
|
||||||
# print('route_path ', route_path, 'route_summary', route_summary)
|
|
||||||
create_dict = dict(
|
|
||||||
is_confirmed=True,
|
|
||||||
active=True,
|
|
||||||
deleted=False,
|
|
||||||
is_notification_send=True,
|
|
||||||
)
|
|
||||||
methods = [method.lower() for method in getattr(route, "methods")]
|
|
||||||
for route_method in methods:
|
|
||||||
restriction = EndpointRestriction.find_or_create(
|
|
||||||
**dict(
|
|
||||||
endpoint_method=route_method,
|
|
||||||
endpoint_name=route_path,
|
|
||||||
endpoint_desc=route_summary.replace("_", " "),
|
|
||||||
endpoint_function=route_summary,
|
|
||||||
**create_dict,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
if not restriction.is_found:
|
|
||||||
restriction.endpoint_code = f"AR{str(restriction.id).zfill(3)}"
|
|
||||||
restriction.save()
|
|
||||||
return
|
|
||||||
@@ -1,11 +1,10 @@
|
|||||||
def create_app():
|
def create_app(routers):
|
||||||
from fastapi import FastAPI
|
from fastapi import FastAPI
|
||||||
from fastapi.responses import JSONResponse
|
from fastapi.responses import JSONResponse
|
||||||
from fastapi.openapi.utils import get_openapi
|
from fastapi.openapi.utils import get_openapi
|
||||||
from fastapi.responses import RedirectResponse
|
from fastapi.responses import RedirectResponse
|
||||||
|
|
||||||
from api_configs import Config
|
from api_configs import Config
|
||||||
import routers
|
|
||||||
|
|
||||||
api_app = FastAPI(title=str(Config.TITLE), default_response_class=JSONResponse)
|
api_app = FastAPI(title=str(Config.TITLE), default_response_class=JSONResponse)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
arrow
|
arrow
|
||||||
|
requests
|
||||||
Deprecated
|
Deprecated
|
||||||
fastapi
|
fastapi
|
||||||
python-dotenv
|
python-dotenv
|
||||||
|
|||||||
@@ -1 +1,89 @@
|
|||||||
__all__ = []
|
from .authentication.router import login_route
|
||||||
|
from .people.router import people_router
|
||||||
|
from .users.router import user_route
|
||||||
|
|
||||||
|
from .company.company.router import company_route
|
||||||
|
from .company.department.router import department_route
|
||||||
|
from .company.duty.router import duty_route
|
||||||
|
from .company.duties.router import duties_route
|
||||||
|
|
||||||
|
from .building.build.router import build_route
|
||||||
|
from .building.buildparts.router import build_parts_route
|
||||||
|
from .building.buildarea.router import build_area_route
|
||||||
|
from .building.buildsites.router import build_sites_route
|
||||||
|
from .building.buildtypes.router import build_types_route
|
||||||
|
from .building.livingspaces.router import build_living_space
|
||||||
|
|
||||||
|
from .decision_book.decision_book.router import build_decision_book_route
|
||||||
|
|
||||||
|
from .decision_book.decision_book_person.router import (
|
||||||
|
build_decision_book_people_route,
|
||||||
|
)
|
||||||
|
from .decision_book.decision_book_items.router import (
|
||||||
|
build_decision_book_items_route,
|
||||||
|
)
|
||||||
|
from .project_decision_book.project_decision_book.router import (
|
||||||
|
build_project_decision_book_route,
|
||||||
|
)
|
||||||
|
from .project_decision_book.project_decision_book_person.router import (
|
||||||
|
build_project_decision_book_person_route,
|
||||||
|
)
|
||||||
|
from .api.router import internal_route
|
||||||
|
from .events.events.router import event_route
|
||||||
|
from .company.staff.router import staff_route
|
||||||
|
from .company.employee.router import employee_route
|
||||||
|
|
||||||
|
from .events.events.bind_events_router import bind_events_route
|
||||||
|
from .events.models.router import model_route
|
||||||
|
from .events.models.bind_events_router import bind_modules_route
|
||||||
|
|
||||||
|
from .events.modelentities.router import model_entities_route
|
||||||
|
from .events.modules.router import modules_route
|
||||||
|
from .events.services.bind_services_router import bind_services_route
|
||||||
|
from .events.services.router import services_route
|
||||||
|
|
||||||
|
from .rules.router import endpoint_restriction_route
|
||||||
|
from .address.address.router import address_router
|
||||||
|
from .address.post_code.router import post_code_router
|
||||||
|
from .application.enums_and_drops.router import enums_route
|
||||||
|
from .application.occupants.router import occupant_types_route
|
||||||
|
from .decision_book.decision_book_invitations.router import build_decision_book_invitations
|
||||||
|
|
||||||
|
|
||||||
|
__all__ = [
|
||||||
|
"enums_route",
|
||||||
|
"occupant_types_route",
|
||||||
|
"internal_route",
|
||||||
|
"address_router",
|
||||||
|
"post_code_router",
|
||||||
|
"login_route",
|
||||||
|
"duty_route",
|
||||||
|
"duties_route",
|
||||||
|
"people_router",
|
||||||
|
"user_route",
|
||||||
|
"company_route",
|
||||||
|
"department_route",
|
||||||
|
"build_route",
|
||||||
|
"build_parts_route",
|
||||||
|
"build_sites_route",
|
||||||
|
"build_area_route",
|
||||||
|
"build_living_space",
|
||||||
|
"build_decision_book_route",
|
||||||
|
"build_decision_book_people_route",
|
||||||
|
"build_decision_book_items_route",
|
||||||
|
"build_project_decision_book_route",
|
||||||
|
"staff_route",
|
||||||
|
"employee_route",
|
||||||
|
"build_types_route",
|
||||||
|
"bind_events_route",
|
||||||
|
"event_route",
|
||||||
|
"model_route",
|
||||||
|
"model_entities_route",
|
||||||
|
"modules_route",
|
||||||
|
"bind_services_route",
|
||||||
|
"bind_modules_route",
|
||||||
|
"services_route",
|
||||||
|
"build_project_decision_book_person_route",
|
||||||
|
"endpoint_restriction_route",
|
||||||
|
"build_decision_book_invitations",
|
||||||
|
]
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ class BankReceive(BaseModel):
|
|||||||
summary="Receive isbank xls service from mail reader service",
|
summary="Receive isbank xls service from mail reader service",
|
||||||
)
|
)
|
||||||
def is_bank_retrieve_account_records(request: Request, bank_data: ApiReceive):
|
def is_bank_retrieve_account_records(request: Request, bank_data: ApiReceive):
|
||||||
from database_sql_models import AccountRecords
|
from databases import AccountRecords
|
||||||
|
|
||||||
data_dict = bank_data.model_dump()
|
data_dict = bank_data.model_dump()
|
||||||
data_bulk = json.loads(zlib.decompress(b64decode(data_dict["data"])))
|
data_bulk = json.loads(zlib.decompress(b64decode(data_dict["data"])))
|
||||||
|
|||||||
35
service_app/routers/events/models/bind_events_router.py
Normal file
35
service_app/routers/events/models/bind_events_router.py
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
from fastapi.routing import APIRouter
|
||||||
|
from fastapi.requests import Request
|
||||||
|
|
||||||
|
from api_services.redis.auth_actions.token import parse_token_object_to_dict
|
||||||
|
from api_validations.validations_request import (
|
||||||
|
RegisterModules2Occupant,
|
||||||
|
RegisterModules2Employee,
|
||||||
|
PatchRecord,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
bind_modules_route = APIRouter(prefix="/bind/modules", tags=["Binds"])
|
||||||
|
bind_modules_route.include_router(bind_modules_route, include_in_schema=True)
|
||||||
|
|
||||||
|
|
||||||
|
@bind_modules_route.post(path="/occupant", summary="Register Event to Occupant")
|
||||||
|
def bind_events_occupant(request: Request, data: RegisterModules2Occupant):
|
||||||
|
token_dict = parse_token_object_to_dict(request=request)
|
||||||
|
return token_dict.available_event(data=data, token_dict=token_dict)
|
||||||
|
|
||||||
|
|
||||||
|
@bind_modules_route.post(path="/employee", summary="Register Event to Employee")
|
||||||
|
def bind_events_employee(request: Request, data: RegisterModules2Employee):
|
||||||
|
token_dict = parse_token_object_to_dict(request=request)
|
||||||
|
return token_dict.available_event(data=data, token_dict=token_dict)
|
||||||
|
|
||||||
|
|
||||||
|
@bind_modules_route.patch(
|
||||||
|
path="/patch/{event_uu_id}", summary="Patch Bind Events with given auth levels"
|
||||||
|
)
|
||||||
|
def bind_events_patch(request: Request, event_uu_id: str, data: PatchRecord):
|
||||||
|
token_dict = parse_token_object_to_dict(request=request)
|
||||||
|
return token_dict.available_event(
|
||||||
|
data=data, event_uu_id=event_uu_id, token_dict=token_dict
|
||||||
|
)
|
||||||
@@ -17,6 +17,10 @@ COPY ../api_configs ./service_app_init/api_configs
|
|||||||
COPY ../api_events ./service_app_init/api_events
|
COPY ../api_events ./service_app_init/api_events
|
||||||
COPY ../api_library ./service_app_init/api_library
|
COPY ../api_library ./service_app_init/api_library
|
||||||
COPY ../api_validations ./service_app_init/api_validations
|
COPY ../api_validations ./service_app_init/api_validations
|
||||||
|
COPY ../api_objects ./service_app_init/api_objects
|
||||||
|
COPY ../api_services ./service_app_init/api_services
|
||||||
|
COPY ../service_app/application ./service_app_init/application
|
||||||
|
COPY ../service_app/routers ./service_app_init/routers
|
||||||
|
|
||||||
WORKDIR /service_app_init
|
WORKDIR /service_app_init
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,20 @@
|
|||||||
from service_app_init.initialize_app.initialize_default_department import (
|
from .initialize_default_department import (
|
||||||
create_occupant_types_defaults,
|
create_occupant_types_defaults,
|
||||||
create_application_defaults,
|
create_application_defaults,
|
||||||
)
|
)
|
||||||
from service_app_init.initialize_app.initiator import init_api_enums_build_types
|
from .initiator import init_api_enums_build_types
|
||||||
from service_app_init.initialize_app.model_initator import copy_validations_to_database
|
from .model_initator import copy_validations_to_database
|
||||||
from service_app_init.initialize_app.modules_and_services_init import (
|
from .modules_and_services_init import (
|
||||||
create_endpoints_from_api_functions,
|
create_endpoints_from_api_functions,
|
||||||
create_modules_and_services_and_actions,
|
create_modules_and_services_and_actions,
|
||||||
)
|
)
|
||||||
|
|
||||||
from service_app_init.initialize_app.event_initator import (
|
from .event_initator import (
|
||||||
add_events_all_services_and_occupant_types,
|
add_events_all_services_and_occupant_types,
|
||||||
create_all_events_from_actions,
|
create_all_events_from_actions,
|
||||||
add_events_to_system_super_user,
|
add_events_to_system_super_user,
|
||||||
)
|
)
|
||||||
from service_app_init.initialize_app.initialize_identity_address_defaults import (
|
from .initialize_identity_address_defaults import (
|
||||||
create_identity_address_defaults,
|
create_identity_address_defaults,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ active_confirmed = dict(
|
|||||||
|
|
||||||
def create_all_events_from_actions():
|
def create_all_events_from_actions():
|
||||||
import api_events.events as events
|
import api_events.events as events
|
||||||
|
from databases import EndpointRestriction
|
||||||
an_empty_list, duplicate_list = [], []
|
an_empty_list, duplicate_list = [], []
|
||||||
|
|
||||||
for event in events.__all__:
|
for event in events.__all__:
|
||||||
@@ -32,26 +32,34 @@ def create_all_events_from_actions():
|
|||||||
) in event_selected.__event_keys__.items():
|
) in event_selected.__event_keys__.items():
|
||||||
an_empty_list.append(event_selected_key)
|
an_empty_list.append(event_selected_key)
|
||||||
event_selected_function = getattr(event_selected, event_selected_one, None)
|
event_selected_function = getattr(event_selected, event_selected_one, None)
|
||||||
|
if not event_selected.action.endpoint:
|
||||||
if endpoint_match := event_selected.action_match:
|
raise Exception(
|
||||||
|
f"Endpoint not found in {event_selected.__name__} class"
|
||||||
|
)
|
||||||
|
endpoint_restriction = EndpointRestriction.filter_one(
|
||||||
|
EndpointRestriction.endpoint_name.ilike(f"%{event_selected.action.endpoint}%"),
|
||||||
|
system=True
|
||||||
|
).data
|
||||||
|
if endpoint_restriction:
|
||||||
if event_selected_function:
|
if event_selected_function:
|
||||||
selected_event = Events.filter_one(
|
selected_event = Events.filter_one(
|
||||||
Events.event_type==event_selected.event_type,
|
Events.event_type==event_selected.event_type,
|
||||||
Events.function_class==event,
|
Events.function_class==event,
|
||||||
Events.function_code==event_selected_key,
|
Events.function_code==event_selected_key,
|
||||||
Events.endpoint_id==endpoint_match.id,
|
Events.endpoint_id==endpoint_restriction.id,
|
||||||
Events.endpoint_uu_id==str(endpoint_match.uu_id),
|
Events.endpoint_uu_id==str(endpoint_restriction.uu_id),
|
||||||
*Events.valid_record_args(Events)
|
system=True
|
||||||
).data
|
).data
|
||||||
if not selected_event:
|
if not selected_event:
|
||||||
created_event = Events.create(
|
created_event = Events.find_or_create(
|
||||||
event_type=event_selected.event_type,
|
event_type=event_selected.event_type,
|
||||||
function_class=event,
|
function_class=event,
|
||||||
function_code=event_selected_key,
|
function_code=event_selected_key,
|
||||||
endpoint_id=endpoint_match.id,
|
endpoint_id=endpoint_restriction.id,
|
||||||
endpoint_uu_id=str(endpoint_match.uu_id),
|
endpoint_uu_id=str(endpoint_restriction.uu_id),
|
||||||
**active_confirmed
|
**active_confirmed
|
||||||
)
|
)
|
||||||
|
Events.save()
|
||||||
print(f"Event created: {created_event.uu_id}")
|
print(f"Event created: {created_event.uu_id}")
|
||||||
|
|
||||||
for item in an_empty_list:
|
for item in an_empty_list:
|
||||||
@@ -63,19 +71,17 @@ def create_all_events_from_actions():
|
|||||||
raise Exception(
|
raise Exception(
|
||||||
f"Duplicate events found: {duplicate_list}. Check events folder look for given uu-ids."
|
f"Duplicate events found: {duplicate_list}. Check events folder look for given uu-ids."
|
||||||
)
|
)
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def add_events_all_services_and_occupant_types():
|
def add_events_all_services_and_occupant_types():
|
||||||
import api_events.tasks2events as tasks2events
|
import api_events.tasks2events as tasks2events
|
||||||
|
|
||||||
|
|
||||||
for event_block in tasks2events.__all__:
|
for event_block in tasks2events.__all__:
|
||||||
event_block_class = getattr(tasks2events, event_block)
|
event_block_class = getattr(tasks2events, event_block)
|
||||||
service_selected = Services.filter_one(
|
service_selected = Services.filter_one(
|
||||||
Services.service_code==getattr(event_block_class, "service_code", None),
|
Services.service_code==getattr(event_block_class, "service_code", None),
|
||||||
*Services.valid_record_args(Services)
|
system=True
|
||||||
).data
|
).data
|
||||||
if not service_selected:
|
if not service_selected:
|
||||||
raise Exception(f"{event_block_class.service_code} service is not found")
|
raise Exception(f"{event_block_class.service_code} service is not found")
|
||||||
@@ -90,21 +96,24 @@ def add_events_all_services_and_occupant_types():
|
|||||||
service_uu_id=str(service_selected.uu_id),
|
service_uu_id=str(service_selected.uu_id),
|
||||||
event_id=event_id,
|
event_id=event_id,
|
||||||
event_uu_id=event_uu_id,
|
event_uu_id=event_uu_id,
|
||||||
**active_confirmed
|
|
||||||
)
|
)
|
||||||
|
Service2Events.save()
|
||||||
|
Service2Events.is_confirmed = True
|
||||||
|
Service2Events.save()
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
def add_events_to_system_super_user():
|
def add_events_to_system_super_user():
|
||||||
|
|
||||||
add_service = Services.filter_by_one(service_code="SRE-SUE", **Services.valid_record_dict).data
|
add_service = Services.filter_by_one(system=True, service_code="SRE-SUE").data
|
||||||
if not add_service:
|
if not add_service:
|
||||||
raise Exception("Service not found")
|
raise Exception("Service not found")
|
||||||
|
|
||||||
find_staff = Staff.filter_by_one(staff_code="SUE", **Staff.valid_record_dict).data
|
find_staff = Staff.filter_by_one(system=True, staff_code="SUE").data
|
||||||
if not find_staff:
|
if not find_staff:
|
||||||
raise Exception("Super User not found")
|
raise Exception("Super User not found")
|
||||||
|
|
||||||
add_employee = Employees.filter_by_one(staff_id=find_staff.id, **Employees.valid_record_dict).data
|
add_employee = Employees.filter_by_one(system=True, staff_id=find_staff.id).data
|
||||||
if not add_employee:
|
if not add_employee:
|
||||||
raise Exception("Super User Employee not found")
|
raise Exception("Super User Employee not found")
|
||||||
|
|
||||||
@@ -112,3 +121,4 @@ def add_events_to_system_super_user():
|
|||||||
service_id=add_service.id,
|
service_id=add_service.id,
|
||||||
employee_id=add_employee.id,
|
employee_id=add_employee.id,
|
||||||
)
|
)
|
||||||
|
Employees.save()
|
||||||
|
|||||||
@@ -140,7 +140,10 @@ def create_occupant_types_defaults():
|
|||||||
]
|
]
|
||||||
|
|
||||||
for list_occupant_type in list_occupant_types:
|
for list_occupant_type in list_occupant_types:
|
||||||
OccupantTypes.find_or_create(**{"is_confirmed": True, **list_occupant_type})
|
created_type = OccupantTypes.find_or_create(**{"is_confirmed": True, **list_occupant_type})
|
||||||
|
created_type.save()
|
||||||
|
created_type.is_confirmed = True
|
||||||
|
created_type.save()
|
||||||
|
|
||||||
|
|
||||||
def create_application_defaults():
|
def create_application_defaults():
|
||||||
@@ -157,6 +160,7 @@ def create_application_defaults():
|
|||||||
RelationshipDutyCompany,
|
RelationshipDutyCompany,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
created_list = []
|
||||||
created_by, confirmed_by = "System", "System"
|
created_by, confirmed_by = "System", "System"
|
||||||
company_management = Companies.find_or_create(
|
company_management = Companies.find_or_create(
|
||||||
**{
|
**{
|
||||||
@@ -171,40 +175,28 @@ def create_application_defaults():
|
|||||||
"created_by": created_by,
|
"created_by": created_by,
|
||||||
"confirmed_by": confirmed_by,
|
"confirmed_by": confirmed_by,
|
||||||
"is_commercial": True,
|
"is_commercial": True,
|
||||||
**dict(
|
|
||||||
is_confirmed=True, active=True, deleted=False, is_notification_send=True
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
created_list.append(company_management)
|
||||||
|
|
||||||
Duties.init_a_company_default_duties(
|
another_list = Duties.init_a_company_default_duties(
|
||||||
company_id=company_management.id, company_uu_id=str(company_management.uu_id)
|
company_id=company_management.id, company_uu_id=str(company_management.uu_id)
|
||||||
)
|
)
|
||||||
|
created_list.extend(another_list)
|
||||||
bulk_duty = Duty.filter_by_one(
|
bulk_duty = Duty.filter_by_one(
|
||||||
|
system=True,
|
||||||
duty_code="BULK",
|
duty_code="BULK",
|
||||||
).data
|
).data
|
||||||
|
|
||||||
RelationshipDutyCompany.find_or_create(
|
|
||||||
duties_id=bulk_duty.id,
|
|
||||||
owner_id=company_management.id,
|
|
||||||
member_id=company_management.id,
|
|
||||||
parent_id=None,
|
|
||||||
is_confirmed=True,
|
|
||||||
active=True,
|
|
||||||
deleted=False,
|
|
||||||
is_notification_send=True,
|
|
||||||
)
|
|
||||||
|
|
||||||
it_dept = Departments.filter_by_one(
|
it_dept = Departments.filter_by_one(
|
||||||
|
system=True,
|
||||||
department_name="IT Department",
|
department_name="IT Department",
|
||||||
department_code="ITD001",
|
department_code="ITD001",
|
||||||
company_id=company_management.id,
|
company_id=company_management.id,
|
||||||
company_uu_id=str(company_management.uu_id),
|
company_uu_id=str(company_management.uu_id),
|
||||||
**Departments.valid_record_dict,
|
|
||||||
is_confirmed=True,
|
|
||||||
).data
|
).data
|
||||||
|
|
||||||
Duty.find_or_create(
|
created_duty = Duty.find_or_create(
|
||||||
**dict(
|
**dict(
|
||||||
duty_name="Database Manager",
|
duty_name="Database Manager",
|
||||||
duty_code="DM",
|
duty_code="DM",
|
||||||
@@ -217,7 +209,9 @@ def create_application_defaults():
|
|||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
Duty.find_or_create(
|
created_list.append(created_duty)
|
||||||
|
|
||||||
|
created_duty = Duty.find_or_create(
|
||||||
**dict(
|
**dict(
|
||||||
duty_name="Network Manager",
|
duty_name="Network Manager",
|
||||||
duty_code="NM",
|
duty_code="NM",
|
||||||
@@ -230,6 +224,8 @@ def create_application_defaults():
|
|||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
created_list.append(created_duty)
|
||||||
|
|
||||||
application_manager_duty = Duty.find_or_create(
|
application_manager_duty = Duty.find_or_create(
|
||||||
duty_name="Application Manager",
|
duty_name="Application Manager",
|
||||||
duty_code="AM",
|
duty_code="AM",
|
||||||
@@ -241,6 +237,7 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(application_manager_duty)
|
||||||
application_super_user_duty = Duty.find_or_create(
|
application_super_user_duty = Duty.find_or_create(
|
||||||
duty_name="Super User",
|
duty_name="Super User",
|
||||||
duty_code="SUE",
|
duty_code="SUE",
|
||||||
@@ -252,7 +249,7 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(application_super_user_duty)
|
||||||
application_manager_duties = Duties.find_or_create(
|
application_manager_duties = Duties.find_or_create(
|
||||||
department_id=it_dept.id,
|
department_id=it_dept.id,
|
||||||
department_uu_id=str(it_dept.uu_id),
|
department_uu_id=str(it_dept.uu_id),
|
||||||
@@ -265,6 +262,7 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(application_manager_duties)
|
||||||
super_user_duties = Duties.find_or_create(
|
super_user_duties = Duties.find_or_create(
|
||||||
department_id=it_dept.id,
|
department_id=it_dept.id,
|
||||||
department_uu_id=str(it_dept.uu_id),
|
department_uu_id=str(it_dept.uu_id),
|
||||||
@@ -277,6 +275,31 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(super_user_duties)
|
||||||
|
RelationshipDutyCompany.find_or_create(
|
||||||
|
duties_id=application_manager_duties.id,
|
||||||
|
owner_id=company_management.id,
|
||||||
|
member_id=company_management.id,
|
||||||
|
parent_id=None,
|
||||||
|
child_count=0,
|
||||||
|
is_confirmed=True,
|
||||||
|
active=True,
|
||||||
|
deleted=False,
|
||||||
|
is_notification_send=True,
|
||||||
|
)
|
||||||
|
created_list.append(application_manager_duties)
|
||||||
|
RelationshipDutyCompany.find_or_create(
|
||||||
|
duties_id=super_user_duties.id,
|
||||||
|
owner_id=company_management.id,
|
||||||
|
member_id=company_management.id,
|
||||||
|
parent_id=None,
|
||||||
|
child_count=0,
|
||||||
|
is_confirmed=True,
|
||||||
|
active=True,
|
||||||
|
deleted=False,
|
||||||
|
is_notification_send=True,
|
||||||
|
)
|
||||||
|
created_list.append(super_user_duties)
|
||||||
|
|
||||||
app_manager = People.find_or_create(
|
app_manager = People.find_or_create(
|
||||||
**{
|
**{
|
||||||
@@ -293,12 +316,9 @@ def create_application_defaults():
|
|||||||
"tax_no": "1231231231",
|
"tax_no": "1231231231",
|
||||||
"created_by": created_by,
|
"created_by": created_by,
|
||||||
"confirmed_by": confirmed_by,
|
"confirmed_by": confirmed_by,
|
||||||
**dict(
|
|
||||||
is_confirmed=True, active=True, deleted=False, is_notification_send=True
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
created_list.append(app_manager)
|
||||||
sup_manager = People.find_or_create(
|
sup_manager = People.find_or_create(
|
||||||
**{
|
**{
|
||||||
"firstname": "Berkay Super User",
|
"firstname": "Berkay Super User",
|
||||||
@@ -314,12 +334,9 @@ def create_application_defaults():
|
|||||||
"tax_no": "1231231232",
|
"tax_no": "1231231232",
|
||||||
"created_by": created_by,
|
"created_by": created_by,
|
||||||
"confirmed_by": confirmed_by,
|
"confirmed_by": confirmed_by,
|
||||||
**dict(
|
|
||||||
is_confirmed=True, active=True, deleted=False, is_notification_send=True
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
created_list.append(sup_manager)
|
||||||
application_manager_staff = Staff.find_or_create(
|
application_manager_staff = Staff.find_or_create(
|
||||||
staff_description="Application Manager",
|
staff_description="Application Manager",
|
||||||
staff_name="Application Manager Employee",
|
staff_name="Application Manager Employee",
|
||||||
@@ -331,6 +348,7 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(application_manager_staff)
|
||||||
super_user_staff = Staff.find_or_create(
|
super_user_staff = Staff.find_or_create(
|
||||||
staff_description="Super User",
|
staff_description="Super User",
|
||||||
staff_name="Super User Employee",
|
staff_name="Super User Employee",
|
||||||
@@ -342,6 +360,7 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(super_user_staff)
|
||||||
app_manager_employee = Employees.find_or_create(
|
app_manager_employee = Employees.find_or_create(
|
||||||
staff_id=application_manager_staff.id,
|
staff_id=application_manager_staff.id,
|
||||||
staff_uu_id=str(application_manager_staff.uu_id),
|
staff_uu_id=str(application_manager_staff.uu_id),
|
||||||
@@ -352,6 +371,8 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(app_manager_employee)
|
||||||
|
|
||||||
super_user_employee = Employees.find_or_create(
|
super_user_employee = Employees.find_or_create(
|
||||||
staff_id=super_user_staff.id,
|
staff_id=super_user_staff.id,
|
||||||
staff_uu_id=str(super_user_staff.uu_id),
|
staff_uu_id=str(super_user_staff.uu_id),
|
||||||
@@ -362,6 +383,8 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(super_user_employee)
|
||||||
|
|
||||||
app_manager_user = Users.find_or_create(
|
app_manager_user = Users.find_or_create(
|
||||||
person_id=app_manager.id,
|
person_id=app_manager.id,
|
||||||
person_uu_id=str(app_manager.uu_id),
|
person_uu_id=str(app_manager.uu_id),
|
||||||
@@ -377,11 +400,12 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
if not app_manager_user.is_found:
|
created_list.append(app_manager_user)
|
||||||
app_manager_user.reset_password_token()
|
app_manager_user.reset_password_token()
|
||||||
MongoQueryIdentity(
|
mongo_engine = MongoQueryIdentity(
|
||||||
company_uuid=company_management.uu_id
|
company_uuid=company_management.uu_id
|
||||||
).create_domain_via_user(
|
)
|
||||||
|
mongo_engine.create_domain_via_user(
|
||||||
payload=DomainViaUser(
|
payload=DomainViaUser(
|
||||||
user_uu_id=str(app_manager_user.uu_id),
|
user_uu_id=str(app_manager_user.uu_id),
|
||||||
main_domain="evyos.com.tr",
|
main_domain="evyos.com.tr",
|
||||||
@@ -404,15 +428,18 @@ def create_application_defaults():
|
|||||||
deleted=False,
|
deleted=False,
|
||||||
is_notification_send=True,
|
is_notification_send=True,
|
||||||
)
|
)
|
||||||
|
created_list.append(sup_manager_employee)
|
||||||
|
|
||||||
if not sup_manager_employee.is_found:
|
|
||||||
sup_manager_employee.reset_password_token()
|
sup_manager_employee.reset_password_token()
|
||||||
MongoQueryIdentity(
|
mongo_engine.create_domain_via_user(
|
||||||
company_uuid=company_management.uu_id
|
|
||||||
).create_domain_via_user(
|
|
||||||
payload=DomainViaUser(
|
payload=DomainViaUser(
|
||||||
user_uu_id=str(sup_manager_employee.uu_id),
|
user_uu_id=str(sup_manager_employee.uu_id),
|
||||||
main_domain="evyos.com.tr",
|
main_domain="evyos.com.tr",
|
||||||
other_domains_list=["evyos.com.tr"],
|
other_domains_list=["evyos.com.tr"],
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
People.save()
|
||||||
|
for created_list_item in created_list:
|
||||||
|
created_list_item.is_confirmed = True
|
||||||
|
created_list_item.save()
|
||||||
|
print("All Defaults Create is now completed")
|
||||||
|
|||||||
@@ -236,6 +236,7 @@ def init_api_enums_build_types():
|
|||||||
key=str(insert_enum["type_code"]).upper(),
|
key=str(insert_enum["type_code"]).upper(),
|
||||||
description=insert_enum["type_name"],
|
description=insert_enum["type_name"],
|
||||||
)
|
)
|
||||||
|
BuildTypes.save()
|
||||||
|
|
||||||
# for insert_meeting_type in insert_meeting_types:
|
# for insert_meeting_type in insert_meeting_types:
|
||||||
# ApiEnumDropdown.find_or_create(
|
# ApiEnumDropdown.find_or_create(
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
import validations
|
import api_validations.validations_request as validations
|
||||||
|
|
||||||
# from database_sql_models.event.event import Models, ModelEntities
|
|
||||||
|
|
||||||
|
|
||||||
def get_upper_only(text: str):
|
def get_upper_only(text: str):
|
||||||
|
|||||||
@@ -1,14 +1,42 @@
|
|||||||
import typing
|
|
||||||
|
|
||||||
from databases import (
|
from databases import (
|
||||||
Modules,
|
Modules,
|
||||||
Duty,
|
Duty,
|
||||||
Services,
|
Services,
|
||||||
Service2Events,
|
|
||||||
OccupantTypes,
|
OccupantTypes,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def create_endpoints_from_api_functions(routers):
|
||||||
|
from application.create_file import create_app
|
||||||
|
from databases import EndpointRestriction
|
||||||
|
api_app = create_app(routers=routers)
|
||||||
|
|
||||||
|
for route in api_app.routes:
|
||||||
|
route_path, route_summary = (
|
||||||
|
str(getattr(route, "path")),
|
||||||
|
str(getattr(route, "name")) or "",
|
||||||
|
)
|
||||||
|
|
||||||
|
methods = [method.lower() for method in getattr(route, "methods")]
|
||||||
|
for route_method in methods:
|
||||||
|
restriction = EndpointRestriction.find_or_create(
|
||||||
|
**dict(
|
||||||
|
endpoint_method=route_method,
|
||||||
|
endpoint_name=route_path,
|
||||||
|
endpoint_desc=route_summary.replace("_", " "),
|
||||||
|
endpoint_function=route_summary,
|
||||||
|
)
|
||||||
|
)
|
||||||
|
restriction.endpoint_code = f"AR{str(restriction.id).zfill(3)}"
|
||||||
|
restriction.save()
|
||||||
|
restriction.is_confirmed = True
|
||||||
|
restriction.save()
|
||||||
|
|
||||||
|
EndpointRestriction.save()
|
||||||
|
return api_app
|
||||||
|
|
||||||
|
|
||||||
def create_services_building(module_dict: dict):
|
def create_services_building(module_dict: dict):
|
||||||
"""
|
"""
|
||||||
4. Service [Bina] Yönetim - OPTIONAL
|
4. Service [Bina] Yönetim - OPTIONAL
|
||||||
@@ -20,55 +48,78 @@ def create_services_building(module_dict: dict):
|
|||||||
10. Service [Bina] Onarım + OPTIONAL
|
10. Service [Bina] Onarım + OPTIONAL
|
||||||
11 Service [Bina] Gözlem + OPTIONAL
|
11 Service [Bina] Gözlem + OPTIONAL
|
||||||
"""
|
"""
|
||||||
Services.find_or_create(
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Management",
|
service_name="Building Management",
|
||||||
service_description="Building Management Service",
|
service_description="Building Management Service",
|
||||||
service_code="SR-BLD-MNG",
|
service_code="SR-BLD-MNG",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Legal Affairs",
|
service_name="Building Legal Affairs",
|
||||||
service_description="Building Legal Affairs Service",
|
service_description="Building Legal Affairs Service",
|
||||||
service_code="SR-BLD-LGL",
|
service_code="SR-BLD-LGL",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Cleaning",
|
service_name="Building Cleaning",
|
||||||
service_description="Building Cleaning Service",
|
service_description="Building Cleaning Service",
|
||||||
service_code="SR-BLD-CLN",
|
service_code="SR-BLD-CLN",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Heating System",
|
service_name="Building Heating System",
|
||||||
service_description="Building Heating System Service",
|
service_description="Building Heating System Service",
|
||||||
service_code="SR-BLD-HTS",
|
service_code="SR-BLD-HTS",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Security System",
|
service_name="Building Security System",
|
||||||
service_description="Building Security System Service",
|
service_description="Building Security System Service",
|
||||||
service_code="SR-BLD-SEC",
|
service_code="SR-BLD-SEC",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Maintenance",
|
service_name="Building Maintenance",
|
||||||
service_description="Building Maintenance Service",
|
service_description="Building Maintenance Service",
|
||||||
service_code="SR-BLD-MNT",
|
service_code="SR-BLD-MNT",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Repair",
|
service_name="Building Repair",
|
||||||
service_description="Building Repair Service",
|
service_description="Building Repair Service",
|
||||||
service_code="SR-BLD-RPR",
|
service_code="SR-BLD-RPR",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Building Observation",
|
service_name="Building Observation",
|
||||||
service_description="Building Observation Service",
|
service_description="Building Observation Service",
|
||||||
service_code="SR-BLD-OBS",
|
service_code="SR-BLD-OBS",
|
||||||
)
|
)
|
||||||
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -80,36 +131,52 @@ def create_services_flat(module_dict: dict):
|
|||||||
14. Service [Daire] Temizlik + OPTIONAL
|
14. Service [Daire] Temizlik + OPTIONAL
|
||||||
11 Service [Daire] Gözlem + OPTIONAL
|
11 Service [Daire] Gözlem + OPTIONAL
|
||||||
"""
|
"""
|
||||||
Services.find_or_create(
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Flat Rent",
|
service_name="Flat Rent",
|
||||||
service_description="Flat Rent Service",
|
service_description="Flat Rent Service",
|
||||||
service_code="SR-FLT-RNT",
|
service_code="SR-FLT-RNT",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Flat Sale",
|
service_name="Flat Sale",
|
||||||
service_description="Flat Sale Service",
|
service_description="Flat Sale Service",
|
||||||
service_code="SR-FLT-SAL",
|
service_code="SR-FLT-SAL",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Flat Renovation",
|
service_name="Flat Renovation",
|
||||||
service_description="Flat Renovation Service",
|
service_description="Flat Renovation Service",
|
||||||
service_code="SR-FLT-RNV",
|
service_code="SR-FLT-RNV",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Flat Cleaning",
|
service_name="Flat Cleaning",
|
||||||
service_description="Flat Cleaning Service",
|
service_description="Flat Cleaning Service",
|
||||||
service_code="SR-FLT-CLN",
|
service_code="SR-FLT-CLN",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Flat Observation",
|
service_name="Flat Observation",
|
||||||
service_description="Flat Observation Service",
|
service_description="Flat Observation Service",
|
||||||
service_code="SR-FLT-OBS",
|
service_code="SR-FLT-OBS",
|
||||||
)
|
)
|
||||||
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -120,30 +187,41 @@ def create_services_authenticate(module_dict: dict):
|
|||||||
service_description="Authenticate Service",
|
service_description="Authenticate Service",
|
||||||
service_code="AUTH",
|
service_code="AUTH",
|
||||||
)
|
)
|
||||||
|
authentication_service.save()
|
||||||
|
authentication_service.is_confirmed = True
|
||||||
|
authentication_service.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
def create_services_meeting(module_dict: dict):
|
def create_services_meeting(module_dict: dict):
|
||||||
|
|
||||||
Services.find_or_create(
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Meeting Regular",
|
service_name="Meeting Regular",
|
||||||
service_description="Regular Meeting Service",
|
service_description="Regular Meeting Service",
|
||||||
service_code="MEET-REG",
|
service_code="MEET-REG",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Meeting Emergency",
|
service_name="Meeting Emergency",
|
||||||
service_description="Emergency Meeting Service",
|
service_description="Emergency Meeting Service",
|
||||||
service_code="MEET-EMR",
|
service_code="MEET-EMR",
|
||||||
)
|
)
|
||||||
Services.find_or_create(
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
|
created_service = Services.find_or_create(
|
||||||
**module_dict,
|
**module_dict,
|
||||||
service_name="Meeting Demand",
|
service_name="Meeting Demand",
|
||||||
service_description="Demand Meeting Service",
|
service_description="Demand Meeting Service",
|
||||||
service_code="MEET-DMN",
|
service_code="MEET-DMN",
|
||||||
)
|
)
|
||||||
|
created_service.save()
|
||||||
|
created_service.is_confirmed = True
|
||||||
|
created_service.save()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -156,9 +234,11 @@ def create_modules_and_services_and_actions():
|
|||||||
"module_code": "EVYOS-ERP",
|
"module_code": "EVYOS-ERP",
|
||||||
"module_layer": 1,
|
"module_layer": 1,
|
||||||
"is_default_module": False,
|
"is_default_module": False,
|
||||||
"is_confirmed": True,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
erp_module.save()
|
||||||
|
erp_module.is_confirmed = True
|
||||||
|
erp_module.save()
|
||||||
|
|
||||||
build_module = Modules.find_or_create(
|
build_module = Modules.find_or_create(
|
||||||
**{
|
**{
|
||||||
@@ -167,9 +247,11 @@ def create_modules_and_services_and_actions():
|
|||||||
"module_code": "BLD-MNG",
|
"module_code": "BLD-MNG",
|
||||||
"module_layer": 1,
|
"module_layer": 1,
|
||||||
"is_default_module": False,
|
"is_default_module": False,
|
||||||
"is_confirmed": True,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
build_module.save()
|
||||||
|
build_module.is_confirmed = True
|
||||||
|
build_module.save()
|
||||||
|
|
||||||
user_module = Modules.find_or_create(
|
user_module = Modules.find_or_create(
|
||||||
**{
|
**{
|
||||||
@@ -178,51 +260,56 @@ def create_modules_and_services_and_actions():
|
|||||||
"module_code": "USR-PUB",
|
"module_code": "USR-PUB",
|
||||||
"module_layer": 1,
|
"module_layer": 1,
|
||||||
"is_default_module": True,
|
"is_default_module": True,
|
||||||
"is_confirmed": True,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
user_module.save()
|
||||||
|
user_module.is_confirmed = True
|
||||||
|
user_module.save()
|
||||||
|
|
||||||
erp_module_module_dict = dict(
|
erp_module_module_dict = dict(
|
||||||
module_id=erp_module.id,
|
module_id=erp_module.id,
|
||||||
module_uu_id=str(erp_module.uu_id),
|
module_uu_id=str(erp_module.uu_id),
|
||||||
is_confirmed=True,
|
|
||||||
)
|
)
|
||||||
build_module_module_dict = dict(
|
build_module_module_dict = dict(
|
||||||
module_id=build_module.id,
|
module_id=build_module.id,
|
||||||
module_uu_id=str(build_module.uu_id),
|
module_uu_id=str(build_module.uu_id),
|
||||||
is_confirmed=True,
|
|
||||||
)
|
)
|
||||||
user_module_module_dict = dict(
|
user_module_module_dict = dict(
|
||||||
module_id=user_module.id,
|
module_id=user_module.id,
|
||||||
module_uu_id=str(user_module.uu_id),
|
module_uu_id=str(user_module.uu_id),
|
||||||
is_confirmed=True,
|
|
||||||
)
|
)
|
||||||
|
|
||||||
duty_objects = Duty.filter_all(
|
duty_objects = Duty.filter_all(
|
||||||
Duty.duty_code.notin_(["BULK", "OCCUPANT", "BM0001"])
|
Duty.duty_code.notin_(["BULK", "OCCUPANT", "BM0001"])
|
||||||
)
|
)
|
||||||
for duty_object in duty_objects.data:
|
for duty_object in duty_objects.data:
|
||||||
Services.find_or_create(
|
created_service = Services.find_or_create(
|
||||||
**erp_module_module_dict,
|
**erp_module_module_dict,
|
||||||
service_name=duty_object.duty_name,
|
service_name=duty_object.duty_name,
|
||||||
service_description=duty_object.duty_description,
|
service_description=duty_object.duty_description,
|
||||||
service_code=f"SRE-{duty_object.duty_code}",
|
service_code=f"SRE-{duty_object.duty_code}",
|
||||||
)
|
)
|
||||||
|
created_service.save()
|
||||||
|
created_service.is_confirmed=True
|
||||||
|
created_service.save()
|
||||||
|
|
||||||
occupant_types = OccupantTypes.filter_all()
|
occupant_types = OccupantTypes.filter_all()
|
||||||
for occupant_type in occupant_types.data:
|
for occupant_type in occupant_types.data:
|
||||||
Services.find_or_create(
|
created_service = Services.find_or_create(
|
||||||
**build_module_module_dict,
|
**build_module_module_dict,
|
||||||
service_name=occupant_type.occupant_type,
|
service_name=occupant_type.occupant_type,
|
||||||
service_description=occupant_type.occupant_description,
|
service_description=occupant_type.occupant_description,
|
||||||
service_code=f"SRO-{occupant_type.occupant_code}",
|
service_code=f"SRO-{occupant_type.occupant_code}",
|
||||||
)
|
)
|
||||||
|
created_service.save()
|
||||||
|
created_service.is_confirmed=True
|
||||||
|
created_service.save()
|
||||||
|
|
||||||
create_services_authenticate(module_dict=user_module_module_dict)
|
create_services_authenticate(module_dict=user_module_module_dict)
|
||||||
create_services_meeting(module_dict=build_module_module_dict)
|
create_services_meeting(module_dict=build_module_module_dict)
|
||||||
create_services_building(module_dict=build_module_module_dict)
|
create_services_building(module_dict=build_module_module_dict)
|
||||||
create_services_flat(module_dict=build_module_module_dict)
|
create_services_flat(module_dict=build_module_module_dict)
|
||||||
|
Modules.save()
|
||||||
return
|
return
|
||||||
#
|
#
|
||||||
# super_admin_module_created=None
|
# super_admin_module_created=None
|
||||||
|
|||||||
@@ -1,9 +1,14 @@
|
|||||||
arrow
|
|
||||||
alembic
|
alembic
|
||||||
|
arrow
|
||||||
|
requests
|
||||||
Deprecated
|
Deprecated
|
||||||
fastapi
|
fastapi
|
||||||
python-dotenv
|
|
||||||
pydantic
|
pydantic
|
||||||
sqlalchemy-mixins
|
sqlalchemy-mixins
|
||||||
|
redis
|
||||||
psycopg2-binary
|
psycopg2-binary
|
||||||
pymongo
|
pymongo
|
||||||
|
rsa
|
||||||
|
redmail
|
||||||
|
unidecode
|
||||||
|
cryptography
|
||||||
@@ -1,11 +1,32 @@
|
|||||||
|
|
||||||
|
|
||||||
|
confirmed_dict = {
|
||||||
|
"is_confirmed": True,
|
||||||
|
"active": True,
|
||||||
|
"is_notification_send": True,
|
||||||
|
"created_by": "System",
|
||||||
|
"confirmed_by": "System",
|
||||||
|
}
|
||||||
|
|
||||||
|
class TerminalColors:
|
||||||
|
HEADER = '\033[95m'
|
||||||
|
OKBLUE = '\033[94m'
|
||||||
|
OKCYAN = '\033[96m'
|
||||||
|
OKGREEN = '\033[92m'
|
||||||
|
WARNING = '\033[93m'
|
||||||
|
FAIL = '\033[91m'
|
||||||
|
ENDC = '\033[0m'
|
||||||
|
BOLD = '\033[1m'
|
||||||
|
UNDERLINE = '\033[4m'
|
||||||
|
|
||||||
|
|
||||||
def do_alembic():
|
def do_alembic():
|
||||||
from sqlalchemy import text
|
from sqlalchemy import text
|
||||||
from alembic_generate import generate_alembic_with_session
|
from alembic_generate import generate_alembic_with_session
|
||||||
|
|
||||||
generate_alembic_with_session(text=text)
|
generate_alembic_with_session(text=text)
|
||||||
|
|
||||||
|
def create_one_address(confirmed_dict):
|
||||||
def create_application_defaults_func(create_address=False):
|
|
||||||
from databases import (
|
from databases import (
|
||||||
AddressCity,
|
AddressCity,
|
||||||
AddressStreet,
|
AddressStreet,
|
||||||
@@ -15,37 +36,6 @@ def create_application_defaults_func(create_address=False):
|
|||||||
AddressState,
|
AddressState,
|
||||||
AddressCountry,
|
AddressCountry,
|
||||||
)
|
)
|
||||||
|
|
||||||
from initialize_app import (
|
|
||||||
create_modules_and_services_and_actions,
|
|
||||||
create_endpoints_from_api_functions,
|
|
||||||
create_all_events_from_actions,
|
|
||||||
create_application_defaults,
|
|
||||||
init_api_enums_build_types,
|
|
||||||
add_events_all_services_and_occupant_types,
|
|
||||||
add_events_to_system_super_user,
|
|
||||||
create_occupant_types_defaults,
|
|
||||||
)
|
|
||||||
|
|
||||||
create_application_defaults()
|
|
||||||
create_occupant_types_defaults()
|
|
||||||
init_api_enums_build_types()
|
|
||||||
|
|
||||||
create_endpoints_from_api_functions()
|
|
||||||
create_modules_and_services_and_actions()
|
|
||||||
if create_all_events_from_actions():
|
|
||||||
add_events_all_services_and_occupant_types()
|
|
||||||
add_events_to_system_super_user()
|
|
||||||
|
|
||||||
if not create_address:
|
|
||||||
return
|
|
||||||
confirmed_dict = {
|
|
||||||
"is_confirmed": True,
|
|
||||||
"active": True,
|
|
||||||
"is_notification_send": True,
|
|
||||||
"created_by": "System",
|
|
||||||
"confirmed_by": "System",
|
|
||||||
}
|
|
||||||
country = AddressCountry.find_or_create(
|
country = AddressCountry.find_or_create(
|
||||||
country_name="TÜRKİYE", country_code="TR", **confirmed_dict
|
country_name="TÜRKİYE", country_code="TR", **confirmed_dict
|
||||||
)
|
)
|
||||||
@@ -102,9 +92,63 @@ def create_application_defaults_func(create_address=False):
|
|||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
|
def create_application_defaults_func(create_address=False):
|
||||||
|
from initialize_app import (
|
||||||
|
create_modules_and_services_and_actions,
|
||||||
|
create_endpoints_from_api_functions,
|
||||||
|
create_all_events_from_actions,
|
||||||
|
create_application_defaults,
|
||||||
|
init_api_enums_build_types,
|
||||||
|
add_events_all_services_and_occupant_types,
|
||||||
|
add_events_to_system_super_user,
|
||||||
|
create_occupant_types_defaults,
|
||||||
|
)
|
||||||
|
import routers
|
||||||
|
try:
|
||||||
|
create_endpoints_from_api_functions(routers=routers)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_endpoints_from_api_functions Defaults Error", e)
|
||||||
|
try:
|
||||||
|
create_application_defaults()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_application_defaults Defaults Error", e)
|
||||||
|
try:
|
||||||
|
create_occupant_types_defaults()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_occupant_types_defaults Defaults Error", e)
|
||||||
|
try:
|
||||||
|
create_modules_and_services_and_actions()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_modules_and_services_and_actions Defaults Error", e)
|
||||||
|
try:
|
||||||
|
init_api_enums_build_types()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} init_api_enums_build_types Defaults Error", e)
|
||||||
|
try:
|
||||||
|
create_all_events_from_actions()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_all_events_from_actions Defaults Error", e)
|
||||||
|
try:
|
||||||
|
add_events_all_services_and_occupant_types()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} add_events_all_services_and_occupant_types Defaults Error", e)
|
||||||
|
try:
|
||||||
|
add_events_to_system_super_user()
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} add_events_to_system_super_user Defaults Error", e)
|
||||||
|
try:
|
||||||
|
if not create_address:
|
||||||
|
return
|
||||||
|
create_one_address(confirmed_dict=confirmed_dict)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"{TerminalColors.WARNING} create_one_address Defaults Error", e)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
print("service_app_init is running")
|
print("Service App Initial Default Runner is running")
|
||||||
init_alembic_address = False
|
|
||||||
if init_alembic_address:
|
|
||||||
do_alembic()
|
do_alembic()
|
||||||
|
init_alembic_address = True
|
||||||
|
if init_alembic_address:
|
||||||
create_application_defaults_func(create_address=False)
|
create_application_defaults_func(create_address=False)
|
||||||
|
print("Service App Initial Default Runner is completed")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user