@agravity/private 11.0.3 → 11.1.0
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/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @agravity/private@11.0
|
|
1
|
+
# @agravity/private@11.1.0
|
|
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 & 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 & 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 & Discovery</strong> - Full-text search with advanced filtering and AI-enhanced similarity search</p> <p><strong>User & 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 & 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.0
|
|
5
|
+
The version of the OpenAPI document: 11.1.0
|
|
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.0
|
|
27
|
+
npm install @agravity/private@11.1.0 --save
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
_without publishing (not recommended):_
|
|
@@ -51,6 +51,10 @@ export interface HttpGetAllUserDefinedListsRequestParams {
|
|
|
51
51
|
translations?: boolean;
|
|
52
52
|
/** The requested language of the response. If not matching it falls back to default language. */
|
|
53
53
|
acceptLanguage?: string;
|
|
54
|
+
/** A portal ID ignores permissions but the param coll_ids. */
|
|
55
|
+
portalId?: string;
|
|
56
|
+
/** A comma separated list of parent IDs of UDLs which should be fetched. */
|
|
57
|
+
collIds?: string;
|
|
54
58
|
}
|
|
55
59
|
|
|
56
60
|
export interface HttpGetAllowedFilterableItemsRequestParams {
|
|
@@ -398,11 +402,17 @@ export class HelperToolsService extends BaseService {
|
|
|
398
402
|
): Observable<any> {
|
|
399
403
|
const translations = requestParameters?.translations;
|
|
400
404
|
const acceptLanguage = requestParameters?.acceptLanguage;
|
|
405
|
+
const portalId = requestParameters?.portalId;
|
|
406
|
+
const collIds = requestParameters?.collIds;
|
|
401
407
|
|
|
402
408
|
let localVarQueryParameters = new OpenApiHttpParams(this.encoder);
|
|
403
409
|
|
|
404
410
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'translations', <any>translations, QueryParamStyle.Form, true);
|
|
405
411
|
|
|
412
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'portal_id', <any>portalId, QueryParamStyle.Form, true);
|
|
413
|
+
|
|
414
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'coll_ids', <any>collIds, QueryParamStyle.Form, true);
|
|
415
|
+
|
|
406
416
|
let localVarHeaders = this.defaultHeaders;
|
|
407
417
|
if (acceptLanguage !== undefined && acceptLanguage !== null) {
|
|
408
418
|
localVarHeaders = localVarHeaders.set('Accept-Language', String(acceptLanguage));
|
|
@@ -19,6 +19,8 @@ import { AgravityErrorResponse } from '../model/agravityErrorResponse.agravity';
|
|
|
19
19
|
// @ts-ignore
|
|
20
20
|
import { AgravityInfoResponse } from '../model/agravityInfoResponse.agravity';
|
|
21
21
|
// @ts-ignore
|
|
22
|
+
import { AzSearchOptions } from '../model/azSearchOptions.agravity';
|
|
23
|
+
// @ts-ignore
|
|
22
24
|
import { SearchAdminStatus } from '../model/searchAdminStatus.agravity';
|
|
23
25
|
// @ts-ignore
|
|
24
26
|
import { SearchFacet } from '../model/searchFacet.agravity';
|
|
@@ -96,6 +98,17 @@ export interface HttpGlobalSearchRequestParams {
|
|
|
96
98
|
acceptLanguage?: string;
|
|
97
99
|
}
|
|
98
100
|
|
|
101
|
+
export interface HttpGlobalSearchPostRequestParams {
|
|
102
|
+
/** Search options for the request body. */
|
|
103
|
+
azSearchOptions: AzSearchOptions;
|
|
104
|
+
/** When default language should be returned and the translation dictionary is delivered. (Ignores the \"Accept-Language\" header) */
|
|
105
|
+
translations?: boolean;
|
|
106
|
+
/** The requested language of the response. If not matching it falls back to default language. */
|
|
107
|
+
acceptLanguage?: string;
|
|
108
|
+
/** This will expose the thumbnail asset blob incl. URL with SAS Token. */
|
|
109
|
+
expose?: boolean;
|
|
110
|
+
}
|
|
111
|
+
|
|
99
112
|
export interface HttpPatchCleanSearchFromDeletedAssetsRequestParams {
|
|
100
113
|
/** If the search should be redirected to a specific portal. */
|
|
101
114
|
portalId?: string;
|
|
@@ -392,7 +405,7 @@ export class SearchManagementService extends BaseService {
|
|
|
392
405
|
}
|
|
393
406
|
|
|
394
407
|
/**
|
|
395
|
-
* This endpoint returns a configured max amount of results for search terms.
|
|
408
|
+
* This endpoint returns a configured max amount of results for search terms using query parameters.
|
|
396
409
|
* @endpoint get /search
|
|
397
410
|
* @param requestParameters
|
|
398
411
|
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
@@ -517,6 +530,102 @@ export class SearchManagementService extends BaseService {
|
|
|
517
530
|
});
|
|
518
531
|
}
|
|
519
532
|
|
|
533
|
+
/**
|
|
534
|
+
* This endpoint returns a configured max amount of results for search options in the request body.
|
|
535
|
+
* @endpoint post /search
|
|
536
|
+
* @param requestParameters
|
|
537
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
538
|
+
* @param reportProgress flag to report request and response progress.
|
|
539
|
+
* @param options additional options
|
|
540
|
+
*/
|
|
541
|
+
public httpGlobalSearchPost(
|
|
542
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
543
|
+
observe?: 'body',
|
|
544
|
+
reportProgress?: boolean,
|
|
545
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
546
|
+
): Observable<SearchResult>;
|
|
547
|
+
public httpGlobalSearchPost(
|
|
548
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
549
|
+
observe?: 'response',
|
|
550
|
+
reportProgress?: boolean,
|
|
551
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
552
|
+
): Observable<HttpResponse<SearchResult>>;
|
|
553
|
+
public httpGlobalSearchPost(
|
|
554
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
555
|
+
observe?: 'events',
|
|
556
|
+
reportProgress?: boolean,
|
|
557
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
558
|
+
): Observable<HttpEvent<SearchResult>>;
|
|
559
|
+
public httpGlobalSearchPost(
|
|
560
|
+
requestParameters: HttpGlobalSearchPostRequestParams,
|
|
561
|
+
observe: any = 'body',
|
|
562
|
+
reportProgress: boolean = false,
|
|
563
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
564
|
+
): Observable<any> {
|
|
565
|
+
const azSearchOptions = requestParameters?.azSearchOptions;
|
|
566
|
+
if (azSearchOptions === null || azSearchOptions === undefined) {
|
|
567
|
+
throw new Error('Required parameter azSearchOptions was null or undefined when calling httpGlobalSearchPost.');
|
|
568
|
+
}
|
|
569
|
+
const translations = requestParameters?.translations;
|
|
570
|
+
const acceptLanguage = requestParameters?.acceptLanguage;
|
|
571
|
+
const expose = requestParameters?.expose;
|
|
572
|
+
|
|
573
|
+
let localVarQueryParameters = new OpenApiHttpParams(this.encoder);
|
|
574
|
+
|
|
575
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'translations', <any>translations, QueryParamStyle.Form, true);
|
|
576
|
+
|
|
577
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, 'expose', <any>expose, QueryParamStyle.Form, true);
|
|
578
|
+
|
|
579
|
+
let localVarHeaders = this.defaultHeaders;
|
|
580
|
+
if (acceptLanguage !== undefined && acceptLanguage !== null) {
|
|
581
|
+
localVarHeaders = localVarHeaders.set('Accept-Language', String(acceptLanguage));
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
// authentication (msal_auth) required
|
|
585
|
+
localVarHeaders = this.configuration.addCredentialToHeaders('msal_auth', 'Authorization', localVarHeaders, 'Bearer ');
|
|
586
|
+
|
|
587
|
+
const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
588
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
589
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
590
|
+
}
|
|
591
|
+
|
|
592
|
+
const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();
|
|
593
|
+
|
|
594
|
+
const localVarTransferCache: boolean = options?.transferCache ?? true;
|
|
595
|
+
|
|
596
|
+
// to determine the Content-Type header
|
|
597
|
+
const consumes: string[] = ['application/json'];
|
|
598
|
+
const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);
|
|
599
|
+
if (httpContentTypeSelected !== undefined) {
|
|
600
|
+
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
601
|
+
}
|
|
602
|
+
|
|
603
|
+
let responseType_: 'text' | 'json' | 'blob' = 'json';
|
|
604
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
605
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
606
|
+
responseType_ = 'text';
|
|
607
|
+
} else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
608
|
+
responseType_ = 'json';
|
|
609
|
+
} else {
|
|
610
|
+
responseType_ = 'blob';
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
let localVarPath = `/search`;
|
|
615
|
+
const { basePath, withCredentials } = this.configuration;
|
|
616
|
+
return this.httpClient.request<SearchResult>('post', `${basePath}${localVarPath}`, {
|
|
617
|
+
context: localVarHttpContext,
|
|
618
|
+
body: azSearchOptions,
|
|
619
|
+
params: localVarQueryParameters.toHttpParams(),
|
|
620
|
+
responseType: <any>responseType_,
|
|
621
|
+
...(withCredentials ? { withCredentials } : {}),
|
|
622
|
+
headers: localVarHeaders,
|
|
623
|
+
observe: observe,
|
|
624
|
+
...(localVarTransferCache !== undefined ? { transferCache: localVarTransferCache } : {}),
|
|
625
|
+
reportProgress: reportProgress
|
|
626
|
+
});
|
|
627
|
+
}
|
|
628
|
+
|
|
520
629
|
/**
|
|
521
630
|
* This endpoint removes all assets which are not longer available in the database from the search index.
|
|
522
631
|
* @endpoint patch /searchadmin/clean
|
|
@@ -13,6 +13,7 @@ export interface PortalFields {
|
|
|
13
13
|
name?: string | null;
|
|
14
14
|
detail_order?: number | null;
|
|
15
15
|
facet_order?: number | null;
|
|
16
|
+
orfilterable?: boolean | null;
|
|
16
17
|
labels?: { [key: string]: string } | null;
|
|
17
18
|
user_context?: PortalUserContext | null;
|
|
18
19
|
format?: string | null;
|
|
@@ -13,7 +13,7 @@ import { AzSearchOptions } from './azSearchOptions.agravity';
|
|
|
13
13
|
|
|
14
14
|
export interface SearchResult {
|
|
15
15
|
data_result?: DataResult | null;
|
|
16
|
-
options?: AzSearchOptions
|
|
16
|
+
options?: AzSearchOptions;
|
|
17
17
|
facets?: Array<SearchFacet> | null;
|
|
18
18
|
count?: number | null;
|
|
19
19
|
}
|
package/package.json
CHANGED