@solibo/solibo-query 1.26.12 → 1.27.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/api/commands/document/createDocumentReference.d.ts +3 -1
- package/dist/api/commands/document/createDocumentReference.js +2 -1
- package/dist/api/commands/document/createDocumentReference.js.map +1 -1
- package/dist/api/commands/document/uploadDocument.d.ts +8 -1
- package/dist/api/commands/document/uploadDocument.js +2 -1
- package/dist/api/commands/document/uploadDocument.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocumentType, Id, SoliboClient } from "@solibo/solibo-sdk";
|
|
1
|
+
import { ConversationEventVisibility, DocumentType, Id, SoliboClient } from "@solibo/solibo-sdk";
|
|
2
2
|
import type { QueryClient } from "@tanstack/query-core";
|
|
3
3
|
export interface CreateDocumentReferenceParams {
|
|
4
4
|
companyId: Id;
|
|
@@ -6,6 +6,8 @@ export interface CreateDocumentReferenceParams {
|
|
|
6
6
|
type: DocumentType;
|
|
7
7
|
belongsToId: Id;
|
|
8
8
|
uploadGroupId?: string | null;
|
|
9
|
+
/** `INTERNAL` keeps a conversation reference in the internal (board-only) thread. */
|
|
10
|
+
visibility?: ConversationEventVisibility["name"];
|
|
9
11
|
}
|
|
10
12
|
export declare function createDocumentReferenceMutationOptions(sdk: SoliboClient, queryClient: QueryClient): {
|
|
11
13
|
mutationFn: (params: CreateDocumentReferenceParams) => Promise<import("@solibo/solibo-sdk").Document>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DocumentType } from "@solibo/solibo-sdk";
|
|
1
|
+
import { DocumentType, } from "@solibo/solibo-sdk";
|
|
2
2
|
import { communicationKeys } from "../../queries/communication/newsletters.js";
|
|
3
3
|
import { conversationKeys } from "../../queries/conversation/conversations.js";
|
|
4
4
|
import { documentKeys } from "../../queries/document/documents.js";
|
|
@@ -12,6 +12,7 @@ export function createDocumentReferenceMutationOptions(sdk, queryClient) {
|
|
|
12
12
|
type: params.type,
|
|
13
13
|
belongsToId: params.belongsToId,
|
|
14
14
|
uploadGroupId: params.uploadGroupId ?? undefined,
|
|
15
|
+
visibility: params.visibility,
|
|
15
16
|
},
|
|
16
17
|
}),
|
|
17
18
|
onSuccess: (_, params) => Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createDocumentReference.js","sourceRoot":"","sources":["../../../../src/api/commands/document/createDocumentReference.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"createDocumentReference.js","sourceRoot":"","sources":["../../../../src/api/commands/document/createDocumentReference.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ConversationEventVisibility,\n DocumentType,\n Id,\n SoliboClient,\n} from \"@solibo/solibo-sdk\";\nimport type { QueryClient } from \"@tanstack/query-core\";\nimport { communicationKeys } from \"../../queries/communication/newsletters.js\";\nimport { conversationKeys } from \"../../queries/conversation/conversations.js\";\nimport { documentKeys } from \"../../queries/document/documents.js\";\nimport { homepageKeys } from \"../../queries/homepage/homepage.js\";\nexport interface CreateDocumentReferenceParams {\n companyId: Id;\n sourceDocumentId: Id;\n type: DocumentType;\n belongsToId: Id;\n uploadGroupId?: string | null;\n /** `INTERNAL` keeps a conversation reference in the internal (board-only) thread. */\n visibility?: ConversationEventVisibility[\"name\"];\n}\nexport function createDocumentReferenceMutationOptions(\n sdk: SoliboClient,\n queryClient: QueryClient,\n) {\n return {\n mutationFn: (params: CreateDocumentReferenceParams) =>\n sdk.api.documents.createDocumentReference({\n companyId: params.companyId,\n documentId: params.sourceDocumentId,\n input: {\n type: params.type,\n belongsToId: params.belongsToId,\n uploadGroupId: params.uploadGroupId ?? undefined,\n visibility: params.visibility,\n },\n }),\n onSuccess: (_: unknown, params: CreateDocumentReferenceParams) =>\n Promise.all([\n queryClient.invalidateQueries({ queryKey: [documentKeys.all] }),\n queryClient.invalidateQueries({\n queryKey: [\n documentKeys.belongingToId(\n params.companyId,\n params.type,\n params.belongsToId,\n ),\n ],\n }),\n ...ownerInvalidations(queryClient, params),\n ]),\n };\n}\nfunction ownerInvalidations(\n queryClient: QueryClient,\n params: CreateDocumentReferenceParams,\n) {\n switch (params.type) {\n case DocumentType.Post:\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 queryClient.invalidateQueries({\n queryKey: [homepageKeys.feed(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [\n homepageKeys.feedPost(params.companyId, params.belongsToId),\n ],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openFeed(params.companyId)],\n }),\n ];\n case DocumentType.PracticalInfo:\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 queryClient.invalidateQueries({\n queryKey: [homepageKeys.practicalInformation(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openPracticalInformation(params.companyId)],\n }),\n ];\n case DocumentType.Newsletter:\n return [\n queryClient.invalidateQueries({\n queryKey: [communicationKeys.newsletters(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [\n communicationKeys.newsletterDetail(\n params.belongsToId,\n params.companyId,\n ),\n ],\n }),\n ];\n case DocumentType.Conversation:\n return [\n queryClient.invalidateQueries({\n queryKey: [conversationKeys.detail(params.belongsToId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [conversationKeys.list(params.companyId)],\n }),\n ];\n default:\n return [];\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Document, DocumentType, Id, SoliboClient } from "@solibo/solibo-sdk";
|
|
1
|
+
import { ConversationEventVisibility, Document, DocumentType, Id, SoliboClient } from "@solibo/solibo-sdk";
|
|
2
2
|
import type { QueryClient } from "@tanstack/query-core";
|
|
3
3
|
import type { UploadProgressListener } from "../../documentApi.js";
|
|
4
4
|
export interface MultiDocumentUploadParams {
|
|
@@ -9,6 +9,12 @@ export interface MultiDocumentUploadParams {
|
|
|
9
9
|
belongsToId?: Id | null | undefined;
|
|
10
10
|
fileList: FileList | File[];
|
|
11
11
|
onUploadProgress?: UploadProgressListener;
|
|
12
|
+
/**
|
|
13
|
+
* Who can see the uploaded files in a conversation. `INTERNAL` keeps them in the
|
|
14
|
+
* internal (board-only) thread; the backend defaults to `PUBLIC`. Only sent with
|
|
15
|
+
* `belongsToId`.
|
|
16
|
+
*/
|
|
17
|
+
visibility?: ConversationEventVisibility["name"];
|
|
12
18
|
}
|
|
13
19
|
export declare function uploadDocumentMutationOptions(sdk: SoliboClient, queryClient: QueryClient): {
|
|
14
20
|
mutationFn: (params: {
|
|
@@ -28,6 +34,7 @@ export declare function uploadDocumentBelongsToMutationOptions(sdk: SoliboClient
|
|
|
28
34
|
belongsToId: Id;
|
|
29
35
|
parentId?: Id | null | undefined;
|
|
30
36
|
file: File;
|
|
37
|
+
visibility?: ConversationEventVisibility["name"];
|
|
31
38
|
onUploadProgress?: UploadProgressListener;
|
|
32
39
|
}) => Promise<Document>;
|
|
33
40
|
onSuccess: (_: any, params: any) => Promise<[void, void, ...void[]]>;
|
|
@@ -72,7 +72,7 @@ function uploadBelongsToDocument(sdk, params) {
|
|
|
72
72
|
onUploadProgress: params.onUploadProgress,
|
|
73
73
|
}).then(async (uploadRequest) => {
|
|
74
74
|
sdk.raw.api.documents.setNextRequestHeaders(createUploadHeaders(sdk.raw.api.documents, uploadRequest));
|
|
75
|
-
const response = await sdk.raw.api.documents.createDocumentBelongsTo(BigInt(params.companyId).valueOf(), params.documentType.name, BigInt(params.belongsToId).valueOf(), params.parentId != null ? BigInt(params.parentId).valueOf() : null, params.uploadGroupId);
|
|
75
|
+
const response = await sdk.raw.api.documents.createDocumentBelongsTo(BigInt(params.companyId).valueOf(), params.documentType.name, BigInt(params.belongsToId).valueOf(), params.parentId != null ? BigInt(params.parentId).valueOf() : null, params.uploadGroupId, params.visibility);
|
|
76
76
|
const body = await response.body();
|
|
77
77
|
await completeSignedUpload(sdk.raw.api.documents, response.headers, uploadRequest, {
|
|
78
78
|
file: params.file,
|
|
@@ -124,6 +124,7 @@ export function multiUploadDocumentMutationOptions(sdk, queryClient) {
|
|
|
124
124
|
belongsToId: params.belongsToId,
|
|
125
125
|
file: file,
|
|
126
126
|
uploadGroupId,
|
|
127
|
+
visibility: params.visibility,
|
|
127
128
|
onUploadProgress: params.onUploadProgress,
|
|
128
129
|
})
|
|
129
130
|
: uploadSingleDocument(sdk, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uploadDocument.js","sourceRoot":"","sources":["../../../../src/api/commands/document/uploadDocument.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Document,\n DocumentType,\n Id,\n SoliboClient,\n UploadDocumentRequest,\n} from \"@solibo/solibo-sdk\";\nimport type { QueryClient } from \"@tanstack/query-core\";\nimport { createUploadGroupId } from \"../../../utils/uploadGroupId.js\";\nimport type { UploadProgressListener } from \"../../documentApi.js\";\nimport {\n completeSignedUpload,\n createUploadHeaders,\n fileToBytes,\n toUploadBinaryRequest,\n toUploadProgressListener,\n} from \"../../documentApi.js\";\nimport { documentKeys } from \"../../queries/document/documents.js\";\nimport { homepageKeys } from \"../../queries/homepage/homepage.js\";\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}\nfunction homepageAttachmentInvalidations(\n queryClient: QueryClient | undefined,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId?: Id | null | undefined;\n },\n) {\n if (queryClient == null || params.belongsToId == null) {\n return [];\n }\n if (\n params.documentType.value !== \"HOMEPAGE\" &&\n params.documentType.value !== \"POST\" &&\n params.documentType.value !== \"PRACTICAL_INFO\"\n ) {\n return [];\n }\n const detailInvalidation = queryClient.invalidateQueries({\n queryKey: [homepageKeys.detail(params.companyId)],\n });\n if (params.documentType.value === \"HOMEPAGE\") {\n return [detailInvalidation];\n }\n const documentInvalidation = queryClient.invalidateQueries({\n queryKey: [\n homepageKeys.postDocuments(params.companyId, params.belongsToId),\n ],\n });\n if (params.documentType.value === \"POST\") {\n return [\n detailInvalidation,\n documentInvalidation,\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.feed(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.feedPost(params.companyId, params.belongsToId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openFeed(params.companyId)],\n }),\n ];\n }\n if (params.documentType.value === \"PRACTICAL_INFO\") {\n return [\n detailInvalidation,\n documentInvalidation,\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.practicalInformation(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openPracticalInformation(params.companyId)],\n }),\n ];\n }\n return [];\n}\nfunction uploadSingleDocument(\n sdk: SoliboClient,\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.raw.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}\nfunction uploadBelongsToDocument(\n sdk: SoliboClient,\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.raw.api.documents.setNextRequestHeaders(\n createUploadHeaders(sdk.raw.api.documents, uploadRequest),\n );\n const response = await sdk.raw.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 await completeSignedUpload(\n sdk.raw.api.documents,\n response.headers,\n uploadRequest,\n {\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n },\n );\n return body;\n });\n}\nexport function uploadDocumentMutationOptions(\n sdk: SoliboClient,\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 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}\nexport function uploadDocumentBelongsToMutationOptions(\n sdk: SoliboClient,\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 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}\nexport function multiUploadDocumentMutationOptions(\n sdk: SoliboClient,\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 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 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"]}
|
|
1
|
+
{"version":3,"file":"uploadDocument.js","sourceRoot":"","sources":["../../../../src/api/commands/document/uploadDocument.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ConversationEventVisibility,\n Document,\n DocumentType,\n Id,\n SoliboClient,\n UploadDocumentRequest,\n} from \"@solibo/solibo-sdk\";\nimport type { QueryClient } from \"@tanstack/query-core\";\nimport { createUploadGroupId } from \"../../../utils/uploadGroupId.js\";\nimport type { UploadProgressListener } from \"../../documentApi.js\";\nimport {\n completeSignedUpload,\n createUploadHeaders,\n fileToBytes,\n toUploadBinaryRequest,\n toUploadProgressListener,\n} from \"../../documentApi.js\";\nimport { documentKeys } from \"../../queries/document/documents.js\";\nimport { homepageKeys } from \"../../queries/homepage/homepage.js\";\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 * Who can see the uploaded files in a conversation. `INTERNAL` keeps them in the\n * internal (board-only) thread; the backend defaults to `PUBLIC`. Only sent with\n * `belongsToId`.\n */\n visibility?: ConversationEventVisibility[\"name\"];\n}\nfunction homepageAttachmentInvalidations(\n queryClient: QueryClient | undefined,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId?: Id | null | undefined;\n },\n) {\n if (queryClient == null || params.belongsToId == null) {\n return [];\n }\n if (\n params.documentType.value !== \"HOMEPAGE\" &&\n params.documentType.value !== \"POST\" &&\n params.documentType.value !== \"PRACTICAL_INFO\"\n ) {\n return [];\n }\n const detailInvalidation = queryClient.invalidateQueries({\n queryKey: [homepageKeys.detail(params.companyId)],\n });\n if (params.documentType.value === \"HOMEPAGE\") {\n return [detailInvalidation];\n }\n const documentInvalidation = queryClient.invalidateQueries({\n queryKey: [\n homepageKeys.postDocuments(params.companyId, params.belongsToId),\n ],\n });\n if (params.documentType.value === \"POST\") {\n return [\n detailInvalidation,\n documentInvalidation,\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.feed(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.feedPost(params.companyId, params.belongsToId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openFeed(params.companyId)],\n }),\n ];\n }\n if (params.documentType.value === \"PRACTICAL_INFO\") {\n return [\n detailInvalidation,\n documentInvalidation,\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.practicalInformation(params.companyId)],\n }),\n queryClient.invalidateQueries({\n queryKey: [homepageKeys.openPracticalInformation(params.companyId)],\n }),\n ];\n }\n return [];\n}\nfunction uploadSingleDocument(\n sdk: SoliboClient,\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.raw.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}\nfunction uploadBelongsToDocument(\n sdk: SoliboClient,\n params: {\n companyId: Id;\n documentType: DocumentType;\n belongsToId: Id;\n parentId?: Id | null | undefined;\n file: File;\n uploadGroupId?: string;\n visibility?: ConversationEventVisibility[\"name\"];\n onUploadProgress?: UploadProgressListener;\n },\n): Promise<Document> {\n return toUploadBinaryRequest({\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n }).then(async (uploadRequest) => {\n sdk.raw.api.documents.setNextRequestHeaders(\n createUploadHeaders(sdk.raw.api.documents, uploadRequest),\n );\n const response = await sdk.raw.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 params.visibility,\n );\n const body = await response.body();\n await completeSignedUpload(\n sdk.raw.api.documents,\n response.headers,\n uploadRequest,\n {\n file: params.file,\n onUploadProgress: params.onUploadProgress,\n },\n );\n return body;\n });\n}\nexport function uploadDocumentMutationOptions(\n sdk: SoliboClient,\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 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}\nexport function uploadDocumentBelongsToMutationOptions(\n sdk: SoliboClient,\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 visibility?: ConversationEventVisibility[\"name\"];\n onUploadProgress?: UploadProgressListener;\n }) => uploadBelongsToDocument(sdk, params),\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}\nexport function multiUploadDocumentMutationOptions(\n sdk: SoliboClient,\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 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 visibility: params.visibility,\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 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.
|
|
3
|
+
"version": "1.27.0",
|
|
4
4
|
"description": "Framework-agnostic TanStack Query options for the Solibo Home SDK. Solibo Home is the platform for owning and managing homes in Norway.",
|
|
5
5
|
"homepage": "https://sdk.solibo.no",
|
|
6
6
|
"repository": {
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"buffer": "^6.0.3",
|
|
41
41
|
"hash-wasm": "^4.12.0",
|
|
42
42
|
"mime-types": "^3.0.2",
|
|
43
|
-
"@solibo/solibo-sdk": "1.
|
|
43
|
+
"@solibo/solibo-sdk": "1.27.0"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@eslint/js": "^10.0.1",
|