@overmap-ai/core 1.0.71-fields.13 → 1.0.71-fields.2

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.
@@ -2093,6 +2093,17 @@ var __publicField = (obj, key, value) => {
2093
2093
  }
2094
2094
  )
2095
2095
  );
2096
+ const selectLatestFormRevisionByForm = toolkit.createSelector([selectFormRevisionMapping], (revisions) => {
2097
+ const latestRevisions = {};
2098
+ for (const revision of Object.values(revisions)) {
2099
+ const formId = revision.form;
2100
+ const currentLatestRevision = latestRevisions[formId];
2101
+ if (!currentLatestRevision || currentLatestRevision.revision < revision.revision) {
2102
+ latestRevisions[formId] = revision;
2103
+ }
2104
+ }
2105
+ return latestRevisions;
2106
+ });
2096
2107
  const formRevisionReducer = formRevisionsSlice.reducer;
2097
2108
  const formAdapter = createModelAdapter((form) => form.offline_id);
2098
2109
  const initialState$n = formAdapter.getInitialState({});
@@ -2117,9 +2128,6 @@ var __publicField = (obj, key, value) => {
2117
2128
  const selectForms = toolkit.createSelector([selectFormMapping], (formsMapping) => {
2118
2129
  return Object.values(formsMapping);
2119
2130
  });
2120
- const selectFormById = (formId) => (state) => {
2121
- return state.formReducer.instances[formId];
2122
- };
2123
2131
  const selectFilteredForms = restructureCreateSelectorWithArgs(
2124
2132
  toolkit.createSelector(
2125
2133
  [
@@ -2145,6 +2153,15 @@ var __publicField = (obj, key, value) => {
2145
2153
  { memoizeOptions: { equalityCheck: shallowEqual } }
2146
2154
  )
2147
2155
  );
2156
+ const selectFormById = (formId) => (state) => {
2157
+ return state.formReducer.instances[formId];
2158
+ };
2159
+ const selectFormsCount = toolkit.createSelector([selectFormMapping], (formsMapping) => {
2160
+ return Object.keys(formsMapping).length;
2161
+ });
2162
+ const selectGeneralFormCount = toolkit.createSelector([selectFormMapping], (formsMapping) => {
2163
+ return Object.values(formsMapping).length;
2164
+ });
2148
2165
  const submissionAdapter = createModelAdapter((submission) => submission.offline_id);
2149
2166
  const initialState$m = submissionAdapter.getInitialState({});
2150
2167
  const formSubmissionSlice = toolkit.createSlice({
@@ -2206,6 +2223,43 @@ var __publicField = (obj, key, value) => {
2206
2223
  }
2207
2224
  )
2208
2225
  );
2226
+ const selectFormSubmissionsByFormRevisions = toolkit.createSelector([selectFormRevisionMapping, selectFormSubmissions], (revisions, submissions) => {
2227
+ var _a2;
2228
+ const submissionMapping = {};
2229
+ for (const revisionId in revisions) {
2230
+ submissionMapping[revisionId] = [];
2231
+ }
2232
+ for (const submission of submissions) {
2233
+ (_a2 = submissionMapping[submission.form_revision]) == null ? void 0 : _a2.push(submission);
2234
+ }
2235
+ return submissionMapping;
2236
+ });
2237
+ const selectSortedFormSubmissionsOfForm = restructureCreateSelectorWithArgs(
2238
+ toolkit.createSelector(
2239
+ [
2240
+ selectFormRevisionMapping,
2241
+ selectFormSubmissionsByFormRevisions,
2242
+ (_state, formId) => formId
2243
+ ],
2244
+ (revisionsMapping, submissionsByRevision, formId) => {
2245
+ const submissionsByFormRevisions = {};
2246
+ for (const revisionId in revisionsMapping) {
2247
+ const revision = revisionsMapping[revisionId];
2248
+ const submissionsOfRevision = submissionsByRevision[revisionId];
2249
+ if (revision && submissionsOfRevision && revision.form === formId) {
2250
+ submissionsByFormRevisions[revisionId] = submissionsOfRevision.sort(
2251
+ (a, b) => a.submitted_at < b.submitted_at ? -1 : 1
2252
+ );
2253
+ }
2254
+ }
2255
+ return Object.entries(submissionsByFormRevisions).sort((a, b) => {
2256
+ const aRevision = revisionsMapping[a[0]];
2257
+ const bRevision = revisionsMapping[b[0]];
2258
+ return formRevisionSortFn(aRevision, bRevision);
2259
+ }).map(([_revisionId, submissions]) => submissions).flat();
2260
+ }
2261
+ )
2262
+ );
2209
2263
  const selectFormSubmissionsOfIssue = restructureCreateSelectorWithArgs(
2210
2264
  toolkit.createSelector(
2211
2265
  [selectFormSubmissions, (_state, issueId) => issueId],
@@ -2973,56 +3027,12 @@ var __publicField = (obj, key, value) => {
2973
3027
  )
2974
3028
  );
2975
3029
  const issueAssociationReducer = issueAssociationSlice.reducer;
2976
- const issueTypeFieldValuesAdapter = createModelAdapter(
2977
- (fieldValues) => fieldValues.offline_id
2978
- );
2979
- const initialState$7 = issueTypeFieldValuesAdapter.getInitialState({});
2980
- const issueTypeFieldValuesSlice = toolkit.createSlice({
2981
- name: "issueTypeFieldValues",
2982
- initialState: initialState$7,
2983
- extraReducers: (builder) => builder.addCase("RESET", (state) => Object.assign(state, initialState$7)),
2984
- reducers: {
2985
- initializeIssueTypeFieldValues: issueTypeFieldValuesAdapter.initialize,
2986
- addIssueTypeFieldValues: issueTypeFieldValuesAdapter.addOne,
2987
- addIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.addMany,
2988
- setIssueTypeFieldValues: issueTypeFieldValuesAdapter.setOne,
2989
- setIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.setMany,
2990
- updateIssueTypeFieldValues: issueTypeFieldValuesAdapter.updateOne,
2991
- updateIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.updateMany,
2992
- deleteIssueTypeFieldValues: issueTypeFieldValuesAdapter.deleteOne,
2993
- deleteIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.deleteMany
2994
- }
2995
- });
2996
- const {
2997
- initializeIssueTypeFieldValues,
2998
- addIssueTypeFieldValues,
2999
- addIssueTypeFieldValuesMany,
3000
- setIssueTypeFieldValues,
3001
- setIssueTypeFieldValuesMany,
3002
- updateIssueTypeFieldValues,
3003
- updateIssueTypeFieldValuesMany,
3004
- deleteIssueTypeFieldValues,
3005
- deleteIssueTypeFieldValuesMany
3006
- } = issueTypeFieldValuesSlice.actions;
3007
- const selectIssueTypeFieldValuesMapping = (state) => state.issueTypeFieldValuesReducer.instances;
3008
- const selectIssueTypeFieldValues = toolkit.createSelector([selectIssueTypeFieldValuesMapping], (fieldValuesMapping) => {
3009
- return Object.values(fieldValuesMapping);
3010
- });
3011
- const selectIssueTypeFieldValuesOfIssue = restructureCreateSelectorWithArgs(
3012
- toolkit.createSelector([selectIssueTypeFieldValues, (_state, issueId) => issueId], (fieldValues, issueId) => {
3013
- return fallbackToEmptyArray(fieldValues.filter((fieldValue) => fieldValue.issue === issueId));
3014
- })
3015
- );
3016
- const selectIssueTypeFieldValuesById = (fieldValuesId) => (state) => {
3017
- return state.issueTypeFieldValuesReducer.instances[fieldValuesId];
3018
- };
3019
- const issueTypeFieldValuesReducer = issueTypeFieldValuesSlice.reducer;
3020
3030
  const issueTypeFieldsAdapter = createModelAdapter((fields) => fields.offline_id);
3021
- const initialState$6 = issueTypeFieldsAdapter.getInitialState({});
3031
+ const initialState$7 = issueTypeFieldsAdapter.getInitialState({});
3022
3032
  const issueTypeFieldsSlice = toolkit.createSlice({
3023
3033
  name: "issueTypeFields",
3024
- initialState: initialState$6,
3025
- extraReducers: (builder) => builder.addCase("RESET", (state) => Object.assign(state, initialState$6)),
3034
+ initialState: initialState$7,
3035
+ extraReducers: (builder) => builder.addCase("RESET", (state) => Object.assign(state, initialState$7)),
3026
3036
  reducers: {
3027
3037
  initializeIssueTypeFields: issueTypeFieldsAdapter.initialize,
3028
3038
  addIssueTypeFields: issueTypeFieldsAdapter.addOne,
@@ -3055,26 +3065,59 @@ var __publicField = (obj, key, value) => {
3055
3065
  return fallbackToEmptyArray(fields.filter((field) => field.issue_type === issueTypeId));
3056
3066
  })
3057
3067
  );
3058
- const selectLatestIssueTypeFieldsOfIssueType = restructureCreateSelectorWithArgs(
3068
+ const selectLatestIssueTypeFieldsOfAssetType = restructureCreateSelectorWithArgs(
3059
3069
  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];
3070
+ return fields.filter((field) => field.issue_type === id).sort((a, b) => a.submitted_at < b.submitted_at ? -1 : 1)[0];
3061
3071
  })
3062
3072
  );
3063
- const selectIssueTypeValuesOfIssueType = restructureCreateSelectorWithArgs(
3064
- toolkit.createSelector(
3065
- [selectIssueTypeFields, selectIssueTypeFieldValues, (_state, id) => id],
3066
- (fields, fieldValues, id) => {
3067
- const fieldsIds = new Set(
3068
- fields.filter((field) => field.issue_type === id).map((field) => field.offline_id)
3069
- );
3070
- return fallbackToEmptyArray(fieldValues.filter((values) => fieldsIds.has(values.fields_revision)));
3071
- }
3072
- )
3073
- );
3074
3073
  const selectIssueTypeFieldsById = (fieldsId) => (state) => {
3075
3074
  return state.issueTypeFieldsReducer.instances[fieldsId];
3076
3075
  };
3077
3076
  const issueTypeFieldsReducer = issueTypeFieldsSlice.reducer;
3077
+ const issueTypeFieldValuesAdapter = createModelAdapter(
3078
+ (fieldValues) => fieldValues.offline_id
3079
+ );
3080
+ const initialState$6 = issueTypeFieldValuesAdapter.getInitialState({});
3081
+ const issueTypeFieldValuesSlice = toolkit.createSlice({
3082
+ name: "issueTypeFieldValues",
3083
+ initialState: initialState$6,
3084
+ extraReducers: (builder) => builder.addCase("RESET", (state) => Object.assign(state, initialState$6)),
3085
+ reducers: {
3086
+ initializeIssueTypeFieldValues: issueTypeFieldValuesAdapter.initialize,
3087
+ addIssueTypeFieldValues: issueTypeFieldValuesAdapter.addOne,
3088
+ addIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.addMany,
3089
+ setIssueTypeFieldValues: issueTypeFieldValuesAdapter.setOne,
3090
+ setIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.setMany,
3091
+ updateIssueTypeFieldValues: issueTypeFieldValuesAdapter.updateOne,
3092
+ updateIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.updateMany,
3093
+ deleteIssueTypeFieldValues: issueTypeFieldValuesAdapter.deleteOne,
3094
+ deleteIssueTypeFieldValuesMany: issueTypeFieldValuesAdapter.deleteMany
3095
+ }
3096
+ });
3097
+ const {
3098
+ initializeIssueTypeFieldValues,
3099
+ addIssueTypeFieldValues,
3100
+ addIssueTypeFieldValuesMany,
3101
+ setIssueTypeFieldValues,
3102
+ setIssueTypeFieldValuesMany,
3103
+ updateIssueTypeFieldValues,
3104
+ updateIssueTypeFieldValuesMany,
3105
+ deleteIssueTypeFieldValues,
3106
+ deleteIssueTypeFieldValuesMany
3107
+ } = issueTypeFieldValuesSlice.actions;
3108
+ const selectIssueTypeFieldValuesMapping = (state) => state.issueTypeFieldValuesReducer.instances;
3109
+ const selectIssueTypeFieldValues = toolkit.createSelector([selectIssueTypeFieldValuesMapping], (fieldValuesMapping) => {
3110
+ return Object.values(fieldValuesMapping);
3111
+ });
3112
+ const selectIssueTypeFieldValuesOfIssue = restructureCreateSelectorWithArgs(
3113
+ toolkit.createSelector([selectIssueTypeFieldValues, (_state, issueId) => issueId], (fieldValues, issueId) => {
3114
+ return fallbackToEmptyArray(fieldValues.filter((fieldValue) => fieldValue.issue === issueId));
3115
+ })
3116
+ );
3117
+ const selectIssueTypeFieldValuesById = (fieldValuesId) => (state) => {
3118
+ return state.issueTypeFieldValuesReducer.instances[fieldValuesId];
3119
+ };
3120
+ const issueTypeFieldValuesReducer = issueTypeFieldValuesSlice.reducer;
3078
3121
  const issueTypeFieldsAttachmentAdapter = createModelAdapter(
3079
3122
  (attachment) => attachment.offline_id
3080
3123
  );
@@ -3165,20 +3208,6 @@ var __publicField = (obj, key, value) => {
3165
3208
  return Object.values(attachmentsMapping);
3166
3209
  }
3167
3210
  );
3168
- const selectIssueTypeFieldValuesAttachmentById = (attachmentId) => (state) => {
3169
- return state.issueTypeFieldValuesAttachmentReducer.instances[attachmentId];
3170
- };
3171
- const selectIssueTypeFieldValuesAttachmentsByIds = restructureCreateSelectorWithArgs(
3172
- toolkit.createSelector(
3173
- [selectIssueTypeFieldValuesAttachmentsMapping, (_, attachmentIds) => attachmentIds],
3174
- (mapping, attachmentIds) => {
3175
- const attachmentIdsSet = new Set(attachmentIds);
3176
- return fallbackToEmptyArray(
3177
- Object.values(mapping).filter((attachment) => attachmentIdsSet.has(attachment.offline_id))
3178
- );
3179
- }
3180
- )
3181
- );
3182
3211
  const selectAttachmentsOfIssueTypeFieldValues = restructureCreateSelectorWithArgs(
3183
3212
  toolkit.createSelector(
3184
3213
  [selectIssueTypeFieldValuesAttachments, (_state, fieldValuesId) => fieldValuesId],
@@ -3187,6 +3216,9 @@ var __publicField = (obj, key, value) => {
3187
3216
  }
3188
3217
  )
3189
3218
  );
3219
+ const selectIssueTypeFieldValuesAttachmentById = (attachmentId) => (state) => {
3220
+ return state.issueTypeFieldValuesAttachmentReducer.instances[attachmentId];
3221
+ };
3190
3222
  const issueTypeFieldValuesAttachmentReducer = issueTypeFieldValuesAttachmentSlice.reducer;
3191
3223
  const assetTypeFieldsAdapter = createModelAdapter((fields) => fields.offline_id);
3192
3224
  const initialState$3 = assetTypeFieldsAdapter.getInitialState({});
@@ -3228,7 +3260,7 @@ var __publicField = (obj, key, value) => {
3228
3260
  );
3229
3261
  const selectLatestAssetTypeFieldsOfAssetType = restructureCreateSelectorWithArgs(
3230
3262
  toolkit.createSelector([selectAssetTypeFields, (_state, id) => id], (fields, id) => {
3231
- return fields.filter((field) => field.asset_type === id).sort((a, b) => a.submitted_at > b.submitted_at ? -1 : 1)[0];
3263
+ return fields.filter((field) => field.asset_type === id).sort((a, b) => a.submitted_at < b.submitted_at ? -1 : 1)[0];
3232
3264
  })
3233
3265
  );
3234
3266
  const selectAssetTypeFieldsById = (fieldsId) => (state) => {
@@ -3275,17 +3307,6 @@ var __publicField = (obj, key, value) => {
3275
3307
  return fallbackToEmptyArray(fieldValues.filter((fieldValue) => fieldValue.asset === assetId));
3276
3308
  })
3277
3309
  );
3278
- const selectAssetTypeValuesOfAssetType = restructureCreateSelectorWithArgs(
3279
- toolkit.createSelector(
3280
- [selectAssetTypeFields, selectAssetTypeFieldValues, (_state, id) => id],
3281
- (fields, fieldValues, id) => {
3282
- const fieldsIds = new Set(
3283
- fields.filter((field) => field.asset_type === id).map((field) => field.offline_id)
3284
- );
3285
- return fallbackToEmptyArray(fieldValues.filter((values) => fieldsIds.has(values.fields_revision)));
3286
- }
3287
- )
3288
- );
3289
3310
  const selectAssetTypeFieldValuesById = (fieldValuesId) => (state) => {
3290
3311
  return state.assetTypeFieldValuesReducer.instances[fieldValuesId];
3291
3312
  };
@@ -3375,25 +3396,14 @@ var __publicField = (obj, key, value) => {
3375
3396
  return Object.values(attachmentsMapping);
3376
3397
  }
3377
3398
  );
