@agravity/private 11.1.0 → 11.1.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.
@@ -1 +1 @@
1
- 7.20.0
1
+ 7.25.0
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # @agravity/private@11.1.0
1
+ # @agravity/private@11.1.2
2
2
 
3
3
  <p>Agravity is a powerful, enterprise-grade Headless Digital Asset Management (DAM) system designed for organizations that need complete control over how they manage, organize, and distribute their digital assets.</p> <h2>Key Features</h2> <ul> <li>Asset Management - Upload, organize, and manage all types of digital assets (images, videos, documents, etc.)</li> <li>Collections &amp; Hierarchies - Create flexible folder structures and collection types with customizable metadata</li> <li>Advanced Search - Powered by Azure Cognitive Search with AI-enhanced capabilities for intelligent discovery</li> <li>AI Integration - Leverage AI to automatically generate metadata, tags, and descriptions for your assets</li> <li>Versioning - Track and restore previous versions of your assets with complete version history</li> <li>Publishing &amp; Distribution - Publish assets to various channels including Vimeo, CDN, and custom portals</li> <li>Portal System - Create public-facing portals with granular permission controls and custom branding</li> <li>Download Formats - Define custom download formats with image transformations and optimizations</li> <li>Collaboration Features - Share collections, create quick shares, and manage team access with role-based permissions</li> <li>Multi-Language Support - Full translation capabilities for all metadata and UI elements</li> <li>API-First Architecture - Complete REST API for seamless integration with your applications</li> </ul> <h2>Headless DAM Benefits</h2> <p>As a headless DAM solution, Agravity separates content management from presentation. This means:</p> <ul> <li>Flexibility - Use the same assets across multiple channels and applications without duplication</li> <li>API-Driven - Access all functionality through powerful REST APIs for custom integrations</li> <li>Framework Agnostic - Integrate with any frontend framework or technology stack</li> <li>Scalability - Built on cloud-native architecture with Azure infrastructure for unlimited growth</li> <li>Multi-Channel Distribution - Publish to web, mobile, social media, and custom portals from a single source</li> </ul> <h2>Core Entities</h2> <p><strong>Assets</strong> - Your digital content (images, videos, documents). Each asset can have multiple versions, metadata, and be published to various targets.</p> <p><strong>Collections</strong> - Logical groupings of assets organized hierarchically. Support custom metadata through collection types.</p> <p><strong>Collection Types</strong> - Define the structure and metadata fields for collections, similar to database schemas.</p> <p><strong>Workspaces</strong> - Organize collection types into workspaces for multi-project management.</p> <p><strong>Download Formats</strong> - Define transformations and optimizations for assets when downloaded.</p> <p><strong>Portals</strong> - Public-facing interfaces for sharing collections with external stakeholders.</p> <h2>API Endpoints Overview</h2> <p><strong>Asset Management</strong> - Create, read, update, delete, and search assets with full metadata support</p> <p><strong>Collection Management</strong> - Organize assets into collections with hierarchical structures</p> <p><strong>AI Operations</strong> - Automatically generate asset metadata using AI-powered field generation</p> <p><strong>Publishing</strong> - Publish assets to Vimeo, CDN, or custom publishing targets</p> <p><strong>Search &amp; Discovery</strong> - Full-text search with advanced filtering and AI-enhanced similarity search</p> <p><strong>User &amp; Portal Management</strong> - Control access through roles, profiles, and custom portals</p> <p><strong>Content Distribution</strong> - Share collections, create download packages, and generate secure links</p> <h2>Security &amp; Permissions</h2> <ul> <li>OAuth 2.0 authentication with Azure AD integration</li> <li>Role-based access control (RBAC) with custom profiles</li> <li>Entity-level permissions for granular control</li> <li>API key authentication for service-to-service communication</li> <li>Secure sharing with password-protected links and expiration dates</li> </ul> <h2>Use Cases</h2> <ul> <li>E-commerce product image management and distribution</li> <li>Marketing asset management across multiple channels</li> <li>Brand asset library and governance</li> <li>Video content management and publishing</li> <li>Enterprise document management with searchability</li> <li>Multi-tenant content management for agencies</li> <li>AI-powered metadata generation at scale</li> </ul> <h2>Support</h2> <p>For questions or support, contact <a href=\"mailto:support@agravity.io\">support@agravity.io</a> or visit <a href=\"https://agravity.io\">https://agravity.io</a>.</p> < p>Agravity © 2026 - Enterprise Headless Digital Asset Management</p>
4
4
 
5
- The version of the OpenAPI document: 11.1.0
5
+ The version of the OpenAPI document: 11.1.2
6
6
 
7
7
  ## Building
8
8
 
@@ -24,7 +24,7 @@ Navigate to the folder of your consuming project and run one of next commands.
24
24
  _published:_
25
25
 
26
26
  ```console
27
- npm install @agravity/private@11.1.0 --save
27
+ npm install @agravity/private@11.1.2 --save
28
28
  ```
29
29
 
30
30
  _without publishing (not recommended):_
