@overmap-ai/core 1.0.71-fields.5 → 1.0.71-fields.7

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.
@@ -7561,24 +7561,39 @@ var __publicField = (obj, key, value) => {
7561
7561
  return [offlineAssetTypeFieldValues, promise];
7562
7562
  }
7563
7563
  bulkAdd(payload, batchSize) {
7564
+ var _a2;
7564
7565
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7565
7566
  const { values } = separateFilesFromValues(payload.values);
7566
- const payloadsBatches = chunkArray(payload.payloads, batchSize);
7567
- const bulkAddPayloads = payloadsBatches.map((batch) => {
7568
- return {
7567
+ const offlineAssetTypeFieldValuesMany = [];
7568
+ const batches = chunkArray(payload.payloads, batchSize ?? payload.payloads.length);
7569
+ const batchPayloads = [];
7570
+ for (const batch of batches) {
7571
+ const assetTypeFieldValuesPayloads = [];
7572
+ for (const payload2 of batch) {
7573
+ const offlineAssetTypeFieldValues = offline({
7574
+ ...payload2,
7575
+ values: separateFilesFromValues(payload2.values).values,
7576
+ created_by: (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id,
7577
+ submitted_at: submittedAt
7578
+ });
7579
+ offlineAssetTypeFieldValuesMany.push(offlineAssetTypeFieldValues);
7580
+ assetTypeFieldValuesPayloads.push({
7581
+ offline_id: offlineAssetTypeFieldValues.offline_id,
7582
+ asset: payload2.asset,
7583
+ fields_revision: payload2.fields_revision,
7584
+ published_at: payload2.published_at,
7585
+ values: offlineAssetTypeFieldValues.values
7586
+ });
7587
+ }
7588
+ batchPayloads.push({
7569
7589
  submitted_at: submittedAt,
7570
7590
  values,
7571
- field_values: batch.map((payload2) => {
7572
- const { values: values2 } = separateFilesFromValues(payload2.values);
7573
- return offline({
7574
- ...payload2,
7575
- values: values2
7576
- });
7577
- })
7578
- };
7579
- });
7591
+ field_values: assetTypeFieldValuesPayloads
7592
+ });
7593
+ }
7594
+ this.dispatch(addAssetTypeFieldValuesMany(offlineAssetTypeFieldValuesMany));
7580
7595
  const promises = [];
7581
- for (const payload2 of bulkAddPayloads) {
7596
+ for (const payload2 of batchPayloads) {
7582
7597
  const assetIds = payload2.field_values.map((x) => x.asset);
7583
7598
  const assetTypeFieldsIds = payload2.field_values.map((x) => x.fields_revision);
7584
7599
  const assetTypeFieldValuesIds = payload2.field_values.map((x) => x.offline_id);
@@ -7593,9 +7608,11 @@ var __publicField = (obj, key, value) => {
7593
7608
  promises.push(promise);
7594
7609
  }
7595
7610
  void Promise.all(promises).then((results) => {
7596
- this.dispatch(addAssetTypeFieldValuesMany(results.flat()));
7611
+ this.dispatch(updateAssetTypeFieldValuesMany(results.flat()));
7612
+ }).catch(() => {
7613
+ this.dispatch(deleteAssetTypeFieldValuesMany(offlineAssetTypeFieldValuesMany.map((x) => x.offline_id)));
7597
7614
  });
7598
- return promises;
7615
+ return [offlineAssetTypeFieldValuesMany, promises];
7599
7616
  }
7600
7617
  update(payload) {
7601
7618
  const { store } = this.client;
@@ -7673,54 +7690,63 @@ var __publicField = (obj, key, value) => {
7673
7690
  }
7674
7691
  }
7675
7692
  class AssetTypeFieldValuesAttachmentService extends BaseUploadService {
7676
- async bulkAdd(payloads) {
7693
+ async bulkAdd(payloads, batchSize) {
7677
7694
  var _a2;
7678
7695
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7679
7696
  const createdBy = (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id;
7680
- const filePayloads = {};
7697
+ const batches = chunkArray(payloads, batchSize ?? payloads.length);
7681
7698
  const offlineAssetTypeFieldValuesAttachments = [];
7682
- const attachmentPayloads = [];
7683
- for (const payload of payloads) {
7684
- const { fieldValuesId, fieldIdentifier, file } = payload;
7685
- const filePayload = await this.getFilePayload(file);
7686
- if (!(filePayload.sha1 in filePayloads))
7687
- filePayloads[filePayload.sha1] = filePayload;
7688
- const offlineAssetTypeFieldValuesAttachment = offline({
7689
- file: URL.createObjectURL(file),
7690
- file_type: file.type,
7691
- file_name: file.name,
7692
- file_sha1: filePayload.sha1,
7693
- created_by: createdBy,
7694
- field_values: fieldValuesId,
7699
+ const batchPayloads = [];
7700
+ for (const batch of batches) {
7701
+ const filePayloads = {};
7702
+ const attachmentPayloads = [];
7703
+ for (const payload of batch) {
7704
+ const { fieldValuesId, fieldIdentifier, file } = payload;
7705
+ const filePayload = await this.getFilePayload(file);
7706
+ if (!(filePayload.sha1 in filePayloads))
7707
+ filePayloads[filePayload.sha1] = filePayload;
7708
+ const offlineAssetTypeFieldValuesAttachment = offline({
7709
+ file: URL.createObjectURL(file),
7710
+ file_type: file.type,
7711
+ file_name: file.name,
7712
+ file_sha1: filePayload.sha1,
7713
+ created_by: createdBy,
7714
+ field_values: fieldValuesId,
7715
+ submitted_at: submittedAt,
7716
+ field_identifier: fieldIdentifier
7717
+ });
7718
+ offlineAssetTypeFieldValuesAttachments.push(offlineAssetTypeFieldValuesAttachment);
7719
+ const attachmentPayload = {
7720
+ offline_id: offlineAssetTypeFieldValuesAttachment.offline_id,
7721
+ file_name: file.name,
7722
+ file_sha1: filePayload.sha1,
7723
+ file_extension: filePayload.extension,
7724
+ field_identifier: fieldIdentifier,
7725
+ field_values: fieldValuesId
7726
+ };
7727
+ attachmentPayloads.push(attachmentPayload);
7728
+ }
7729
+ batchPayloads.push({
7695
7730
  submitted_at: submittedAt,
7696
- field_identifier: fieldIdentifier
7731
+ attachments: attachmentPayloads,
7732
+ files: Object.values(filePayloads)
7697
7733
  });
7698
- offlineAssetTypeFieldValuesAttachments.push(offlineAssetTypeFieldValuesAttachment);
7699
- const attachmentPayload = {
7700
- offline_id: offlineAssetTypeFieldValuesAttachment.offline_id,
7701
- file_name: file.name,
7702
- file_sha1: filePayload.sha1,
7703
- file_extension: filePayload.extension,
7704
- field_identifier: fieldIdentifier,
7705
- field_values: fieldValuesId
7706
- };
7707
- attachmentPayloads.push(attachmentPayload);
7708
7734
  }
7709
7735
  this.dispatch(addAssetTypeFieldValuesAttachments(offlineAssetTypeFieldValuesAttachments));
7710
- const promise = this.enqueueRequest({
7711
- description: "Add asset type field values attachments",
7712
- method: HttpMethod.POST,
7713
- url: "/asset-type-field-values-attachments/bulk/",
7714
- payload: {
7715
- submitted_at: submittedAt,
7716
- attachments: attachmentPayloads,
7717
- files: Object.values(filePayloads)
7718
- },
7719
- blockers: offlineAssetTypeFieldValuesAttachments.map((attachment) => attachment.field_values),
7720
- blocks: offlineAssetTypeFieldValuesAttachments.map((attachment) => attachment.offline_id)
7736
+ const promises = batchPayloads.map((payload) => {
7737
+ return this.enqueueRequest({
7738
+ description: "Add asset type field values attachments",
7739
+ method: HttpMethod.POST,
7740
+ url: "/asset-type-field-values-attachments/bulk/",
7741
+ payload,
7742
+ blockers: payload.attachments.map((payload2) => payload2.field_values),
7743
+ blocks: payload.attachments.map((payload2) => payload2.offline_id)
7744
+ });
7721
7745
  });
7722
- promise.then(({ presigned_urls, attachments }) => {
7723
- this.processPresignedUrls(presigned_urls);
7746
+ Promise.all(promises).then((result) => {
7747
+ for (const res of result)
7748
+ this.processPresignedUrls(res.presigned_urls);
7749
+ const attachments = result.flatMap((res) => res.attachments);
7724
7750
  this.dispatch(updateAssetTypeFieldValuesAttachments(attachments));
7725
7751
  }).catch((error) => {
7726
7752
  this.dispatch(
@@ -7730,7 +7756,10 @@ var __publicField = (obj, key, value) => {
7730
7756
  );
7731
7757
  throw error;
7732
7758
  });
7733
- return [offlineAssetTypeFieldValuesAttachments, promise.then(({ attachments }) => attachments)];
7759
+ return [
7760
+ offlineAssetTypeFieldValuesAttachments,
7761
+ promises.map((promise) => promise.then(({ attachments }) => attachments))
7762
+ ];
7734
7763
  }
7735
7764
  async bulkDelete(ids) {
7736
7765
  const { store } = this.client;
@@ -7753,7 +7782,7 @@ var __publicField = (obj, key, value) => {
7753
7782
  }
7754
7783
  async refreshStore(projectId) {
7755
7784
  const result = await this.enqueueRequest({
7756
- description: "Gfet asset type field values attachments",
7785
+ description: "Get asset type field values attachments",
7757
7786
  method: HttpMethod.GET,
7758
7787
  url: "/asset-type-field-values-attachments/",
7759
7788
  queryParams: {