wcz-layout
Version:
1 lines • 7.11 kB
Source Map (JSON)
{"version":3,"file":"approval-DFExxyAJ.mjs","names":["createServerOnlyFn","z","createApi","ApproveApprovalSchema","CancelApprovalSchema","CreateApprovalSchema","ResubmitApprovalSchema","WithdrawApprovalSchema","Approval","ApprovalStatus","ApprovalStepResult","GetApprovalsSchema","object","appName","string","min","max","status","optional","approverEmployeeId","stepResult","GetApprovalSchema","id","uuid","approvalApi","baseURL","scopeKey","getApprovals","data","input","Promise","Array","parse","queryParams","URLSearchParams","append","toString","api","approvals","request","url","method","getApproval","approval","createApproval","approveApproval","resubmitApproval","withdrawApproval","cancelApproval"],"sources":["../src/data/server/approval.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"],"mappings":"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"}