npm package diff
Package: @forge/util
Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31
File: package/packages/ari/jira-software/index.js
Index: package/packages/ari/jira-software/index.js
===================================================================
--- package/packages/ari/jira-software/index.js
+++ package/packages/ari/jira-software/index.js
@@ -27,8 +27,9 @@
JiraSoftwareColumnAri: () => JiraSoftwareColumnAri,
JiraSoftwareCustomFilterAri: () => JiraSoftwareCustomFilterAri,
JiraSoftwareRoleAri: () => JiraSoftwareRoleAri,
JiraSoftwareSiteAri: () => JiraSoftwareSiteAri,
+ JiraSoftwareSprintAri: () => JiraSoftwareSprintAri,
JiraSoftwareSwimlaneAri: () => JiraSoftwareSwimlaneAri,
JiraSoftwareUserBoardConfigAri: () => JiraSoftwareUserBoardConfigAri,
JiraSoftwareViewConfigAri: () => JiraSoftwareViewConfigAri
});
@@ -38,9 +39,9 @@
var ValidationError = class extends Error {
};
// src/core/rules/cloud-id.ts
-function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9\\-]*$")) {
+function validateCloudId(cloudId, format = new RegExp("^[a-zA-Z0-9_\\-.]{0,255}$")) {
if (!cloudId.match(format))
throw new ValidationError(`Invalid cloud ID, expected ID of format ${format}.`);
}
@@ -60,9 +61,9 @@
throw new ValidationError(`ARI must have a qualifier of 'ari'. Received: ${qualifier}`);
}
// src/core/rules/resource-id.ts
-function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:{}=]+(/[!a-zA-Z0-9\\-_.~@:{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
+function validateResourceId(id, format = new RegExp("[!a-zA-Z0-9\\-_.~@:;{}=]+(/[!a-zA-Z0-9\\-_.~@:;{}=]+)*" /* ANY_RESOURCE_ID */), key = "resourceId") {
let formatWithCarets = new RegExp(`^${format.source}$`);
if (!id.match(formatWithCarets))
throw new ValidationError(`Invalid ${key} - ${id}, expected ID of format ${formatWithCarets}.`);
}
@@ -294,14 +295,15 @@
// src/jira-software/board/manifest.ts
var jiraSoftwareBoardAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareBoardAriResourceOwner,
resourceType: JiraSoftwareBoardAriResourceType,
resourceIdSlug: "{boardId}",
resourceIdSegmentFormats: {
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -349,18 +351,19 @@
// src/jira-software/board-feature/manifest.ts
var jiraSoftwareBoardFeatureAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareBoardFeatureAriResourceOwner,
resourceType: JiraSoftwareBoardFeatureAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/featureKey/{featureKey}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
- featureKey: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ featureKey: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -418,18 +421,19 @@
// src/jira-software/board-issue-list/manifest.ts
var jiraSoftwareBoardIssueListAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareBoardIssueListAriResourceOwner,
resourceType: JiraSoftwareBoardIssueListAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{issueListId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
- issueListId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ issueListId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -487,16 +491,17 @@
// src/jira-software/card/manifest.ts
var jiraSoftwareCardAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareCardAriResourceOwner,
resourceType: JiraSoftwareCardAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{cardId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
cardId: /[0-9]+/
// eslint-disable-line no-useless-escape
}
@@ -556,16 +561,17 @@
// src/jira-software/card-color/manifest.ts
var jiraSoftwareCardColorAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareCardColorAriResourceOwner,
resourceType: JiraSoftwareCardColorAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{cardColorId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
cardColorId: /[0-9]+/
// eslint-disable-line no-useless-escape
}
@@ -625,16 +631,17 @@
// src/jira-software/card-layout/manifest.ts
var jiraSoftwareCardLayoutAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareCardLayoutAriResourceOwner,
resourceType: JiraSoftwareCardLayoutAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{cardLayoutId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
cardLayoutId: /[a-zA-Z0-9_]+/
// eslint-disable-line no-useless-escape
}
@@ -694,16 +701,17 @@
// src/jira-software/card-parent/manifest.ts
var jiraSoftwareCardParentAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareCardParentAriResourceOwner,
resourceType: JiraSoftwareCardParentAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{cardParentId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
cardParentId: /[0-9]+/
// eslint-disable-line no-useless-escape
}
@@ -763,16 +771,17 @@
// src/jira-software/column/manifest.ts
var jiraSoftwareColumnAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareColumnAriResourceOwner,
resourceType: JiraSoftwareColumnAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{columnId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
columnId: /[0-9]+/
// eslint-disable-line no-useless-escape
}
@@ -832,18 +841,19 @@
// src/jira-software/custom-filter/manifest.ts
var jiraSoftwareCustomFilterAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareCustomFilterAriResourceOwner,
resourceType: JiraSoftwareCustomFilterAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{customFilterId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
- customFilterId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}/
+ customFilterId: /[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/
// eslint-disable-line no-useless-escape
}
};
@@ -902,13 +912,14 @@
var jiraSoftwareRoleAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareRoleAriResourceOwner,
resourceType: JiraSoftwareRoleAriResourceType,
resourceIdSlug: "{roleId}",
resourceIdSegmentFormats: {
- roleId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ roleId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -953,13 +964,14 @@
var jiraSoftwareSiteAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
cloudId: new RegExp("^$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareSiteAriResourceOwner,
resourceType: JiraSoftwareSiteAriResourceType,
resourceIdSlug: "{siteId}",
resourceIdSegmentFormats: {
- siteId: /[a-zA-Z0-9\-]+/
+ siteId: /[a-zA-Z0-9_\-.]{1,255}/
// eslint-disable-line no-useless-escape
}
};
@@ -996,23 +1008,80 @@
};
}
};
+// src/jira-software/sprint/types.ts
+var JiraSoftwareSprintAriResourceOwner = "jira-software", JiraSoftwareSprintAriResourceType = "sprint";
+
+// src/jira-software/sprint/manifest.ts
+var jiraSoftwareSprintAriStaticOpts = {
+ qualifier: "ari",
+ platformQualifier: "cloud",
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
+ resourceOwner: JiraSoftwareSprintAriResourceOwner,
+ resourceType: JiraSoftwareSprintAriResourceType,
+ resourceIdSlug: "{sprintId}",
+ resourceIdSegmentFormats: {
+ sprintId: /[0-9]+/
+ // eslint-disable-line no-useless-escape
+ }
+};
+
+// src/jira-software/sprint/index.ts
+var JiraSoftwareSprintAri = class _JiraSoftwareSprintAri extends RegisteredAri {
+ constructor(opts) {
+ super(opts);
+ this._siteId = opts.cloudId || "", this._sprintId = opts.resourceIdSegmentValues.sprintId;
+ }
+ get siteId() {
+ return this._siteId;
+ }
+ get sprintId() {
+ return this._sprintId;
+ }
+ static create(opts) {
+ let derivedOpts = {
+ qualifier: jiraSoftwareSprintAriStaticOpts.qualifier,
+ platformQualifier: jiraSoftwareSprintAriStaticOpts.platformQualifier,
+ cloudId: opts.siteId,
+ resourceOwner: jiraSoftwareSprintAriStaticOpts.resourceOwner,
+ resourceType: jiraSoftwareSprintAriStaticOpts.resourceType,
+ resourceId: `${opts.sprintId}`,
+ resourceIdSegmentValues: {
+ sprintId: opts.sprintId
+ }
+ }, ariOpts = AriParser.fromOpts(derivedOpts, jiraSoftwareSprintAriStaticOpts);
+ return new _JiraSoftwareSprintAri(ariOpts);
+ }
+ static parse(maybeAri) {
+ let opts = AriParser.fromString(maybeAri, jiraSoftwareSprintAriStaticOpts);
+ return new _JiraSoftwareSprintAri(opts);
+ }
+ getVariables() {
+ return {
+ siteId: this.siteId,
+ sprintId: this.sprintId
+ };
+ }
+};
+
// src/jira-software/swimlane/types.ts
var JiraSoftwareSwimlaneAriResourceOwner = "jira-software", JiraSoftwareSwimlaneAriResourceType = "swimlane";
// src/jira-software/swimlane/manifest.ts
var jiraSoftwareSwimlaneAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareSwimlaneAriResourceOwner,
resourceType: JiraSoftwareSwimlaneAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{swimlaneId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
swimlaneId: /[0-9]+/
// eslint-disable-line no-useless-escape
}
@@ -1072,16 +1141,17 @@
// src/jira-software/user-board-config/manifest.ts
var jiraSoftwareUserBoardConfigAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareUserBoardConfigAriResourceOwner,
resourceType: JiraSoftwareUserBoardConfigAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
// eslint-disable-line no-useless-escape
}
};
@@ -1134,16 +1204,17 @@
// src/jira-software/view-config/manifest.ts
var jiraSoftwareViewConfigAriStaticOpts = {
qualifier: "ari",
platformQualifier: "cloud",
- cloudId: new RegExp("^[a-zA-Z0-9-]+$"),
+ cloudId: new RegExp("^[a-zA-Z0-9_\\-.]{1,255}$"),
+ // eslint-disable-line no-useless-escape
resourceOwner: JiraSoftwareViewConfigAriResourceOwner,
resourceType: JiraSoftwareViewConfigAriResourceType,
resourceIdSlug: "activation/{activationId}/{boardId}/{viewType}",
resourceIdSegmentFormats: {
activationId: /[a-zA-Z0-9\-]+/,
// eslint-disable-line no-useless-escape
- boardId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/,
+ boardId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
// eslint-disable-line no-useless-escape
viewType: /(board|backlog|timeline)/
// eslint-disable-line no-useless-escape
}
@@ -1208,8 +1279,9 @@
JiraSoftwareColumnAri,
JiraSoftwareCustomFilterAri,
JiraSoftwareRoleAri,
JiraSoftwareSiteAri,
+ JiraSoftwareSprintAri,
JiraSoftwareSwimlaneAri,
JiraSoftwareUserBoardConfigAri,
JiraSoftwareViewConfigAri
});