@overmap-ai/core 1.0.63-form-submission-fix.3 → 1.0.63-org-projs-only.1
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/overmap-core.js +115 -163
- package/dist/overmap-core.js.map +1 -1
- package/dist/overmap-core.umd.cjs +115 -163
- package/dist/overmap-core.umd.cjs.map +1 -1
- package/dist/sdk/services/FormService.d.ts +11 -15
- package/dist/sdk/services/FormSubmissionService.d.ts +5 -8
- package/dist/typings/models/attachments.d.ts +8 -5
- package/dist/typings/models/base.d.ts +1 -2
- package/dist/typings/models/forms.d.ts +3 -3
- package/dist/typings/models/license.d.ts +2 -2
- package/dist/typings/models/projects.d.ts +2 -4
- package/package.json +1 -1
|
@@ -5348,23 +5348,17 @@ var __publicField = (obj, key, value) => {
|
|
|
5348
5348
|
* @throws An APIError if the server returns an error, or any other error that may occur.
|
|
5349
5349
|
*/
|
|
5350
5350
|
async add(project) {
|
|
5351
|
-
if (!project.organization_owner && !project.user_owner) {
|
|
5352
|
-
throw new Error("Project type was not chosen when trying to create a project");
|
|
5353
|
-
}
|
|
5354
5351
|
if (!project.bounds && !project.canvas_bounds) {
|
|
5355
5352
|
throw new Error("Project must either have bounds or canvas_bounds set");
|
|
5356
5353
|
}
|
|
5357
|
-
const isOrganizationProject = !!project.organization_owner;
|
|
5358
|
-
const url = isOrganizationProject ? `/organizations/${project.organization_owner}/projects/` : "/projects/";
|
|
5359
|
-
const projectType = isOrganizationProject ? { organization_owner: project.organization_owner } : { user_owner: project.user_owner };
|
|
5360
5354
|
return await this.enqueueRequest({
|
|
5361
5355
|
description: "Create project",
|
|
5362
5356
|
method: HttpMethod.POST,
|
|
5363
|
-
url,
|
|
5357
|
+
url: "/projects/",
|
|
5364
5358
|
payload: {
|
|
5365
5359
|
name: project.name,
|
|
5366
5360
|
bounds: project.bounds,
|
|
5367
|
-
|
|
5361
|
+
organization_owner: project.organization_owner
|
|
5368
5362
|
},
|
|
5369
5363
|
blockers: [],
|
|
5370
5364
|
blocks: []
|
|
@@ -5491,67 +5485,36 @@ var __publicField = (obj, key, value) => {
|
|
|
5491
5485
|
}
|
|
5492
5486
|
return { fields: newFields, images };
|
|
5493
5487
|
};
|
|
5494
|
-
class FormService extends
|
|
5495
|
-
|
|
5496
|
-
|
|
5497
|
-
|
|
5498
|
-
|
|
5499
|
-
|
|
5500
|
-
|
|
5501
|
-
|
|
5502
|
-
|
|
5503
|
-
|
|
5504
|
-
|
|
5505
|
-
|
|
5506
|
-
|
|
5507
|
-
|
|
5508
|
-
|
|
5488
|
+
class FormService extends BaseApiService {
|
|
5489
|
+
constructor() {
|
|
5490
|
+
super(...arguments);
|
|
5491
|
+
// Attach images to revision, after uploading them to S3
|
|
5492
|
+
__publicField(this, "getAttachImagePromises", (images, offlineRevisionId) => {
|
|
5493
|
+
return Object.entries(images).map(async ([key, image]) => {
|
|
5494
|
+
const sha1 = await hashFile(image);
|
|
5495
|
+
await this.client.files.addCache(image, sha1);
|
|
5496
|
+
const [fileProps] = await this.client.files.uploadFileToS3(sha1);
|
|
5497
|
+
const revisionAttachmentPayload = offline({
|
|
5498
|
+
...fileProps,
|
|
5499
|
+
revision: offlineRevisionId,
|
|
5500
|
+
field_identifier: key
|
|
5501
|
+
});
|
|
5502
|
+
const attach = await this.enqueueRequest({
|
|
5503
|
+
description: "Attach image to form revision field",
|
|
5504
|
+
method: HttpMethod.POST,
|
|
5505
|
+
url: `/forms/revisions/${offlineRevisionId}/attachments/`,
|
|
5506
|
+
payload: revisionAttachmentPayload,
|
|
5507
|
+
blockers: [revisionAttachmentPayload.revision],
|
|
5508
|
+
blocks: [revisionAttachmentPayload.offline_id]
|
|
5509
|
+
});
|
|
5510
|
+
const offlinePayload = {
|
|
5511
|
+
...revisionAttachmentPayload,
|
|
5512
|
+
file: URL.createObjectURL(image)
|
|
5509
5513
|
};
|
|
5510
|
-
|
|
5511
|
-
|
|
5512
|
-
const offlineFormRevisionAttachment = offline({
|
|
5513
|
-
file: URL.createObjectURL(file),
|
|
5514
|
-
file_type: file.type,
|
|
5515
|
-
file_name: file.name,
|
|
5516
|
-
file_sha1: sha1,
|
|
5517
|
-
created_by: createdBy,
|
|
5518
|
-
revision: revisionId,
|
|
5519
|
-
submitted_at: submittedAt,
|
|
5520
|
-
field_identifier: fieldIdentifier
|
|
5514
|
+
this.dispatch(addFormRevisionAttachment(offlinePayload));
|
|
5515
|
+
return attach;
|
|
5521
5516
|
});
|
|
5522
|
-
offlineFormRevisionAttachments.push(offlineFormRevisionAttachment);
|
|
5523
|
-
const attachmentPayload = {
|
|
5524
|
-
offline_id: offlineFormRevisionAttachment.offline_id,
|
|
5525
|
-
name: file.name,
|
|
5526
|
-
field_identifier: fieldIdentifier,
|
|
5527
|
-
sha1
|
|
5528
|
-
};
|
|
5529
|
-
attachmentPayloads.push(attachmentPayload);
|
|
5530
|
-
}
|
|
5531
|
-
this.dispatch(addFormRevisionAttachments(offlineFormRevisionAttachments));
|
|
5532
|
-
const promise = this.enqueueRequest({
|
|
5533
|
-
description: "Attach files to form revision",
|
|
5534
|
-
method: HttpMethod.POST,
|
|
5535
|
-
url: `/forms/revisions/${revisionId}/attachments/bulk/`,
|
|
5536
|
-
payload: {
|
|
5537
|
-
submitted_at: submittedAt,
|
|
5538
|
-
attachments: attachmentPayloads,
|
|
5539
|
-
files: Object.values(filePayloads)
|
|
5540
|
-
},
|
|
5541
|
-
blockers: [revisionId],
|
|
5542
|
-
blocks: offlineFormRevisionAttachments.map((attachment) => attachment.offline_id)
|
|
5543
5517
|
});
|
|
5544
|
-
promise.then((result) => {
|
|
5545
|
-
this.processPresignedUrls(result.presigned_urls);
|
|
5546
|
-
this.dispatch(updateFormRevisionAttachments(result.attachments));
|
|
5547
|
-
}).catch(() => {
|
|
5548
|
-
this.dispatch(
|
|
5549
|
-
deleteFormRevisionAttachments(
|
|
5550
|
-
offlineFormRevisionAttachments.map((attachment) => attachment.offline_id)
|
|
5551
|
-
)
|
|
5552
|
-
);
|
|
5553
|
-
});
|
|
5554
|
-
return [offlineFormRevisionAttachments, promise.then(({ attachments }) => attachments)];
|
|
5555
5518
|
}
|
|
5556
5519
|
async add(ownerId, form, initialRevision, urlPrefix) {
|
|
5557
5520
|
const { fields, images } = await separateImageFromFields(initialRevision.fields);
|
|
@@ -5584,16 +5547,14 @@ var __publicField = (obj, key, value) => {
|
|
|
5584
5547
|
blockers: [ownerId],
|
|
5585
5548
|
blocks: [form.offline_id, offlineFormRevision.offline_id]
|
|
5586
5549
|
});
|
|
5587
|
-
const
|
|
5588
|
-
offlineFormRevision.offline_id,
|
|
5589
|
-
images
|
|
5590
|
-
);
|
|
5550
|
+
const attachImagesPromises = this.getAttachImagePromises(images, offlineFormRevision.offline_id);
|
|
5591
5551
|
void formPromise.catch((e) => {
|
|
5592
5552
|
this.dispatch(deleteForm(form.offline_id));
|
|
5593
5553
|
this.dispatch(deleteFormRevision(offlineFormRevision.offline_id));
|
|
5594
5554
|
throw e;
|
|
5595
5555
|
});
|
|
5596
|
-
|
|
5556
|
+
const settledPromise = Promise.all([formPromise, ...attachImagesPromises]).then(() => formPromise);
|
|
5557
|
+
return [form, offlineFormRevision, formPromise, settledPromise];
|
|
5597
5558
|
}
|
|
5598
5559
|
addForOrganization(organizationId, initialRevision) {
|
|
5599
5560
|
const state = this.client.store.getState();
|
|
@@ -5675,16 +5636,14 @@ var __publicField = (obj, key, value) => {
|
|
|
5675
5636
|
blockers: [formId],
|
|
5676
5637
|
blocks: [offlineRevision.offline_id]
|
|
5677
5638
|
});
|
|
5678
|
-
const
|
|
5679
|
-
fullRevision.offline_id,
|
|
5680
|
-
images
|
|
5681
|
-
);
|
|
5639
|
+
const attachImagesPromises = this.getAttachImagePromises(images, offlineRevision.offline_id);
|
|
5682
5640
|
void promise.then((result) => {
|
|
5683
5641
|
this.dispatch(setFormRevision(result));
|
|
5684
5642
|
}).catch(() => {
|
|
5685
5643
|
this.dispatch(deleteFormRevision(fullRevision.offline_id));
|
|
5686
5644
|
});
|
|
5687
|
-
|
|
5645
|
+
const settledPromise = Promise.all([promise, ...attachImagesPromises]).then(() => promise);
|
|
5646
|
+
return [fullRevision, settledPromise];
|
|
5688
5647
|
}
|
|
5689
5648
|
async favorite(formId) {
|
|
5690
5649
|
const { store } = this.client;
|
|
@@ -5847,71 +5806,46 @@ var __publicField = (obj, key, value) => {
|
|
|
5847
5806
|
return { values: newValues, files };
|
|
5848
5807
|
};
|
|
5849
5808
|
class FormSubmissionService extends BaseUploadService {
|
|
5850
|
-
|
|
5851
|
-
|
|
5852
|
-
|
|
5853
|
-
|
|
5854
|
-
|
|
5855
|
-
|
|
5856
|
-
|
|
5857
|
-
|
|
5858
|
-
const sha1 = await hashFile(file);
|
|
5859
|
-
if (!(sha1 in filePayloads)) {
|
|
5860
|
-
filePayloads[sha1] = {
|
|
5861
|
-
sha1,
|
|
5862
|
-
file_type: file.type,
|
|
5863
|
-
extension: file.name.split(".").pop(),
|
|
5864
|
-
size: file.size
|
|
5865
|
-
};
|
|
5809
|
+
constructor() {
|
|
5810
|
+
super(...arguments);
|
|
5811
|
+
// Attach files to submission, after uploading them to S3
|
|
5812
|
+
__publicField(this, "getAttachFilesPromises", (files, submission) => {
|
|
5813
|
+
return Object.entries(files).map(async ([key, fileArray]) => {
|
|
5814
|
+
const attachResults = [];
|
|
5815
|
+
for (const file of fileArray) {
|
|
5816
|
+
const sha1 = await hashFile(file);
|
|
5866
5817
|
await this.client.files.addCache(file, sha1);
|
|
5818
|
+
const [fileProps] = await this.client.files.uploadFileToS3(sha1);
|
|
5819
|
+
const submissionAttachmentPayload = offline({
|
|
5820
|
+
...fileProps,
|
|
5821
|
+
submission: submission.offline_id,
|
|
5822
|
+
field_identifier: key
|
|
5823
|
+
});
|
|
5824
|
+
const attach = await this.enqueueRequest({
|
|
5825
|
+
description: "Attach file to form submission",
|
|
5826
|
+
method: HttpMethod.POST,
|
|
5827
|
+
url: `/forms/submission/${submission.offline_id}/attachments/`,
|
|
5828
|
+
payload: submissionAttachmentPayload,
|
|
5829
|
+
blockers: [
|
|
5830
|
+
submission.asset,
|
|
5831
|
+
submission.asset_stage,
|
|
5832
|
+
submission.issue,
|
|
5833
|
+
submission.form_revision
|
|
5834
|
+
].filter((x) => x !== void 0),
|
|
5835
|
+
blocks: [submissionAttachmentPayload.offline_id]
|
|
5836
|
+
});
|
|
5837
|
+
const offlinePayload = {
|
|
5838
|
+
...submissionAttachmentPayload,
|
|
5839
|
+
file: URL.createObjectURL(file)
|
|
5840
|
+
};
|
|
5841
|
+
this.dispatch(addFormSubmissionAttachment(offlinePayload));
|
|
5842
|
+
attachResults.push(attach);
|
|
5867
5843
|
}
|
|
5868
|
-
|
|
5869
|
-
|
|
5870
|
-
file_type: file.type,
|
|
5871
|
-
file_name: file.name,
|
|
5872
|
-
file_sha1: sha1,
|
|
5873
|
-
created_by: createdBy,
|
|
5874
|
-
submission: submissionId,
|
|
5875
|
-
submitted_at: submittedAt,
|
|
5876
|
-
field_identifier: fieldIdentifier
|
|
5877
|
-
});
|
|
5878
|
-
offlineFormSubmissionAttachments.push(offlineFormSubmissionAttachment);
|
|
5879
|
-
const attachmentPayload = {
|
|
5880
|
-
offline_id: offlineFormSubmissionAttachment.offline_id,
|
|
5881
|
-
name: file.name,
|
|
5882
|
-
sha1,
|
|
5883
|
-
field_identifier: fieldIdentifier
|
|
5884
|
-
};
|
|
5885
|
-
attachmentPayloads.push(attachmentPayload);
|
|
5886
|
-
}
|
|
5887
|
-
}
|
|
5888
|
-
this.dispatch(addFormSubmissionAttachments(offlineFormSubmissionAttachments));
|
|
5889
|
-
const promise = this.enqueueRequest({
|
|
5890
|
-
description: "Attach files to form submission",
|
|
5891
|
-
method: HttpMethod.POST,
|
|
5892
|
-
url: `/forms/submissions/${submissionId}/attachments/bulk/`,
|
|
5893
|
-
payload: {
|
|
5894
|
-
submitted_at: submittedAt,
|
|
5895
|
-
attachments: attachmentPayloads,
|
|
5896
|
-
files: Object.values(filePayloads)
|
|
5897
|
-
},
|
|
5898
|
-
blockers: [submissionId],
|
|
5899
|
-
blocks: offlineFormSubmissionAttachments.map((attachment) => attachment.offline_id)
|
|
5900
|
-
});
|
|
5901
|
-
promise.then((result) => {
|
|
5902
|
-
this.processPresignedUrls(result.presigned_urls);
|
|
5903
|
-
this.dispatch(updateFormSubmissionAttachments(result.attachments));
|
|
5904
|
-
}).catch(() => {
|
|
5905
|
-
this.dispatch(
|
|
5906
|
-
deleteFormSubmissionAttachments(
|
|
5907
|
-
offlineFormSubmissionAttachments.map((attachment) => attachment.offline_id)
|
|
5908
|
-
)
|
|
5909
|
-
);
|
|
5844
|
+
return attachResults;
|
|
5845
|
+
});
|
|
5910
5846
|
});
|
|
5911
|
-
return [offlineFormSubmissionAttachments, promise.then(({ attachments }) => attachments)];
|
|
5912
5847
|
}
|
|
5913
|
-
|
|
5914
|
-
async add(payload) {
|
|
5848
|
+
add(payload) {
|
|
5915
5849
|
const { store } = this.client;
|
|
5916
5850
|
const state = store.getState();
|
|
5917
5851
|
const activeProjectId = state.projectReducer.activeProjectId;
|
|
@@ -5919,12 +5853,12 @@ var __publicField = (obj, key, value) => {
|
|
|
5919
5853
|
throw new Error("Expected an active project");
|
|
5920
5854
|
}
|
|
5921
5855
|
const { values, files } = separateFilesFromValues(payload.values);
|
|
5922
|
-
const offlineSubmission =
|
|
5856
|
+
const offlineSubmission = {
|
|
5923
5857
|
...payload,
|
|
5924
5858
|
values,
|
|
5925
5859
|
created_by: state.userReducer.currentUser.id,
|
|
5926
5860
|
submitted_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
5927
|
-
}
|
|
5861
|
+
};
|
|
5928
5862
|
const promise = this.enqueueRequest({
|
|
5929
5863
|
description: "Respond to form",
|
|
5930
5864
|
method: HttpMethod.POST,
|
|
@@ -5933,22 +5867,20 @@ var __publicField = (obj, key, value) => {
|
|
|
5933
5867
|
blockers: [payload.issue, payload.asset, payload.asset_stage, "add-form-entry"].filter(
|
|
5934
5868
|
(x) => x !== void 0
|
|
5935
5869
|
),
|
|
5936
|
-
blocks: [
|
|
5870
|
+
blocks: [payload.offline_id]
|
|
5937
5871
|
});
|
|
5872
|
+
const attachFilesPromises = this.getAttachFilesPromises(files, offlineSubmission);
|
|
5938
5873
|
this.dispatch(addFormSubmission(offlineSubmission));
|
|
5939
|
-
|
|
5940
|
-
offlineSubmission.offline_id,
|
|
5941
|
-
files
|
|
5942
|
-
);
|
|
5943
|
-
promise.then((result) => {
|
|
5874
|
+
void promise.then((result) => {
|
|
5944
5875
|
this.dispatch(addActiveProjectFormSubmissionsCount(1));
|
|
5945
5876
|
this.dispatch(setFormSubmission(result));
|
|
5946
5877
|
return result;
|
|
5947
5878
|
}).catch(() => {
|
|
5948
|
-
this.dispatch(deleteFormSubmission(
|
|
5879
|
+
this.dispatch(deleteFormSubmission(payload.offline_id));
|
|
5949
5880
|
this.dispatch(addActiveProjectFormSubmissionsCount(-1));
|
|
5950
5881
|
});
|
|
5951
|
-
|
|
5882
|
+
const settledPromise = Promise.all([promise, ...attachFilesPromises]).then(() => promise);
|
|
5883
|
+
return [offlineSubmission, settledPromise];
|
|
5952
5884
|
}
|
|
5953
5885
|
// Note currently the bulkAdd method is specific to form submissions for assets
|
|
5954
5886
|
// TODO: adapt the support bulk adding to any model type
|
|
@@ -6049,6 +5981,36 @@ var __publicField = (obj, key, value) => {
|
|
|
6049
5981
|
});
|
|
6050
5982
|
return batchPromises;
|
|
6051
5983
|
}
|
|
5984
|
+
update(submission) {
|
|
5985
|
+
const { store } = this.client;
|
|
5986
|
+
const { values, files } = separateFilesFromValues(submission.values);
|
|
5987
|
+
const attachFilesPromises = this.getAttachFilesPromises(files, submission);
|
|
5988
|
+
const offlineSubmission = {
|
|
5989
|
+
...submission,
|
|
5990
|
+
values
|
|
5991
|
+
};
|
|
5992
|
+
const submissionToBeUpdated = selectFormSubmission(submission.offline_id)(store.getState());
|
|
5993
|
+
if (!submissionToBeUpdated) {
|
|
5994
|
+
throw new Error(`Expected submission with offline_id ${submission.offline_id} to exist`);
|
|
5995
|
+
}
|
|
5996
|
+
this.dispatch(updateFormSubmission(offlineSubmission));
|
|
5997
|
+
const promise = this.enqueueRequest({
|
|
5998
|
+
description: "Patch form submission",
|
|
5999
|
+
method: HttpMethod.PATCH,
|
|
6000
|
+
url: `/forms/submissions/${submission.offline_id}/`,
|
|
6001
|
+
payload: offlineSubmission,
|
|
6002
|
+
blockers: [offlineSubmission.issue, offlineSubmission.asset, offlineSubmission.asset_stage].filter(
|
|
6003
|
+
(x) => x !== void 0
|
|
6004
|
+
),
|
|
6005
|
+
blocks: [offlineSubmission.offline_id]
|
|
6006
|
+
});
|
|
6007
|
+
promise.then((createdSubmission) => {
|
|
6008
|
+
this.dispatch(setFormSubmission(createdSubmission));
|
|
6009
|
+
}).catch(() => {
|
|
6010
|
+
this.dispatch(setFormSubmission(submissionToBeUpdated));
|
|
6011
|
+
});
|
|
6012
|
+
return [offlineSubmission, Promise.all([promise, ...attachFilesPromises]).then(() => promise)];
|
|
6013
|
+
}
|
|
6052
6014
|
async delete(submissionId) {
|
|
6053
6015
|
const { store } = this.client;
|
|
6054
6016
|
const state = store.getState();
|
|
@@ -6519,9 +6481,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6519
6481
|
method: HttpMethod.GET,
|
|
6520
6482
|
url: `/billing/${license.offline_id}/`,
|
|
6521
6483
|
isAuthNeeded: true,
|
|
6522
|
-
blockers: [
|
|
6523
|
-
license.organization_owner ? license.organization_owner.toString() : license.user_owner ? license.user_owner.toString() : ""
|
|
6524
|
-
],
|
|
6484
|
+
blockers: [license.organization_owner ? license.organization_owner.toString() : ""],
|
|
6525
6485
|
blocks: []
|
|
6526
6486
|
});
|
|
6527
6487
|
this.dispatch(updateLicense(result));
|
|
@@ -6533,9 +6493,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6533
6493
|
method: HttpMethod.DELETE,
|
|
6534
6494
|
url: `/billing/${license.offline_id}/suspend/`,
|
|
6535
6495
|
isAuthNeeded: true,
|
|
6536
|
-
blockers: [
|
|
6537
|
-
license.organization_owner ? license.organization_owner.toString() : license.user_owner ? license.user_owner.toString() : ""
|
|
6538
|
-
],
|
|
6496
|
+
blockers: [license.organization_owner ? license.organization_owner.toString() : ""],
|
|
6539
6497
|
blocks: []
|
|
6540
6498
|
});
|
|
6541
6499
|
this.dispatch(updateLicense(result));
|
|
@@ -6547,9 +6505,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6547
6505
|
method: HttpMethod.PATCH,
|
|
6548
6506
|
url: `/billing/${license.offline_id}/suspend/`,
|
|
6549
6507
|
isAuthNeeded: true,
|
|
6550
|
-
blockers: [
|
|
6551
|
-
license.organization_owner ? license.organization_owner.toString() : license.user_owner ? license.user_owner.toString() : ""
|
|
6552
|
-
],
|
|
6508
|
+
blockers: [license.organization_owner ? license.organization_owner.toString() : ""],
|
|
6553
6509
|
blocks: []
|
|
6554
6510
|
});
|
|
6555
6511
|
this.dispatch(updateLicense(result));
|
|
@@ -6561,9 +6517,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6561
6517
|
method: HttpMethod.DELETE,
|
|
6562
6518
|
url: `/billing/${license.offline_id}/`,
|
|
6563
6519
|
isAuthNeeded: true,
|
|
6564
|
-
blockers: [
|
|
6565
|
-
license.organization_owner ? license.organization_owner.toString() : license.user_owner ? license.user_owner.toString() : ""
|
|
6566
|
-
],
|
|
6520
|
+
blockers: [license.organization_owner ? license.organization_owner.toString() : ""],
|
|
6567
6521
|
blocks: []
|
|
6568
6522
|
});
|
|
6569
6523
|
this.dispatch(updateLicense(result));
|
|
@@ -6577,7 +6531,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6577
6531
|
isAuthNeeded: true,
|
|
6578
6532
|
payload: { project: project.id },
|
|
6579
6533
|
blockers: [
|
|
6580
|
-
license.organization_owner ? license.organization_owner.toString() :
|
|
6534
|
+
license.organization_owner ? license.organization_owner.toString() : "",
|
|
6581
6535
|
project.id ? project.id.toString() : ""
|
|
6582
6536
|
],
|
|
6583
6537
|
blocks: ["add-issue", "add-form-entry", "change-access-level", "add-workspace"]
|
|
@@ -6591,9 +6545,7 @@ var __publicField = (obj, key, value) => {
|
|
|
6591
6545
|
method: HttpMethod.DELETE,
|
|
6592
6546
|
url: `/billing/${license.offline_id}/project/`,
|
|
6593
6547
|
isAuthNeeded: true,
|
|
6594
|
-
blockers: [
|
|
6595
|
-
license.organization_owner ? license.organization_owner.toString() : license.user_owner ? license.user_owner.toString() : ""
|
|
6596
|
-
],
|
|
6548
|
+
blockers: [license.organization_owner ? license.organization_owner.toString() : ""],
|
|
6597
6549
|
blocks: ["add-issue", "add-form-entry", "change-access-level", "add-workspace"]
|
|
6598
6550
|
});
|
|
6599
6551
|
this.dispatch(updateLicense(result));
|