3378
- const selectAssetTypeFieldValuesAttachmentById = (attachmentId) => (state) => {
3379
- return state.assetTypeFieldValuesAttachmentReducer.instances[attachmentId];
3380
- };
3381
- const selectAssetTypeFieldValuesAttachmentsByIds = restructureCreateSelectorWithArgs(
3382
- toolkit.createSelector(
3383
- [selectAssetTypeFieldValuesAttachmentsMapping, (_, attachmentIds) => attachmentIds],
3384
- (mapping, attachmentIds) => {
3385
- const attachmentIdsSet = new Set(attachmentIds);
3386
- return fallbackToEmptyArray(
3387
- Object.values(mapping).filter((attachment) => attachmentIdsSet.has(attachment.offline_id))
3388
- );
3389
- }
3390
- )
3391
- );
3392
3399
  const selectAttachmentsOfAssetTypeFieldValues = restructureCreateSelectorWithArgs(
3393
3400
  toolkit.createSelector([selectAssetTypeFieldValuesAttachments, (_state, id) => id], (attachments, id) => {
3394
3401
  return fallbackToEmptyArray(attachments.filter((attachment) => attachment.field_values === id));
3395
3402
  })
3396
3403
  );
3404
+ const selectAssetTypeFieldValuesAttachmentById = (attachmentId) => (state) => {
3405
+ return state.assetTypeFieldValuesAttachmentReducer.instances[attachmentId];
3406
+ };
3397
3407
  const assetTypeFieldValuesAttachmentReducer = assetTypeFieldValuesAttachmentSlice.reducer;
