UNPKG

wcz-layout

Version:

111 lines (98 loc) 3.11 kB
# peoplesoft ## Client - Employee: `employeesSearchQueryOptions` `employeesQueryOptions` `activeEmployeesQueryOptions` `employeeByIdQueryOptions` `previousEmployeeIdsQueryOptions` `employeeSupervisorQueryOptions` `employeeSubordinatesQueryOptions` `employeeManagerQueryOptions` `employeeGeneralManagerQueryOptions` `companyGeneralManagerQueryOptions` - Department: `departmentsQueryOptions` `departmentByIdQueryOptions` `departmentManagerQueryOptions` `departmentEmployeesQueryOptions` ## Server - Employee: `searchEmployees` `getEmployees` `getActiveEmployees` `getEmployeeByEmployeeId` `getPreviousEmployeeIds` `getEmployeeSupervisor` `getEmployeeSubordinates` `getEmployeeManager` `getEmployeeGeneralManager` `getCompanyGeneralManager` - Department: `getDepartments` `getDepartmentById` `getDepartmentManager` `getDepartmentEmployees` ## Schemas/Models ```ts const EmployeeSchema = z.object({ badgeId: z.string().trim(), category: z.string().trim(), categoryGroup: EmployeeCategoryGroup, companyCode: z.string().trim(), contactPhone: z.string().trim(), departmentId: z.string().trim(), departmentDescription: z.string().trim(), emailString: z.string().trim(), employeeId: z.string().trim(), extensionNumber: z.string().trim(), firstName: z.string().trim(), gender: z.string().trim(), hiredDate: z.date(), lastName: z.string().trim(), managerId: z.string().trim(), middleName: z.string().trim(), name: z.string().trim(), nameTitleCase: z.string().trim(), nfcSn: z.string().trim(), plantId: z.string().trim(), position: z.string().trim(), previousEmployeeIds: z.string().trim().nullable(), reHiredDate: z.date().nullable(), recordNumber: z.number(), status: EmployeeStatus, supervisorId: z.string().trim(), terminationDate: z.date().nullable(), terminationFutureDate: z.date().nullable(), type: z.string().trim(), upperDepartmentId: z.string().trim(), jobCode: z.string().trim(), jobDescription: z.string().trim(), terminationReason: z.string().trim().nullable(), supervisorRecordNumber: z.number(), }); const DepartmentSchema = z.object({ departmentId: z.string().trim(), description: z.string().trim(), managerId: z.string().trim(), managerRecordNumber: z.string().trim(), treeLevel: z.number(), upperDepartmentId: z.string().trim(), companyCode: z.string().trim(), location: z.string().trim(), salLocation: z.string().trim(), plantId: z.string().trim(), manager: EmployeeSchema, }); const EmployeeCategoryGroup = z.enum(["IDL", "FD", "FI"]); const EmployeeStatus = z.enum(["Active", "Terminated", "Leave of Absence"]); ``` ## Examples ```ts import { activeEmployeesQueryOptions } from "wcz-layout/data/client"; import { getEmployeeManager } from "wcz-layout/data/server"; // client const { data: employees = [] } = useQuery(activeEmployeesQueryOptions()); // server const manager = await getEmployeeManager({ data: { employeeId } }); ```