wcz-test 6.4.12 → 6.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,15 +42,15 @@ var useGetFileMetas = (params, options) => {
42
42
  };
43
43
  var GetFileThumbnailParamsSchema = z.object({
44
44
  appName: z.string().min(1).max(255).default(APP_NAME).optional(),
45
- meta: FileMetaSchema
45
+ meta: FileMetaSchema.nullish()
46
46
  });
47
47
  var useGetFileThumbnail = (params, options) => {
48
48
  const queryParams = new URLSearchParams();
49
49
  queryParams.append("appName", params.appName ?? APP_NAME);
50
- queryParams.append("id", params.meta.id);
50
+ queryParams.append("id", params.meta?.id ?? "");
51
51
  return useQuery({
52
52
  ...options,
53
- queryKey: [QUERY_KEY, "thumbnail", params.appName ?? APP_NAME, params.meta.id],
53
+ queryKey: [QUERY_KEY, "thumbnail", params.appName ?? APP_NAME, params.meta?.id],
54
54
  queryFn: ({ signal }) => httpClient.request({
55
55
  url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,
56
56
  method: "GET",
@@ -60,20 +60,21 @@ var useGetFileThumbnail = (params, options) => {
60
60
  select: (data) => URL.createObjectURL(data),
61
61
  staleTime: HOUR,
62
62
  gcTime: HOUR,
63
- refetchOnWindowFocus: false
63
+ refetchOnWindowFocus: false,
64
+ enabled: !!params.meta && options?.enabled !== false
64
65
  });
65
66
  };
66
67
  var GetFileParamsSchema = z.object({
67
68
  appName: z.string().min(1).max(255).default(APP_NAME).optional(),
68
- meta: FileMetaSchema
69
+ meta: FileMetaSchema.nullish()
69
70
  });
70
71
  var useGetFile = (params, options) => {
71
72
  const queryParams = new URLSearchParams();
72
73
  queryParams.append("appName", params.appName ?? APP_NAME);
73
- queryParams.append("id", params.meta.id);
74
+ queryParams.append("id", params.meta?.id ?? "");
74
75
  return useQuery({
75
76
  ...options,
76
- queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta.id],
77
+ queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],
77
78
  queryFn: ({ signal }) => httpClient.request({
78
79
  url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,
79
80
  method: "GET",
@@ -83,7 +84,8 @@ var useGetFile = (params, options) => {
83
84
  select: (data) => URL.createObjectURL(data),
84
85
  staleTime: HOUR,
85
86
  gcTime: HOUR,
86
- refetchOnWindowFocus: false
87
+ refetchOnWindowFocus: false,
88
+ enabled: !!params.meta && options?.enabled !== false
87
89
  });
88
90
  };
89
91
  var useDownloadFile = (options) => {
@@ -203,4 +205,4 @@ export {
203
205
  useDeleteFiles,
204
206
  useUploadFile
205
207
  };
206
- //# sourceMappingURL=chunk-NHG74N3M.js.map
208
+ //# sourceMappingURL=chunk-SIBFDHFS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema.nullish(),\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta?.id ?? \"\");\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta?.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n enabled: !!params.meta && options?.enabled !== false,\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_BASE_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n // headers: { \"Authorization\": `Bearer ${await getToken()}` }, //TODO: implement token retrieval\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"mappings":"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","names":[]}
@@ -11,7 +11,7 @@ import {
11
11
  useGetFileMetas,
12
12
  useGetFileThumbnail,
13
13
  useOpenFile
14
- } from "./chunk-NHG74N3M.js";
14
+ } from "./chunk-SIBFDHFS.js";
15
15
  import "./chunk-TME53DAF.js";
16
16
  import "./chunk-T723TJ46.js";
17
17
  import "./chunk-MZYWQKGY.js";
package/dist/queries.d.ts CHANGED
@@ -4,6 +4,7 @@ import z__default from 'zod';
4
4
  import { DetailedError } from 'tus-js-client';
5
5
  import { F as FileMeta } from './FileMeta-CC014fnB.js';
6
6
  import { E as Employee, D as Department, A as Approval, C as CreateApproval, a as ApproveApproval, R as ResubmitApproval, W as WithdrawApproval, b as CancelApproval } from './Approval-CWQn-kah.js';
7
+ import * as _tanstack_start_client_core from '@tanstack/start-client-core';
7
8
 
8
9
  type OptionalId$1 = string | undefined | null;
9
10
  type BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, "queryKey" | "queryFn" | "staleTime" | "gcTime" | "refetchOnWindowFocus" | "initialData">;
@@ -31,7 +32,7 @@ declare const useGetFileMetas: (params: GetFileMetasParams, options?: BaseFileMe
31
32
  }[], Error>;
32
33
  declare const GetFileThumbnailParamsSchema: z__default.ZodObject<{
33
34
  appName: z__default.ZodOptional<z__default.ZodDefault<z__default.ZodString>>;
34
- meta: z__default.ZodObject<{
35
+ meta: z__default.ZodOptional<z__default.ZodNullable<z__default.ZodObject<{
35
36
  id: z__default.ZodUUID;
36
37
  subId: z__default.ZodUUID;
37
38
  appName: z__default.ZodString;
@@ -43,13 +44,13 @@ declare const GetFileThumbnailParamsSchema: z__default.ZodObject<{
43
44
  mimeType: z__default.ZodString;
44
45
  createdBy: z__default.ZodString;
45
46
  createdDate: z__default.ZodDate;
46
- }, z__default.core.$strip>;
47
+ }, z__default.core.$strip>>>;
47
48
  }, z__default.core.$strip>;
48
49
  type GetFileThumbnailParams = z__default.infer<typeof GetFileThumbnailParamsSchema>;
49
50
  declare const useGetFileThumbnail: (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => _tanstack_react_query.UseQueryResult<string, Error>;
50
51
  declare const GetFileParamsSchema: z__default.ZodObject<{
51
52
  appName: z__default.ZodOptional<z__default.ZodDefault<z__default.ZodString>>;
52
- meta: z__default.ZodObject<{
53
+ meta: z__default.ZodOptional<z__default.ZodNullable<z__default.ZodObject<{
53
54
  id: z__default.ZodUUID;
54
55
  subId: z__default.ZodUUID;
55
56
  appName: z__default.ZodString;
@@ -61,7 +62,7 @@ declare const GetFileParamsSchema: z__default.ZodObject<{
61
62
  mimeType: z__default.ZodString;
62
63
  createdBy: z__default.ZodString;
63
64
  createdDate: z__default.ZodDate;
64
- }, z__default.core.$strip>;
65
+ }, z__default.core.$strip>>>;
65
66
  }, z__default.core.$strip>;
66
67
  type GetFileParams = z__default.infer<typeof GetFileParamsSchema>;
67
68
  declare const useGetFile: (params: GetFileParams, options?: BaseBlobQueryOptions) => _tanstack_react_query.UseQueryResult<string, Error>;
@@ -686,13 +687,6 @@ declare const useGetPeopleSoftCompanyGeneralManager: (companyCode: OptionalId, o
686
687
  supervisorRecordNumber: number;
687
688
  }, Error>;
688
689
 
689
- type UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, "queryKey" | "queryFn" | "initialData">;
690
- type UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, "queryKey" | "queryFn" | "initialData">;
691
- type UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, "mutationFn" | "onSettled">;
692
- type UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, "mutationFn" | "onSettled">;
693
- type UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, "mutationFn" | "onSettled">;
694
- type UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, "mutationFn" | "onSettled">;
695
- type UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, "mutationFn" | "onSettled">;
696
690
  declare const GetApprovalsParamsSchema: z__default.ZodObject<{
697
691
  appName: z__default.ZodOptional<z__default.ZodDefault<z__default.ZodString>>;
698
692
  status: z__default.ZodOptional<z__default.ZodEnum<{
@@ -716,6 +710,573 @@ declare const GetApprovalsParamsSchema: z__default.ZodObject<{
716
710
  }>>;
717
711
  }, z__default.core.$strip>;
718
712
  type GetApprovalsParams = z__default.infer<typeof GetApprovalsParamsSchema>;
713
+ declare const getApprovals: _tanstack_start_client_core.IsomorphicFn<[params?: {
714
+ appName?: string | undefined;
715
+ status?: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved" | undefined;
716
+ approverEmployeeId?: string | undefined;
717
+ stepResult?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
718
+ } | undefined, signal?: AbortSignal | undefined], Promise<{
719
+ id: string;
720
+ applicationName: string;
721
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
722
+ emailBody: string;
723
+ created: Date;
724
+ createdBy: {
725
+ employeeId: string;
726
+ name: string;
727
+ email: string;
728
+ };
729
+ updated: Date;
730
+ updatedBy: {
731
+ employeeId: string;
732
+ name: string;
733
+ email: string;
734
+ };
735
+ approvalFlows: {
736
+ id: string;
737
+ approvalStage: number;
738
+ approvalSequence: number;
739
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
740
+ steps: {
741
+ id: string;
742
+ order: number;
743
+ approver: {
744
+ employeeId: string;
745
+ name: string;
746
+ email: string;
747
+ };
748
+ approverRole?: string | undefined;
749
+ actualApprover?: {
750
+ employeeId: string;
751
+ name: string;
752
+ email: string;
753
+ } | undefined;
754
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
755
+ resultDate?: Date | undefined;
756
+ resultComment?: string | undefined;
757
+ }[];
758
+ batchSequence?: number | undefined;
759
+ isActive?: boolean | undefined;
760
+ }[];
761
+ currentApprovers: {
762
+ employeeId: string;
763
+ name: string;
764
+ email: string;
765
+ }[];
766
+ number?: string | undefined;
767
+ type?: "Single" | "Batch" | undefined;
768
+ }[]>, Promise<{
769
+ id: string;
770
+ applicationName: string;
771
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
772
+ emailBody: string;
773
+ created: Date;
774
+ createdBy: {
775
+ employeeId: string;
776
+ name: string;
777
+ email: string;
778
+ };
779
+ updated: Date;
780
+ updatedBy: {
781
+ employeeId: string;
782
+ name: string;
783
+ email: string;
784
+ };
785
+ approvalFlows: {
786
+ id: string;
787
+ approvalStage: number;
788
+ approvalSequence: number;
789
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
790
+ steps: {
791
+ id: string;
792
+ order: number;
793
+ approver: {
794
+ employeeId: string;
795
+ name: string;
796
+ email: string;
797
+ };
798
+ approverRole?: string | undefined;
799
+ actualApprover?: {
800
+ employeeId: string;
801
+ name: string;
802
+ email: string;
803
+ } | undefined;
804
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
805
+ resultDate?: Date | undefined;
806
+ resultComment?: string | undefined;
807
+ }[];
808
+ batchSequence?: number | undefined;
809
+ isActive?: boolean | undefined;
810
+ }[];
811
+ currentApprovers: {
812
+ employeeId: string;
813
+ name: string;
814
+ email: string;
815
+ }[];
816
+ number?: string | undefined;
817
+ type?: "Single" | "Batch" | undefined;
818
+ }[]>>;
819
+ declare const getApproval: _tanstack_start_client_core.IsomorphicFn<[id: string, signal?: AbortSignal | undefined], Promise<{
820
+ id: string;
821
+ applicationName: string;
822
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
823
+ emailBody: string;
824
+ created: Date;
825
+ createdBy: {
826
+ employeeId: string;
827
+ name: string;
828
+ email: string;
829
+ };
830
+ updated: Date;
831
+ updatedBy: {
832
+ employeeId: string;
833
+ name: string;
834
+ email: string;
835
+ };
836
+ approvalFlows: {
837
+ id: string;
838
+ approvalStage: number;
839
+ approvalSequence: number;
840
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
841
+ steps: {
842
+ id: string;
843
+ order: number;
844
+ approver: {
845
+ employeeId: string;
846
+ name: string;
847
+ email: string;
848
+ };
849
+ approverRole?: string | undefined;
850
+ actualApprover?: {
851
+ employeeId: string;
852
+ name: string;
853
+ email: string;
854
+ } | undefined;
855
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
856
+ resultDate?: Date | undefined;
857
+ resultComment?: string | undefined;
858
+ }[];
859
+ batchSequence?: number | undefined;
860
+ isActive?: boolean | undefined;
861
+ }[];
862
+ currentApprovers: {
863
+ employeeId: string;
864
+ name: string;
865
+ email: string;
866
+ }[];
867
+ number?: string | undefined;
868
+ type?: "Single" | "Batch" | undefined;
869
+ }>, Promise<{
870
+ id: string;
871
+ applicationName: string;
872
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
873
+ emailBody: string;
874
+ created: Date;
875
+ createdBy: {
876
+ employeeId: string;
877
+ name: string;
878
+ email: string;
879
+ };
880
+ updated: Date;
881
+ updatedBy: {
882
+ employeeId: string;
883
+ name: string;
884
+ email: string;
885
+ };
886
+ approvalFlows: {
887
+ id: string;
888
+ approvalStage: number;
889
+ approvalSequence: number;
890
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
891
+ steps: {
892
+ id: string;
893
+ order: number;
894
+ approver: {
895
+ employeeId: string;
896
+ name: string;
897
+ email: string;
898
+ };
899
+ approverRole?: string | undefined;
900
+ actualApprover?: {
901
+ employeeId: string;
902
+ name: string;
903
+ email: string;
904
+ } | undefined;
905
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
906
+ resultDate?: Date | undefined;
907
+ resultComment?: string | undefined;
908
+ }[];
909
+ batchSequence?: number | undefined;
910
+ isActive?: boolean | undefined;
911
+ }[];
912
+ currentApprovers: {
913
+ employeeId: string;
914
+ name: string;
915
+ email: string;
916
+ }[];
917
+ number?: string | undefined;
918
+ type?: "Single" | "Batch" | undefined;
919
+ }>>;
920
+ declare const createApproval: _tanstack_start_client_core.IsomorphicFn<[data: {
921
+ id: string;
922
+ applicationName: string;
923
+ emailBody: string;
924
+ approvalFlows: {
925
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
926
+ approvalStage: number;
927
+ steps: {
928
+ approver: {
929
+ employeeId: string;
930
+ name: string;
931
+ email: string;
932
+ };
933
+ approverRole?: string | undefined;
934
+ }[];
935
+ batchSequence?: number | undefined;
936
+ }[];
937
+ number?: string | undefined;
938
+ type?: "Single" | "Batch" | undefined;
939
+ }], Promise<{
940
+ id: string;
941
+ applicationName: string;
942
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
943
+ emailBody: string;
944
+ created: Date;
945
+ createdBy: {
946
+ employeeId: string;
947
+ name: string;
948
+ email: string;
949
+ };
950
+ updated: Date;
951
+ updatedBy: {
952
+ employeeId: string;
953
+ name: string;
954
+ email: string;
955
+ };
956
+ approvalFlows: {
957
+ id: string;
958
+ approvalStage: number;
959
+ approvalSequence: number;
960
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
961
+ steps: {
962
+ id: string;
963
+ order: number;
964
+ approver: {
965
+ employeeId: string;
966
+ name: string;
967
+ email: string;
968
+ };
969
+ approverRole?: string | undefined;
970
+ actualApprover?: {
971
+ employeeId: string;
972
+ name: string;
973
+ email: string;
974
+ } | undefined;
975
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
976
+ resultDate?: Date | undefined;
977
+ resultComment?: string | undefined;
978
+ }[];
979
+ batchSequence?: number | undefined;
980
+ isActive?: boolean | undefined;
981
+ }[];
982
+ currentApprovers: {
983
+ employeeId: string;
984
+ name: string;
985
+ email: string;
986
+ }[];
987
+ number?: string | undefined;
988
+ type?: "Single" | "Batch" | undefined;
989
+ }>, Promise<{
990
+ id: string;
991
+ applicationName: string;
992
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
993
+ emailBody: string;
994
+ created: Date;
995
+ createdBy: {
996
+ employeeId: string;
997
+ name: string;
998
+ email: string;
999
+ };
1000
+ updated: Date;
1001
+ updatedBy: {
1002
+ employeeId: string;
1003
+ name: string;
1004
+ email: string;
1005
+ };
1006
+ approvalFlows: {
1007
+ id: string;
1008
+ approvalStage: number;
1009
+ approvalSequence: number;
1010
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1011
+ steps: {
1012
+ id: string;
1013
+ order: number;
1014
+ approver: {
1015
+ employeeId: string;
1016
+ name: string;
1017
+ email: string;
1018
+ };
1019
+ approverRole?: string | undefined;
1020
+ actualApprover?: {
1021
+ employeeId: string;
1022
+ name: string;
1023
+ email: string;
1024
+ } | undefined;
1025
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
1026
+ resultDate?: Date | undefined;
1027
+ resultComment?: string | undefined;
1028
+ }[];
1029
+ batchSequence?: number | undefined;
1030
+ isActive?: boolean | undefined;
1031
+ }[];
1032
+ currentApprovers: {
1033
+ employeeId: string;
1034
+ name: string;
1035
+ email: string;
1036
+ }[];
1037
+ number?: string | undefined;
1038
+ type?: "Single" | "Batch" | undefined;
1039
+ }>>;
1040
+ declare const approveApproval: _tanstack_start_client_core.IsomorphicFn<[data: {
1041
+ id: string;
1042
+ result: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled";
1043
+ emailBody: string;
1044
+ resultComment?: string | undefined;
1045
+ }], Promise<{
1046
+ id: string;
1047
+ applicationName: string;
1048
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
1049
+ emailBody: string;
1050
+ created: Date;
1051
+ createdBy: {
1052
+ employeeId: string;
1053
+ name: string;
1054
+ email: string;
1055
+ };
1056
+ updated: Date;
1057
+ updatedBy: {
1058
+ employeeId: string;
1059
+ name: string;
1060
+ email: string;
1061
+ };
1062
+ approvalFlows: {
1063
+ id: string;
1064
+ approvalStage: number;
1065
+ approvalSequence: number;
1066
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1067
+ steps: {
1068
+ id: string;
1069
+ order: number;
1070
+ approver: {
1071
+ employeeId: string;
1072
+ name: string;
1073
+ email: string;
1074
+ };
1075
+ approverRole?: string | undefined;
1076
+ actualApprover?: {
1077
+ employeeId: string;
1078
+ name: string;
1079
+ email: string;
1080
+ } | undefined;
1081
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
1082
+ resultDate?: Date | undefined;
1083
+ resultComment?: string | undefined;
1084
+ }[];
1085
+ batchSequence?: number | undefined;
1086
+ isActive?: boolean | undefined;
1087
+ }[];
1088
+ currentApprovers: {
1089
+ employeeId: string;
1090
+ name: string;
1091
+ email: string;
1092
+ }[];
1093
+ number?: string | undefined;
1094
+ type?: "Single" | "Batch" | undefined;
1095
+ }>, Promise<{
1096
+ id: string;
1097
+ applicationName: string;
1098
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
1099
+ emailBody: string;
1100
+ created: Date;
1101
+ createdBy: {
1102
+ employeeId: string;
1103
+ name: string;
1104
+ email: string;
1105
+ };
1106
+ updated: Date;
1107
+ updatedBy: {
1108
+ employeeId: string;
1109
+ name: string;
1110
+ email: string;
1111
+ };
1112
+ approvalFlows: {
1113
+ id: string;
1114
+ approvalStage: number;
1115
+ approvalSequence: number;
1116
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1117
+ steps: {
1118
+ id: string;
1119
+ order: number;
1120
+ approver: {
1121
+ employeeId: string;
1122
+ name: string;
1123
+ email: string;
1124
+ };
1125
+ approverRole?: string | undefined;
1126
+ actualApprover?: {
1127
+ employeeId: string;
1128
+ name: string;
1129
+ email: string;
1130
+ } | undefined;
1131
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
1132
+ resultDate?: Date | undefined;
1133
+ resultComment?: string | undefined;
1134
+ }[];
1135
+ batchSequence?: number | undefined;
1136
+ isActive?: boolean | undefined;
1137
+ }[];
1138
+ currentApprovers: {
1139
+ employeeId: string;
1140
+ name: string;
1141
+ email: string;
1142
+ }[];
1143
+ number?: string | undefined;
1144
+ type?: "Single" | "Batch" | undefined;
1145
+ }>>;
1146
+ declare const resubmitApproval: _tanstack_start_client_core.IsomorphicFn<[data: {
1147
+ id: string;
1148
+ approvalFlows: {
1149
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1150
+ approvalStage: number;
1151
+ steps: {
1152
+ approver: {
1153
+ employeeId: string;
1154
+ name: string;
1155
+ email: string;
1156
+ };
1157
+ approverRole?: string | undefined;
1158
+ }[];
1159
+ batchSequence?: number | undefined;
1160
+ }[];
1161
+ }], Promise<{
1162
+ id: string;
1163
+ applicationName: string;
1164
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
1165
+ emailBody: string;
1166
+ created: Date;
1167
+ createdBy: {
1168
+ employeeId: string;
1169
+ name: string;
1170
+ email: string;
1171
+ };
1172
+ updated: Date;
1173
+ updatedBy: {
1174
+ employeeId: string;
1175
+ name: string;
1176
+ email: string;
1177
+ };
1178
+ approvalFlows: {
1179
+ id: string;
1180
+ approvalStage: number;
1181
+ approvalSequence: number;
1182
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1183
+ steps: {
1184
+ id: string;
1185
+ order: number;
1186
+ approver: {
1187
+ employeeId: string;
1188
+ name: string;
1189
+ email: string;
1190
+ };
1191
+ approverRole?: string | undefined;
1192
+ actualApprover?: {
1193
+ employeeId: string;
1194
+ name: string;
1195
+ email: string;
1196
+ } | undefined;
1197
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
1198
+ resultDate?: Date | undefined;
1199
+ resultComment?: string | undefined;
1200
+ }[];
1201
+ batchSequence?: number | undefined;
1202
+ isActive?: boolean | undefined;
1203
+ }[];
1204
+ currentApprovers: {
1205
+ employeeId: string;
1206
+ name: string;
1207
+ email: string;
1208
+ }[];
1209
+ number?: string | undefined;
1210
+ type?: "Single" | "Batch" | undefined;
1211
+ }>, Promise<{
1212
+ id: string;
1213
+ applicationName: string;
1214
+ status: "WaitingForApproval" | "Approved" | "Rejected" | "Withdrawn" | "Cancelled" | "PartiallyApproved";
1215
+ emailBody: string;
1216
+ created: Date;
1217
+ createdBy: {
1218
+ employeeId: string;
1219
+ name: string;
1220
+ email: string;
1221
+ };
1222
+ updated: Date;
1223
+ updatedBy: {
1224
+ employeeId: string;
1225
+ name: string;
1226
+ email: string;
1227
+ };
1228
+ approvalFlows: {
1229
+ id: string;
1230
+ approvalStage: number;
1231
+ approvalSequence: number;
1232
+ stepApprovalOrder: "Serial" | "Parallel" | "OneOfThem";
1233
+ steps: {
1234
+ id: string;
1235
+ order: number;
1236
+ approver: {
1237
+ employeeId: string;
1238
+ name: string;
1239
+ email: string;
1240
+ };
1241
+ approverRole?: string | undefined;
1242
+ actualApprover?: {
1243
+ employeeId: string;
1244
+ name: string;
1245
+ email: string;
1246
+ } | undefined;
1247
+ result?: "NotAvailable" | "FutureApproval" | "WaitingForApproval" | "Approved" | "Rejected" | "Skipped" | "Withdrawn" | "Cancelled" | undefined;
1248
+ resultDate?: Date | undefined;
1249
+ resultComment?: string | undefined;
1250
+ }[];
1251
+ batchSequence?: number | undefined;
1252
+ isActive?: boolean | undefined;
1253
+ }[];
1254
+ currentApprovers: {
1255
+ employeeId: string;
1256
+ name: string;
1257
+ email: string;
1258
+ }[];
1259
+ number?: string | undefined;
1260
+ type?: "Single" | "Batch" | undefined;
1261
+ }>>;
1262
+ declare const withdrawApproval: _tanstack_start_client_core.IsomorphicFn<[data: {
1263
+ id: string;
1264
+ comment: string;
1265
+ emailBody: string;
1266
+ }], Promise<void>, Promise<void>>;
1267
+ declare const cancelApproval: _tanstack_start_client_core.IsomorphicFn<[data: {
1268
+ id: string;
1269
+ comment: string;
1270
+ emailBody: string;
1271
+ }], Promise<void>, Promise<void>>;
1272
+
1273
+ type UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, "queryKey" | "queryFn" | "initialData">;
1274
+ type UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, "queryKey" | "queryFn" | "initialData">;
1275
+ type UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, "mutationFn" | "onSettled">;
1276
+ type UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, "mutationFn" | "onSettled">;
1277
+ type UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, "mutationFn" | "onSettled">;
1278
+ type UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, "mutationFn" | "onSettled">;
1279
+ type UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, "mutationFn" | "onSettled">;
719
1280
  declare const useGetApprovals: (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => _tanstack_react_query.UseQueryResult<{
720
1281
  id: string;
721
1282
  applicationName: string;
@@ -1021,4 +1582,4 @@ declare const useCancelApproval: (options?: UseCancelApprovalOptions) => _tansta
1021
1582
  emailBody: string;
1022
1583
  }, unknown>;
1023
1584
 
1024
- export { type GetApprovalsParams, GetApprovalsParamsSchema, type GetFileMetasParams, GetFileMetasParamsSchema, type GetFileParams, GetFileParamsSchema, type GetFileThumbnailParams, GetFileThumbnailParamsSchema, useApproveApproval, useCancelApproval, useCreateApproval, useDeleteFile, useDeleteFiles, useDownloadFile, useGetApproval, useGetApprovals, useGetFile, useGetFileMetas, useGetFileThumbnail, useGetPeopleSoftActiveEmployees, useGetPeopleSoftCompanyGeneralManager, useGetPeopleSoftDepartmentById, useGetPeopleSoftDepartmentEmployees, useGetPeopleSoftDepartmentManager, useGetPeopleSoftDepartments, useGetPeopleSoftEmployeeById, useGetPeopleSoftEmployeeGeneralManager, useGetPeopleSoftEmployeeManager, useGetPeopleSoftEmployeeSubordinates, useGetPeopleSoftEmployeeSupervisor, useGetPeopleSoftEmployees, useGetPeopleSoftEmployeesSearch, useGetPeopleSoftPreviousEmployeeIds, useOpenFile, useResubmitApproval, useUpdateFileMeta, useUploadFile, useWithdrawApproval };
1585
+ export { type GetFileMetasParams, GetFileMetasParamsSchema, type GetFileParams, GetFileParamsSchema, type GetFileThumbnailParams, GetFileThumbnailParamsSchema, approveApproval, cancelApproval, createApproval, getApproval, getApprovals, resubmitApproval, useApproveApproval, useCancelApproval, useCreateApproval, useDeleteFile, useDeleteFiles, useDownloadFile, useGetApproval, useGetApprovals, useGetFile, useGetFileMetas, useGetFileThumbnail, useGetPeopleSoftActiveEmployees, useGetPeopleSoftCompanyGeneralManager, useGetPeopleSoftDepartmentById, useGetPeopleSoftDepartmentEmployees, useGetPeopleSoftDepartmentManager, useGetPeopleSoftDepartments, useGetPeopleSoftEmployeeById, useGetPeopleSoftEmployeeGeneralManager, useGetPeopleSoftEmployeeManager, useGetPeopleSoftEmployeeSubordinates, useGetPeopleSoftEmployeeSupervisor, useGetPeopleSoftEmployees, useGetPeopleSoftEmployeesSearch, useGetPeopleSoftPreviousEmployeeIds, useOpenFile, useResubmitApproval, useUpdateFileMeta, useUploadFile, useWithdrawApproval, withdrawApproval };
package/dist/queries.js CHANGED
@@ -11,7 +11,7 @@ import {
11
11
  useOpenFile,
12
12
  useUpdateFileMeta,
13
13
  useUploadFile
14
- } from "./chunk-NHG74N3M.js";
14
+ } from "./chunk-SIBFDHFS.js";
15
15
  import {
16
16
  ApprovalStatus,
17
17
  ApprovalStepResult
@@ -229,8 +229,11 @@ var useGetPeopleSoftCompanyGeneralManager = (companyCode, options) => {
229
229
 
230
230
  // src/queries/ApprovalHooks.ts
231
231
  import { useMutation, useQuery as useQuery2, useQueryClient } from "@tanstack/react-query";
232
+
233
+ // src/queries/Approval.ts
234
+ import { createIsomorphicFn } from "@tanstack/react-start";
232
235
  import z from "zod";
233
- var QUERY_KEY2 = "approval";
236
+ var ROUTE = "approval";
234
237
  var APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);
235
238
  var GetApprovalsParamsSchema = z.object({
236
239
  appName: z.string().min(1).max(255).default(APP_NAME).optional(),
@@ -238,98 +241,134 @@ var GetApprovalsParamsSchema = z.object({
238
241
  approverEmployeeId: z.string().min(1).max(20).optional(),
239
242
  stepResult: ApprovalStepResult.optional()
240
243
  });
241
- var useGetApprovals = (params, options) => {
244
+ var getApprovalsBase = async (params, signal) => {
242
245
  const queryParams = new URLSearchParams();
243
246
  queryParams.append("applicationName", params?.appName ?? APP_NAME);
244
247
  if (params?.status) queryParams.append("status", params.status.toString());
245
248
  if (params?.approverEmployeeId) queryParams.append("approverEmployeeId", params.approverEmployeeId);
246
249
  if (params?.stepResult) queryParams.append("stepResult", params.stepResult.toString());
247
- return useQuery2({
248
- ...options,
249
- queryKey: [QUERY_KEY2, params?.appName ?? APP_NAME, params?.status, params?.approverEmployeeId, params?.stepResult],
250
- queryFn: ({ signal }) => httpClient.request({
251
- url: `/${QUERY_KEY2}/Requests/Requests?${queryParams.toString()}`,
252
- method: "GET",
253
- signal
254
- })
250
+ const request = await httpClient.request({
251
+ url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,
252
+ method: "GET",
253
+ signal
255
254
  });
255
+ return request.data;
256
256
  };
257
- var useGetApproval = (id, options) => {
258
- return useQuery2({
259
- ...options,
260
- queryKey: [QUERY_KEY2, id],
261
- queryFn: ({ signal }) => httpClient.request({
262
- url: `/${QUERY_KEY2}/Requests/${id}`,
263
- method: "GET",
264
- signal
265
- })
257
+ var getApprovalBase = async (id, signal) => {
258
+ const request = await httpClient.request({
259
+ url: `/${ROUTE}/Requests/${id}`,
260
+ method: "GET",
261
+ signal
262
+ });
263
+ return request.data;
264
+ };
265
+ var createApprovalBase = async (data) => {
266
+ const request = await httpClient.request({
267
+ url: `/${ROUTE}/Requests`,
268
+ method: "POST",
269
+ data
270
+ });
271
+ return request.data;
272
+ };
273
+ var approveApprovalBase = async (data) => {
274
+ const request = await httpClient.request({
275
+ url: `/${ROUTE}/Requests/${data.id}/single-approval`,
276
+ method: "POST",
277
+ data
278
+ });
279
+ return request.data;
280
+ };
281
+ var resubmitApprovalBase = async (data) => {
282
+ const request = await httpClient.request({
283
+ url: `/${ROUTE}/Requests/${data.id}/resubmit`,
284
+ method: "POST",
285
+ data
286
+ });
287
+ return request.data;
288
+ };
289
+ var withdrawApprovalBase = async (data) => {
290
+ await httpClient.request({
291
+ url: `/${ROUTE}/Requests/${data.id}/withdraw`,
292
+ method: "POST",
293
+ data
266
294
  });
267
295
  };
296
+ var cancelApprovalBase = async (data) => {
297
+ await httpClient.request({
298
+ url: `/${ROUTE}/Requests/${data.id}/cancel`,
299
+ method: "POST",
300
+ data
301
+ });
302
+ };
303
+ var getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);
304
+ var getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);
305
+ var createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);
306
+ var approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);
307
+ var resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);
308
+ var withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);
309
+ var cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);
310
+
311
+ // src/queries/ApprovalHooks.ts
312
+ var useGetApprovals = (params, options) => useQuery2({
313
+ ...options,
314
+ queryKey: [ROUTE, params],
315
+ queryFn: ({ signal }) => getApprovals(params, signal)
316
+ });
317
+ var useGetApproval = (id, options) => useQuery2({
318
+ ...options,
319
+ queryKey: [ROUTE, id],
320
+ queryFn: ({ signal }) => getApproval(id, signal)
321
+ });
268
322
  var useCreateApproval = (options) => {
269
323
  const queryClient = useQueryClient();
270
324
  return useMutation({
271
325
  ...options,
272
- mutationFn: (data) => httpClient.request({
273
- url: `/${QUERY_KEY2}/Requests`,
274
- method: "POST",
275
- data
276
- }),
277
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
326
+ mutationFn: (data) => createApproval(data),
327
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
278
328
  });
279
329
  };
280
330
  var useApproveApproval = (options) => {
281
331
  const queryClient = useQueryClient();
282
332
  return useMutation({
283
333
  ...options,
284
- mutationFn: (data) => httpClient.request({
285
- url: `/${QUERY_KEY2}/Requests/${data.id}/single-approval`,
286
- method: "POST",
287
- data
288
- }),
289
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
334
+ mutationFn: (data) => approveApproval(data),
335
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
290
336
  });
291
337
  };
292
338
  var useResubmitApproval = (options) => {
293
339
  const queryClient = useQueryClient();
294
340
  return useMutation({
295
341
  ...options,
296
- mutationFn: (data) => httpClient.request({
297
- url: `/${QUERY_KEY2}/Requests/${data.id}/resubmit`,
298
- method: "POST",
299
- data
300
- }),
301
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
342
+ mutationFn: (data) => resubmitApproval(data),
343
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
302
344
  });
303
345
  };
304
346
  var useWithdrawApproval = (options) => {
305
347
  const queryClient = useQueryClient();
306
348
  return useMutation({
307
349
  ...options,
308
- mutationFn: (data) => httpClient.request({
309
- url: `/${QUERY_KEY2}/Requests/${data.id}/withdraw`,
310
- method: "POST",
311
- data
312
- }),
313
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
350
+ mutationFn: (data) => withdrawApproval(data),
351
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
314
352
  });
315
353
  };
316
354
  var useCancelApproval = (options) => {
317
355
  const queryClient = useQueryClient();
318
356
  return useMutation({
319
357
  ...options,
320
- mutationFn: (data) => httpClient.request({
321
- url: `/${QUERY_KEY2}/Requests/${data.id}/cancel`,
322
- method: "POST",
323
- data
324
- }),
325
- onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY2], exact: false })
358
+ mutationFn: (data) => cancelApproval(data),
359
+ onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })
326
360
  });
327
361
  };
328
362
  export {
329
- GetApprovalsParamsSchema,
330
363
  GetFileMetasParamsSchema,
331
364
  GetFileParamsSchema,
332
365
  GetFileThumbnailParamsSchema,
366
+ approveApproval,
367
+ cancelApproval,
368
+ createApproval,
369
+ getApproval,
370
+ getApprovals,
371
+ resubmitApproval,
333
372
  useApproveApproval,
334
373
  useCancelApproval,
335
374
  useCreateApproval,
@@ -359,6 +398,7 @@ export {
359
398
  useResubmitApproval,
360
399
  useUpdateFileMeta,
361
400
  useUploadFile,
362
- useWithdrawApproval
401
+ useWithdrawApproval,
402
+ withdrawApproval
363
403
  };
364
404
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport z from \"zod\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional()\r\n});\r\n\r\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n return useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params?.appName ?? APP_NAME, params?.status, params?.approverEmployeeId, params?.stepResult],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => {\r\n return useQuery<Approval>({\r\n ...options,\r\n queryKey: [QUERY_KEY, id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n });\r\n};\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => httpClient.request({\r\n url: `/${QUERY_KEY}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data: data\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY], exact: false })\r\n });\r\n};\r\n"],"mappings":"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","names":["useQuery","QUERY_KEY","useQuery"]}
1
+ {"version":3,"sources":["../src/queries/PeopleSoftHooks.ts","../src/queries/ApprovalHooks.ts","../src/queries/Approval.ts"],"sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\r\nimport type { DefinedInitialDataOptions } from \"@tanstack/react-query\";\r\nimport type { Department } from \"~/models/peoplesoft/Department\";\r\nimport type { Employee } from \"~/models/peoplesoft/Employee\";\r\nimport { httpClient } from \"~/lib/utils\";\r\n\r\nconst QUERY_KEY = \"ps\";\r\nconst DAY = 1000 * 60 * 60 * 24;\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseEmployeeArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Employee>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseEmployeeQueryOptions = Omit<DefinedInitialDataOptions<Employee>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<Department>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseDepartmentQueryOptions = Omit<DefinedInitialDataOptions<Department>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\n\r\nexport const useGetPeopleSoftEmployeesSearch = (searchTerm: string, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"search\", searchTerm],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee?search=${searchTerm}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftActiveEmployees = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"active\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/active`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeById = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftPreviousEmployeeIds = (options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", \"previousIds\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/previousIds`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSupervisor = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"supervisor\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/supervisor`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeSubordinates = (employeeId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"subordinates\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/subordinates`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftEmployeeGeneralManager = (employeeId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"employee\", employeeId, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/employee/${employeeId}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartments = (options?: BaseDepartmentArrayQueryOptions) => {\r\n return useQuery<Array<Department>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/all`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentById = (departmentId: OptionalId, options?: BaseDepartmentQueryOptions) => {\r\n return useQuery<Department>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentManager = (departmentId: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"manager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/manager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftDepartmentEmployees = (departmentId: OptionalId, options?: BaseEmployeeArrayQueryOptions) => {\r\n return useQuery<Array<Employee>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"department\", departmentId, \"employees\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/department/${departmentId}/employees`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const useGetPeopleSoftCompanyGeneralManager = (companyCode: OptionalId, options?: BaseEmployeeQueryOptions) => {\r\n return useQuery<Employee>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"company\", companyCode, \"generalManager\"],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/company/${companyCode}/generalManager`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: DAY,\r\n gcTime: DAY,\r\n refetchOnWindowFocus: false,\r\n });\r\n};","import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport { ROUTE, approveApproval, cancelApproval, createApproval, getApproval, getApprovals, resubmitApproval, withdrawApproval } from \"./Approval\";\r\nimport type { GetApprovalsParams } from \"./Approval\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\n\r\ntype UseGetApprovalsOptions = Omit<DefinedInitialDataOptions<Array<Approval>>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseGetApprovalOptions = Omit<DefinedInitialDataOptions<Approval>, \"queryKey\" | \"queryFn\" | \"initialData\">;\r\ntype UseCreateApprovalOptions = Omit<UseMutationOptions<Approval, Error, CreateApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseApproveApprovalOptions = Omit<UseMutationOptions<Approval, Error, ApproveApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseResubmitApprovalOptions = Omit<UseMutationOptions<Approval, Error, ResubmitApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseWithdrawApprovalOptions = Omit<UseMutationOptions<void, Error, WithdrawApproval>, \"mutationFn\" | \"onSettled\">;\r\ntype UseCancelApprovalOptions = Omit<UseMutationOptions<void, Error, CancelApproval>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const useGetApprovals = (params?: GetApprovalsParams, options?: UseGetApprovalsOptions) =>\r\n useQuery<Array<Approval>>({\r\n ...options,\r\n queryKey: [ROUTE, params],\r\n queryFn: ({ signal }) => getApprovals(params, signal),\r\n });\r\n\r\nexport const useGetApproval = (id: string, options?: UseGetApprovalOptions) => useQuery<Approval>({\r\n ...options,\r\n queryKey: [ROUTE, id],\r\n queryFn: ({ signal }) => getApproval(id, signal),\r\n});\r\n\r\nexport const useCreateApproval = (options?: UseCreateApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, CreateApproval>({\r\n ...options,\r\n mutationFn: data => createApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useApproveApproval = (options?: UseApproveApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ApproveApproval>({\r\n ...options,\r\n mutationFn: data => approveApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useResubmitApproval = (options?: UseResubmitApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<Approval, Error, ResubmitApproval>({\r\n ...options,\r\n mutationFn: data => resubmitApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useWithdrawApproval = (options?: UseWithdrawApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, WithdrawApproval>({\r\n ...options,\r\n mutationFn: data => withdrawApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n\r\nexport const useCancelApproval = (options?: UseCancelApprovalOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<void, Error, CancelApproval>({\r\n ...options,\r\n mutationFn: data => cancelApproval(data),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [ROUTE], exact: false })\r\n });\r\n};\r\n","import { createIsomorphicFn } from \"@tanstack/react-start\";\r\nimport z from \"zod\";\r\nimport type { Approval, ApproveApproval, CancelApproval, CreateApproval, ResubmitApproval, WithdrawApproval } from \"~/models/approval/Approval\";\r\nimport { clientEnv } from \"~/env\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { ApprovalStatus } from \"~/models/approval/ApprovalStatus\";\r\nimport { ApprovalStepResult } from \"~/models/approval/ApprovalStepResult\";\r\n\r\nexport const ROUTE = \"approval\";\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\nconst GetApprovalsParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n status: ApprovalStatus.optional(),\r\n approverEmployeeId: z.string().min(1).max(20).optional(),\r\n stepResult: ApprovalStepResult.optional()\r\n});\r\n\r\nexport type GetApprovalsParams = z.infer<typeof GetApprovalsParamsSchema>;\r\n\r\nconst getApprovalsBase = async (params?: GetApprovalsParams, signal?: AbortSignal) => {\r\n const queryParams = new URLSearchParams();\r\n\r\n queryParams.append(\"applicationName\", params?.appName ?? APP_NAME);\r\n if (params?.status) queryParams.append(\"status\", params.status.toString());\r\n if (params?.approverEmployeeId) queryParams.append(\"approverEmployeeId\", params.approverEmployeeId);\r\n if (params?.stepResult) queryParams.append(\"stepResult\", params.stepResult.toString());\r\n\r\n const request = await httpClient.request<Array<Approval>>({\r\n url: `/${ROUTE}/Requests/Requests?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst getApprovalBase = async (id: string, signal?: AbortSignal) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${id}`,\r\n method: \"GET\",\r\n signal,\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst createApprovalBase = async (data: CreateApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst approveApprovalBase = async (data: ApproveApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/single-approval`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst resubmitApprovalBase = async (data: ResubmitApproval) => {\r\n const request = await httpClient.request<Approval>({\r\n url: `/${ROUTE}/Requests/${data.id}/resubmit`,\r\n method: \"POST\",\r\n data\r\n });\r\n\r\n return request.data;\r\n};\r\n\r\nconst withdrawApprovalBase = async (data: WithdrawApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/withdraw`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nconst cancelApprovalBase = async (data: CancelApproval) => {\r\n await httpClient.request<void>({\r\n url: `/${ROUTE}/Requests/${data.id}/cancel`,\r\n method: \"POST\",\r\n data\r\n });\r\n};\r\n\r\nexport const getApprovals = createIsomorphicFn().server(getApprovalsBase).client(getApprovalsBase);\r\nexport const getApproval = createIsomorphicFn().server(getApprovalBase).client(getApprovalBase);\r\nexport const createApproval = createIsomorphicFn().server(createApprovalBase).client(createApprovalBase);\r\nexport const approveApproval = createIsomorphicFn().server(approveApprovalBase).client(approveApprovalBase);\r\nexport const resubmitApproval = createIsomorphicFn().server(resubmitApprovalBase).client(resubmitApprovalBase);\r\nexport const withdrawApproval = createIsomorphicFn().server(withdrawApprovalBase).client(withdrawApprovalBase);\r\nexport const cancelApproval = createIsomorphicFn().server(cancelApprovalBase).client(cancelApprovalBase);\r\n"],"mappings":"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","names":["useQuery","useQuery"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wcz-test",
3
- "version": "6.4.12",
3
+ "version": "6.5.1",
4
4
  "private": false,
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -95,7 +95,7 @@
95
95
  "@mui/material": "7.x",
96
96
  "@mui/x-data-grid-premium": "8.x",
97
97
  "@mui/x-date-pickers-pro": "8.x",
98
- "@tanstack/query-db-collection": "0.x",
98
+ "@tanstack/query-db-collection": "1.x",
99
99
  "@tanstack/react-db": "0.x",
100
100
  "@tanstack/react-form": "1.x",
101
101
  "@tanstack/react-query": "5.x",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/queries/FileHooks.ts"],"sourcesContent":["import { useMutation, useQuery, useQueryClient } from \"@tanstack/react-query\";\r\nimport saveAs from \"file-saver\";\r\nimport { useState } from \"react\";\r\nimport { Upload as TusUpload } from \"tus-js-client\";\r\nimport { uuidv7 } from \"uuidv7\";\r\nimport z from \"zod\";\r\nimport type { DetailedError } from \"tus-js-client\";\r\nimport type { DefinedInitialDataOptions, UseMutationOptions } from \"@tanstack/react-query\";\r\nimport type { FileMeta } from \"~/models/file/FileMeta\";\r\nimport { FileMetaSchema } from \"~/models/file/FileMeta\";\r\nimport { httpClient, toKebabCase } from \"~/lib/utils\";\r\nimport { clientEnv } from \"~/env\";\r\n\r\nconst QUERY_KEY = \"file\";\r\nconst HOUR = 1000 * 60 * 60;\r\nconst APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);\r\n\r\ntype OptionalId = string | undefined | null;\r\n\r\ntype BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, \"queryKey\" | \"queryFn\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, \"queryKey\" | \"queryFn\" | \"select\" | \"staleTime\" | \"gcTime\" | \"refetchOnWindowFocus\" | \"initialData\">;\r\ntype BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, \"mutationFn\" | \"onSettled\">;\r\ntype BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, \"mutationFn\" | \"onSuccess\">;\r\ntype BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, \"mutationFn\" | \"onSettled\">;\r\n\r\nexport const GetFileMetasParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n subId: z.uuid(),\r\n});\r\n\r\nexport type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;\r\n\r\nexport const useGetFileMetas = (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"subId\", params.subId);\r\n\r\n return useQuery<Array<FileMeta>>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"meta\", params.appName ?? APP_NAME, params.subId],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n }),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileThumbnailParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema,\r\n});\r\n\r\nexport type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;\r\n\r\nexport const useGetFileThumbnail = (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta.id);\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, \"thumbnail\", params.appName ?? APP_NAME, params.meta.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false,\r\n });\r\n};\r\n\r\nexport const GetFileParamsSchema = z.object({\r\n appName: z.string().min(1).max(255).default(APP_NAME).optional(),\r\n meta: FileMetaSchema,\r\n});\r\n\r\nexport type GetFileParams = z.infer<typeof GetFileParamsSchema>;\r\n\r\nexport const useGetFile = (params: GetFileParams, options?: BaseBlobQueryOptions) => {\r\n const queryParams = new URLSearchParams();\r\n queryParams.append(\"appName\", params.appName ?? APP_NAME);\r\n queryParams.append(\"id\", params.meta.id);\r\n\r\n return useQuery<Blob, Error, string>({\r\n ...options,\r\n queryKey: [QUERY_KEY, params.appName ?? APP_NAME, params.meta.id],\r\n queryFn: ({ signal }) => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,\r\n method: \"GET\",\r\n signal,\r\n responseType: \"blob\"\r\n }),\r\n select: data => URL.createObjectURL(data),\r\n staleTime: HOUR,\r\n gcTime: HOUR,\r\n refetchOnWindowFocus: false\r\n });\r\n};\r\n\r\nexport const useDownloadFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: (data, variables) => saveAs(data, `${variables.fileName}.${variables.fileExtension}`)\r\n });\r\n};\r\n\r\nexport const useOpenFile = (options?: BaseBlobMutationOptions) => {\r\n return useMutation<Blob, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"GET\",\r\n responseType: \"blob\"\r\n }),\r\n onSuccess: data => { window.open(URL.createObjectURL(data)); }\r\n });\r\n};\r\n\r\nexport const useUpdateFileMeta = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"PUT\",\r\n data: meta\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\nexport const useDeleteFile = (options?: BaseFileMetaMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<FileMeta, Error, FileMeta>({\r\n ...options,\r\n mutationFn: meta => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false }),\r\n });\r\n};\r\n\r\nexport const useDeleteFiles = (options?: BaseStringMutationOptions) => {\r\n const queryClient = useQueryClient();\r\n\r\n return useMutation<string, Error, string>({\r\n ...options,\r\n mutationFn: subId => httpClient.request({\r\n url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,\r\n method: \"DELETE\"\r\n }),\r\n onSettled: () => queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\"], exact: false })\r\n });\r\n};\r\n\r\ninterface UseUploadFileProps {\r\n subId: OptionalId;\r\n onSuccess?: (meta: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\">) => void;\r\n onError?: (error: Error | DetailedError) => void;\r\n}\r\n\r\nexport const useUploadFile = ({ subId, onSuccess, onError }: UseUploadFileProps) => {\r\n const [progress, setProgress] = useState<number>(0);\r\n const queryClient = useQueryClient();\r\n\r\n const mutate = async (file: File) => {\r\n if (!subId) throw new Error(\"subId is required for file upload\");\r\n\r\n const metadata: Pick<FileMeta, \"id\" | \"appName\" | \"subId\" | \"fileName\"> = {\r\n id: uuidv7(),\r\n appName: APP_NAME,\r\n subId: subId,\r\n fileName: file.name,\r\n };\r\n\r\n const upload = new TusUpload(file, {\r\n endpoint: `${clientEnv.VITE_BASE_URL}/${QUERY_KEY}/v1/upload`,\r\n chunkSize: 1_048_576, // 1 MB\r\n metadata: {\r\n id: metadata.id,\r\n appName: metadata.appName,\r\n subId: metadata.subId,\r\n fileName: metadata.fileName,\r\n fileExtension: file.type\r\n },\r\n // headers: { \"Authorization\": `Bearer ${await getToken()}` }, //TODO: implement token retrieval\r\n onError: (error) => {\r\n setProgress(0);\r\n onError?.(error);\r\n },\r\n onProgress: (bytesUploaded, bytesTotal) => {\r\n setProgress((bytesUploaded / bytesTotal) * 100);\r\n },\r\n onSuccess: () => {\r\n setProgress(0);\r\n queryClient.invalidateQueries({ queryKey: [QUERY_KEY, \"meta\", subId], exact: false });\r\n onSuccess?.(metadata);\r\n },\r\n });\r\n\r\n const previousUploads = await upload.findPreviousUploads();\r\n if (previousUploads.length > 0) {\r\n upload.resumeFromPreviousUpload(previousUploads[0]);\r\n }\r\n\r\n upload.start();\r\n };\r\n\r\n return { mutate, progress };\r\n};\r\n"],"mappings":"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","names":[]}