3398
3408
  let clientStore;
3399
3409
  function setClientStore(store) {
@@ -5288,7 +5298,15 @@ var __publicField = (obj, key, value) => {
5288
5298
  const promise = this.enqueueRequest({
5289
5299
  method: HttpMethod.POST,
5290
5300
  url: "/issue-types/",
5291
- payload: offlineIssueType,
5301
+ // Sending only whats needed here
5302
+ payload: {
5303
+ offline_id: offlineIssueType.offline_id,
5304
+ submitted_at: offlineIssueType.submitted_at,
5305
+ icon: offlineIssueType.icon,
5306
+ color: offlineIssueType.color,
5307
+ name: offlineIssueType.name,
5308
+ description: offlineIssueType.description
5309
+ },
5292
5310
  blockers: [],
5293
5311
  blocks: [offlineIssueType.offline_id]
5294
5312
  });
@@ -5708,7 +5726,9 @@ var __publicField = (obj, key, value) => {
5708
5726
  method: HttpMethod.POST,
5709
5727
  url: "/forms/",
5710
5728
  payload: {
5711
- ...offlineForm,
5729
+ // Sending exactly what is currently needed for the endpoint
5730
+ offline_id: offlineForm.offline_id,
5731
+ submitted_at: offlineForm.submitted_at,
5712
5732
  initial_revision: {
5713
5733
  offline_id: offlineFormRevision.offline_id,
5714
5734
  submitted_at: offlineFormRevision.submitted_at,
@@ -5717,7 +5737,10 @@ var __publicField = (obj, key, value) => {
5717
5737
  fields: offlineFormRevision.fields
5718
5738
  }
5719
5739
  },
5720
- blockers: [],
5740
+ blockers: [
5741
+ ...payload.project ? [payload.project.toString()] : [],
5742
+ ...payload.organization ? [payload.organization.toString()] : []
5743
+ ],
5721
5744
  blocks: [offlineForm.offline_id, offlineFormRevision.offline_id]
5722
5745
  });
5723
5746
  void formPromise.catch((e) => {
@@ -6671,8 +6694,7 @@ var __publicField = (obj, key, value) => {
6671
6694
  file_name: offlineAttachment.file_name,
6672
6695
  file_sha1: offlineAttachment.file_sha1,
6673
6696
  file_extension: filePayload.extension,
6674
- description: offlineAttachment.description,
6675
- document: documentId
6697
+ description: offlineAttachment.description
6676
6698
  });
6677
6699
  sha1ToAttachmentIds[filePayload.sha1].push(offlineAttachment.offline_id);
6678
6700
  }
@@ -7571,39 +7593,24 @@ var __publicField = (obj, key, value) => {
7571
7593
  return [offlineAssetTypeFieldValues, promise];
7572
7594
  }
7573
7595
  bulkAdd(payload, batchSize) {
7574
- var _a2;
7575
7596
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7576
7597
  const { values } = separateFilesFromValues(payload.values);
7577
- const offlineAssetTypeFieldValuesMany = [];
7578
- const batches = chunkArray(payload.payloads, batchSize ?? payload.payloads.length);
7579
- const batchPayloads = [];
7580
- for (const batch of batches) {
7581
- const assetTypeFieldValuesPayloads = [];
7582
- for (const payload2 of batch) {
7583
- const offlineAssetTypeFieldValues = offline({
7584
- ...payload2,
7585
- values: separateFilesFromValues(payload2.values).values,
7586
- created_by: (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id,
7587
- submitted_at: submittedAt
7588
- });
7589
- offlineAssetTypeFieldValuesMany.push(offlineAssetTypeFieldValues);
7590
- assetTypeFieldValuesPayloads.push({
7591
- offline_id: offlineAssetTypeFieldValues.offline_id,
7592
- asset: payload2.asset,
7593
- fields_revision: payload2.fields_revision,
7594
- published_at: payload2.published_at,
7595
- values: offlineAssetTypeFieldValues.values
7596
- });
7597
- }
7598
- batchPayloads.push({
7598
+ const payloadsBatches = chunkArray(payload.payloads, batchSize);
7599
+ const bulkAddPayloads = payloadsBatches.map((batch) => {
7600
+ return {
7599
7601
  submitted_at: submittedAt,
7600
7602
  values,
7601
- field_values: assetTypeFieldValuesPayloads
7602
- });
7603
- }
7604
- this.dispatch(addAssetTypeFieldValuesMany(offlineAssetTypeFieldValuesMany));
7603
+ field_values: batch.map((payload2) => {
7604
+ const { values: values2 } = separateFilesFromValues(payload2.values);
7605
+ return offline({
7606
+ ...payload2,
7607
+ values: values2
7608
+ });
7609
+ })
7610
+ };
7611
+ });
7605
7612
  const promises = [];
7606
- for (const payload2 of batchPayloads) {
7613
+ for (const payload2 of bulkAddPayloads) {
7607
7614
  const assetIds = payload2.field_values.map((x) => x.asset);
7608
7615
  const assetTypeFieldsIds = payload2.field_values.map((x) => x.fields_revision);
7609
7616
  const assetTypeFieldValuesIds = payload2.field_values.map((x) => x.offline_id);
@@ -7618,11 +7625,9 @@ var __publicField = (obj, key, value) => {
7618
7625
  promises.push(promise);
7619
7626
  }
7620
7627
  void Promise.all(promises).then((results) => {
7621
- this.dispatch(updateAssetTypeFieldValuesMany(results.flat()));
7622
- }).catch(() => {
7623
- this.dispatch(deleteAssetTypeFieldValuesMany(offlineAssetTypeFieldValuesMany.map((x) => x.offline_id)));
7628
+ this.dispatch(addAssetTypeFieldValuesMany(results.flat()));
7624
7629
  });
7625
- return [offlineAssetTypeFieldValuesMany, promises];
7630
+ return promises;
7626
7631
  }
7627
7632
  update(payload) {
7628
7633
  const { store } = this.client;
@@ -7646,13 +7651,7 @@ var __publicField = (obj, key, value) => {
7646
7651
  description: "Delete asset type field values",
7647
7652
  method: HttpMethod.PATCH,
7648
7653
  url: `/asset-type-field-values/${payload.offline_id}/`,
7649
- payload: {
7650
- ...payload,
7651
- values: {
7652
- ...assetTypeFieldValues.values,
7653
- ...values
7654
- }
7655
- },
7654
+ payload,
7656
7655
  blockers: [
7657
7656
  updatedAssetTypeFieldValues.offline_id,
7658
7657
  updatedAssetTypeFieldValues.fields_revision,
@@ -7706,63 +7705,54 @@ var __publicField = (obj, key, value) => {
7706
7705
  }
7707
7706
  }
7708
7707
  class AssetTypeFieldValuesAttachmentService extends BaseUploadService {
7709
- async bulkAdd(payloads, batchSize) {
7708
+ async bulkAdd(payloads) {
7710
7709
  var _a2;
7711
7710
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7712
7711
  const createdBy = (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id;
7713
- const batches = chunkArray(payloads, batchSize ?? payloads.length);
7712
+ const filePayloads = {};
7714
7713
  const offlineAssetTypeFieldValuesAttachments = [];
7715
- const batchPayloads = [];
7716
- for (const batch of batches) {
7717
- const filePayloads = {};
7718
- const attachmentPayloads = [];
7719
- for (const payload of batch) {
7720
- const { fieldValuesId, fieldIdentifier, file } = payload;
7721
- const filePayload = await this.getFilePayload(file);
7722
- if (!(filePayload.sha1 in filePayloads))
7723
- filePayloads[filePayload.sha1] = filePayload;
7724
- const offlineAssetTypeFieldValuesAttachment = offline({
7725
- file: URL.createObjectURL(file),
7726
- file_type: file.type,
7727
- file_name: file.name,
7728
- file_sha1: filePayload.sha1,
7729
- created_by: createdBy,
7730
- field_values: fieldValuesId,
7731
- submitted_at: submittedAt,
7732
- field_identifier: fieldIdentifier
7733
- });
7734
- offlineAssetTypeFieldValuesAttachments.push(offlineAssetTypeFieldValuesAttachment);
7735
- const attachmentPayload = {
7736
- offline_id: offlineAssetTypeFieldValuesAttachment.offline_id,
7737
- file_name: file.name,
7738
- file_sha1: filePayload.sha1,
7739
- file_extension: filePayload.extension,
7740
- field_identifier: fieldIdentifier,
7741
- field_values: fieldValuesId
7742
- };
7743
- attachmentPayloads.push(attachmentPayload);
7744
- }
7745
- batchPayloads.push({
7714
+ const attachmentPayloads = [];
7715
+ for (const payload of payloads) {
7716
+ const { fieldValuesId, fieldIdentifier, file } = payload;
7717
+ const filePayload = await this.getFilePayload(file);
7718
+ if (!(filePayload.sha1 in filePayloads))
7719
+ filePayloads[filePayload.sha1] = filePayload;
7720
+ const offlineAssetTypeFieldValuesAttachment = offline({
7721
+ file: URL.createObjectURL(file),
7722
+ file_type: file.type,
7723
+ file_name: file.name,
7724
+ file_sha1: filePayload.sha1,
7725
+ created_by: createdBy,
7726
+ field_values: fieldValuesId,
7746
7727
  submitted_at: submittedAt,
7747
- attachments: attachmentPayloads,
7748
- files: Object.values(filePayloads)
7728
+ field_identifier: fieldIdentifier
7749
7729
  });
7730
+ offlineAssetTypeFieldValuesAttachments.push(offlineAssetTypeFieldValuesAttachment);
7731
+ const attachmentPayload = {
7732
+ offline_id: offlineAssetTypeFieldValuesAttachment.offline_id,
7733
+ file_name: file.name,
7734
+ file_sha1: filePayload.sha1,
7735
+ file_extension: filePayload.extension,
7736
+ field_identifier: fieldIdentifier,
7737
+ field_values: fieldValuesId
7738
+ };
7739
+ attachmentPayloads.push(attachmentPayload);
7750
7740
  }
7751
7741
  this.dispatch(addAssetTypeFieldValuesAttachments(offlineAssetTypeFieldValuesAttachments));
7752
- const promises = batchPayloads.map((payload) => {
7753
- return this.enqueueRequest({
7754
- description: "Add asset type field values attachments",
7755
- method: HttpMethod.POST,
7756
- url: "/asset-type-field-values-attachments/bulk/",
7757
- payload,
7758
- blockers: payload.attachments.map((payload2) => payload2.field_values),
7759
- blocks: payload.attachments.map((payload2) => payload2.offline_id)
7760
- });
7742
+ const promise = this.enqueueRequest({
7743
+ description: "Add asset type field values attachments",
7744
+ method: HttpMethod.POST,
7745
+ url: "/asset-type-field-values-attachments/bulk/",
7746
+ payload: {
7747
+ submitted_at: submittedAt,
7748
+ attachments: attachmentPayloads,
7749
+ files: Object.values(filePayloads)
7750
+ },
7751
+ blockers: offlineAssetTypeFieldValuesAttachments.map((attachment) => attachment.field_values),
7752
+ blocks: offlineAssetTypeFieldValuesAttachments.map((attachment) => attachment.offline_id)
7761
7753
  });
7762
- Promise.all(promises).then((result) => {
7763
- for (const res of result)
7764
- this.processPresignedUrls(res.presigned_urls);
7765
- const attachments = result.flatMap((res) => res.attachments);
7754
+ promise.then(({ presigned_urls, attachments }) => {
7755
+ this.processPresignedUrls(presigned_urls);
7766
7756
  this.dispatch(updateAssetTypeFieldValuesAttachments(attachments));
7767
7757
  }).catch((error) => {
7768
7758
  this.dispatch(
@@ -7772,16 +7762,13 @@ var __publicField = (obj, key, value) => {
7772
7762
  );
7773
7763
  throw error;
7774
7764
  });
7775
- return [
7776
- offlineAssetTypeFieldValuesAttachments,
7777
- promises.map((promise) => promise.then(({ attachments }) => attachments))
7778
- ];
7765
+ return [offlineAssetTypeFieldValuesAttachments, promise.then(({ attachments }) => attachments)];
7779
7766
  }
7780
7767
  async bulkDelete(ids) {
7781
7768
  const { store } = this.client;
7782
7769
  const state = store.getState();
7783
- const attachments = selectAssetTypeFieldValuesAttachmentsByIds(ids)(state);
7784
- this.dispatch(deleteAssetTypeFieldValuesAttachments(ids));
7770
+ const formSubmissionAttachments = selectFormSubmissionAttachemntsByIds(ids)(state);
7771
+ this.dispatch(deleteFormSubmissionAttachments(ids));
7785
7772
  try {
7786
7773
  await this.enqueueRequest({
7787
7774
  description: "Delete asset type field values attachments",
@@ -7792,13 +7779,13 @@ var __publicField = (obj, key, value) => {
7792
7779
  blocks: []
7793
7780
  });
7794
7781
  } catch (e) {
7795
- this.dispatch(addAssetTypeFieldValuesAttachments(attachments));
7782
+ this.dispatch(addFormSubmissionAttachments(formSubmissionAttachments));
7796
7783
  throw e;
7797
7784
  }
7798
7785
  }
7799
7786
  async refreshStore(projectId) {
7800
7787
  const result = await this.enqueueRequest({
7801
- description: "Get asset type field values attachments",
7788
+ description: "Gfet asset type field values attachments",
7802
7789
  method: HttpMethod.GET,
7803
7790
  url: "/asset-type-field-values-attachments/",
7804
7791
  queryParams: {
@@ -7988,8 +7975,8 @@ var __publicField = (obj, key, value) => {
7988
7975
  async bulkDelete(attachmentsIds) {
7989
7976
  const { store } = this.client;
7990
7977
  const state = store.getState();
7991
- const attachments = selectIssueTypeFieldValuesAttachmentsByIds(attachmentsIds)(state);
7992
- this.dispatch(deleteIssueTypeFieldValuesAttachments(attachmentsIds));
7978
+ const formSubmissionAttachments = selectFormSubmissionAttachemntsByIds(attachmentsIds)(state);
7979
+ this.dispatch(deleteFormSubmissionAttachments(attachmentsIds));
7993
7980
  try {
7994
7981
  await this.enqueueRequest({
7995
7982
  description: "Delete issue type field values attachments",
@@ -8000,7 +7987,7 @@ var __publicField = (obj, key, value) => {
8000
7987
  blocks: []
8001
7988
  });
8002
7989
  } catch (e) {
8003
- this.dispatch(addIssueTypeFieldValuesAttachments(attachments));
7990
+ this.dispatch(addFormSubmissionAttachments(formSubmissionAttachments));
8004
7991
  throw e;
8005
7992
  }
8006
7993
  }
@@ -8069,13 +8056,7 @@ var __publicField = (obj, key, value) => {
8069
8056
  description: "Update issue type field values",
8070
8057
  method: HttpMethod.PATCH,
8071
8058
  url: `/issue-type-field-values/${payload.offline_id}/`,
8072
- payload: {
8073
- ...payload,
8074
- values: {
8075
- ...issueTypeFieldValues.values,
8076
- ...values
8077
- }
8078
- },
8059
+ payload,
8079
8060
  blockers: [
8080
8061
  updatedIssueTypeFieldValues.offline_id,
8081
8062
  updatedIssueTypeFieldValues.fields_revision,
@@ -8544,7 +8525,6 @@ var __publicField = (obj, key, value) => {
8544
8525
  exports2.selectAssetTypeFieldValues = selectAssetTypeFieldValues;
8545
8526
  exports2.selectAssetTypeFieldValuesAttachmentById = selectAssetTypeFieldValuesAttachmentById;
8546
8527
  exports2.selectAssetTypeFieldValuesAttachments = selectAssetTypeFieldValuesAttachments;
8547
- exports2.selectAssetTypeFieldValuesAttachmentsByIds = selectAssetTypeFieldValuesAttachmentsByIds;
8548
8528
  exports2.selectAssetTypeFieldValuesAttachmentsMapping = selectAssetTypeFieldValuesAttachmentsMapping;
8549
8529
  exports2.selectAssetTypeFieldValuesById = selectAssetTypeFieldValuesById;
8550
8530
  exports2.selectAssetTypeFieldValuesMapping = selectAssetTypeFieldValuesMapping;
@@ -8557,7 +8537,6 @@ var __publicField = (obj, key, value) => {
8557
8537
  exports2.selectAssetTypeFieldsMapping = selectAssetTypeFieldsMapping;
8558
8538
  exports2.selectAssetTypeFieldsOfAssetType = selectAssetTypeFieldsOfAssetType;
8559
8539
  exports2.selectAssetTypeStagesMapping = selectAssetTypeStagesMapping;
8560
- exports2.selectAssetTypeValuesOfAssetType = selectAssetTypeValuesOfAssetType;
8561
8540
  exports2.selectAssetTypes = selectAssetTypes;
8562
8541
  exports2.selectAssetTypesByIds = selectAssetTypesByIds;
8563
8542
  exports2.selectAssetTypesMapping = selectAssetTypesMapping;
@@ -8615,11 +8594,14 @@ var __publicField = (obj, key, value) => {
8615
8594
  exports2.selectFormSubmissionAttachmentsMapping = selectFormSubmissionAttachmentsMapping;
8616
8595
  exports2.selectFormSubmissionById = selectFormSubmissionById;
8617
8596
  exports2.selectFormSubmissions = selectFormSubmissions;
8597
+ exports2.selectFormSubmissionsByFormRevisions = selectFormSubmissionsByFormRevisions;
8618
8598
  exports2.selectFormSubmissionsMapping = selectFormSubmissionsMapping;
8619
8599
  exports2.selectFormSubmissionsOfAsset = selectFormSubmissionsOfAsset;
8620
8600
  exports2.selectFormSubmissionsOfForm = selectFormSubmissionsOfForm;
8621
8601
  exports2.selectFormSubmissionsOfIssue = selectFormSubmissionsOfIssue;
8622
8602
  exports2.selectForms = selectForms;
8603
+ exports2.selectFormsCount = selectFormsCount;
8604
+ exports2.selectGeneralFormCount = selectGeneralFormCount;
8623
8605
  exports2.selectGeoImageById = selectGeoImageById;
8624
8606
  exports2.selectGeoImageMapping = selectGeoImageMapping;
8625
8607
  exports2.selectGeoImages = selectGeoImages;
@@ -8644,7 +8626,6 @@ var __publicField = (obj, key, value) => {
8644
8626
  exports2.selectIssueTypeFieldValues = selectIssueTypeFieldValues;
8645
8627
  exports2.selectIssueTypeFieldValuesAttachmentById = selectIssueTypeFieldValuesAttachmentById;
8646
8628
  exports2.selectIssueTypeFieldValuesAttachments = selectIssueTypeFieldValuesAttachments;
8647
- exports2.selectIssueTypeFieldValuesAttachmentsByIds = selectIssueTypeFieldValuesAttachmentsByIds;
8648
8629
  exports2.selectIssueTypeFieldValuesAttachmentsMapping = selectIssueTypeFieldValuesAttachmentsMapping;
8649
8630
  exports2.selectIssueTypeFieldValuesById = selectIssueTypeFieldValuesById;
8650
8631
  exports2.selectIssueTypeFieldValuesMapping = selectIssueTypeFieldValuesMapping;
@@ -8657,7 +8638,6 @@ var __publicField = (obj, key, value) => {
8657
8638
  exports2.selectIssueTypeFieldsMapping = selectIssueTypeFieldsMapping;
8658
8639
  exports2.selectIssueTypeFieldsOfIssueType = selectIssueTypeFieldsOfIssueType;
8659
8640
  exports2.selectIssueTypeMapping = selectIssueTypeMapping;
8660
- exports2.selectIssueTypeValuesOfIssueType = selectIssueTypeValuesOfIssueType;
8661
8641
  exports2.selectIssueTypes = selectIssueTypes;
8662
8642
  exports2.selectIssueTypesByIds = selectIssueTypesByIds;
8663
8643
  exports2.selectIssueTypesOfOrganization = selectIssueTypesOfOrganization;
@@ -8667,8 +8647,9 @@ var __publicField = (obj, key, value) => {
8667
8647
  exports2.selectIssuesOfIssueType = selectIssuesOfIssueType;
8668
8648
  exports2.selectIssuesOfIssueTypeCount = selectIssuesOfIssueTypeCount;
8669
8649
  exports2.selectLatestAssetTypeFieldsOfAssetType = selectLatestAssetTypeFieldsOfAssetType;
8650
+ exports2.selectLatestFormRevisionByForm = selectLatestFormRevisionByForm;
8670
8651
  exports2.selectLatestFormRevisionOfForm = selectLatestFormRevisionOfForm;
8671
- exports2.selectLatestIssueTypeFieldsOfIssueType = selectLatestIssueTypeFieldsOfIssueType;
8652
+ exports2.selectLatestIssueTypeFieldsOfAssetType = selectLatestIssueTypeFieldsOfAssetType;
8672
8653
  exports2.selectLatestRetryTime = selectLatestRetryTime;
8673
8654
  exports2.selectLicense = selectLicense;
8674
8655
  exports2.selectLicenseForProject = selectLicenseForProject;
@@ -8705,6 +8686,7 @@ var __publicField = (obj, key, value) => {
8705
8686
  exports2.selectProjectsOfOrganization = selectProjectsOfOrganization;
8706
8687
  exports2.selectRehydrated = selectRehydrated;
8707
8688
  exports2.selectRootDocuments = selectRootDocuments;
8689
+ exports2.selectSortedFormSubmissionsOfForm = selectSortedFormSubmissionsOfForm;
8708
8690
  exports2.selectSortedOrganizationUsers = selectSortedOrganizationUsers;
8709
8691
  exports2.selectSortedProjectUsers = selectSortedProjectUsers;
8710
8692
  exports2.selectStageFormIdsFromStageIds = selectStageFormIdsFromStageIds;