npm package diff

Package: @forge/util

Versions: 1.4.10-next.0 - 1.4.10-next.0-experimental-effab31

File: package/packages/ari/jira-servicedesk/index.js

Index: package/packages/ari/jira-servicedesk/index.js
===================================================================
--- package/packages/ari/jira-servicedesk/index.js
+++ package/packages/ari/jira-servicedesk/index.js
@@ -20,8 +20,9 @@
   JiraServicedeskApprovalAri: () => JiraServicedeskApprovalAri,
   JiraServicedeskCalendarEventAri: () => JiraServicedeskCalendarEventAri,
   JiraServicedeskCannedResponseAri: () => JiraServicedeskCannedResponseAri,
   JiraServicedeskOrganizationAri: () => JiraServicedeskOrganizationAri,
+  JiraServicedeskOrganizationMemberAri: () => JiraServicedeskOrganizationMemberAri,
   JiraServicedeskQueueAri: () => JiraServicedeskQueueAri,
   JiraServicedeskRequestTypeAri: () => JiraServicedeskRequestTypeAri,
   JiraServicedeskRoleAri: () => JiraServicedeskRoleAri,
   JiraServicedeskSiteAri: () => JiraServicedeskSiteAri,
@@ -33,9 +34,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}.`);
 }
 
@@ -55,9 +56,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}.`);
 }
@@ -290,15 +291,16 @@
 var jiraServicedeskApprovalAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskApprovalAriResourceOwner,
   resourceType: JiraServicedeskApprovalAriResourceType,
   resourceIdSlug: "activation/{activationId}/{approvalId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    approvalId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    approvalId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -348,15 +350,16 @@
 var jiraServicedeskCalendarEventAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskCalendarEventAriResourceOwner,
   resourceType: JiraServicedeskCalendarEventAriResourceType,
   resourceIdSlug: "activation/{activationId}/{calendarEventId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    calendarEventId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    calendarEventId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -406,8 +409,9 @@
 var jiraServicedeskCannedResponseAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskCannedResponseAriResourceOwner,
   resourceType: JiraServicedeskCannedResponseAriResourceType,
   resourceIdSlug: "activation/{activationId}/{cannedResponseId}",
   resourceIdSegmentFormats: {
@@ -464,15 +468,16 @@
 var jiraServicedeskOrganizationAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskOrganizationAriResourceOwner,
   resourceType: JiraServicedeskOrganizationAriResourceType,
   resourceIdSlug: "activation/{activationId}/{organizationId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    organizationId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    organizationId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -514,16 +519,83 @@
     };
   }
 };
 
+// src/jira-servicedesk/organization-member/types.ts
+var JiraServicedeskOrganizationMemberAriResourceOwner = "jira-servicedesk", JiraServicedeskOrganizationMemberAriResourceType = "organization-member";
+
+// src/jira-servicedesk/organization-member/manifest.ts
+var jiraServicedeskOrganizationMemberAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: JiraServicedeskOrganizationMemberAriResourceOwner,
+  resourceType: JiraServicedeskOrganizationMemberAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{organizationId}/{userId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    organizationId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/,
+    // eslint-disable-line no-useless-escape
+    userId: /[a-zA-Z0-9_\-\:]{1,128}/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/jira-servicedesk/organization-member/index.ts
+var JiraServicedeskOrganizationMemberAri = class _JiraServicedeskOrganizationMemberAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId, this._organizationId = opts.resourceIdSegmentValues.organizationId, this._userId = opts.resourceIdSegmentValues.userId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get organizationId() {
+    return this._organizationId;
+  }
+  get userId() {
+    return this._userId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: jiraServicedeskOrganizationMemberAriStaticOpts.qualifier,
+      platformQualifier: jiraServicedeskOrganizationMemberAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: jiraServicedeskOrganizationMemberAriStaticOpts.resourceOwner,
+      resourceType: jiraServicedeskOrganizationMemberAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.organizationId}/${opts.userId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        organizationId: opts.organizationId,
+        userId: opts.userId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, jiraServicedeskOrganizationMemberAriStaticOpts);
+    return new _JiraServicedeskOrganizationMemberAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, jiraServicedeskOrganizationMemberAriStaticOpts);
+    return new _JiraServicedeskOrganizationMemberAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId,
+      organizationId: this.organizationId,
+      userId: this.userId
+    };
+  }
+};
+
 // src/jira-servicedesk/queue/types.ts
 var JiraServicedeskQueueAriResourceOwner = "jira-servicedesk", JiraServicedeskQueueAriResourceType = "queue";
 
 // src/jira-servicedesk/queue/manifest.ts
 var jiraServicedeskQueueAriStaticOpts = {
   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: JiraServicedeskQueueAriResourceOwner,
   resourceType: JiraServicedeskQueueAriResourceType,
   resourceIdSlug: "activation/{activationId}/{queueId}",
   resourceIdSegmentFormats: {
@@ -584,15 +656,16 @@
 var jiraServicedeskRequestTypeAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskRequestTypeAriResourceOwner,
   resourceType: JiraServicedeskRequestTypeAriResourceType,
   resourceIdSlug: "activation/{activationId}/{requestTypeId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    requestTypeId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    requestTypeId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -642,13 +715,14 @@
 var jiraServicedeskRoleAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskRoleAriResourceOwner,
   resourceType: JiraServicedeskRoleAriResourceType,
   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
   }
 };
 
@@ -693,13 +767,14 @@
 var jiraServicedeskSiteAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskSiteAriResourceOwner,
   resourceType: JiraServicedeskSiteAriResourceType,
   resourceIdSlug: "{siteId}",
   resourceIdSegmentFormats: {
-    siteId: /[a-zA-Z0-9\-]+/
+    siteId: /[a-zA-Z0-9_\-.]{1,255}/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -744,15 +819,16 @@
 var jiraServicedeskSlaAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: JiraServicedeskSlaAriResourceOwner,
   resourceType: JiraServicedeskSlaAriResourceType,
   resourceIdSlug: "activation/{activationId}/{slaId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    slaId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    slaId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -799,8 +875,9 @@
   JiraServicedeskApprovalAri,
   JiraServicedeskCalendarEventAri,
   JiraServicedeskCannedResponseAri,
   JiraServicedeskOrganizationAri,
+  JiraServicedeskOrganizationMemberAri,
   JiraServicedeskQueueAri,
   JiraServicedeskRequestTypeAri,
   JiraServicedeskRoleAri,
   JiraServicedeskSiteAri,