@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.74",
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.74"
23
+ "@solibo/solibo-sdk": "1.7.75"
24
24
  },
25
25
  "devDependencies": {
26
26
  "@eslint/js": "^10.0.1",