@overmap-ai/core 1.0.71-fields.12 → 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
  );
@@ -3217,7 +3260,7 @@ var __publicField = (obj, key, value) => {
3217
3260
  );
3218
3261
  const selectLatestAssetTypeFieldsOfAssetType = restructureCreateSelectorWithArgs(
3219
3262
  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];
3263
+ return fields.filter((field) => field.asset_type === id).sort((a, b) => a.submitted_at < b.submitted_at ? -1 : 1)[0];
3221
3264
  })
3222
3265
  );
3223
3266
  const selectAssetTypeFieldsById = (fieldsId) => (state) => {
@@ -3264,17 +3307,6 @@ var __publicField = (obj, key, value) => {
3264
3307
  return fallbackToEmptyArray(fieldValues.filter((fieldValue) => fieldValue.asset === assetId));
3265
3308
  })
3266
3309
  );
3267
- const selectAssetTypeValuesOfAssetType = restructureCreateSelectorWithArgs(
3268
- toolkit.createSelector(
3269
- [selectAssetTypeFields, selectAssetTypeFieldValues, (_state, id) => id],
3270
- (fields, fieldValues, id) => {
3271
- const fieldsIds = new Set(
3272
- fields.filter((field) => field.asset_type === id).map((field) => field.offline_id)
3273
- );
3274
- return fallbackToEmptyArray(fieldValues.filter((values) => fieldsIds.has(values.fields_revision)));
3275
- }
3276
- )
3277
- );
3278
3310
  const selectAssetTypeFieldValuesById = (fieldValuesId) => (state) => {
3279
3311
  return state.assetTypeFieldValuesReducer.instances[fieldValuesId];
3280
3312
  };
@@ -5266,7 +5298,15 @@ var __publicField = (obj, key, value) => {
5266
5298
  const promise = this.enqueueRequest({
5267
5299
  method: HttpMethod.POST,
5268
5300
  url: "/issue-types/",
5269
- 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
+ },
5270
5310
  blockers: [],
5271
5311
  blocks: [offlineIssueType.offline_id]
5272
5312
  });
@@ -5686,7 +5726,9 @@ var __publicField = (obj, key, value) => {
5686
5726
  method: HttpMethod.POST,
5687
5727
  url: "/forms/",
5688
5728
  payload: {
5689
- ...offlineForm,
5729
+ // Sending exactly what is currently needed for the endpoint
5730
+ offline_id: offlineForm.offline_id,
5731
+ submitted_at: offlineForm.submitted_at,
5690
5732
  initial_revision: {
5691
5733
  offline_id: offlineFormRevision.offline_id,
5692
5734
  submitted_at: offlineFormRevision.submitted_at,
@@ -5695,7 +5737,10 @@ var __publicField = (obj, key, value) => {
5695
5737
  fields: offlineFormRevision.fields
5696
5738
  }
5697
5739
  },
5698
- blockers: [],
5740
+ blockers: [
5741
+ ...payload.project ? [payload.project.toString()] : [],
5742
+ ...payload.organization ? [payload.organization.toString()] : []
5743
+ ],
5699
5744
  blocks: [offlineForm.offline_id, offlineFormRevision.offline_id]
5700
5745
  });
5701
5746
  void formPromise.catch((e) => {
@@ -6649,8 +6694,7 @@ var __publicField = (obj, key, value) => {
6649
6694
  file_name: offlineAttachment.file_name,
6650
6695
  file_sha1: offlineAttachment.file_sha1,
6651
6696
  file_extension: filePayload.extension,
6652
- description: offlineAttachment.description,
6653
- document: documentId
6697
+ description: offlineAttachment.description
6654
6698
  });
6655
6699
  sha1ToAttachmentIds[filePayload.sha1].push(offlineAttachment.offline_id);
6656
6700
  }
@@ -7549,39 +7593,24 @@ var __publicField = (obj, key, value) => {
7549
7593
  return [offlineAssetTypeFieldValues, promise];
7550
7594
  }
