wcz-layout
Version:
202 lines (201 loc) • 8 kB
JavaScript
import { p as createApi } from "./file-DUtvlVZX.mjs";
import { a as ResubmitApprovalSchema, c as ApprovalStatus, i as CreateApprovalSchema, n as ApproveApprovalSchema, o as WithdrawApprovalSchema, r as CancelApprovalSchema, u as ApprovalStepResult } from "./Approval-C-hF4jbT.mjs";
import { z as z$1 } from "zod";
import { createServerOnlyFn } from "@tanstack/react-start";
//#region src/data/server/approval.ts
const GetApprovalsSchema = z$1.object({
appName: z$1.string().min(1).max(255),
status: ApprovalStatus.optional(),
approverEmployeeId: z$1.string().min(1).max(20).optional(),
stepResult: ApprovalStepResult.optional()
});
const GetApprovalSchema = z$1.object({ id: z$1.uuid() });
const approvalApi = () => createApi({
baseURL: "APPROVAL_BASE_URL",
scopeKey: "approval"
});
const getApprovals = createServerOnlyFn(async ({ data }) => {
const input = GetApprovalsSchema.parse(data);
const queryParams = new URLSearchParams();
queryParams.append("applicationName", input.appName);
if (input.status) queryParams.append("status", input.status.toString());
if (input.approverEmployeeId) queryParams.append("approverEmployeeId", input.approverEmployeeId);
if (input.stepResult) queryParams.append("stepResult", input.stepResult.toString());
const { data: approvals } = await (await approvalApi()).request({
url: `/Requests/Requests?${queryParams.toString()}`,
method: "GET"
});
return approvals;
});
const getApproval = createServerOnlyFn(async ({ data }) => {
const input = GetApprovalSchema.parse(data);
const { data: approval } = await (await approvalApi()).request({
url: `/Requests/${input.id}`,
method: "GET"
});
return approval;
});
const createApproval = createServerOnlyFn(async ({ data }) => {
const input = CreateApprovalSchema.parse(data);
const { data: approval } = await (await approvalApi()).request({
url: `/Requests`,
method: "POST",
data: input
});
return approval;
});
const approveApproval = createServerOnlyFn(async ({ data }) => {
const input = ApproveApprovalSchema.parse(data);
const { data: approval } = await (await approvalApi()).request({
url: `/Requests/${input.id}/single-approval`,
method: "POST",
data: input
});
return approval;
});
const resubmitApproval = createServerOnlyFn(async ({ data }) => {
const input = ResubmitApprovalSchema.parse(data);
const { data: approval } = await (await approvalApi()).request({
url: `/Requests/${input.id}/resubmit`,
method: "POST",
data: input
});
return approval;
});
const withdrawApproval = createServerOnlyFn(async ({ data }) => {
const input = WithdrawApprovalSchema.parse(data);
await (await approvalApi()).request({
url: `/Requests/${input.id}/withdraw`,
method: "POST",
data: input
});
});
const cancelApproval = createServerOnlyFn(async ({ data }) => {
const input = CancelApprovalSchema.parse(data);
await (await approvalApi()).request({
url: `/Requests/${input.id}/cancel`,
method: "POST",
data: input
});
});
//#endregion
//#region src/data/server/peoplesoft.ts
const SearchEmployeesSchema = z$1.object({ searchTerm: z$1.string().min(1) });
const EmployeeIdSchema = z$1.object({ employeeId: z$1.string().min(1) });
const DepartmentIdSchema = z$1.object({ departmentId: z$1.string().min(1) });
const CompanyCodeSchema = z$1.object({ companyCode: z$1.string().min(1) });
const peoplesoftApi = () => createApi({
baseURL: "PEOPLESOFT_BASE_URL",
scopeKey: "peoplesoft"
});
const searchEmployees = createServerOnlyFn(async ({ data }) => {
const input = SearchEmployeesSchema.parse(data);
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/employee?search=${encodeURIComponent(input.searchTerm)}`,
method: "GET"
});
return employees;
});
const getEmployees = createServerOnlyFn(async () => {
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/employee/all`,
method: "GET"
});
return employees;
});
const getActiveEmployees = createServerOnlyFn(async () => {
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/employee/active`,
method: "GET"
});
return employees;
});
const getEmployeeByEmployeeId = createServerOnlyFn(async ({ data }) => {
const input = EmployeeIdSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/employee/${encodeURIComponent(input.employeeId)}`,
method: "GET"
});
return employee;
});
const getPreviousEmployeeIds = createServerOnlyFn(async () => {
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/employee/previousIds`,
method: "GET"
});
return employees;
});
const getEmployeeSupervisor = createServerOnlyFn(async ({ data }) => {
const input = EmployeeIdSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/employee/${encodeURIComponent(input.employeeId)}/supervisor`,
method: "GET"
});
return employee;
});
const getEmployeeSubordinates = createServerOnlyFn(async ({ data }) => {
const input = EmployeeIdSchema.parse(data);
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/employee/${encodeURIComponent(input.employeeId)}/subordinates`,
method: "GET"
});
return employees;
});
const getEmployeeManager = createServerOnlyFn(async ({ data }) => {
const input = EmployeeIdSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/employee/${encodeURIComponent(input.employeeId)}/manager`,
method: "GET"
});
return employee;
});
const getEmployeeGeneralManager = createServerOnlyFn(async ({ data }) => {
const input = EmployeeIdSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/employee/${encodeURIComponent(input.employeeId)}/generalManager`,
method: "GET"
});
return employee;
});
const getDepartments = createServerOnlyFn(async () => {
const { data: departments } = await (await peoplesoftApi()).request({
url: `/v1/department/all`,
method: "GET"
});
return departments;
});
const getDepartmentById = createServerOnlyFn(async ({ data }) => {
const input = DepartmentIdSchema.parse(data);
const { data: department } = await (await peoplesoftApi()).request({
url: `/v1/department/${encodeURIComponent(input.departmentId)}`,
method: "GET"
});
return department;
});
const getDepartmentManager = createServerOnlyFn(async ({ data }) => {
const input = DepartmentIdSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/department/${encodeURIComponent(input.departmentId)}/manager`,
method: "GET"
});
return employee;
});
const getDepartmentEmployees = createServerOnlyFn(async ({ data }) => {
const input = DepartmentIdSchema.parse(data);
const { data: employees } = await (await peoplesoftApi()).request({
url: `/v1/department/${encodeURIComponent(input.departmentId)}/employees`,
method: "GET"
});
return employees;
});
const getCompanyGeneralManager = createServerOnlyFn(async ({ data }) => {
const input = CompanyCodeSchema.parse(data);
const { data: employee } = await (await peoplesoftApi()).request({
url: `/v1/company/${encodeURIComponent(input.companyCode)}/generalManager`,
method: "GET"
});
return employee;
});
//#endregion
export { createApproval as C, withdrawApproval as D, resubmitApproval as E, cancelApproval as S, getApprovals as T, getPreviousEmployeeIds as _, getActiveEmployees as a, GetApprovalsSchema as b, getDepartmentEmployees as c, getEmployeeByEmployeeId as d, getEmployeeGeneralManager as f, getEmployees as g, getEmployeeSupervisor as h, SearchEmployeesSchema as i, getDepartmentManager as l, getEmployeeSubordinates as m, DepartmentIdSchema as n, getCompanyGeneralManager as o, getEmployeeManager as p, EmployeeIdSchema as r, getDepartmentById as s, CompanyCodeSchema as t, getDepartments as u, searchEmployees as v, getApproval as w, approveApproval as x, GetApprovalSchema as y };
//# sourceMappingURL=peoplesoft-Dz_JVtHm.mjs.map