@agravity/private 10.3.0 → 10.3.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.
- package/README.md +3 -3
- package/api/assetOperations.agravity.ts +103 -6
- package/model/asset.agravity.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @agravity/private@10.3.
|
|
1
|
+
# @agravity/private@10.3.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 & 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: 10.3.
|
|
5
|
+
The version of the OpenAPI document: 10.3.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@10.3.
|
|
27
|
+
npm install @agravity/private@10.3.2 --save
|
|
28
28
|
```
|
|
29
29
|
|
|
30
30
|
_without publishing (not recommended):_
|
|
@@ -54,7 +54,7 @@ export interface HttpAssetBulkCheckoutToggleRequestParams {
|
|
|
54
54
|
/** The list of asset IDs to checkout or checkin. */
|
|
55
55
|
assetBulkCheckoutBody: AssetBulkCheckoutBody;
|
|
56
56
|
/** Optional action for synced assets when FileShare MD5 metadata is missing. Allowed: keep, overwrite. If the synced FileShare file is missing, only overwrite is allowed. */
|
|
57
|
-
|
|
57
|
+
fsMissingETagAction?: string;
|
|
58
58
|
}
|
|
59
59
|
|
|
60
60
|
export interface HttpAssetCheckoutToggleRequestParams {
|
|
@@ -63,7 +63,7 @@ export interface HttpAssetCheckoutToggleRequestParams {
|
|
|
63
63
|
/** Set to \'true\' to checkout the asset, \'false\' to checkin the asset. */
|
|
64
64
|
checkout: boolean;
|
|
65
65
|
/** Optional action for synced assets when FileShare MD5 metadata is missing. Allowed: keep, overwrite. If the synced FileShare file is missing, only overwrite is allowed. */
|
|
66
|
-
|
|
66
|
+
fsMissingETagAction?: string;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
export interface HttpAssetImageEditRequestParams {
|
|
@@ -190,6 +190,19 @@ export interface HttpGetAssetTextContentByIdRequestParams {
|
|
|
190
190
|
id: string;
|
|
191
191
|
}
|
|
192
192
|
|
|
193
|
+
export interface HttpGetAssetViewRequestParams {
|
|
194
|
+
/** The ID of the asset. */
|
|
195
|
+
id: string;
|
|
196
|
+
/** (optional) provide the id of any valid download format. Otherwise the original is returned. */
|
|
197
|
+
format?: string;
|
|
198
|
+
/** If the request comes from portal this is the indicator. It will be checked if the requested blob is valid for the portal. */
|
|
199
|
+
portalId?: string;
|
|
200
|
+
/** Returns assets on permissions which are locked and accessable (User needs editor permissions). Default: true */
|
|
201
|
+
locked?: boolean;
|
|
202
|
+
/** Returns assets which are not in state ACTIVE (User needs editor permissions). Default: true */
|
|
203
|
+
uncompleted?: boolean;
|
|
204
|
+
}
|
|
205
|
+
|
|
193
206
|
export interface HttpImageDynamicEditRequestParams {
|
|
194
207
|
/** The ID of the asset. */
|
|
195
208
|
id: string;
|
|
@@ -299,11 +312,11 @@ export class AssetOperationsService extends BaseService {
|
|
|
299
312
|
if (assetBulkCheckoutBody === null || assetBulkCheckoutBody === undefined) {
|
|
300
313
|
throw new Error('Required parameter assetBulkCheckoutBody was null or undefined when calling httpAssetBulkCheckoutToggle.');
|
|
301
314
|
}
|
|
302
|
-
const
|
|
315
|
+
const fsMissingETagAction = requestParameters?.fsMissingETagAction;
|
|
303
316
|
|
|
304
317
|
let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
|
|
305
318
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>checkout, 'checkout');
|
|
306
|
-
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>
|
|
319
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>fsMissingETagAction, 'fsMissingETagAction');
|
|
307
320
|
|
|
308
321
|
let localVarHeaders = this.defaultHeaders;
|
|
309
322
|
|
|
@@ -390,11 +403,11 @@ export class AssetOperationsService extends BaseService {
|
|
|
390
403
|
if (checkout === null || checkout === undefined) {
|
|
391
404
|
throw new Error('Required parameter checkout was null or undefined when calling httpAssetCheckoutToggle.');
|
|
392
405
|
}
|
|
393
|
-
const
|
|
406
|
+
const fsMissingETagAction = requestParameters?.fsMissingETagAction;
|
|
394
407
|
|
|
395
408
|
let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
|
|
396
409
|
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>checkout, 'checkout');
|
|
397
|
-
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>
|
|
410
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>fsMissingETagAction, 'fsMissingETagAction');
|
|
398
411
|
|
|
399
412
|
let localVarHeaders = this.defaultHeaders;
|
|
400
413
|
|
|
@@ -1532,6 +1545,90 @@ export class AssetOperationsService extends BaseService {
|
|
|
1532
1545
|
});
|
|
1533
1546
|
}
|
|
1534
1547
|
|
|
1548
|
+
/**
|
|
1549
|
+
* This endpoint returns the binary directly to the endpoint
|
|
1550
|
+
* @param requestParameters
|
|
1551
|
+
* @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.
|
|
1552
|
+
* @param reportProgress flag to report request and response progress.
|
|
1553
|
+
*/
|
|
1554
|
+
public httpGetAssetView(
|
|
1555
|
+
requestParameters: HttpGetAssetViewRequestParams,
|
|
1556
|
+
observe?: 'body',
|
|
1557
|
+
reportProgress?: boolean,
|
|
1558
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
1559
|
+
): Observable<AssetBlob>;
|
|
1560
|
+
public httpGetAssetView(
|
|
1561
|
+
requestParameters: HttpGetAssetViewRequestParams,
|
|
1562
|
+
observe?: 'response',
|
|
1563
|
+
reportProgress?: boolean,
|
|
1564
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
1565
|
+
): Observable<HttpResponse<AssetBlob>>;
|
|
1566
|
+
public httpGetAssetView(
|
|
1567
|
+
requestParameters: HttpGetAssetViewRequestParams,
|
|
1568
|
+
observe?: 'events',
|
|
1569
|
+
reportProgress?: boolean,
|
|
1570
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
1571
|
+
): Observable<HttpEvent<AssetBlob>>;
|
|
1572
|
+
public httpGetAssetView(
|
|
1573
|
+
requestParameters: HttpGetAssetViewRequestParams,
|
|
1574
|
+
observe: any = 'body',
|
|
1575
|
+
reportProgress: boolean = false,
|
|
1576
|
+
options?: { httpHeaderAccept?: 'application/json'; context?: HttpContext; transferCache?: boolean }
|
|
1577
|
+
): Observable<any> {
|
|
1578
|
+
const id = requestParameters?.id;
|
|
1579
|
+
if (id === null || id === undefined) {
|
|
1580
|
+
throw new Error('Required parameter id was null or undefined when calling httpGetAssetView.');
|
|
1581
|
+
}
|
|
1582
|
+
const format = requestParameters?.format;
|
|
1583
|
+
const portalId = requestParameters?.portalId;
|
|
1584
|
+
const locked = requestParameters?.locked;
|
|
1585
|
+
const uncompleted = requestParameters?.uncompleted;
|
|
1586
|
+
|
|
1587
|
+
let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
|
|
1588
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>format, 'format');
|
|
1589
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>portalId, 'portal_id');
|
|
1590
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>locked, 'locked');
|
|
1591
|
+
localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, <any>uncompleted, 'uncompleted');
|
|
1592
|
+
|
|
1593
|
+
let localVarHeaders = this.defaultHeaders;
|
|
1594
|
+
|
|
1595
|
+
// authentication (msal_auth) required
|
|
1596
|
+
localVarHeaders = this.configuration.addCredentialToHeaders('msal_auth', 'Authorization', localVarHeaders, 'Bearer ');
|
|
1597
|
+
|
|
1598
|
+
const localVarHttpHeaderAcceptSelected: string | undefined = options?.httpHeaderAccept ?? this.configuration.selectHeaderAccept(['application/json']);
|
|
1599
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
1600
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
1601
|
+
}
|
|
1602
|
+
|
|
1603
|
+
const localVarHttpContext: HttpContext = options?.context ?? new HttpContext();
|
|
1604
|
+
|
|
1605
|
+
const localVarTransferCache: boolean = options?.transferCache ?? true;
|
|
1606
|
+
|
|
1607
|
+
let responseType_: 'text' | 'json' | 'blob' = 'json';
|
|
1608
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
1609
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
1610
|
+
responseType_ = 'text';
|
|
1611
|
+
} else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
1612
|
+
responseType_ = 'json';
|
|
1613
|
+
} else {
|
|
1614
|
+
responseType_ = 'blob';
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1617
|
+
|
|
1618
|
+
let localVarPath = `/assets/${this.configuration.encodeParam({ name: 'id', value: id, in: 'path', style: 'simple', explode: false, dataType: 'string', dataFormat: undefined })}/view`;
|
|
1619
|
+
const { basePath, withCredentials } = this.configuration;
|
|
1620
|
+
return this.httpClient.request<AssetBlob>('get', `${basePath}${localVarPath}`, {
|
|
1621
|
+
context: localVarHttpContext,
|
|
1622
|
+
params: localVarQueryParameters,
|
|
1623
|
+
responseType: <any>responseType_,
|
|
1624
|
+
...(withCredentials ? { withCredentials } : {}),
|
|
1625
|
+
headers: localVarHeaders,
|
|
1626
|
+
observe: observe,
|
|
1627
|
+
transferCache: localVarTransferCache,
|
|
1628
|
+
reportProgress: reportProgress
|
|
1629
|
+
});
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1535
1632
|
/**
|
|
1536
1633
|
* This endpoint lets you use the entire api of Imagemagick to edit the image.
|
|
1537
1634
|
* @param requestParameters
|
package/model/asset.agravity.ts
CHANGED
|
@@ -28,7 +28,7 @@ export interface Asset {
|
|
|
28
28
|
available_from?: string | null;
|
|
29
29
|
available_to?: string | null;
|
|
30
30
|
checkout?: AssetCheckout | null;
|
|
31
|
-
fs_synced?:
|
|
31
|
+
fs_synced?: string | null;
|
|
32
32
|
custom?: any | null;
|
|
33
33
|
items?: Array<CollTypeItem> | null;
|
|
34
34
|
translations?: { [key: string]: { [key: string]: any } } | null;
|
package/package.json
CHANGED