7551
7595
  bulkAdd(payload, batchSize) {
7552
- var _a2;
7553
7596
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7554
7597
  const { values } = separateFilesFromValues(payload.values);
7555
- const offlineAssetTypeFieldValuesMany = [];
7556
- const batches = chunkArray(payload.payloads, batchSize ?? payload.payloads.length);
7557
- const batchPayloads = [];
7558
- for (const batch of batches) {
7559
- const assetTypeFieldValuesPayloads = [];
7560
- for (const payload2 of batch) {
7561
- const offlineAssetTypeFieldValues = offline({
7562
- ...payload2,
7563
- values: separateFilesFromValues(payload2.values).values,
7564
- created_by: (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id,
7565
- submitted_at: submittedAt
7566
- });
7567
- offlineAssetTypeFieldValuesMany.push(offlineAssetTypeFieldValues);
7568
- assetTypeFieldValuesPayloads.push({
7569
- offline_id: offlineAssetTypeFieldValues.offline_id,
7570
- asset: payload2.asset,
7571
- fields_revision: payload2.fields_revision,
7572
- published_at: payload2.published_at,
7573
- values: offlineAssetTypeFieldValues.values
7574
- });
7575
- }
7576
- batchPayloads.push({
7598
+ const payloadsBatches = chunkArray(payload.payloads, batchSize);
7599
+ const bulkAddPayloads = payloadsBatches.map((batch) => {
7600
+ return {
7577
7601
  submitted_at: submittedAt,
7578
7602
  values,
7579
- field_values: assetTypeFieldValuesPayloads
7580
- });
7581
- }
7582
- 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
+ });
7583
7612
  const promises = [];
7584
- for (const payload2 of batchPayloads) {
7613
+ for (const payload2 of bulkAddPayloads) {
7585
7614
  const assetIds = payload2.field_values.map((x) => x.asset);
7586
7615
  const assetTypeFieldsIds = payload2.field_values.map((x) => x.fields_revision);
7587
7616
  const assetTypeFieldValuesIds = payload2.field_values.map((x) => x.offline_id);
@@ -7596,11 +7625,9 @@ var __publicField = (obj, key, value) => {
7596
7625
  promises.push(promise);
7597
7626
  }
7598
7627
  void Promise.all(promises).then((results) => {
7599
- this.dispatch(updateAssetTypeFieldValuesMany(results.flat()));
7600
- }).catch(() => {
7601
- this.dispatch(deleteAssetTypeFieldValuesMany(offlineAssetTypeFieldValuesMany.map((x) => x.offline_id)));
7628
+ this.dispatch(addAssetTypeFieldValuesMany(results.flat()));
7602
7629
  });
7603
- return [offlineAssetTypeFieldValuesMany, promises];
7630
+ return promises;
7604
7631
  }
7605
7632
  update(payload) {
7606
7633
  const { store } = this.client;
@@ -7624,13 +7651,7 @@ var __publicField = (obj, key, value) => {
7624
7651
  description: "Delete asset type field values",
7625
7652
  method: HttpMethod.PATCH,
7626
7653
  url: `/asset-type-field-values/${payload.offline_id}/`,
7627
- payload: {
7628
- ...payload,
7629
- values: {
7630
- ...assetTypeFieldValues.values,
7631
- ...values
7632
- }
7633
- },
7654
+ payload,
7634
7655
  blockers: [
7635
7656
  updatedAssetTypeFieldValues.offline_id,
7636
7657
  updatedAssetTypeFieldValues.fields_revision,
@@ -7684,63 +7705,54 @@ var __publicField = (obj, key, value) => {
7684
7705
  }
7685
7706
  }
7686
7707
  class AssetTypeFieldValuesAttachmentService extends BaseUploadService {
7687
- async bulkAdd(payloads, batchSize) {
7708
+ async bulkAdd(payloads) {
7688
7709
  var _a2;
7689
7710
  const submittedAt = (/* @__PURE__ */ new Date()).toISOString();
7690
7711
  const createdBy = (_a2 = this.client.store.getState().userReducer.currentUser) == null ? void 0 : _a2.id;
7691
- const batches = chunkArray(payloads, batchSize ?? payloads.length);
7712
+ const filePayloads = {};
7692
7713
  const offlineAssetTypeFieldValuesAttachments = [];
7693
- const batchPayloads = [];
7694
- for (const batch of batches) {
7695
- const filePayloads = {};
7696
- const attachmentPayloads = [];
7697
- for (const payload of batch) {
7698
- const { fieldValuesId, fieldIdentifier, file } = payload;
7699
- const filePayload = await this.getFilePayload(file);
7700
- if (!(filePayload.sha1 in filePayloads))
7701
- filePayloads[filePayload.sha1] = filePayload;
7702
- const offlineAssetTypeFieldValuesAttachment = offline({
7703
- file: URL.createObjectURL(file),
7704
- file_type: file.type,
7705
- file_name: file.name,
7706
- file_sha1: filePayload.sha1,
7707
- created_by: createdBy,
7708
- field_values: fieldValuesId,
7709
- submitted_at: submittedAt,
7710
- field_identifier: fieldIdentifier
7711
- });
7712
- offlineAssetTypeFieldValuesAttachments.push(offlineAssetTypeFieldValuesAttachment);
7713
- const attachmentPayload = {
7714
- offline_id: offlineAssetTypeFieldValuesAttachment.offline_id,
7715
- file_name: file.name,
7716
- file_sha1: filePayload.sha1,
7717
- file_extension: filePayload.extension,
7718
- field_identifier: fieldIdentifier,
7719
- field_values: fieldValuesId
7720
- };
7721
- attachmentPayloads.push(attachmentPayload);
7722
- }
7723
- 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,
7724
7727
  submitted_at: submittedAt,
7725
- attachments: attachmentPayloads,
7726
- files: Object.values(filePayloads)
7728
+ field_identifier: fieldIdentifier
7727
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);
7728
7740
  }
7729
7741
  this.dispatch(addAssetTypeFieldValuesAttachments(offlineAssetTypeFieldValuesAttachments));
7730
- const promises = batchPayloads.map((payload) => {
7731
- return this.enqueueRequest({
7732
- description: "Add asset type field values attachments",
7733
- method: HttpMethod.POST,
7734
- url: "/asset-type-field-values-attachments/bulk/",
7735
- payload,
7736
- blockers: payload.attachments.map((payload2) => payload2.field_values),
7737
- blocks: payload.attachments.map((payload2) => payload2.offline_id)
7738
- });
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)
7739
7753
  });
7740
- Promise.all(promises).then((result) => {
7741
- for (const res of result)
7742
- this.processPresignedUrls(res.presigned_urls);
7743
- const attachments = result.flatMap((res) => res.attachments);
7754
+ promise.then(({ presigned_urls, attachments }) => {
7755
+ this.processPresignedUrls(presigned_urls);
7744
7756
  this.dispatch(updateAssetTypeFieldValuesAttachments(attachments));
7745
7757
  }).catch((error) => {
7746
7758
  this.dispatch(
@@ -7750,10 +7762,7 @@ var __publicField = (obj, key, value) => {
7750
7762
  );
7751
7763
  throw error;
7752
7764
  });
7753
- return [
7754
- offlineAssetTypeFieldValuesAttachments,
7755
- promises.map((promise) => promise.then(({ attachments }) => attachments))
7756
- ];
7765
+ return [offlineAssetTypeFieldValuesAttachments, promise.then(({ attachments }) => attachments)];
7757
7766
  }
7758
7767
  async bulkDelete(ids) {
7759
7768
  const { store } = this.client;
@@ -7776,7 +7785,7 @@ var __publicField = (obj, key, value) => {
7776
7785
  }
7777
7786
  async refreshStore(projectId) {
7778
7787
  const result = await this.enqueueRequest({
7779
- description: "Get asset type field values attachments",
7788
+ description: "Gfet asset type field values attachments",
7780
7789
  method: HttpMethod.GET,
7781
7790
  url: "/asset-type-field-values-attachments/",
7782
7791
  queryParams: {
@@ -8047,13 +8056,7 @@ var __publicField = (obj, key, value) => {
8047
8056
  description: "Update issue type field values",
8048
8057
  method: HttpMethod.PATCH,
8049
8058
  url: `/issue-type-field-values/${payload.offline_id}/`,
8050
- payload: {
8051
- ...payload,
8052
- values: {
8053
- ...issueTypeFieldValues.values,
8054
- ...values
8055
- }
8056
- },
8059
+ payload,
8057
8060
  blockers: [
8058
8061
  updatedIssueTypeFieldValues.offline_id,
8059
8062
  updatedIssueTypeFieldValues.fields_revision,
@@ -8534,7 +8537,6 @@ var __publicField = (obj, key, value) => {
8534
8537
  exports2.selectAssetTypeFieldsMapping = selectAssetTypeFieldsMapping;
8535
8538
  exports2.selectAssetTypeFieldsOfAssetType = selectAssetTypeFieldsOfAssetType;
8536
8539
  exports2.selectAssetTypeStagesMapping = selectAssetTypeStagesMapping;
8537
- exports2.selectAssetTypeValuesOfAssetType = selectAssetTypeValuesOfAssetType;
8538
8540
  exports2.selectAssetTypes = selectAssetTypes;
8539
8541
  exports2.selectAssetTypesByIds = selectAssetTypesByIds;
8540
8542
  exports2.selectAssetTypesMapping = selectAssetTypesMapping;
@@ -8592,11 +8594,14 @@ var __publicField = (obj, key, value) => {
8592
8594
  exports2.selectFormSubmissionAttachmentsMapping = selectFormSubmissionAttachmentsMapping;
8593
8595
  exports2.selectFormSubmissionById = selectFormSubmissionById;
8594
8596
  exports2.selectFormSubmissions = selectFormSubmissions;
8597
+ exports2.selectFormSubmissionsByFormRevisions = selectFormSubmissionsByFormRevisions;
8595
8598
  exports2.selectFormSubmissionsMapping = selectFormSubmissionsMapping;
8596
8599
  exports2.selectFormSubmissionsOfAsset = selectFormSubmissionsOfAsset;
8597
8600
  exports2.selectFormSubmissionsOfForm = selectFormSubmissionsOfForm;
8598
8601
  exports2.selectFormSubmissionsOfIssue = selectFormSubmissionsOfIssue;
8599
8602
  exports2.selectForms = selectForms;
8603
+ exports2.selectFormsCount = selectFormsCount;
8604
+ exports2.selectGeneralFormCount = selectGeneralFormCount;
8600
8605
  exports2.selectGeoImageById = selectGeoImageById;
8601
8606
  exports2.selectGeoImageMapping = selectGeoImageMapping;
8602
8607
  exports2.selectGeoImages = selectGeoImages;
@@ -8633,7 +8638,6 @@ var __publicField = (obj, key, value) => {
8633
8638
  exports2.selectIssueTypeFieldsMapping = selectIssueTypeFieldsMapping;
8634
8639
  exports2.selectIssueTypeFieldsOfIssueType = selectIssueTypeFieldsOfIssueType;
8635
8640
  exports2.selectIssueTypeMapping = selectIssueTypeMapping;
8636
- exports2.selectIssueTypeValuesOfIssueType = selectIssueTypeValuesOfIssueType;
8637
8641
  exports2.selectIssueTypes = selectIssueTypes;
8638
8642
  exports2.selectIssueTypesByIds = selectIssueTypesByIds;
8639
8643
  exports2.selectIssueTypesOfOrganization = selectIssueTypesOfOrganization;
@@ -8643,8 +8647,9 @@ var __publicField = (obj, key, value) => {
8643
8647
  exports2.selectIssuesOfIssueType = selectIssuesOfIssueType;
8644
8648
  exports2.selectIssuesOfIssueTypeCount = selectIssuesOfIssueTypeCount;
8645
8649
  exports2.selectLatestAssetTypeFieldsOfAssetType = selectLatestAssetTypeFieldsOfAssetType;
8650
+ exports2.selectLatestFormRevisionByForm = selectLatestFormRevisionByForm;
8646
8651
  exports2.selectLatestFormRevisionOfForm = selectLatestFormRevisionOfForm;
8647
- exports2.selectLatestIssueTypeFieldsOfIssueType = selectLatestIssueTypeFieldsOfIssueType;
8652
+ exports2.selectLatestIssueTypeFieldsOfAssetType = selectLatestIssueTypeFieldsOfAssetType;
8648
8653
  exports2.selectLatestRetryTime = selectLatestRetryTime;
8649
8654
  exports2.selectLicense = selectLicense;
8650
8655
  exports2.selectLicenseForProject = selectLicenseForProject;
@@ -8681,6 +8686,7 @@ var __publicField = (obj, key, value) => {
8681
8686
  exports2.selectProjectsOfOrganization = selectProjectsOfOrganization;
8682
8687
  exports2.selectRehydrated = selectRehydrated;
8683
8688
  exports2.selectRootDocuments = selectRootDocuments;
8689
+ exports2.selectSortedFormSubmissionsOfForm = selectSortedFormSubmissionsOfForm;
8684
8690
  exports2.selectSortedOrganizationUsers = selectSortedOrganizationUsers;
8685
8691
  exports2.selectSortedProjectUsers = selectSortedProjectUsers;
8686
8692
  exports2.selectStageFormIdsFromStageIds = selectStageFormIdsFromStageIds;