wcz-layout
Version:
84 lines (83 loc) • 3.24 kB
JavaScript
import { t as createApi } from "./createApi-CLYWCzR2.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
export { createApproval as a, resubmitApproval as c, cancelApproval as i, withdrawApproval as l, GetApprovalsSchema as n, getApproval as o, approveApproval as r, getApprovals as s, GetApprovalSchema as t };
//# sourceMappingURL=approval-DFExxyAJ.mjs.map