wcz-test 6.22.1 → 6.23.0
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.
- package/dist/_virtual/compiler-runtime.js +6 -0
- package/dist/_virtual/compiler-runtime.js.map +1 -0
- package/dist/_virtual/compiler-runtime2.js +5 -0
- package/dist/_virtual/compiler-runtime2.js.map +1 -0
- package/dist/_virtual/jsx-runtime.js +6 -0
- package/dist/_virtual/jsx-runtime.js.map +1 -0
- package/dist/_virtual/jsx-runtime2.js +5 -0
- package/dist/_virtual/jsx-runtime2.js.map +1 -0
- package/dist/_virtual/react-compiler-runtime.development.js +5 -0
- package/dist/_virtual/react-compiler-runtime.development.js.map +1 -0
- package/dist/_virtual/react-compiler-runtime.production.js +5 -0
- package/dist/_virtual/react-compiler-runtime.production.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.development.js +5 -0
- package/dist/_virtual/react-jsx-runtime.development.js.map +1 -0
- package/dist/_virtual/react-jsx-runtime.production.js +5 -0
- package/dist/_virtual/react-jsx-runtime.production.js.map +1 -0
- package/dist/client.js +4 -4
- package/dist/components/core/AppTitle.d.ts +2 -0
- package/dist/components/core/AppTitle.js +23 -0
- package/dist/components/core/AppTitle.js.map +1 -0
- package/dist/components/core/Fullscreen.d.ts +3 -0
- package/dist/components/core/Fullscreen.js +104 -0
- package/dist/components/core/Fullscreen.js.map +1 -0
- package/dist/components/core/Layout.d.ts +8 -0
- package/dist/components/core/Layout.js +215 -0
- package/dist/components/core/Layout.js.map +1 -0
- package/dist/components/core/ToolbarAccount.d.ts +2 -0
- package/dist/components/core/ToolbarAccount.js +602 -0
- package/dist/components/core/ToolbarAccount.js.map +1 -0
- package/dist/components/core/TypographyWithIcon.d.ts +7 -0
- package/dist/components/core/TypographyWithIcon.js +117 -0
- package/dist/components/core/TypographyWithIcon.js.map +1 -0
- package/dist/components/core/navigation/NavigationList.d.ts +22 -0
- package/dist/components/core/navigation/NavigationList.js +166 -0
- package/dist/components/core/navigation/NavigationList.js.map +1 -0
- package/dist/components/core/navigation/NavigationListItem.d.ts +16 -0
- package/dist/components/core/navigation/NavigationListItem.js +467 -0
- package/dist/components/core/navigation/NavigationListItem.js.map +1 -0
- package/dist/components/core/navigation/NavigationRail.d.ts +12 -0
- package/dist/components/core/navigation/NavigationRail.js +141 -0
- package/dist/components/core/navigation/NavigationRail.js.map +1 -0
- package/dist/components/data-grid/ChipInputCell.d.ts +9 -0
- package/dist/components/data-grid/ChipInputCell.js +95 -0
- package/dist/components/data-grid/ChipInputCell.js.map +1 -0
- package/dist/components/data-grid/EditableColumnHeader.d.ts +2 -0
- package/dist/components/data-grid/EditableColumnHeader.js +30 -0
- package/dist/components/data-grid/EditableColumnHeader.js.map +1 -0
- package/dist/components/file/Dropzone.d.ts +8 -0
- package/dist/components/file/Dropzone.js +151 -0
- package/dist/components/file/Dropzone.js.map +1 -0
- package/dist/components/file/FileViewer.d.ts +20 -0
- package/dist/components/file/FileViewer.js +127 -0
- package/dist/components/file/FileViewer.js.map +1 -0
- package/dist/components/file/fileViewer/FileViewerGrid.d.ts +17 -0
- package/dist/components/file/fileViewer/FileViewerGrid.js +282 -0
- package/dist/components/file/fileViewer/FileViewerGrid.js.map +1 -0
- package/dist/components/file/fileViewer/FileViewerList.d.ts +12 -0
- package/dist/components/file/fileViewer/FileViewerList.js +191 -0
- package/dist/components/file/fileViewer/FileViewerList.js.map +1 -0
- package/dist/components/file/fileViewer/ImageViewer.d.ts +6 -0
- package/dist/components/file/fileViewer/ImageViewer.js +75 -0
- package/dist/components/file/fileViewer/ImageViewer.js.map +1 -0
- package/dist/components/file/fileViewer/common/ActionsMenu.d.ts +15 -0
- package/dist/components/file/fileViewer/common/ActionsMenu.js +159 -0
- package/dist/components/file/fileViewer/common/ActionsMenu.js.map +1 -0
- package/dist/components/form/FormAutocomplete.d.ts +7 -0
- package/dist/components/form/FormAutocomplete.js +80 -0
- package/dist/components/form/FormAutocomplete.js.map +1 -0
- package/dist/components/form/FormCheckbox.d.ts +7 -0
- package/dist/components/form/FormCheckbox.js +81 -0
- package/dist/components/form/FormCheckbox.js.map +1 -0
- package/dist/components/form/FormDatePicker.d.ts +8 -0
- package/dist/components/form/FormDatePicker.js +77 -0
- package/dist/components/form/FormDatePicker.js.map +1 -0
- package/dist/components/form/FormDateRangePicker.d.ts +8 -0
- package/dist/components/form/FormDateRangePicker.js +77 -0
- package/dist/components/form/FormDateRangePicker.js.map +1 -0
- package/dist/components/form/FormDateTimePicker.d.ts +8 -0
- package/dist/components/form/FormDateTimePicker.js +77 -0
- package/dist/components/form/FormDateTimePicker.js.map +1 -0
- package/dist/components/form/FormDateTimeRangePicker.d.ts +8 -0
- package/dist/components/form/FormDateTimeRangePicker.js +77 -0
- package/dist/components/form/FormDateTimeRangePicker.js.map +1 -0
- package/dist/components/form/FormNumberField.d.ts +9 -0
- package/dist/components/form/FormNumberField.js +73 -0
- package/dist/components/form/FormNumberField.js.map +1 -0
- package/dist/components/form/FormRadioGroup.d.ts +13 -0
- package/dist/components/form/FormRadioGroup.js +113 -0
- package/dist/components/form/FormRadioGroup.js.map +1 -0
- package/dist/components/form/FormSlider.d.ts +7 -0
- package/dist/components/form/FormSlider.js +94 -0
- package/dist/components/form/FormSlider.js.map +1 -0
- package/dist/components/form/FormSubmitButton.d.ts +4 -0
- package/dist/components/form/FormSubmitButton.js +50 -0
- package/dist/components/form/FormSubmitButton.js.map +1 -0
- package/dist/components/form/FormSwitch.d.ts +7 -0
- package/dist/components/form/FormSwitch.js +81 -0
- package/dist/components/form/FormSwitch.js.map +1 -0
- package/dist/components/form/FormTextField.d.ts +7 -0
- package/dist/components/form/FormTextField.js +52 -0
- package/dist/components/form/FormTextField.js.map +1 -0
- package/dist/components/form/FormTimePicker.d.ts +8 -0
- package/dist/components/form/FormTimePicker.js +77 -0
- package/dist/components/form/FormTimePicker.js.map +1 -0
- package/dist/components/form/FormTimeRangePicker.d.ts +8 -0
- package/dist/components/form/FormTimeRangePicker.js +77 -0
- package/dist/components/form/FormTimeRangePicker.js.map +1 -0
- package/dist/components/router/RouterButton.d.ts +6 -0
- package/dist/components/router/RouterButton.js +35 -0
- package/dist/components/router/RouterButton.js.map +1 -0
- package/dist/components/router/RouterError.d.ts +7 -0
- package/dist/components/router/RouterError.js +62 -0
- package/dist/components/router/RouterError.js.map +1 -0
- package/dist/components/router/RouterGridActionsCellItem.d.ts +6 -0
- package/dist/components/router/RouterGridActionsCellItem.js +35 -0
- package/dist/components/router/RouterGridActionsCellItem.js.map +1 -0
- package/dist/components/router/RouterIconButton.d.ts +6 -0
- package/dist/components/router/RouterIconButton.js +35 -0
- package/dist/components/router/RouterIconButton.js.map +1 -0
- package/dist/components/router/RouterLink.d.ts +6 -0
- package/dist/components/router/RouterLink.js +35 -0
- package/dist/components/router/RouterLink.js.map +1 -0
- package/dist/components/router/RouterListItemButton.d.ts +6 -0
- package/dist/components/router/RouterListItemButton.js +35 -0
- package/dist/components/router/RouterListItemButton.js.map +1 -0
- package/dist/components/router/RouterNotFound.d.ts +1 -0
- package/dist/components/router/RouterNotFound.js +53 -0
- package/dist/components/router/RouterNotFound.js.map +1 -0
- package/dist/components/router/RouterTab.d.ts +6 -0
- package/dist/components/router/RouterTab.js +35 -0
- package/dist/components/router/RouterTab.js.map +1 -0
- package/dist/components.js +15 -429
- package/dist/components.js.map +1 -1
- package/dist/contexts/DialogsContext.d.ts +6 -0
- package/dist/contexts/DialogsContext.js +6 -0
- package/dist/contexts/DialogsContext.js.map +1 -0
- package/dist/contexts/FileContext.d.ts +13 -0
- package/dist/contexts/FileContext.js +14 -0
- package/dist/contexts/FileContext.js.map +1 -0
- package/dist/contexts/UserContext.d.ts +7 -0
- package/dist/contexts/UserContext.js +6 -0
- package/dist/contexts/UserContext.js.map +1 -0
- package/dist/env.d.ts +10 -0
- package/dist/env.js +26 -0
- package/dist/env.js.map +1 -0
- package/dist/exports/client.d.ts +4 -0
- package/dist/exports/components.d.ts +14 -0
- package/dist/exports/hooks.d.ts +5 -0
- package/dist/exports/index.d.ts +3 -0
- package/dist/exports/models.d.ts +24 -0
- package/dist/exports/queries.d.ts +4 -0
- package/dist/exports/server.d.ts +1 -0
- package/dist/exports/utils.d.ts +3 -0
- package/dist/exports/vite.d.ts +1 -0
- package/dist/hooks/DialogsHooks.d.ts +42 -0
- package/dist/hooks/DialogsHooks.js +280 -0
- package/dist/hooks/DialogsHooks.js.map +1 -0
- package/dist/hooks/FormHooks.d.ts +52 -0
- package/dist/hooks/FormHooks.js +55 -0
- package/dist/hooks/FormHooks.js.map +1 -0
- package/dist/hooks/UseHook.d.ts +2 -0
- package/dist/hooks/UseHook.js +12 -0
- package/dist/hooks/UseHook.js.map +1 -0
- package/dist/hooks.js +5 -346
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +3 -750
- package/dist/index.js.map +1 -1
- package/dist/lib/auth/client.d.ts +13 -0
- package/dist/lib/auth/client.js +63 -0
- package/dist/lib/auth/client.js.map +1 -0
- package/dist/lib/auth/server.d.ts +9 -0
- package/dist/lib/utils.d.ts +52 -0
- package/dist/lib/utils.js +91 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/lib/vite-plugin.d.ts +2 -0
- package/dist/lib/vite-plugin.js +65 -0
- package/dist/lib/vite-plugin.js.map +1 -0
- package/dist/middleware/auth.d.ts +13 -0
- package/dist/models/Navigation.d.ts +18 -0
- package/dist/models/User.d.ts +11 -0
- package/dist/models/approval/Approval.d.ts +177 -0
- package/dist/models/approval/Approval.js +81 -0
- package/dist/models/approval/Approval.js.map +1 -0
- package/dist/models/approval/ApprovalEmployee.d.ts +7 -0
- package/dist/models/approval/ApprovalEmployee.js +10 -0
- package/dist/models/approval/ApprovalEmployee.js.map +1 -0
- package/dist/models/approval/ApprovalFlow.d.ts +49 -0
- package/dist/models/approval/ApprovalFlow.js +15 -0
- package/dist/models/approval/ApprovalFlow.js.map +1 -0
- package/dist/models/approval/ApprovalFlowStep.d.ts +29 -0
- package/dist/models/approval/ApprovalFlowStep.js +17 -0
- package/dist/models/approval/ApprovalFlowStep.js.map +1 -0
- package/dist/models/approval/ApprovalRequestType.d.ts +5 -0
- package/dist/models/approval/ApprovalRequestType.js +6 -0
- package/dist/models/approval/ApprovalRequestType.js.map +1 -0
- package/dist/models/approval/ApprovalStatus.d.ts +9 -0
- package/dist/models/approval/ApprovalStatus.js +6 -0
- package/dist/models/approval/ApprovalStatus.js.map +1 -0
- package/dist/models/approval/ApprovalStepResult.d.ts +11 -0
- package/dist/models/approval/ApprovalStepResult.js +6 -0
- package/dist/models/approval/ApprovalStepResult.js.map +1 -0
- package/dist/models/approval/StepApprovalOrder.d.ts +6 -0
- package/dist/models/approval/StepApprovalOrder.js +6 -0
- package/dist/models/approval/StepApprovalOrder.js.map +1 -0
- package/dist/models/email/Email.d.ts +13 -0
- package/dist/models/email/Email.js +14 -0
- package/dist/models/email/Email.js.map +1 -0
- package/dist/models/email/EmailAttachment.d.ts +6 -0
- package/dist/models/email/EmailAttachment.js +9 -0
- package/dist/models/email/EmailAttachment.js.map +1 -0
- package/dist/models/file/FileActions.d.ts +6 -0
- package/dist/models/file/FileMeta.d.ts +15 -0
- package/dist/{FileMeta-G1oT3mYK.js → models/file/FileMeta.js} +2 -2
- package/dist/models/file/FileMeta.js.map +1 -0
- package/dist/models/peoplesoft/Department.d.ts +58 -0
- package/dist/models/peoplesoft/Department.js +19 -0
- package/dist/models/peoplesoft/Department.js.map +1 -0
- package/dist/models/peoplesoft/Employee.d.ts +46 -0
- package/dist/models/peoplesoft/Employee.js +43 -0
- package/dist/models/peoplesoft/Employee.js.map +1 -0
- package/dist/models/peoplesoft/EmployeeCategoryGroup.d.ts +6 -0
- package/dist/models/peoplesoft/EmployeeCategoryGroup.js +6 -0
- package/dist/models/peoplesoft/EmployeeCategoryGroup.js.map +1 -0
- package/dist/models/peoplesoft/EmployeeStatus.d.ts +6 -0
- package/dist/models/peoplesoft/EmployeeStatus.js +6 -0
- package/dist/models/peoplesoft/EmployeeStatus.js.map +1 -0
- package/dist/models.js +10 -182
- package/dist/models.js.map +1 -1
- package/dist/node_modules/react/cjs/react-compiler-runtime.development.js +22 -0
- package/dist/node_modules/react/cjs/react-compiler-runtime.development.js.map +1 -0
- package/dist/node_modules/react/cjs/react-compiler-runtime.production.js +16 -0
- package/dist/node_modules/react/cjs/react-compiler-runtime.production.js.map +1 -0
- package/dist/{DialogsContext-DMZRefiY.js → node_modules/react/cjs/react-jsx-runtime.development.js} +4 -48
- package/dist/node_modules/react/cjs/react-jsx-runtime.development.js.map +1 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js +33 -0
- package/dist/node_modules/react/cjs/react-jsx-runtime.production.js.map +1 -0
- package/dist/node_modules/react/compiler-runtime.js +18 -0
- package/dist/node_modules/react/compiler-runtime.js.map +1 -0
- package/dist/node_modules/react/jsx-runtime.js +18 -0
- package/dist/node_modules/react/jsx-runtime.js.map +1 -0
- package/dist/providers/DialogsProvider.d.ts +5 -0
- package/dist/providers/DialogsProvider.js +79 -0
- package/dist/providers/DialogsProvider.js.map +1 -0
- package/dist/providers/LayoutProvider.d.ts +11 -0
- package/dist/providers/LayoutProvider.js +101 -0
- package/dist/providers/LayoutProvider.js.map +1 -0
- package/dist/providers/UserProvider.d.ts +4 -0
- package/dist/providers/UserProvider.js +94 -0
- package/dist/providers/UserProvider.js.map +1 -0
- package/dist/queries/Approval.d.ts +585 -0
- package/dist/queries/Approval.js +91 -0
- package/dist/queries/Approval.js.map +1 -0
- package/dist/queries/ApprovalHooks.d.ts +315 -0
- package/dist/queries/ApprovalHooks.js +243 -0
- package/dist/queries/ApprovalHooks.js.map +1 -0
- package/dist/queries/FileHooks.d.ts +151 -0
- package/dist/queries/FileHooks.js +466 -0
- package/dist/queries/FileHooks.js.map +1 -0
- package/dist/queries/PeopleSoftHooks.d.ts +537 -0
- package/dist/queries/PeopleSoftHooks.js +586 -0
- package/dist/queries/PeopleSoftHooks.js.map +1 -0
- package/dist/queries/UserHooks.d.ts +11 -0
- package/dist/queries/UserHooks.js +157 -0
- package/dist/queries/UserHooks.js.map +1 -0
- package/dist/queries.js +13 -337
- package/dist/queries.js.map +1 -1
- package/dist/utils.js +2 -2
- package/dist/vite.js +1 -55
- package/dist/vite.js.map +1 -1
- package/package.json +13 -11
- package/dist/ApprovalStatus-C9HPyMiS.js +0 -24
- package/dist/ApprovalStatus-C9HPyMiS.js.map +0 -1
- package/dist/DialogsContext-DMZRefiY.js.map +0 -1
- package/dist/DialogsHooks-DBK6rBoU.js +0 -37
- package/dist/DialogsHooks-DBK6rBoU.js.map +0 -1
- package/dist/FileHooks-BM2Oyvh6.js +0 -194
- package/dist/FileHooks-BM2Oyvh6.js.map +0 -1
- package/dist/FileMeta-G1oT3mYK.js.map +0 -1
- package/dist/RouterListItemButton-Vj6OoqkV.js +0 -15
- package/dist/RouterListItemButton-Vj6OoqkV.js.map +0 -1
- package/dist/UseHook-DB7btKDE.js +0 -11
- package/dist/UseHook-DB7btKDE.js.map +0 -1
- package/dist/client.d.ts +0 -20
- package/dist/components.d.ts +0 -134
- package/dist/hooks.d.ts +0 -208
- package/dist/index.d.ts +0 -74
- package/dist/models.d.ts +0 -467
- package/dist/queries.d.ts +0 -1956
- package/dist/server.d.ts +0 -5
- package/dist/utils-CKW5pi6k.js +0 -77
- package/dist/utils-CKW5pi6k.js.map +0 -1
- package/dist/utils.d.ts +0 -11
- package/dist/vite.d.ts +0 -5
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { default as z } from 'zod';
|
|
2
|
+
import { DetailedError } from 'tus-js-client';
|
|
3
|
+
import { DefinedInitialDataOptions, UseMutationOptions } from '@tanstack/react-query';
|
|
4
|
+
import { FileMeta } from '../models/file/FileMeta';
|
|
5
|
+
type OptionalId = string | undefined | null;
|
|
6
|
+
type BaseFileMetaArrayQueryOptions = Omit<DefinedInitialDataOptions<Array<FileMeta>>, "queryKey" | "queryFn" | "staleTime" | "gcTime" | "refetchOnWindowFocus" | "initialData">;
|
|
7
|
+
type BaseBlobQueryOptions = Omit<DefinedInitialDataOptions<Blob, Error, string>, "queryKey" | "queryFn" | "select" | "staleTime" | "gcTime" | "refetchOnWindowFocus" | "initialData">;
|
|
8
|
+
type BaseFileMetaMutationOptions = Omit<UseMutationOptions<FileMeta, Error, FileMeta>, "mutationFn" | "onSettled">;
|
|
9
|
+
type BaseBlobMutationOptions = Omit<UseMutationOptions<Blob, Error, FileMeta>, "mutationFn" | "onSuccess">;
|
|
10
|
+
type BaseStringMutationOptions = Omit<UseMutationOptions<string, Error, string>, "mutationFn" | "onSettled">;
|
|
11
|
+
export declare const GetFileMetasParamsSchema: z.ZodObject<{
|
|
12
|
+
appName: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
13
|
+
subId: z.ZodUUID;
|
|
14
|
+
}, z.core.$strip>;
|
|
15
|
+
export type GetFileMetasParams = z.infer<typeof GetFileMetasParamsSchema>;
|
|
16
|
+
export declare const useGetFileMetas: (params: GetFileMetasParams, options?: BaseFileMetaArrayQueryOptions) => import('@tanstack/react-query').UseQueryResult<{
|
|
17
|
+
id: string;
|
|
18
|
+
subId: string;
|
|
19
|
+
appName: string;
|
|
20
|
+
fileName: string;
|
|
21
|
+
fileExtension: string;
|
|
22
|
+
fileSize: number;
|
|
23
|
+
mediaSubType: string;
|
|
24
|
+
mediaType: string;
|
|
25
|
+
mimeType: string;
|
|
26
|
+
createdBy: string;
|
|
27
|
+
createdDate: Date;
|
|
28
|
+
}[], Error>;
|
|
29
|
+
export declare const GetFileThumbnailParamsSchema: z.ZodObject<{
|
|
30
|
+
appName: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
31
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
32
|
+
id: z.ZodUUID;
|
|
33
|
+
subId: z.ZodUUID;
|
|
34
|
+
appName: z.ZodString;
|
|
35
|
+
fileName: z.ZodString;
|
|
36
|
+
fileExtension: z.ZodString;
|
|
37
|
+
fileSize: z.ZodNumber;
|
|
38
|
+
mediaSubType: z.ZodString;
|
|
39
|
+
mediaType: z.ZodString;
|
|
40
|
+
mimeType: z.ZodString;
|
|
41
|
+
createdBy: z.ZodString;
|
|
42
|
+
createdDate: z.ZodDate;
|
|
43
|
+
}, z.core.$strip>>>;
|
|
44
|
+
}, z.core.$strip>;
|
|
45
|
+
export type GetFileThumbnailParams = z.infer<typeof GetFileThumbnailParamsSchema>;
|
|
46
|
+
export declare const useGetFileThumbnail: (params: GetFileThumbnailParams, options?: BaseBlobQueryOptions) => import('@tanstack/react-query').UseQueryResult<string, Error>;
|
|
47
|
+
export declare const GetFileParamsSchema: z.ZodObject<{
|
|
48
|
+
appName: z.ZodOptional<z.ZodDefault<z.ZodString>>;
|
|
49
|
+
meta: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
50
|
+
id: z.ZodUUID;
|
|
51
|
+
subId: z.ZodUUID;
|
|
52
|
+
appName: z.ZodString;
|
|
53
|
+
fileName: z.ZodString;
|
|
54
|
+
fileExtension: z.ZodString;
|
|
55
|
+
fileSize: z.ZodNumber;
|
|
56
|
+
mediaSubType: z.ZodString;
|
|
57
|
+
mediaType: z.ZodString;
|
|
58
|
+
mimeType: z.ZodString;
|
|
59
|
+
createdBy: z.ZodString;
|
|
60
|
+
createdDate: z.ZodDate;
|
|
61
|
+
}, z.core.$strip>>>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export type GetFileParams = z.infer<typeof GetFileParamsSchema>;
|
|
64
|
+
export declare const useGetFile: (params: GetFileParams, options?: BaseBlobQueryOptions) => import('@tanstack/react-query').UseQueryResult<string, Error>;
|
|
65
|
+
export declare const useDownloadFile: (options?: BaseBlobMutationOptions) => import('@tanstack/react-query').UseMutationResult<Blob, Error, {
|
|
66
|
+
id: string;
|
|
67
|
+
subId: string;
|
|
68
|
+
appName: string;
|
|
69
|
+
fileName: string;
|
|
70
|
+
fileExtension: string;
|
|
71
|
+
fileSize: number;
|
|
72
|
+
mediaSubType: string;
|
|
73
|
+
mediaType: string;
|
|
74
|
+
mimeType: string;
|
|
75
|
+
createdBy: string;
|
|
76
|
+
createdDate: Date;
|
|
77
|
+
}, unknown>;
|
|
78
|
+
export declare const useOpenFile: (options?: BaseBlobMutationOptions) => import('@tanstack/react-query').UseMutationResult<Blob, Error, {
|
|
79
|
+
id: string;
|
|
80
|
+
subId: string;
|
|
81
|
+
appName: string;
|
|
82
|
+
fileName: string;
|
|
83
|
+
fileExtension: string;
|
|
84
|
+
fileSize: number;
|
|
85
|
+
mediaSubType: string;
|
|
86
|
+
mediaType: string;
|
|
87
|
+
mimeType: string;
|
|
88
|
+
createdBy: string;
|
|
89
|
+
createdDate: Date;
|
|
90
|
+
}, unknown>;
|
|
91
|
+
export declare const useUpdateFileMeta: (options?: BaseFileMetaMutationOptions) => import('@tanstack/react-query').UseMutationResult<{
|
|
92
|
+
id: string;
|
|
93
|
+
subId: string;
|
|
94
|
+
appName: string;
|
|
95
|
+
fileName: string;
|
|
96
|
+
fileExtension: string;
|
|
97
|
+
fileSize: number;
|
|
98
|
+
mediaSubType: string;
|
|
99
|
+
mediaType: string;
|
|
100
|
+
mimeType: string;
|
|
101
|
+
createdBy: string;
|
|
102
|
+
createdDate: Date;
|
|
103
|
+
}, Error, {
|
|
104
|
+
id: string;
|
|
105
|
+
subId: string;
|
|
106
|
+
appName: string;
|
|
107
|
+
fileName: string;
|
|
108
|
+
fileExtension: string;
|
|
109
|
+
fileSize: number;
|
|
110
|
+
mediaSubType: string;
|
|
111
|
+
mediaType: string;
|
|
112
|
+
mimeType: string;
|
|
113
|
+
createdBy: string;
|
|
114
|
+
createdDate: Date;
|
|
115
|
+
}, unknown>;
|
|
116
|
+
export declare const useDeleteFile: (options?: BaseFileMetaMutationOptions) => import('@tanstack/react-query').UseMutationResult<{
|
|
117
|
+
id: string;
|
|
118
|
+
subId: string;
|
|
119
|
+
appName: string;
|
|
120
|
+
fileName: string;
|
|
121
|
+
fileExtension: string;
|
|
122
|
+
fileSize: number;
|
|
123
|
+
mediaSubType: string;
|
|
124
|
+
mediaType: string;
|
|
125
|
+
mimeType: string;
|
|
126
|
+
createdBy: string;
|
|
127
|
+
createdDate: Date;
|
|
128
|
+
}, Error, {
|
|
129
|
+
id: string;
|
|
130
|
+
subId: string;
|
|
131
|
+
appName: string;
|
|
132
|
+
fileName: string;
|
|
133
|
+
fileExtension: string;
|
|
134
|
+
fileSize: number;
|
|
135
|
+
mediaSubType: string;
|
|
136
|
+
mediaType: string;
|
|
137
|
+
mimeType: string;
|
|
138
|
+
createdBy: string;
|
|
139
|
+
createdDate: Date;
|
|
140
|
+
}, unknown>;
|
|
141
|
+
export declare const useDeleteFiles: (options?: BaseStringMutationOptions) => import('@tanstack/react-query').UseMutationResult<string, Error, string, unknown>;
|
|
142
|
+
interface UseUploadFileProps {
|
|
143
|
+
subId: OptionalId;
|
|
144
|
+
onSuccess?: (meta: Pick<FileMeta, "id" | "appName" | "subId" | "fileName">) => void;
|
|
145
|
+
onError?: (error: Error | DetailedError) => void;
|
|
146
|
+
}
|
|
147
|
+
export declare const useUploadFile: ({ subId, onSuccess, onError }: UseUploadFileProps) => {
|
|
148
|
+
mutate: (file: File) => Promise<void>;
|
|
149
|
+
progress: number;
|
|
150
|
+
};
|
|
151
|
+
export {};
|
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
import { c as compilerRuntimeExports } from "../_virtual/compiler-runtime.js";
|
|
2
|
+
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
|
|
3
|
+
import saveAs from "file-saver";
|
|
4
|
+
import { useState } from "react";
|
|
5
|
+
import { Upload } from "tus-js-client";
|
|
6
|
+
import { uuidv7 } from "uuidv7";
|
|
7
|
+
import z__default from "zod";
|
|
8
|
+
import { FileMetaSchema } from "../models/file/FileMeta.js";
|
|
9
|
+
import { toKebabCase, httpClient } from "../lib/utils.js";
|
|
10
|
+
import { clientEnv } from "../env.js";
|
|
11
|
+
const QUERY_KEY = "file";
|
|
12
|
+
const HOUR = 1e3 * 60 * 60;
|
|
13
|
+
const APP_NAME = toKebabCase(clientEnv.VITE_APP_TITLE);
|
|
14
|
+
z__default.object({
|
|
15
|
+
appName: z__default.string().min(1).max(255).default(APP_NAME).optional(),
|
|
16
|
+
subId: z__default.uuid()
|
|
17
|
+
});
|
|
18
|
+
const useGetFileMetas = (params, options) => {
|
|
19
|
+
const $ = compilerRuntimeExports.c(12);
|
|
20
|
+
let queryParams;
|
|
21
|
+
if ($[0] !== params.appName || $[1] !== params.subId) {
|
|
22
|
+
queryParams = new URLSearchParams();
|
|
23
|
+
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
24
|
+
queryParams.append("subId", params.subId);
|
|
25
|
+
$[0] = params.appName;
|
|
26
|
+
$[1] = params.subId;
|
|
27
|
+
$[2] = queryParams;
|
|
28
|
+
} else {
|
|
29
|
+
queryParams = $[2];
|
|
30
|
+
}
|
|
31
|
+
const t0 = params.appName ?? APP_NAME;
|
|
32
|
+
let t1;
|
|
33
|
+
if ($[3] !== params.subId || $[4] !== t0) {
|
|
34
|
+
t1 = [QUERY_KEY, "meta", t0, params.subId];
|
|
35
|
+
$[3] = params.subId;
|
|
36
|
+
$[4] = t0;
|
|
37
|
+
$[5] = t1;
|
|
38
|
+
} else {
|
|
39
|
+
t1 = $[5];
|
|
40
|
+
}
|
|
41
|
+
let t2;
|
|
42
|
+
if ($[6] !== queryParams) {
|
|
43
|
+
t2 = (t32) => {
|
|
44
|
+
const {
|
|
45
|
+
signal
|
|
46
|
+
} = t32;
|
|
47
|
+
return httpClient.request({
|
|
48
|
+
url: `/${QUERY_KEY}/v1/meta?${queryParams.toString()}`,
|
|
49
|
+
method: "GET",
|
|
50
|
+
signal
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
$[6] = queryParams;
|
|
54
|
+
$[7] = t2;
|
|
55
|
+
} else {
|
|
56
|
+
t2 = $[7];
|
|
57
|
+
}
|
|
58
|
+
let t3;
|
|
59
|
+
if ($[8] !== options || $[9] !== t1 || $[10] !== t2) {
|
|
60
|
+
t3 = {
|
|
61
|
+
...options,
|
|
62
|
+
queryKey: t1,
|
|
63
|
+
queryFn: t2,
|
|
64
|
+
staleTime: HOUR,
|
|
65
|
+
gcTime: HOUR,
|
|
66
|
+
refetchOnWindowFocus: false
|
|
67
|
+
};
|
|
68
|
+
$[8] = options;
|
|
69
|
+
$[9] = t1;
|
|
70
|
+
$[10] = t2;
|
|
71
|
+
$[11] = t3;
|
|
72
|
+
} else {
|
|
73
|
+
t3 = $[11];
|
|
74
|
+
}
|
|
75
|
+
return useQuery(t3);
|
|
76
|
+
};
|
|
77
|
+
z__default.object({
|
|
78
|
+
appName: z__default.string().min(1).max(255).default(APP_NAME).optional(),
|
|
79
|
+
meta: FileMetaSchema.nullish()
|
|
80
|
+
});
|
|
81
|
+
const useGetFileThumbnail = (params, options) => {
|
|
82
|
+
const $ = compilerRuntimeExports.c(13);
|
|
83
|
+
let queryParams;
|
|
84
|
+
if ($[0] !== params.appName || $[1] !== params.meta?.id) {
|
|
85
|
+
queryParams = new URLSearchParams();
|
|
86
|
+
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
87
|
+
queryParams.append("id", params.meta?.id ?? "");
|
|
88
|
+
$[0] = params.appName;
|
|
89
|
+
$[1] = params.meta?.id;
|
|
90
|
+
$[2] = queryParams;
|
|
91
|
+
} else {
|
|
92
|
+
queryParams = $[2];
|
|
93
|
+
}
|
|
94
|
+
const t0 = params.appName ?? APP_NAME;
|
|
95
|
+
const t1 = params.meta?.id;
|
|
96
|
+
let t2;
|
|
97
|
+
if ($[3] !== t0 || $[4] !== t1) {
|
|
98
|
+
t2 = [QUERY_KEY, "thumbnail", t0, t1];
|
|
99
|
+
$[3] = t0;
|
|
100
|
+
$[4] = t1;
|
|
101
|
+
$[5] = t2;
|
|
102
|
+
} else {
|
|
103
|
+
t2 = $[5];
|
|
104
|
+
}
|
|
105
|
+
let t3;
|
|
106
|
+
if ($[6] !== queryParams) {
|
|
107
|
+
t3 = (t42) => {
|
|
108
|
+
const {
|
|
109
|
+
signal
|
|
110
|
+
} = t42;
|
|
111
|
+
return httpClient.request({
|
|
112
|
+
url: `/${QUERY_KEY}/v1/thumbnail?${queryParams.toString()}`,
|
|
113
|
+
method: "GET",
|
|
114
|
+
signal,
|
|
115
|
+
responseType: "blob"
|
|
116
|
+
});
|
|
117
|
+
};
|
|
118
|
+
$[6] = queryParams;
|
|
119
|
+
$[7] = t3;
|
|
120
|
+
} else {
|
|
121
|
+
t3 = $[7];
|
|
122
|
+
}
|
|
123
|
+
const t4 = !!params.meta && options?.enabled !== false;
|
|
124
|
+
let t5;
|
|
125
|
+
if ($[8] !== options || $[9] !== t2 || $[10] !== t3 || $[11] !== t4) {
|
|
126
|
+
t5 = {
|
|
127
|
+
...options,
|
|
128
|
+
queryKey: t2,
|
|
129
|
+
queryFn: t3,
|
|
130
|
+
select: _temp,
|
|
131
|
+
staleTime: HOUR,
|
|
132
|
+
gcTime: HOUR,
|
|
133
|
+
refetchOnWindowFocus: false,
|
|
134
|
+
enabled: t4
|
|
135
|
+
};
|
|
136
|
+
$[8] = options;
|
|
137
|
+
$[9] = t2;
|
|
138
|
+
$[10] = t3;
|
|
139
|
+
$[11] = t4;
|
|
140
|
+
$[12] = t5;
|
|
141
|
+
} else {
|
|
142
|
+
t5 = $[12];
|
|
143
|
+
}
|
|
144
|
+
return useQuery(t5);
|
|
145
|
+
};
|
|
146
|
+
z__default.object({
|
|
147
|
+
appName: z__default.string().min(1).max(255).default(APP_NAME).optional(),
|
|
148
|
+
meta: FileMetaSchema.nullish()
|
|
149
|
+
});
|
|
150
|
+
const useGetFile = (params, options) => {
|
|
151
|
+
const $ = compilerRuntimeExports.c(13);
|
|
152
|
+
let queryParams;
|
|
153
|
+
if ($[0] !== params.appName || $[1] !== params.meta?.id) {
|
|
154
|
+
queryParams = new URLSearchParams();
|
|
155
|
+
queryParams.append("appName", params.appName ?? APP_NAME);
|
|
156
|
+
queryParams.append("id", params.meta?.id ?? "");
|
|
157
|
+
$[0] = params.appName;
|
|
158
|
+
$[1] = params.meta?.id;
|
|
159
|
+
$[2] = queryParams;
|
|
160
|
+
} else {
|
|
161
|
+
queryParams = $[2];
|
|
162
|
+
}
|
|
163
|
+
const t0 = params.appName ?? APP_NAME;
|
|
164
|
+
const t1 = params.meta?.id;
|
|
165
|
+
let t2;
|
|
166
|
+
if ($[3] !== t0 || $[4] !== t1) {
|
|
167
|
+
t2 = [QUERY_KEY, t0, t1];
|
|
168
|
+
$[3] = t0;
|
|
169
|
+
$[4] = t1;
|
|
170
|
+
$[5] = t2;
|
|
171
|
+
} else {
|
|
172
|
+
t2 = $[5];
|
|
173
|
+
}
|
|
174
|
+
let t3;
|
|
175
|
+
if ($[6] !== queryParams) {
|
|
176
|
+
t3 = (t42) => {
|
|
177
|
+
const {
|
|
178
|
+
signal
|
|
179
|
+
} = t42;
|
|
180
|
+
return httpClient.request({
|
|
181
|
+
url: `/${QUERY_KEY}/v1?${queryParams.toString()}`,
|
|
182
|
+
method: "GET",
|
|
183
|
+
signal,
|
|
184
|
+
responseType: "blob"
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
$[6] = queryParams;
|
|
188
|
+
$[7] = t3;
|
|
189
|
+
} else {
|
|
190
|
+
t3 = $[7];
|
|
191
|
+
}
|
|
192
|
+
const t4 = !!params.meta && options?.enabled !== false;
|
|
193
|
+
let t5;
|
|
194
|
+
if ($[8] !== options || $[9] !== t2 || $[10] !== t3 || $[11] !== t4) {
|
|
195
|
+
t5 = {
|
|
196
|
+
...options,
|
|
197
|
+
queryKey: t2,
|
|
198
|
+
queryFn: t3,
|
|
199
|
+
select: _temp2,
|
|
200
|
+
staleTime: HOUR,
|
|
201
|
+
gcTime: HOUR,
|
|
202
|
+
refetchOnWindowFocus: false,
|
|
203
|
+
enabled: t4
|
|
204
|
+
};
|
|
205
|
+
$[8] = options;
|
|
206
|
+
$[9] = t2;
|
|
207
|
+
$[10] = t3;
|
|
208
|
+
$[11] = t4;
|
|
209
|
+
$[12] = t5;
|
|
210
|
+
} else {
|
|
211
|
+
t5 = $[12];
|
|
212
|
+
}
|
|
213
|
+
return useQuery(t5);
|
|
214
|
+
};
|
|
215
|
+
const useDownloadFile = (options) => {
|
|
216
|
+
const $ = compilerRuntimeExports.c(2);
|
|
217
|
+
let t0;
|
|
218
|
+
if ($[0] !== options) {
|
|
219
|
+
t0 = {
|
|
220
|
+
...options,
|
|
221
|
+
mutationFn: _temp3,
|
|
222
|
+
onSuccess: _temp4
|
|
223
|
+
};
|
|
224
|
+
$[0] = options;
|
|
225
|
+
$[1] = t0;
|
|
226
|
+
} else {
|
|
227
|
+
t0 = $[1];
|
|
228
|
+
}
|
|
229
|
+
return useMutation(t0);
|
|
230
|
+
};
|
|
231
|
+
const useOpenFile = (options) => {
|
|
232
|
+
const $ = compilerRuntimeExports.c(2);
|
|
233
|
+
let t0;
|
|
234
|
+
if ($[0] !== options) {
|
|
235
|
+
t0 = {
|
|
236
|
+
...options,
|
|
237
|
+
mutationFn: _temp5,
|
|
238
|
+
onSuccess: _temp6
|
|
239
|
+
};
|
|
240
|
+
$[0] = options;
|
|
241
|
+
$[1] = t0;
|
|
242
|
+
} else {
|
|
243
|
+
t0 = $[1];
|
|
244
|
+
}
|
|
245
|
+
return useMutation(t0);
|
|
246
|
+
};
|
|
247
|
+
const useUpdateFileMeta = (options) => {
|
|
248
|
+
const $ = compilerRuntimeExports.c(5);
|
|
249
|
+
const queryClient = useQueryClient();
|
|
250
|
+
let t0;
|
|
251
|
+
if ($[0] !== queryClient) {
|
|
252
|
+
t0 = () => queryClient.invalidateQueries({
|
|
253
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
254
|
+
exact: false
|
|
255
|
+
});
|
|
256
|
+
$[0] = queryClient;
|
|
257
|
+
$[1] = t0;
|
|
258
|
+
} else {
|
|
259
|
+
t0 = $[1];
|
|
260
|
+
}
|
|
261
|
+
let t1;
|
|
262
|
+
if ($[2] !== options || $[3] !== t0) {
|
|
263
|
+
t1 = {
|
|
264
|
+
...options,
|
|
265
|
+
mutationFn: _temp7,
|
|
266
|
+
onSettled: t0
|
|
267
|
+
};
|
|
268
|
+
$[2] = options;
|
|
269
|
+
$[3] = t0;
|
|
270
|
+
$[4] = t1;
|
|
271
|
+
} else {
|
|
272
|
+
t1 = $[4];
|
|
273
|
+
}
|
|
274
|
+
return useMutation(t1);
|
|
275
|
+
};
|
|
276
|
+
const useDeleteFile = (options) => {
|
|
277
|
+
const $ = compilerRuntimeExports.c(5);
|
|
278
|
+
const queryClient = useQueryClient();
|
|
279
|
+
let t0;
|
|
280
|
+
if ($[0] !== queryClient) {
|
|
281
|
+
t0 = () => queryClient.invalidateQueries({
|
|
282
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
283
|
+
exact: false
|
|
284
|
+
});
|
|
285
|
+
$[0] = queryClient;
|
|
286
|
+
$[1] = t0;
|
|
287
|
+
} else {
|
|
288
|
+
t0 = $[1];
|
|
289
|
+
}
|
|
290
|
+
let t1;
|
|
291
|
+
if ($[2] !== options || $[3] !== t0) {
|
|
292
|
+
t1 = {
|
|
293
|
+
...options,
|
|
294
|
+
mutationFn: _temp8,
|
|
295
|
+
onSettled: t0
|
|
296
|
+
};
|
|
297
|
+
$[2] = options;
|
|
298
|
+
$[3] = t0;
|
|
299
|
+
$[4] = t1;
|
|
300
|
+
} else {
|
|
301
|
+
t1 = $[4];
|
|
302
|
+
}
|
|
303
|
+
return useMutation(t1);
|
|
304
|
+
};
|
|
305
|
+
const useDeleteFiles = (options) => {
|
|
306
|
+
const $ = compilerRuntimeExports.c(5);
|
|
307
|
+
const queryClient = useQueryClient();
|
|
308
|
+
let t0;
|
|
309
|
+
if ($[0] !== queryClient) {
|
|
310
|
+
t0 = () => queryClient.invalidateQueries({
|
|
311
|
+
queryKey: [QUERY_KEY, "meta"],
|
|
312
|
+
exact: false
|
|
313
|
+
});
|
|
314
|
+
$[0] = queryClient;
|
|
315
|
+
$[1] = t0;
|
|
316
|
+
} else {
|
|
317
|
+
t0 = $[1];
|
|
318
|
+
}
|
|
319
|
+
let t1;
|
|
320
|
+
if ($[2] !== options || $[3] !== t0) {
|
|
321
|
+
t1 = {
|
|
322
|
+
...options,
|
|
323
|
+
mutationFn: _temp9,
|
|
324
|
+
onSettled: t0
|
|
325
|
+
};
|
|
326
|
+
$[2] = options;
|
|
327
|
+
$[3] = t0;
|
|
328
|
+
$[4] = t1;
|
|
329
|
+
} else {
|
|
330
|
+
t1 = $[4];
|
|
331
|
+
}
|
|
332
|
+
return useMutation(t1);
|
|
333
|
+
};
|
|
334
|
+
const useUploadFile = (t0) => {
|
|
335
|
+
const $ = compilerRuntimeExports.c(8);
|
|
336
|
+
const {
|
|
337
|
+
subId,
|
|
338
|
+
onSuccess,
|
|
339
|
+
onError
|
|
340
|
+
} = t0;
|
|
341
|
+
const [progress, setProgress] = useState(0);
|
|
342
|
+
const queryClient = useQueryClient();
|
|
343
|
+
let t1;
|
|
344
|
+
if ($[0] !== onError || $[1] !== onSuccess || $[2] !== queryClient || $[3] !== subId) {
|
|
345
|
+
t1 = async (file) => {
|
|
346
|
+
if (!subId) {
|
|
347
|
+
throw new Error("subId is required for file upload");
|
|
348
|
+
}
|
|
349
|
+
const metadata = {
|
|
350
|
+
id: uuidv7(),
|
|
351
|
+
appName: APP_NAME,
|
|
352
|
+
subId,
|
|
353
|
+
fileName: file.name
|
|
354
|
+
};
|
|
355
|
+
const upload = new Upload(file, {
|
|
356
|
+
endpoint: `${clientEnv.VITE_API_URL}/${QUERY_KEY}/v1/upload`,
|
|
357
|
+
chunkSize: 1048576,
|
|
358
|
+
metadata: {
|
|
359
|
+
id: metadata.id,
|
|
360
|
+
appName: metadata.appName,
|
|
361
|
+
subId: metadata.subId,
|
|
362
|
+
fileName: metadata.fileName,
|
|
363
|
+
fileExtension: file.type
|
|
364
|
+
},
|
|
365
|
+
onError: (error) => {
|
|
366
|
+
setProgress(0);
|
|
367
|
+
onError?.(error);
|
|
368
|
+
},
|
|
369
|
+
onProgress: (bytesUploaded, bytesTotal) => {
|
|
370
|
+
setProgress(bytesUploaded / bytesTotal * 100);
|
|
371
|
+
},
|
|
372
|
+
onSuccess: () => {
|
|
373
|
+
setProgress(0);
|
|
374
|
+
queryClient.invalidateQueries({
|
|
375
|
+
queryKey: [QUERY_KEY, "meta", subId],
|
|
376
|
+
exact: false
|
|
377
|
+
});
|
|
378
|
+
onSuccess?.(metadata);
|
|
379
|
+
}
|
|
380
|
+
});
|
|
381
|
+
const previousUploads = await upload.findPreviousUploads();
|
|
382
|
+
if (previousUploads.length > 0) {
|
|
383
|
+
upload.resumeFromPreviousUpload(previousUploads[0]);
|
|
384
|
+
}
|
|
385
|
+
upload.start();
|
|
386
|
+
};
|
|
387
|
+
$[0] = onError;
|
|
388
|
+
$[1] = onSuccess;
|
|
389
|
+
$[2] = queryClient;
|
|
390
|
+
$[3] = subId;
|
|
391
|
+
$[4] = t1;
|
|
392
|
+
} else {
|
|
393
|
+
t1 = $[4];
|
|
394
|
+
}
|
|
395
|
+
const mutate = t1;
|
|
396
|
+
let t2;
|
|
397
|
+
if ($[5] !== mutate || $[6] !== progress) {
|
|
398
|
+
t2 = {
|
|
399
|
+
mutate,
|
|
400
|
+
progress
|
|
401
|
+
};
|
|
402
|
+
$[5] = mutate;
|
|
403
|
+
$[6] = progress;
|
|
404
|
+
$[7] = t2;
|
|
405
|
+
} else {
|
|
406
|
+
t2 = $[7];
|
|
407
|
+
}
|
|
408
|
+
return t2;
|
|
409
|
+
};
|
|
410
|
+
function _temp(data) {
|
|
411
|
+
return URL.createObjectURL(data);
|
|
412
|
+
}
|
|
413
|
+
function _temp2(data) {
|
|
414
|
+
return URL.createObjectURL(data);
|
|
415
|
+
}
|
|
416
|
+
function _temp3(meta) {
|
|
417
|
+
return httpClient.request({
|
|
418
|
+
url: `/${QUERY_KEY}/v1/download?appName=${APP_NAME}&id=${meta.id}`,
|
|
419
|
+
method: "GET",
|
|
420
|
+
responseType: "blob"
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
function _temp4(data, variables) {
|
|
424
|
+
return saveAs(data, `${variables.fileName}.${variables.fileExtension}`);
|
|
425
|
+
}
|
|
426
|
+
function _temp5(meta) {
|
|
427
|
+
return httpClient.request({
|
|
428
|
+
url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,
|
|
429
|
+
method: "GET",
|
|
430
|
+
responseType: "blob"
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
function _temp6(data) {
|
|
434
|
+
window.open(URL.createObjectURL(data));
|
|
435
|
+
}
|
|
436
|
+
function _temp7(meta) {
|
|
437
|
+
return httpClient.request({
|
|
438
|
+
url: `/${QUERY_KEY}/v1/meta?appName=${APP_NAME}&id=${meta.id}`,
|
|
439
|
+
method: "PUT",
|
|
440
|
+
data: meta
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
function _temp8(meta) {
|
|
444
|
+
return httpClient.request({
|
|
445
|
+
url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&id=${meta.id}`,
|
|
446
|
+
method: "DELETE"
|
|
447
|
+
});
|
|
448
|
+
}
|
|
449
|
+
function _temp9(subId) {
|
|
450
|
+
return httpClient.request({
|
|
451
|
+
url: `/${QUERY_KEY}/v1?appName=${APP_NAME}&subId=${subId}`,
|
|
452
|
+
method: "DELETE"
|
|
453
|
+
});
|
|
454
|
+
}
|
|
455
|
+
export {
|
|
456
|
+
useDeleteFile,
|
|
457
|
+
useDeleteFiles,
|
|
458
|
+
useDownloadFile,
|
|
459
|
+
useGetFile,
|
|
460
|
+
useGetFileMetas,
|
|
461
|
+
useGetFileThumbnail,
|
|
462
|
+
useOpenFile,
|
|
463
|
+
useUpdateFileMeta,
|
|
464
|
+
useUploadFile
|
|
465
|
+
};
|
|
466
|
+
//# sourceMappingURL=FileHooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileHooks.js","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_API_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"],"names":["QUERY_KEY","HOUR","APP_NAME","toKebabCase","clientEnv","VITE_APP_TITLE","z","object","appName","string","min","max","default","optional","subId","uuid","useGetFileMetas","params","options","$","_c","queryParams","URLSearchParams","append","t0","t1","t2","t3","signal","httpClient","request","url","toString","method","queryKey","queryFn","staleTime","gcTime","refetchOnWindowFocus","useQuery","meta","FileMetaSchema","nullish","useGetFileThumbnail","id","t4","responseType","enabled","t5","select","_temp","useGetFile","_temp2","useDownloadFile","mutationFn","_temp3","onSuccess","_temp4","useMutation","useOpenFile","_temp5","_temp6","useUpdateFileMeta","queryClient","useQueryClient","invalidateQueries","exact","_temp7","onSettled","useDeleteFile","_temp8","useDeleteFiles","_temp9","useUploadFile","onError","progress","setProgress","useState","file","Error","metadata","uuidv7","fileName","name","upload","TusUpload","endpoint","VITE_API_URL","chunkSize","fileExtension","type","error","onProgress","bytesUploaded","bytesTotal","previousUploads","findPreviousUploads","length","resumeFromPreviousUpload","start","mutate","data","URL","createObjectURL","variables","saveAs","window","open"],"mappings":"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"}
|