@@ -59,15 +59,16 @@ export class BaseService {
59
59
  return httpParams.append(key, value.toString());
60
60
  } else if (value instanceof Date) {
61
61
  return httpParams.append(key, value.toISOString());
62
- } else if (Array.isArray(value)) {
63
- // Otherwise, if it's an array, add each element.
62
+ } else if (Array.isArray(value) || value instanceof Set) {
63
+ // Otherwise, if it's an array or set, add each element.
64
+ const array = Array.isArray(value) ? value : Array.from(value);
64
65
  if (paramStyle === QueryParamStyle.Form) {
65
- return httpParams.set(key, value, { explode: explode, delimiter: ',' });
66
+ return httpParams.set(key, array, { explode: explode, delimiter: ',' });
66
67
  } else if (paramStyle === QueryParamStyle.SpaceDelimited) {
67
- return httpParams.set(key, value, { explode: explode, delimiter: ' ' });
68
+ return httpParams.set(key, array, { explode: explode, delimiter: ' ' });
68
69
  } else {
69
70
  // PipeDelimited
70
- return httpParams.set(key, value, { explode: explode, delimiter: '|' });
71
+ return httpParams.set(key, array, { explode: explode, delimiter: '|' });
71
72
  }
72
73
  } else {
73
74
  // Otherwise, if it's an object, add each field.
package/configuration.ts CHANGED
@@ -149,8 +149,8 @@ export class AgravityConfiguration {
149
149
  * @return True if the given MIME is JSON, false otherwise.
150
150
  */
151
151
  public isJsonMime(mime: string): boolean {
152
- const jsonMime: RegExp = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
153
- return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
152
+ const jsonMime: RegExp = /^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$/i;
153
+ return mime !== null && jsonMime.test(mime);
154
154
  }
155
155
 
156
156
  public lookupCredential(key: string): string | undefined {
package/git_push.sh CHANGED
@@ -8,24 +8,24 @@ git_repo_id=$2
8
8
  release_note=$3
9
9
  git_host=$4
10
10
 
11
- if [ "$git_host" = "" ]; then
11
+ if [ -z "${git_host}" ]; then
12
12
  git_host="github.com"
13
- echo "[INFO] No command line input provided. Set \$git_host to $git_host"
13
+ echo "[INFO] No command line input provided. Set \${git_host} to ${git_host}"
14
14
  fi
15
15
 
16
- if [ "$git_user_id" = "" ]; then
16
+ if [ -z "${git_user_id}" ]; then
17
17
  git_user_id="GIT_USER_ID"
18
- echo "[INFO] No command line input provided. Set \$git_user_id to $git_user_id"
18
+ echo "[INFO] No command line input provided. Set \${git_user_id} to ${git_user_id}"
19
19
  fi
20
20
 
21
- if [ "$git_repo_id" = "" ]; then
21
+ if [ -z "${git_repo_id}" ]; then
22
22
  git_repo_id="GIT_REPO_ID"
23
- echo "[INFO] No command line input provided. Set \$git_repo_id to $git_repo_id"
23
+ echo "[INFO] No command line input provided. Set \${git_repo_id} to ${git_repo_id}"
24
24
  fi
25
25
 
26
- if [ "$release_note" = "" ]; then
26
+ if [ -z "${release_note}" ]; then
27
27
  release_note="Minor update"
28
- echo "[INFO] No command line input provided. Set \$release_note to $release_note"
28
+ echo "[INFO] No command line input provided. Set \${release_note} to ${release_note}"
29
29
  fi
30
30
 
31
31
  # Initialize the local directory as a Git repository
@@ -35,19 +35,16 @@ git init
35
35
  git add .
36
36
 
37
37
  # Commits the tracked changes and prepares them to be pushed to a remote repository.
38
- git commit -m "$release_note"
38
+ git commit -m "${release_note}"
39
39
 
40
40
  # Sets the new remote
41
- git_remote=$(git remote)
42
- if [ "$git_remote" = "" ]; then # git remote not defined
43
-
44
- if [ "$GIT_TOKEN" = "" ]; then
45
- echo "[INFO] \$GIT_TOKEN (environment variable) is not set. Using the git credential in your environment."
46
- git remote add origin https://${git_host}/${git_user_id}/${git_repo_id}.git
41
+ if [ -z "$(git remote)" ]; then # git remote not defined
42
+ if [ -z "${GIT_TOKEN:-}" ]; then
43
+ echo "[INFO] \${GIT_TOKEN} (environment variable) is not set. Using the git credential in your environment."
44
+ git remote add origin "https://${git_host}/${git_user_id}/${git_repo_id}.git"
47
45
  else
48
- git remote add origin https://${git_user_id}:"${GIT_TOKEN}"@${git_host}/${git_user_id}/${git_repo_id}.git
46
+ git remote add origin "https://${git_user_id}:${GIT_TOKEN}@${git_host}/${git_user_id}/${git_repo_id}.git"
49
47
  fi
50
-
51
48
  fi
52
49
 
53
50
  git pull origin master
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agravity/private",
3
- "version": "11.1.0",
3
+ "version": "11.1.2",
4
4
  "description": "The Agravity GlobalDAM API which allowes authenticated user to access the Agravity GlobalDAM Backend",
5
5
  "author": "Philipp Losbichler",
6
6
  "repository": {