@overmap-ai/core 1.0.71-fields.6 → 1.0.71-fields.8

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.
@@ -3057,7 +3057,7 @@ var __publicField = (obj, key, value) => {
3057
3057
  );
3058
3058
  const selectLatestIssueTypeFieldsOfIssueType = restructureCreateSelectorWithArgs(
3059
3059
  toolkit.createSelector([selectIssueTypeFields, (_state, id) => id], (fields, id) => {
3060
- return fields.filter((field) => field.issue_type === id).sort((a, b) => a.submitted_at < b.submitted_at ? -1 : 1)[0];
3060
+ return fields.filter((field) => field.issue_type === id).sort((a, b) => a.submitted_at > b.submitted_at ? -1 : 1)[0];
3061
3061
  })
3062
3062
  );
3063
3063
  const selectIssueTypeValuesOfIssueType = restructureCreateSelectorWithArgs(
@@ -3217,7 +3217,7 @@ var __publicField = (obj, key, value) => {
3217
3217
  );
3218
3218
  const selectLatestAssetTypeFieldsOfAssetType = restructureCreateSelectorWithArgs(
3219
3219
  toolkit.createSelector([selectAssetTypeFields, (_state, id) => id], (fields, id) => {
3220
- return fields.filter((field) => field.asset_type === id).sort((a, b) => a.submitted_at < b.submitted_at ? -1 : 1)[0];
3220
+ return fields.filter((field) => field.asset_type === id).sort((a, b) => a.submitted_at > b.submitted_at ? -1 : 1)[0];
3221
3221
  })
3222
3222
  );
3223
3223
  const selectAssetTypeFieldsById = (fieldsId) => (state) => {
@@ -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;
@@ -7741,7 +7758,7 @@ var __publicField = (obj, key, value) => {
7741
7758
  });
7742
7759
  return [
7743
7760
  offlineAssetTypeFieldValuesAttachments,
7744
- Promise.all(promises).then((result) => result.flatMap((res) => res.attachments))
7761
+ promises.map((promise) => promise.then(({ attachments }) => attachments))
7745
7762
  ];
7746
7763
  }
7747
7764
  async bulkDelete(ids) {