alchemy functions updated
This commit is contained in:
@@ -4,6 +4,7 @@ from typing import Union
|
||||
from fastapi import status, HTTPException
|
||||
from fastapi.responses import JSONResponse
|
||||
|
||||
from api_library.date_time_actions.date_functions import system_arrow
|
||||
from api_validations.validations_request import (
|
||||
InsertEmployees,
|
||||
BindEmployees2People,
|
||||
@@ -56,8 +57,14 @@ class EmployeeCreateEventMethods(MethodToEvent):
|
||||
data: InsertEmployees,
|
||||
token_dict: Union[EmployeeTokenObject, OccupantTokenObject],
|
||||
):
|
||||
person = People.find_one(uu_id=data.people_uu_id)
|
||||
staff = Staff.find_one(uu_id=data.staff_uu_id)
|
||||
person = People.filter_one(
|
||||
People.uu_id==data.people_uu_id,
|
||||
*People.valid_record_args(People),
|
||||
).data
|
||||
staff = Staff.filter_one(
|
||||
Staff.uu_id==data.staff_uu_id,
|
||||
*Staff.valid_record_args(Staff),
|
||||
).data
|
||||
if not staff:
|
||||
return JSONResponse(
|
||||
content={
|
||||
@@ -67,8 +74,7 @@ class EmployeeCreateEventMethods(MethodToEvent):
|
||||
},
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
)
|
||||
|
||||
created_employee = Employees.create(
|
||||
created_employee = Employees.find_or_create(
|
||||
staff_id=staff.id,
|
||||
staff_uu_id=str(staff.uu_id),
|
||||
people_id=person.id if person else None,
|
||||
@@ -77,7 +83,7 @@ class EmployeeCreateEventMethods(MethodToEvent):
|
||||
Employees.save()
|
||||
return JSONResponse(
|
||||
content={
|
||||
"completed": True if not created_employee.is_found else False,
|
||||
"completed": True,
|
||||
"message": "Create Employee record",
|
||||
"data": created_employee.get_dict(),
|
||||
},
|
||||
@@ -94,7 +100,10 @@ class EmployeeUpdateEventMethods(MethodToEvent):
|
||||
|
||||
@classmethod
|
||||
def employee_update(cls, employee_uu_id: str, data: PatchRecord, token_dict):
|
||||
find_one_employee = Employees.find_one_or_abort(uu_id=employee_uu_id)
|
||||
find_one_employee = Employees.filter_one(
|
||||
Employees.uu_id==employee_uu_id,
|
||||
*Employees.valid_record_args(Employees),
|
||||
).data
|
||||
access_authorized_employee = Employees.select_action(
|
||||
employee_id=getattr(token_dict, "employee_id", 5),
|
||||
filter_expr=[Employees.id == token_dict.get("")],
|
||||
@@ -178,8 +187,14 @@ class Employee2PeopleEmployEventMethods(MethodToEvent):
|
||||
|
||||
@classmethod
|
||||
def company_employee_employ(cls, data: BindEmployees2People, token_dict):
|
||||
selected_staff = Staff.find_one(uu_id=data.staff_uu_id)
|
||||
selected_people = People.find_one(uu_id=data.people_uu_id)
|
||||
selected_staff = Staff.filter_one(
|
||||
Staff.uu_id==data.staff_uu_id,
|
||||
*Staff.valid_record_args(Staff),
|
||||
).data
|
||||
selected_people = People.filter_one(
|
||||
People.uu_id==data.people_uu_id,
|
||||
*People.valid_record_args
|
||||
).data
|
||||
if not selected_staff:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
@@ -193,7 +208,7 @@ class Employee2PeopleEmployEventMethods(MethodToEvent):
|
||||
|
||||
find_one_employee = Employees.filter_active(
|
||||
Employees.staff_id == selected_staff.id,
|
||||
Employees.people_id == None,
|
||||
*Employees.valid_record_args(Employees),
|
||||
).data
|
||||
|
||||
staff_name_upper = str(selected_staff.staff_name).upper()
|
||||
@@ -207,9 +222,10 @@ class Employee2PeopleEmployEventMethods(MethodToEvent):
|
||||
status_code=status.HTTP_406_NOT_ACCEPTABLE,
|
||||
)
|
||||
if not data.expiry_starts:
|
||||
data.expiry_starts = datetime.now()
|
||||
data.expiry_starts = str(system_arrow.now())
|
||||
data.expiry_starts = str(system_arrow.get(str(data.expiry_starts)))
|
||||
|
||||
find_one_employee = find_one_employee[0].update(
|
||||
find_one_employee = find_one_employee.update(
|
||||
people_id=selected_people.id,
|
||||
expiry_starts=data.expiry_starts,
|
||||
**token_dict.update_creds,
|
||||
@@ -234,14 +250,20 @@ class Employee2PeopleFireEventMethods(MethodToEvent):
|
||||
|
||||
@classmethod
|
||||
def company_employee_fire(cls, data: BindEmployees2People, token_dict):
|
||||
selected_people = People.find_one(uu_id=data.people_uu_id)
|
||||
selected_people = People.filter_one(
|
||||
People.uu_id==data.people_uu_id,
|
||||
*People.valid_record_args(People),
|
||||
).data
|
||||
if not selected_people:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_404_NOT_FOUND,
|
||||
detail="People record not found",
|
||||
)
|
||||
|
||||
find_one_employee: Employees = Employees.find_one(people_id=selected_people.id)
|
||||
find_one_employee: Employees = Employees.filter_one(
|
||||
Employees.people_id==selected_people.id,
|
||||
*Employees.valid_record_args(Employees),
|
||||
).data
|
||||
if not find_one_employee:
|
||||
return JSONResponse(
|
||||
content={
|
||||
|
||||
Reference in New Issue
Block a user