wcz-layout
Version:
1 lines • 15.7 kB
Source Map (JSON)
{"version":3,"file":"peoplesoft-DTPGpN2h.mjs","names":[],"sources":["../src/data/server/approval.ts","../src/data/server/peoplesoft.ts"],"sourcesContent":["import { createServerOnlyFn } from \"@tanstack/react-start\";\nimport { z } from \"zod\";\nimport { createApi } from \"~/lib/createApi\";\nimport {\n ApproveApprovalSchema,\n CancelApprovalSchema,\n CreateApprovalSchema,\n ResubmitApprovalSchema,\n WithdrawApprovalSchema,\n} from \"~/models/approval/Approval\";\nimport type { Approval } from \"~/models/approval/Approval\";\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\n\nexport const GetApprovalsSchema = z.object({\n appName: z.string().min(1).max(255),\n status: ApprovalStatus.optional(),\n approverEmployeeId: z.string().min(1).max(20).optional(),\n stepResult: ApprovalStepResult.optional(),\n});\n\nexport const GetApprovalSchema = z.object({\n id: z.uuid(),\n});\n\nconst approvalApi = () => createApi({ baseURL: \"APPROVAL_BASE_URL\", scopeKey: \"approval\" });\n\nexport const getApprovals = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof GetApprovalsSchema> }): Promise<Array<Approval>> => {\n const input = GetApprovalsSchema.parse(data);\n const queryParams = new URLSearchParams();\n queryParams.append(\"applicationName\", input.appName);\n if (input.status) queryParams.append(\"status\", input.status.toString());\n if (input.approverEmployeeId)\n queryParams.append(\"approverEmployeeId\", input.approverEmployeeId);\n if (input.stepResult) queryParams.append(\"stepResult\", input.stepResult.toString());\n\n const api = await approvalApi();\n const { data: approvals } = await api.request<Array<Approval>>({\n url: `/Requests/Requests?${queryParams.toString()}`,\n method: \"GET\",\n });\n return approvals;\n },\n);\n\nexport const getApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof GetApprovalSchema> }): Promise<Approval> => {\n const input = GetApprovalSchema.parse(data);\n const api = await approvalApi();\n const { data: approval } = await api.request<Approval>({\n url: `/Requests/${input.id}`,\n method: \"GET\",\n });\n return approval;\n },\n);\n\nexport const createApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof CreateApprovalSchema> }): Promise<Approval> => {\n const input = CreateApprovalSchema.parse(data);\n const api = await approvalApi();\n const { data: approval } = await api.request<Approval>({\n url: `/Requests`,\n method: \"POST\",\n data: input,\n });\n return approval;\n },\n);\n\nexport const approveApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof ApproveApprovalSchema> }): Promise<Approval> => {\n const input = ApproveApprovalSchema.parse(data);\n const api = await approvalApi();\n const { data: approval } = await api.request<Approval>({\n url: `/Requests/${input.id}/single-approval`,\n method: \"POST\",\n data: input,\n });\n return approval;\n },\n);\n\nexport const resubmitApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof ResubmitApprovalSchema> }): Promise<Approval> => {\n const input = ResubmitApprovalSchema.parse(data);\n const api = await approvalApi();\n const { data: approval } = await api.request<Approval>({\n url: `/Requests/${input.id}/resubmit`,\n method: \"POST\",\n data: input,\n });\n return approval;\n },\n);\n\nexport const withdrawApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof WithdrawApprovalSchema> }): Promise<void> => {\n const input = WithdrawApprovalSchema.parse(data);\n const api = await approvalApi();\n await api.request<void>({\n url: `/Requests/${input.id}/withdraw`,\n method: \"POST\",\n data: input,\n });\n },\n);\n\nexport const cancelApproval = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof CancelApprovalSchema> }): Promise<void> => {\n const input = CancelApprovalSchema.parse(data);\n const api = await approvalApi();\n await api.request<void>({\n url: `/Requests/${input.id}/cancel`,\n method: \"POST\",\n data: input,\n });\n },\n);\n","import { createServerOnlyFn } from \"@tanstack/react-start\";\nimport { z } from \"zod\";\nimport { createApi } from \"~/lib/createApi\";\nimport type { Department } from \"~/models/peoplesoft/Department\";\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\n\nexport const SearchEmployeesSchema = z.object({\n searchTerm: z.string().min(1),\n});\n\nexport const EmployeeIdSchema = z.object({\n employeeId: z.string().min(1),\n});\n\nexport const DepartmentIdSchema = z.object({\n departmentId: z.string().min(1),\n});\n\nexport const CompanyCodeSchema = z.object({\n companyCode: z.string().min(1),\n});\n\nconst peoplesoftApi = () => createApi({ baseURL: \"PEOPLESOFT_BASE_URL\", scopeKey: \"peoplesoft\" });\n\nexport const searchEmployees = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof SearchEmployeesSchema> }): Promise<Array<Employee>> => {\n const input = SearchEmployeesSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/employee?search=${encodeURIComponent(input.searchTerm)}`,\n method: \"GET\",\n });\n return employees;\n },\n);\n\nexport const getEmployees = createServerOnlyFn(async (): Promise<Array<Employee>> => {\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/employee/all`,\n method: \"GET\",\n });\n return employees;\n});\n\nexport const getActiveEmployees = createServerOnlyFn(async (): Promise<Array<Employee>> => {\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/employee/active`,\n method: \"GET\",\n });\n return employees;\n});\n\nexport const getEmployeeByEmployeeId = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof EmployeeIdSchema> }): Promise<Employee> => {\n const input = EmployeeIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/employee/${encodeURIComponent(input.employeeId)}`,\n method: \"GET\",\n });\n return employee;\n },\n);\n\nexport const getPreviousEmployeeIds = createServerOnlyFn(async (): Promise<Array<Employee>> => {\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/employee/previousIds`,\n method: \"GET\",\n });\n return employees;\n});\n\nexport const getEmployeeSupervisor = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof EmployeeIdSchema> }): Promise<Employee> => {\n const input = EmployeeIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/employee/${encodeURIComponent(input.employeeId)}/supervisor`,\n method: \"GET\",\n });\n return employee;\n },\n);\n\nexport const getEmployeeSubordinates = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof EmployeeIdSchema> }): Promise<Array<Employee>> => {\n const input = EmployeeIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/employee/${encodeURIComponent(input.employeeId)}/subordinates`,\n method: \"GET\",\n });\n return employees;\n },\n);\n\nexport const getEmployeeManager = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof EmployeeIdSchema> }): Promise<Employee> => {\n const input = EmployeeIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/employee/${encodeURIComponent(input.employeeId)}/manager`,\n method: \"GET\",\n });\n return employee;\n },\n);\n\nexport const getEmployeeGeneralManager = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof EmployeeIdSchema> }): Promise<Employee> => {\n const input = EmployeeIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/employee/${encodeURIComponent(input.employeeId)}/generalManager`,\n method: \"GET\",\n });\n return employee;\n },\n);\n\nexport const getDepartments = createServerOnlyFn(async (): Promise<Array<Department>> => {\n const api = await peoplesoftApi();\n const { data: departments } = await api.request<Array<Department>>({\n url: `/v1/department/all`,\n method: \"GET\",\n });\n return departments;\n});\n\nexport const getDepartmentById = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof DepartmentIdSchema> }): Promise<Department> => {\n const input = DepartmentIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: department } = await api.request<Department>({\n url: `/v1/department/${encodeURIComponent(input.departmentId)}`,\n method: \"GET\",\n });\n return department;\n },\n);\n\nexport const getDepartmentManager = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof DepartmentIdSchema> }): Promise<Employee> => {\n const input = DepartmentIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/department/${encodeURIComponent(input.departmentId)}/manager`,\n method: \"GET\",\n });\n return employee;\n },\n);\n\nexport const getDepartmentEmployees = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof DepartmentIdSchema> }): Promise<Array<Employee>> => {\n const input = DepartmentIdSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employees } = await api.request<Array<Employee>>({\n url: `/v1/department/${encodeURIComponent(input.departmentId)}/employees`,\n method: \"GET\",\n });\n return employees;\n },\n);\n\nexport const getCompanyGeneralManager = createServerOnlyFn(\n async ({ data }: { data: z.input<typeof CompanyCodeSchema> }): Promise<Employee> => {\n const input = CompanyCodeSchema.parse(data);\n const api = await peoplesoftApi();\n const { data: employee } = await api.request<Employee>({\n url: `/v1/company/${encodeURIComponent(input.companyCode)}/generalManager`,\n method: \"GET\",\n });\n return employee;\n },\n);\n"],"mappings":"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"}