@solibo/solibo-query 1.7.74 → 1.7.75
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.
|
@@ -31,8 +31,9 @@ export declare function uploadDocumentBelongsToMutationOptions(sdk: SoliboSDK, q
|
|
|
31
31
|
file: File;
|
|
32
32
|
onUploadProgress?: UploadProgressListener;
|
|
33
33
|
}) => Promise<Document>;
|
|
34
|
-
onSuccess: (_: any, params: any) => Promise<[void, void]>;
|
|
34
|
+
onSuccess: (_: any, params: any) => Promise<[void, void, ...void[]]>;
|
|
35
35
|
};
|
|
36
|
-
export declare function multiUploadDocumentMutationOptions(sdk: SoliboSDK): {
|
|
36
|
+
export declare function multiUploadDocumentMutationOptions(sdk: SoliboSDK, queryClient?: QueryClient): {
|
|
37
37
|
mutationFn: (params: MultiDocumentUploadParams) => Promise<PromiseSettledResult<Document>[]>;
|
|
38
|
+
onSuccess: (_: any, params: any) => Promise<void[]>;
|
|
38
39
|
};
|
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
import { UploadDocumentRequest, } from "@solibo/solibo-sdk";
|
|
2
2
|
import { completeSignedUpload, createUploadHeaders, fileToBytes, toUploadBinaryRequest, toUploadProgressListener, } from "../../documentApi.js";
|
|
3
3
|
import { documentKeys } from "../../queries/document/documents.js";
|
|
4
|
+
import { homepageKeys } from "../../queries/homepage/homepage.js";
|
|
4
5
|
import { createUploadGroupId } from "../../../utils/uploadGroupId.js";
|
|
6
|
+
const HOMEPAGE_POST_DOCUMENT_TYPES = new Set([
|
|
7
|
+
"HOMEPAGE",
|
|
8
|
+
"POST",
|
|
9
|
+
"PRACTICAL_INFO",
|
|
10
|
+
]);
|
|
11
|
+
function homepageAttachmentInvalidations(queryClient, params) {
|
|
12
|
+
if (queryClient == null ||
|
|
13
|
+
params.belongsToId == null ||
|
|
14
|
+
!HOMEPAGE_POST_DOCUMENT_TYPES.has(params.documentType.value)) {
|
|
15
|
+
return [];
|
|
16
|
+
}
|
|
17
|
+
return [
|
|
18
|
+
queryClient.invalidateQueries({
|
|
19
|
+
queryKey: [homepageKeys.detail(params.companyId)],
|
|
20
|
+
}),
|
|
21
|
+
queryClient.invalidateQueries({
|
|
22
|
+
queryKey: [
|
|
23
|
+
homepageKeys.postDocuments(params.companyId, params.belongsToId),
|
|
24
|
+
],
|
|
25
|
+
}),
|
|
26
|
+
];
|
|
27
|
+
}
|
|
5
28
|
function uploadSingleDocument(sdk, params) {
|
|
6
29
|
return fileToBytes(params.file).then((bytes) => sdk.api.documents.uploadDocument(new UploadDocumentRequest({
|
|
7
30
|
companyId: BigInt(params.companyId).valueOf(),
|
|
@@ -57,10 +80,11 @@ export function uploadDocumentBelongsToMutationOptions(sdk, queryClient) {
|
|
|
57
80
|
documentKeys.ofType(params.documentType, params.companyId, params.parentId),
|
|
58
81
|
],
|
|
59
82
|
}),
|
|
83
|
+
...homepageAttachmentInvalidations(queryClient, params),
|
|
60
84
|
]),
|
|
61
85
|
};
|
|
62
86
|
}
|
|
63
|
-
export function multiUploadDocumentMutationOptions(sdk) {
|
|
87
|
+
export function multiUploadDocumentMutationOptions(sdk, queryClient) {
|
|
64
88
|
return {
|
|
65
89
|
mutationFn: (params) => {
|
|
66
90
|
const files = Array.from(params.fileList);
|
|
@@ -84,6 +108,23 @@ export function multiUploadDocumentMutationOptions(sdk) {
|
|
|
84
108
|
onUploadProgress: params.onUploadProgress,
|
|
85
109
|
})));
|
|
86
110
|
},
|
|
111
|
+
onSuccess: (_, params) => Promise.all([
|
|
112
|
+
...(params.belongsToId != null
|
|
113
|
+
? [
|
|
114
|
+
queryClient?.invalidateQueries({
|
|
115
|
+
queryKey: [
|
|
116
|
+
documentKeys.belongingToId(params.companyId, params.documentType, params.belongsToId, params.parentId),
|
|
117
|
+
],
|
|
118
|
+
}),
|
|
119
|
+
]
|
|
120
|
+
: []),
|
|
121
|
+
queryClient?.invalidateQueries({
|
|
122
|
+
queryKey: [
|
|
123
|
+
documentKeys.ofType(params.documentType, params.companyId, params.parentId, params.isDirectory),
|
|
124
|
+
],
|
|
125
|
+
}),
|
|
126
|
+
...homepageAttachmentInvalidations(queryClient, params),
|
|
127
|
+
].filter((value) => value != null)),
|
|
87
128
|
};
|
|
88
129
|
}
|
|
89
130
|
//# sourceMappingURL=uploadDocument.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadDocument.js","sourceRoot":"","sources":["../../../../src/api/commands/document/uploadDocument.ts"],"names":[],"mappings":"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","sourcesContent":["import type { QueryClient } from \"@tanstack/query-core\";\nimport {\n SoliboSDK,\n Document,\n DocumentType,\n UploadDocumentRequest,\n} from \"@solibo/solibo-sdk\";\nimport { Id } from \"../../../utils/kt-bridge.js\";\n\nimport {\n completeSignedUpload,\n createUploadHeaders,\n fileToBytes,\n toUploadBinaryRequest,\n toUploadProgressListener,\n} from \"../../documentApi.js\";\nimport type { UploadProgressListener } from \"../../documentApi.js\";\nimport { documentKeys } from \"../../queries/document/documents.js\";\nimport { createUploadGroupId } from \"../../../utils/uploadGroupId.js\";\n\nexport interface MultiDocumentUploadParams {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n belongsToId?: Id | null | undefined;\n fileList: FileList | File[];\n onUploadProgress?: UploadProgressListener;\n}\n\nfunction uploadSingleDocument(\n sdk: SoliboSDK,\n params: {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n file: File;\n onUploadProgress?: UploadProgressListener;\n },\n): Promise<Document> {\n return fileToBytes(params.file).then((bytes) =>\n sdk.api.documents.uploadDocument(\n new UploadDocumentRequest({\n companyId: BigInt(params.companyId).valueOf(),\n documentType: params.documentType,\n fileName: params.file.name,\n bytes,\n parentId:\n params.parentId != null ? BigInt(params.parentId).valueOf() : null,\n isDirectory: params.isDirectory,\n contentType: params.file.type || undefined,\n }),\n toUploadProgressListener({\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n }),\n ),\n );\n}\n\nfunction uploadBelongsToDocument(\n sdk: SoliboSDK,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId: Id;\n parentId?: Id | null | undefined;\n file: File;\n uploadGroupId?: string;\n onUploadProgress?: UploadProgressListener;\n },\n): Promise<Document> {\n return toUploadBinaryRequest({\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n }).then(async (uploadRequest) => {\n sdk.api.documents.setNextRequestHeaders(\n createUploadHeaders(sdk.api.documents, uploadRequest),\n );\n const response = await sdk.api.documents.createDocumentBelongsTo(\n BigInt(params.companyId).valueOf(),\n params.documentType.name,\n BigInt(params.belongsToId).valueOf(),\n params.parentId != null ? BigInt(params.parentId).valueOf() : null,\n params.uploadGroupId,\n );\n const body = await response.body();\n\n await completeSignedUpload(\n sdk.api.documents,\n response.headers,\n uploadRequest,\n {\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n },\n );\n\n return body;\n });\n}\n\nexport function uploadDocumentMutationOptions(\n sdk: SoliboSDK,\n queryClient: QueryClient,\n) {\n return {\n mutationFn: (params: {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n file: File;\n onUploadProgress?: UploadProgressListener;\n }) => uploadSingleDocument(sdk, params),\n\n onSuccess: (_, params) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.ofType(\n params.documentType,\n params.companyId,\n params.parentId,\n params.isDirectory,\n ),\n ],\n }),\n ]),\n };\n}\n\nexport function uploadDocumentBelongsToMutationOptions(\n sdk: SoliboSDK,\n queryClient: QueryClient,\n) {\n return {\n mutationFn: (params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId: Id;\n parentId?: Id | null | undefined;\n file: File;\n onUploadProgress?: UploadProgressListener;\n }) => uploadBelongsToDocument(sdk, params),\n\n onSuccess: (_, params) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.belongingToId(\n params.companyId,\n params.documentType,\n params.belongsToId,\n params.parentId,\n ),\n ],\n }),\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.ofType(\n params.documentType,\n params.companyId,\n params.parentId,\n ),\n ],\n }),\n ]),\n };\n}\n\nexport function multiUploadDocumentMutationOptions(sdk: SoliboSDK) {\n return {\n mutationFn: (params: MultiDocumentUploadParams) => {\n const files = Array.from(params.fileList);\n const uploadGroupId =\n params.belongsToId != null ? createUploadGroupId() : undefined;\n\n return Promise.allSettled<Document>(\n files.map((file) =>\n params.belongsToId\n ? uploadBelongsToDocument(sdk, {\n companyId: params.companyId,\n documentType: params.documentType,\n parentId: params.parentId,\n belongsToId: params.belongsToId,\n file: file,\n uploadGroupId,\n onUploadProgress: params.onUploadProgress,\n })\n : uploadSingleDocument(sdk, {\n companyId: params.companyId,\n documentType: params.documentType,\n parentId: params.parentId,\n isDirectory: params.isDirectory,\n file: file,\n onUploadProgress: params.onUploadProgress,\n }),\n ),\n );\n },\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"uploadDocument.js","sourceRoot":"","sources":["../../../../src/api/commands/document/uploadDocument.ts"],"names":[],"mappings":"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","sourcesContent":["import type { QueryClient } from \"@tanstack/query-core\";\nimport {\n SoliboSDK,\n Document,\n DocumentType,\n UploadDocumentRequest,\n} from \"@solibo/solibo-sdk\";\nimport { Id } from \"../../../utils/kt-bridge.js\";\n\nimport {\n completeSignedUpload,\n createUploadHeaders,\n fileToBytes,\n toUploadBinaryRequest,\n toUploadProgressListener,\n} from \"../../documentApi.js\";\nimport type { UploadProgressListener } from \"../../documentApi.js\";\nimport { documentKeys } from \"../../queries/document/documents.js\";\nimport { homepageKeys } from \"../../queries/homepage/homepage.js\";\nimport { createUploadGroupId } from \"../../../utils/uploadGroupId.js\";\n\nexport interface MultiDocumentUploadParams {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n belongsToId?: Id | null | undefined;\n fileList: FileList | File[];\n onUploadProgress?: UploadProgressListener;\n}\n\nconst HOMEPAGE_POST_DOCUMENT_TYPES = new Set([\n \"HOMEPAGE\",\n \"POST\",\n \"PRACTICAL_INFO\",\n]);\n\nfunction homepageAttachmentInvalidations(\n queryClient: QueryClient | undefined,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId?: Id | null | undefined;\n },\n) {\n if (\n queryClient == null ||\n params.belongsToId == null ||\n !HOMEPAGE_POST_DOCUMENT_TYPES.has(params.documentType.value)\n ) {\n return [];\n }\n\n return [\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.detail(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [\n homepageKeys.postDocuments(params.companyId, params.belongsToId),\n ],\n }),\n ];\n}\n\nfunction uploadSingleDocument(\n sdk: SoliboSDK,\n params: {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n file: File;\n onUploadProgress?: UploadProgressListener;\n },\n): Promise<Document> {\n return fileToBytes(params.file).then((bytes) =>\n sdk.api.documents.uploadDocument(\n new UploadDocumentRequest({\n companyId: BigInt(params.companyId).valueOf(),\n documentType: params.documentType,\n fileName: params.file.name,\n bytes,\n parentId:\n params.parentId != null ? BigInt(params.parentId).valueOf() : null,\n isDirectory: params.isDirectory,\n contentType: params.file.type || undefined,\n }),\n toUploadProgressListener({\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n }),\n ),\n );\n}\n\nfunction uploadBelongsToDocument(\n sdk: SoliboSDK,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId: Id;\n parentId?: Id | null | undefined;\n file: File;\n uploadGroupId?: string;\n onUploadProgress?: UploadProgressListener;\n },\n): Promise<Document> {\n return toUploadBinaryRequest({\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n }).then(async (uploadRequest) => {\n sdk.api.documents.setNextRequestHeaders(\n createUploadHeaders(sdk.api.documents, uploadRequest),\n );\n const response = await sdk.api.documents.createDocumentBelongsTo(\n BigInt(params.companyId).valueOf(),\n params.documentType.name,\n BigInt(params.belongsToId).valueOf(),\n params.parentId != null ? BigInt(params.parentId).valueOf() : null,\n params.uploadGroupId,\n );\n const body = await response.body();\n\n await completeSignedUpload(\n sdk.api.documents,\n response.headers,\n uploadRequest,\n {\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n },\n );\n\n return body;\n });\n}\n\nexport function uploadDocumentMutationOptions(\n sdk: SoliboSDK,\n queryClient: QueryClient,\n) {\n return {\n mutationFn: (params: {\n companyId: Id;\n documentType: DocumentType;\n parentId?: Id | null | undefined;\n isDirectory?: boolean;\n file: File;\n onUploadProgress?: UploadProgressListener;\n }) => uploadSingleDocument(sdk, params),\n\n onSuccess: (_, params) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.ofType(\n params.documentType,\n params.companyId,\n params.parentId,\n params.isDirectory,\n ),\n ],\n }),\n ]),\n };\n}\n\nexport function uploadDocumentBelongsToMutationOptions(\n sdk: SoliboSDK,\n queryClient: QueryClient,\n) {\n return {\n mutationFn: (params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId: Id;\n parentId?: Id | null | undefined;\n file: File;\n onUploadProgress?: UploadProgressListener;\n }) => uploadBelongsToDocument(sdk, params),\n\n onSuccess: (_, params) =>\n Promise.all([\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.belongingToId(\n params.companyId,\n params.documentType,\n params.belongsToId,\n params.parentId,\n ),\n ],\n }),\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.ofType(\n params.documentType,\n params.companyId,\n params.parentId,\n ),\n ],\n }),\n ...homepageAttachmentInvalidations(queryClient, params),\n ]),\n };\n}\n\nexport function multiUploadDocumentMutationOptions(\n sdk: SoliboSDK,\n queryClient?: QueryClient,\n) {\n return {\n mutationFn: (params: MultiDocumentUploadParams) => {\n const files = Array.from(params.fileList);\n const uploadGroupId =\n params.belongsToId != null ? createUploadGroupId() : undefined;\n\n return Promise.allSettled<Document>(\n files.map((file) =>\n params.belongsToId\n ? uploadBelongsToDocument(sdk, {\n companyId: params.companyId,\n documentType: params.documentType,\n parentId: params.parentId,\n belongsToId: params.belongsToId,\n file: file,\n uploadGroupId,\n onUploadProgress: params.onUploadProgress,\n })\n : uploadSingleDocument(sdk, {\n companyId: params.companyId,\n documentType: params.documentType,\n parentId: params.parentId,\n isDirectory: params.isDirectory,\n file: file,\n onUploadProgress: params.onUploadProgress,\n }),\n ),\n );\n },\n\n onSuccess: (_, params) =>\n Promise.all(\n [\n ...(params.belongsToId != null\n ? [\n queryClient?.invalidateQueries({\n queryKey: [\n documentKeys.belongingToId(\n params.companyId,\n params.documentType,\n params.belongsToId,\n params.parentId,\n ),\n ],\n }),\n ]\n : []),\n queryClient?.invalidateQueries({\n queryKey: [\n documentKeys.ofType(\n params.documentType,\n params.companyId,\n params.parentId,\n params.isDirectory,\n ),\n ],\n }),\n ...homepageAttachmentInvalidations(queryClient, params),\n ].filter((value): value is Promise<void> => value != null),\n ),\n };\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solibo/solibo-query",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.75",
|
|
4
4
|
"description": "Framework-agnostic TanStack Query options for Solibo SDK",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
"buffer": "^6.0.3",
|
|
21
21
|
"hash-wasm": "^4.12.0",
|
|
22
22
|
"mime-types": "^3.0.2",
|
|
23
|
-
"@solibo/solibo-sdk": "1.7.
|
|
23
|
+
"@solibo/solibo-sdk": "1.7.75"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@eslint/js": "^10.0.1",
|