npm package diff

Package: @forge/util

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

File: package/packages/ari/search/index.js

Index: package/packages/ari/search/index.js
===================================================================
--- package/packages/ari/search/index.js
+++ package/packages/ari/search/index.js
@@ -18,18 +18,19 @@
 var search_exports = {};
 __export(search_exports, {
   SearchEventAri: () => SearchEventAri,
   SearchForwardDocumentAri: () => SearchForwardDocumentAri,
-  SearchForwardDocumentSubscriptionAri: () => SearchForwardDocumentSubscriptionAri
+  SearchForwardDocumentSubscriptionAri: () => SearchForwardDocumentSubscriptionAri,
+  SearchPermissionContainerAri: () => SearchPermissionContainerAri
 });
 module.exports = __toCommonJS(search_exports);
 
 // src/errors.ts
 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}.`);
 }
 
@@ -49,9 +50,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}.`);
 }
@@ -284,15 +285,16 @@
 var searchEventAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: SearchEventAriResourceOwner,
   resourceType: SearchEventAriResourceType,
   resourceIdSlug: "{eventType}/{eventId}",
   resourceIdSegmentFormats: {
     eventType: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
-    eventId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    eventId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -342,17 +344,18 @@
 var searchForwardDocumentAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: SearchForwardDocumentAriResourceOwner,
   resourceType: SearchForwardDocumentAriResourceType,
   resourceIdSlug: "activation/{activationId}/{documentType}/{documentId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     documentType: /[a-zA-Z0-9\-_]+/,
     // eslint-disable-line no-useless-escape
-    documentId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    documentId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -407,17 +410,18 @@
 var searchForwardDocumentSubscriptionAriStaticOpts = {
   qualifier: "ari",
   platformQualifier: "cloud",
   cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
   resourceOwner: SearchForwardDocumentSubscriptionAriResourceOwner,
   resourceType: SearchForwardDocumentSubscriptionAriResourceType,
   resourceIdSlug: "activation/{activationId}/{subscriptionType}/{subscriptionId}",
   resourceIdSegmentFormats: {
     activationId: /[a-zA-Z0-9\-]+/,
     // eslint-disable-line no-useless-escape
     subscriptionType: /[a-zA-Z0-9\-_]+/,
     // eslint-disable-line no-useless-escape
-    subscriptionId: /[!a-zA-Z0-9\-_.~@:{}=]+(\/[!a-zA-Z0-9\-_.~@:{}=]+)*/
+    subscriptionId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
     // eslint-disable-line no-useless-escape
   }
 };
 
@@ -463,10 +467,70 @@
       subscriptionId: this.subscriptionId
     };
   }
 };
+
+// src/search/permission-container/types.ts
+var SearchPermissionContainerAriResourceOwner = "search", SearchPermissionContainerAriResourceType = "permission-container";
+
+// src/search/permission-container/manifest.ts
+var searchPermissionContainerAriStaticOpts = {
+  qualifier: "ari",
+  platformQualifier: "cloud",
+  cloudId: new RegExp("^$"),
+  // eslint-disable-line no-useless-escape
+  resourceOwner: SearchPermissionContainerAriResourceOwner,
+  resourceType: SearchPermissionContainerAriResourceType,
+  resourceIdSlug: "activation/{activationId}/{containerId}",
+  resourceIdSegmentFormats: {
+    activationId: /[a-zA-Z0-9\-]+/,
+    // eslint-disable-line no-useless-escape
+    containerId: /[!a-zA-Z0-9\-_.~@:;{}=]+(\/[!a-zA-Z0-9\-_.~@:;{}=]+)*/
+    // eslint-disable-line no-useless-escape
+  }
+};
+
+// src/search/permission-container/index.ts
+var SearchPermissionContainerAri = class _SearchPermissionContainerAri extends RegisteredAri {
+  constructor(opts) {
+    super(opts);
+    this._activationId = opts.resourceIdSegmentValues.activationId, this._containerId = opts.resourceIdSegmentValues.containerId;
+  }
+  get activationId() {
+    return this._activationId;
+  }
+  get containerId() {
+    return this._containerId;
+  }
+  static create(opts) {
+    let derivedOpts = {
+      qualifier: searchPermissionContainerAriStaticOpts.qualifier,
+      platformQualifier: searchPermissionContainerAriStaticOpts.platformQualifier,
+      cloudId: void 0,
+      resourceOwner: searchPermissionContainerAriStaticOpts.resourceOwner,
+      resourceType: searchPermissionContainerAriStaticOpts.resourceType,
+      resourceId: `activation/${opts.activationId}/${opts.containerId}`,
+      resourceIdSegmentValues: {
+        activationId: opts.activationId,
+        containerId: opts.containerId
+      }
+    }, ariOpts = AriParser.fromOpts(derivedOpts, searchPermissionContainerAriStaticOpts);
+    return new _SearchPermissionContainerAri(ariOpts);
+  }
+  static parse(maybeAri) {
+    let opts = AriParser.fromString(maybeAri, searchPermissionContainerAriStaticOpts);
+    return new _SearchPermissionContainerAri(opts);
+  }
+  getVariables() {
+    return {
+      activationId: this.activationId,
+      containerId: this.containerId
+    };
+  }
+};
 // Annotate the CommonJS export names for ESM import in node:
 0 && (module.exports = {
   SearchEventAri,
   SearchForwardDocumentAri,
-  SearchForwardDocumentSubscriptionAri
+  SearchForwardDocumentSubscriptionAri,
+  SearchPermissionContainerAri
 });