@schally/node-akeneo-api-client 1.0.9
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/LICENSE +20 -0
- package/README.md +186 -0
- package/dist/akeneo-client.d.ts +28 -0
- package/dist/akeneo-client.d.ts.map +1 -0
- package/dist/akeneo-client.js +33 -0
- package/dist/akeneo-client.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/services/akeneo-api-client.d.ts +11 -0
- package/dist/services/akeneo-api-client.d.ts.map +1 -0
- package/dist/services/akeneo-api-client.js +91 -0
- package/dist/services/akeneo-api-client.js.map +1 -0
- package/dist/services/api/asset-manager/asset-attributes-api.service.d.ts +21 -0
- package/dist/services/api/asset-manager/asset-attributes-api.service.d.ts.map +1 -0
- package/dist/services/api/asset-manager/asset-attributes-api.service.js +44 -0
- package/dist/services/api/asset-manager/asset-attributes-api.service.js.map +1 -0
- package/dist/services/api/asset-manager/asset-families-api.service.d.ts +15 -0
- package/dist/services/api/asset-manager/asset-families-api.service.d.ts.map +1 -0
- package/dist/services/api/asset-manager/asset-families-api.service.js +20 -0
- package/dist/services/api/asset-manager/asset-families-api.service.js.map +1 -0
- package/dist/services/api/asset-manager/asset-media-files-api.service.d.ts +13 -0
- package/dist/services/api/asset-manager/asset-media-files-api.service.d.ts.map +1 -0
- package/dist/services/api/asset-manager/asset-media-files-api.service.js +26 -0
- package/dist/services/api/asset-manager/asset-media-files-api.service.js.map +1 -0
- package/dist/services/api/asset-manager/assets-api.service.d.ts +28 -0
- package/dist/services/api/asset-manager/assets-api.service.d.ts.map +1 -0
- package/dist/services/api/asset-manager/assets-api.service.js +35 -0
- package/dist/services/api/asset-manager/assets-api.service.js.map +1 -0
- package/dist/services/api/asset-manager/index.d.ts +5 -0
- package/dist/services/api/asset-manager/index.d.ts.map +1 -0
- package/dist/services/api/asset-manager/index.js +21 -0
- package/dist/services/api/asset-manager/index.js.map +1 -0
- package/dist/services/api/asset-manager-api.service.d.ts +11 -0
- package/dist/services/api/asset-manager-api.service.d.ts.map +1 -0
- package/dist/services/api/asset-manager-api.service.js +15 -0
- package/dist/services/api/asset-manager-api.service.js.map +1 -0
- package/dist/services/api/association-types-api.service.d.ts +21 -0
- package/dist/services/api/association-types-api.service.d.ts.map +1 -0
- package/dist/services/api/association-types-api.service.js +28 -0
- package/dist/services/api/association-types-api.service.js.map +1 -0
- package/dist/services/api/attribute-groups-api.service.d.ts +26 -0
- package/dist/services/api/attribute-groups-api.service.d.ts.map +1 -0
- package/dist/services/api/attribute-groups-api.service.js +28 -0
- package/dist/services/api/attribute-groups-api.service.js.map +1 -0
- package/dist/services/api/attributes-api.service.d.ts +43 -0
- package/dist/services/api/attributes-api.service.d.ts.map +1 -0
- package/dist/services/api/attributes-api.service.js +60 -0
- package/dist/services/api/attributes-api.service.js.map +1 -0
- package/dist/services/api/base-api.service.d.ts +13 -0
- package/dist/services/api/base-api.service.d.ts.map +1 -0
- package/dist/services/api/base-api.service.js +26 -0
- package/dist/services/api/base-api.service.js.map +1 -0
- package/dist/services/api/catalog-for-apps/catalog-products-api.service.d.ts +28 -0
- package/dist/services/api/catalog-for-apps/catalog-products-api.service.d.ts.map +1 -0
- package/dist/services/api/catalog-for-apps/catalog-products-api.service.js +44 -0
- package/dist/services/api/catalog-for-apps/catalog-products-api.service.js.map +1 -0
- package/dist/services/api/catalog-for-apps/catalogs-api.service.d.ts +13 -0
- package/dist/services/api/catalog-for-apps/catalogs-api.service.d.ts.map +1 -0
- package/dist/services/api/catalog-for-apps/catalogs-api.service.js +14 -0
- package/dist/services/api/catalog-for-apps/catalogs-api.service.js.map +1 -0
- package/dist/services/api/catalog-for-apps/index.d.ts +4 -0
- package/dist/services/api/catalog-for-apps/index.d.ts.map +1 -0
- package/dist/services/api/catalog-for-apps/index.js +20 -0
- package/dist/services/api/catalog-for-apps/index.js.map +1 -0
- package/dist/services/api/catalog-for-apps/mapping-schemas-api.service.d.ts +13 -0
- package/dist/services/api/catalog-for-apps/mapping-schemas-api.service.d.ts.map +1 -0
- package/dist/services/api/catalog-for-apps/mapping-schemas-api.service.js +23 -0
- package/dist/services/api/catalog-for-apps/mapping-schemas-api.service.js.map +1 -0
- package/dist/services/api/catalog-for-apps-api.service.d.ts +10 -0
- package/dist/services/api/catalog-for-apps-api.service.d.ts.map +1 -0
- package/dist/services/api/catalog-for-apps-api.service.js +14 -0
- package/dist/services/api/catalog-for-apps-api.service.js.map +1 -0
- package/dist/services/api/categories-api.service.d.ts +39 -0
- package/dist/services/api/categories-api.service.d.ts.map +1 -0
- package/dist/services/api/categories-api.service.js +40 -0
- package/dist/services/api/categories-api.service.js.map +1 -0
- package/dist/services/api/channels-api.service.d.ts +21 -0
- package/dist/services/api/channels-api.service.d.ts.map +1 -0
- package/dist/services/api/channels-api.service.js +28 -0
- package/dist/services/api/channels-api.service.js.map +1 -0
- package/dist/services/api/currencies-api.service.d.ts +16 -0
- package/dist/services/api/currencies-api.service.d.ts.map +1 -0
- package/dist/services/api/currencies-api.service.js +17 -0
- package/dist/services/api/currencies-api.service.js.map +1 -0
- package/dist/services/api/families-api.service.d.ts +38 -0
- package/dist/services/api/families-api.service.d.ts.map +1 -0
- package/dist/services/api/families-api.service.js +53 -0
- package/dist/services/api/families-api.service.js.map +1 -0
- package/dist/services/api/index.d.ts +21 -0
- package/dist/services/api/index.d.ts.map +1 -0
- package/dist/services/api/index.js +37 -0
- package/dist/services/api/index.js.map +1 -0
- package/dist/services/api/jobs-api.service.d.ts +12 -0
- package/dist/services/api/jobs-api.service.d.ts.map +1 -0
- package/dist/services/api/jobs-api.service.js +17 -0
- package/dist/services/api/jobs-api.service.js.map +1 -0
- package/dist/services/api/locales-api.service.d.ts +16 -0
- package/dist/services/api/locales-api.service.d.ts.map +1 -0
- package/dist/services/api/locales-api.service.js +17 -0
- package/dist/services/api/locales-api.service.js.map +1 -0
- package/dist/services/api/measurement-families-api.service.d.ts +20 -0
- package/dist/services/api/measurement-families-api.service.d.ts.map +1 -0
- package/dist/services/api/measurement-families-api.service.js +19 -0
- package/dist/services/api/measurement-families-api.service.js.map +1 -0
- package/dist/services/api/product-media-files-api.service.d.ts +32 -0
- package/dist/services/api/product-media-files-api.service.d.ts.map +1 -0
- package/dist/services/api/product-media-files-api.service.js +25 -0
- package/dist/services/api/product-media-files-api.service.js.map +1 -0
- package/dist/services/api/product-models-api.service.d.ts +39 -0
- package/dist/services/api/product-models-api.service.d.ts.map +1 -0
- package/dist/services/api/product-models-api.service.js +31 -0
- package/dist/services/api/product-models-api.service.js.map +1 -0
- package/dist/services/api/product-uuid-api.service.d.ts +22 -0
- package/dist/services/api/product-uuid-api.service.d.ts.map +1 -0
- package/dist/services/api/product-uuid-api.service.js +31 -0
- package/dist/services/api/product-uuid-api.service.js.map +1 -0
- package/dist/services/api/products-api.service.d.ts +42 -0
- package/dist/services/api/products-api.service.d.ts.map +1 -0
- package/dist/services/api/products-api.service.js +31 -0
- package/dist/services/api/products-api.service.js.map +1 -0
- package/dist/services/api/reference-entities/index.d.ts +4 -0
- package/dist/services/api/reference-entities/index.d.ts.map +1 -0
- package/dist/services/api/reference-entities/index.js +20 -0
- package/dist/services/api/reference-entities/index.js.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-attribute-api.service.d.ts +21 -0
- package/dist/services/api/reference-entities/reference-entities-attribute-api.service.d.ts.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-attribute-api.service.js +46 -0
- package/dist/services/api/reference-entities/reference-entities-attribute-api.service.js.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-media-files-api.service.d.ts +13 -0
- package/dist/services/api/reference-entities/reference-entities-media-files-api.service.d.ts.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-media-files-api.service.js +26 -0
- package/dist/services/api/reference-entities/reference-entities-media-files-api.service.js.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-records-api.service.d.ts +27 -0
- package/dist/services/api/reference-entities/reference-entities-records-api.service.d.ts.map +1 -0
- package/dist/services/api/reference-entities/reference-entities-records-api.service.js +34 -0
- package/dist/services/api/reference-entities/reference-entities-records-api.service.js.map +1 -0
- package/dist/services/api/reference-entities-api.service.d.ts +19 -0
- package/dist/services/api/reference-entities-api.service.d.ts.map +1 -0
- package/dist/services/api/reference-entities-api.service.js +24 -0
- package/dist/services/api/reference-entities-api.service.js.map +1 -0
- package/dist/services/api/ui-extensions-api.service.d.ts +14 -0
- package/dist/services/api/ui-extensions-api.service.d.ts.map +1 -0
- package/dist/services/api/ui-extensions-api.service.js +23 -0
- package/dist/services/api/ui-extensions-api.service.js.map +1 -0
- package/dist/services/api/utilities-api.service.d.ts +11 -0
- package/dist/services/api/utilities-api.service.d.ts.map +1 -0
- package/dist/services/api/utilities-api.service.js +13 -0
- package/dist/services/api/utilities-api.service.js.map +1 -0
- package/dist/services/index.d.ts +2 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +18 -0
- package/dist/services/index.js.map +1 -0
- package/dist/types/api.type.d.ts +22 -0
- package/dist/types/api.type.d.ts.map +1 -0
- package/dist/types/api.type.js +3 -0
- package/dist/types/api.type.js.map +1 -0
- package/dist/types/assets.type.d.ts +109 -0
- package/dist/types/assets.type.d.ts.map +1 -0
- package/dist/types/assets.type.js +16 -0
- package/dist/types/assets.type.js.map +1 -0
- package/dist/types/association-type.type.d.ts +9 -0
- package/dist/types/association-type.type.d.ts.map +1 -0
- package/dist/types/association-type.type.js +3 -0
- package/dist/types/association-type.type.js.map +1 -0
- package/dist/types/attribute-group.type.d.ts +9 -0
- package/dist/types/attribute-group.type.d.ts.map +1 -0
- package/dist/types/attribute-group.type.js +3 -0
- package/dist/types/attribute-group.type.js.map +1 -0
- package/dist/types/attribute.type.d.ts +74 -0
- package/dist/types/attribute.type.d.ts.map +1 -0
- package/dist/types/attribute.type.js +24 -0
- package/dist/types/attribute.type.js.map +1 -0
- package/dist/types/auth.type.d.ts +13 -0
- package/dist/types/auth.type.d.ts.map +1 -0
- package/dist/types/auth.type.js +3 -0
- package/dist/types/auth.type.js.map +1 -0
- package/dist/types/catalog-for-apps.type.d.ts +49 -0
- package/dist/types/catalog-for-apps.type.d.ts.map +1 -0
- package/dist/types/catalog-for-apps.type.js +3 -0
- package/dist/types/catalog-for-apps.type.js.map +1 -0
- package/dist/types/category.type.d.ts +21 -0
- package/dist/types/category.type.d.ts.map +1 -0
- package/dist/types/category.type.js +3 -0
- package/dist/types/category.type.js.map +1 -0
- package/dist/types/channel.type.d.ts +13 -0
- package/dist/types/channel.type.d.ts.map +1 -0
- package/dist/types/channel.type.js +3 -0
- package/dist/types/channel.type.js.map +1 -0
- package/dist/types/currency.type.d.ts +6 -0
- package/dist/types/currency.type.d.ts.map +1 -0
- package/dist/types/currency.type.js +3 -0
- package/dist/types/currency.type.js.map +1 -0
- package/dist/types/family.type.d.ts +24 -0
- package/dist/types/family.type.d.ts.map +1 -0
- package/dist/types/family.type.js +3 -0
- package/dist/types/family.type.js.map +1 -0
- package/dist/types/index.d.ts +19 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +35 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/locale.type.d.ts +5 -0
- package/dist/types/locale.type.d.ts.map +1 -0
- package/dist/types/locale.type.js +3 -0
- package/dist/types/locale.type.js.map +1 -0
- package/dist/types/measurement-family.type.d.ts +22 -0
- package/dist/types/measurement-family.type.d.ts.map +1 -0
- package/dist/types/measurement-family.type.js +3 -0
- package/dist/types/measurement-family.type.js.map +1 -0
- package/dist/types/product-media-file.type.d.ts +13 -0
- package/dist/types/product-media-file.type.d.ts.map +1 -0
- package/dist/types/product-media-file.type.js +3 -0
- package/dist/types/product-media-file.type.js.map +1 -0
- package/dist/types/product-model.type.d.ts +54 -0
- package/dist/types/product-model.type.d.ts.map +1 -0
- package/dist/types/product-model.type.js +3 -0
- package/dist/types/product-model.type.js.map +1 -0
- package/dist/types/product.type.d.ts +62 -0
- package/dist/types/product.type.d.ts.map +1 -0
- package/dist/types/product.type.js +3 -0
- package/dist/types/product.type.js.map +1 -0
- package/dist/types/reference-entities.type.d.ts +64 -0
- package/dist/types/reference-entities.type.d.ts.map +1 -0
- package/dist/types/reference-entities.type.js +15 -0
- package/dist/types/reference-entities.type.js.map +1 -0
- package/dist/types/ui-extension.type.d.ts +35 -0
- package/dist/types/ui-extension.type.d.ts.map +1 -0
- package/dist/types/ui-extension.type.js +22 -0
- package/dist/types/ui-extension.type.js.map +1 -0
- package/package.json +70 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Maximilien Schall-Fonteilles
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
copies or substantial portions of the Software.
|
|
13
|
+
|
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Node Akeneo API Client
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/node-akeneo-api-client)
|
|
4
|
+
[](LICENSE)
|
|
5
|
+
[](https://codecov.io/gh/schallym/node-akeneo-api-client)
|
|
6
|
+
|
|
7
|
+
A complete and up-to-date Node.js client for the Akeneo PIM REST API. This library provides a simple and intuitive interface to interact with all Akeneo PIM endpoints, supporting both Community and Enterprise editions.
|
|
8
|
+
|
|
9
|
+
## Features
|
|
10
|
+
|
|
11
|
+
- 🚀 **Complete API Coverage** - Supports all Akeneo REST API endpoints
|
|
12
|
+
- 📦 **TypeScript Support** - Full TypeScript definitions included
|
|
13
|
+
- 🔐 **Multiple Authentication Methods** - Classic connection and App connection
|
|
14
|
+
- 🔄 **Automatic Token Refresh** - Handles token expiration automatically
|
|
15
|
+
- 📄 **Pagination Support** - Built-in pagination handling for large datasets
|
|
16
|
+
- 🛡️ **Error Handling** - Comprehensive error handling with detailed messages
|
|
17
|
+
- 🧪 **Well Tested** - Extensive test coverage
|
|
18
|
+
|
|
19
|
+
## Installation
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install node-akeneo-api-client
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
### Basic Setup
|
|
28
|
+
|
|
29
|
+
```javascript
|
|
30
|
+
const { AkeneoClient } = require('node-akeneo-api-client');
|
|
31
|
+
|
|
32
|
+
// Initialize with classic connection
|
|
33
|
+
const client = new AkeneoClient({
|
|
34
|
+
baseUrl: 'https://your-akeneo-instance.com',
|
|
35
|
+
clientId: 'your-client-id',
|
|
36
|
+
clientSecret: 'your-client-secret',
|
|
37
|
+
username: 'your-username',
|
|
38
|
+
password: 'your-password'
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
// Or initialize with App token
|
|
42
|
+
const client = new AkeneoClient({
|
|
43
|
+
baseUrl: 'https://your-akeneo-instance.com',
|
|
44
|
+
accessToken: 'your-app-token',
|
|
45
|
+
clientId: 'app-client-id',
|
|
46
|
+
});
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Basic Usage Examples
|
|
50
|
+
|
|
51
|
+
```javascript
|
|
52
|
+
// List activated products with count
|
|
53
|
+
const products = await client.products.list({
|
|
54
|
+
limit: 10,
|
|
55
|
+
search: JSON.stringify({ enabled: [{ operator: '=', value: true }] }),
|
|
56
|
+
with_count: true
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
// Get a specific product
|
|
60
|
+
const product = await client.products.get('product-sku');
|
|
61
|
+
|
|
62
|
+
// Create a new product
|
|
63
|
+
const newProduct = await client.products.create({
|
|
64
|
+
identifier: 'new-product-sku',
|
|
65
|
+
family: 'accessories',
|
|
66
|
+
values: {
|
|
67
|
+
name: [{
|
|
68
|
+
locale: null,
|
|
69
|
+
scope: null,
|
|
70
|
+
data: 'My New Product'
|
|
71
|
+
}]
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Update a product
|
|
76
|
+
await client.products.update('product-sku', {
|
|
77
|
+
values: {
|
|
78
|
+
description: [{
|
|
79
|
+
locale: 'en_US',
|
|
80
|
+
scope: null,
|
|
81
|
+
data: 'Updated description'
|
|
82
|
+
}]
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
// Delete a product
|
|
87
|
+
await client.products.delete('product-sku');
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## API Reference
|
|
91
|
+
|
|
92
|
+
### Available Endpoints
|
|
93
|
+
|
|
94
|
+
Please refer to the [official Akeneo API documentation](https://api.akeneo.com/api-reference-index.html) for detailed information on each endpoint.
|
|
95
|
+
|
|
96
|
+
### Error Handling
|
|
97
|
+
|
|
98
|
+
```javascript
|
|
99
|
+
try {
|
|
100
|
+
const product = await client.products.get('non-existent-sku');
|
|
101
|
+
} catch (error) {
|
|
102
|
+
if (error.status === 404) {
|
|
103
|
+
console.log('Product not found');
|
|
104
|
+
} else if (error.status === 401) {
|
|
105
|
+
console.log('Authentication failed');
|
|
106
|
+
} else {
|
|
107
|
+
console.log('API Error:', error.message);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## TypeScript Support
|
|
113
|
+
|
|
114
|
+
This library is written in TypeScript and includes comprehensive type definitions:
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
import { AkeneoClient, Product, Category, Family } from 'node-akeneo-api-client';
|
|
118
|
+
|
|
119
|
+
const client = new AkeneoClient({
|
|
120
|
+
baseUrl: 'https://your-akeneo-instance.com',
|
|
121
|
+
clientId: 'your-client-id',
|
|
122
|
+
clientSecret: 'your-client-secret',
|
|
123
|
+
username: 'your-username',
|
|
124
|
+
password: 'your-password'
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
// TypeScript will provide full autocompletion and type checking
|
|
128
|
+
const products: Product[] = await client.products.getAll();
|
|
129
|
+
const category: Category = await client.categories.get('category-code');
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
## Contributing
|
|
133
|
+
|
|
134
|
+
We welcome contributions from the community! Please read our [Contributing Guide](CONTRIBUTING.md) to get started.
|
|
135
|
+
|
|
136
|
+
### Reporting Issues
|
|
137
|
+
|
|
138
|
+
If you find a bug or want to request a feature:
|
|
139
|
+
|
|
140
|
+
1. Check if the issue already exists in the [Issues](https://github.com/schallym/node-akeneo-api-client/issues) section
|
|
141
|
+
2. If not, create a new issue with:
|
|
142
|
+
- Clear description of the problem or feature request
|
|
143
|
+
- Steps to reproduce (for bugs)
|
|
144
|
+
- Expected vs actual behavior
|
|
145
|
+
- Your environment details (Node.js version, OS, etc.)
|
|
146
|
+
|
|
147
|
+
### Code of Conduct
|
|
148
|
+
|
|
149
|
+
By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
150
|
+
|
|
151
|
+
## Supported Akeneo Versions
|
|
152
|
+
|
|
153
|
+
- Akeneo PIM Cloud Edition
|
|
154
|
+
|
|
155
|
+
Most API endpoints are supported for both Community and Enterprise editions, but some features may be exclusive to the Cloud edition.
|
|
156
|
+
Always refer to the [Akeneo API documentation](https://api.akeneo.com/api-reference-index.html) for specific endpoint availability.
|
|
157
|
+
|
|
158
|
+
## Requirements
|
|
159
|
+
|
|
160
|
+
- Node.js 20.0 or higher
|
|
161
|
+
|
|
162
|
+
## License
|
|
163
|
+
|
|
164
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
165
|
+
|
|
166
|
+
## Changelog
|
|
167
|
+
|
|
168
|
+
See [CHANGELOG.md](CHANGELOG.md) for a detailed list of changes.
|
|
169
|
+
|
|
170
|
+
## Support
|
|
171
|
+
|
|
172
|
+
- 🐛 [Bug Reports](https://github.com/schallym/node-akeneo-api-client/issues)
|
|
173
|
+
|
|
174
|
+
## Related Projects
|
|
175
|
+
|
|
176
|
+
- [Official Akeneo PHP Client](https://github.com/akeneo/api-php-client)
|
|
177
|
+
- [Akeneo API Documentation](https://api.akeneo.com/)
|
|
178
|
+
|
|
179
|
+
## Acknowledgments
|
|
180
|
+
|
|
181
|
+
- Thanks to all contributors who have helped make this project better
|
|
182
|
+
- Built with ❤️ for the Akeneo community
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
Made with ❤️ by [schallym](https://github.com/schallym) and [contributors](https://github.com/schallym/node-akeneo-api-client/graphs/contributors).
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AssetManagerApi, AssociationTypesApi, AttributeGroupsApi, AttributesApi, CatalogForAppsApi, CategoriesApi, ChannelsApi, CurrenciesApi, FamiliesApi, JobsApi, LocalesApi, MeasurementFamiliesApi, ProductMediaFilesApi, ProductModelsApi, ProductsApi, ProductsUuidApi, ReferenceEntitiesApi, UIExtensionsApi, UtilitiesApi } from './services/api';
|
|
2
|
+
import { AkeneoAuthAppConfig, AkeneoAuthConnectionConfig } from './types';
|
|
3
|
+
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
4
|
+
export declare class AkeneoClient {
|
|
5
|
+
private readonly apiClient;
|
|
6
|
+
readonly httpClient: AxiosInstance;
|
|
7
|
+
readonly products: ProductsApi;
|
|
8
|
+
readonly productsUuid: ProductsUuidApi;
|
|
9
|
+
readonly productModels: ProductModelsApi;
|
|
10
|
+
readonly productMediaFiles: ProductMediaFilesApi;
|
|
11
|
+
readonly jobs: JobsApi;
|
|
12
|
+
readonly families: FamiliesApi;
|
|
13
|
+
readonly attributes: AttributesApi;
|
|
14
|
+
readonly attributeGroups: AttributeGroupsApi;
|
|
15
|
+
readonly associationTypes: AssociationTypesApi;
|
|
16
|
+
readonly categories: CategoriesApi;
|
|
17
|
+
readonly channels: ChannelsApi;
|
|
18
|
+
readonly locales: LocalesApi;
|
|
19
|
+
readonly currencies: CurrenciesApi;
|
|
20
|
+
readonly measurementFamilies: MeasurementFamiliesApi;
|
|
21
|
+
readonly referenceEntities: ReferenceEntitiesApi;
|
|
22
|
+
readonly assetManager: AssetManagerApi;
|
|
23
|
+
readonly utilities: UtilitiesApi;
|
|
24
|
+
readonly catalogForApps: CatalogForAppsApi;
|
|
25
|
+
readonly uiExtensions: UIExtensionsApi;
|
|
26
|
+
constructor(config: AkeneoAuthConnectionConfig | AkeneoAuthAppConfig, axiosOption?: AxiosRequestConfig);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=akeneo-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"akeneo-client.d.ts","sourceRoot":"","sources":["../src/akeneo-client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,OAAO,EACP,UAAU,EACV,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,YAAY,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAG1D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAkB;IAC5C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IAGnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,aAAa,EAAE,gBAAgB,CAAC;IACzC,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,eAAe,EAAE,kBAAkB,CAAC;IAC7C,QAAQ,CAAC,gBAAgB,EAAE,mBAAmB,CAAC;IAC/C,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;IACrD,QAAQ,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;IACjD,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;gBAE3B,MAAM,EAAE,0BAA0B,GAAG,mBAAmB,EAAE,WAAW,CAAC,EAAE,kBAAkB;CAyBvG"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AkeneoClient = void 0;
|
|
4
|
+
const api_1 = require("./services/api");
|
|
5
|
+
const services_1 = require("./services");
|
|
6
|
+
class AkeneoClient {
|
|
7
|
+
constructor(config, axiosOption) {
|
|
8
|
+
this.apiClient = new services_1.AkeneoApiClient(config, axiosOption);
|
|
9
|
+
this.httpClient = this.apiClient.httpClient;
|
|
10
|
+
// Initialize all api services
|
|
11
|
+
this.products = new api_1.ProductsApi(this.apiClient);
|
|
12
|
+
this.productsUuid = new api_1.ProductsUuidApi(this.apiClient);
|
|
13
|
+
this.productModels = new api_1.ProductModelsApi(this.apiClient);
|
|
14
|
+
this.productMediaFiles = new api_1.ProductMediaFilesApi(this.apiClient);
|
|
15
|
+
this.jobs = new api_1.JobsApi(this.apiClient);
|
|
16
|
+
this.families = new api_1.FamiliesApi(this.apiClient);
|
|
17
|
+
this.attributes = new api_1.AttributesApi(this.apiClient);
|
|
18
|
+
this.attributeGroups = new api_1.AttributeGroupsApi(this.apiClient);
|
|
19
|
+
this.associationTypes = new api_1.AssociationTypesApi(this.apiClient);
|
|
20
|
+
this.categories = new api_1.CategoriesApi(this.apiClient);
|
|
21
|
+
this.channels = new api_1.ChannelsApi(this.apiClient);
|
|
22
|
+
this.locales = new api_1.LocalesApi(this.apiClient);
|
|
23
|
+
this.currencies = new api_1.CurrenciesApi(this.apiClient);
|
|
24
|
+
this.measurementFamilies = new api_1.MeasurementFamiliesApi(this.apiClient);
|
|
25
|
+
this.referenceEntities = new api_1.ReferenceEntitiesApi(this.apiClient);
|
|
26
|
+
this.assetManager = new api_1.AssetManagerApi(this.apiClient);
|
|
27
|
+
this.utilities = new api_1.UtilitiesApi(this.apiClient);
|
|
28
|
+
this.catalogForApps = new api_1.CatalogForAppsApi(this.apiClient);
|
|
29
|
+
this.uiExtensions = new api_1.UIExtensionsApi(this.apiClient);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.AkeneoClient = AkeneoClient;
|
|
33
|
+
//# sourceMappingURL=akeneo-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"akeneo-client.js","sourceRoot":"","sources":["../src/akeneo-client.ts"],"names":[],"mappings":";;;AAAA,wCAoBwB;AAGxB,yCAA6C;AAE7C,MAAa,YAAY;IAyBvB,YAAY,MAAwD,EAAE,WAAgC;QACpG,IAAI,CAAC,SAAS,GAAG,IAAI,0BAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAE5C,8BAA8B;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,IAAI,sBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,aAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,GAAG,IAAI,wBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,IAAI,CAAC,gBAAgB,GAAG,IAAI,yBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,IAAI,CAAC,OAAO,GAAG,IAAI,gBAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,IAAI,mBAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,CAAC,mBAAmB,GAAG,IAAI,4BAAsB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,IAAI,CAAC,iBAAiB,GAAG,IAAI,0BAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,CAAC,YAAY,GAAG,IAAI,qBAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF;AAlDD,oCAkDC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './akeneo-client';
|
|
2
|
+
import { AkeneoAuthAppConfig, AkeneoAuthConnectionConfig } from './types';
|
|
3
|
+
import { AxiosRequestConfig } from 'axios';
|
|
4
|
+
import { AkeneoClient } from './akeneo-client';
|
|
5
|
+
export declare function createClient(config: AkeneoAuthConnectionConfig | AkeneoAuthAppConfig, axiosOption?: AxiosRequestConfig): AkeneoClient;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAEhC,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,wBAAgB,YAAY,CAC1B,MAAM,EAAE,0BAA0B,GAAG,mBAAmB,EACxD,WAAW,CAAC,EAAE,kBAAkB,GAC/B,YAAY,CAEd"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.createClient = createClient;
|
|
18
|
+
__exportStar(require("./akeneo-client"), exports);
|
|
19
|
+
const akeneo_client_1 = require("./akeneo-client");
|
|
20
|
+
function createClient(config, axiosOption) {
|
|
21
|
+
return new akeneo_client_1.AkeneoClient(config, axiosOption);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,oCAKC;AAXD,kDAAgC;AAIhC,mDAA+C;AAE/C,SAAgB,YAAY,CAC1B,MAAwD,EACxD,WAAgC;IAEhC,OAAO,IAAI,4BAAY,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { AkeneoAuthAppConfig, AkeneoAuthConnectionConfig } from '../types';
|
|
3
|
+
export declare class AkeneoApiClient {
|
|
4
|
+
private readonly authConfig;
|
|
5
|
+
readonly httpClient: AxiosInstance;
|
|
6
|
+
private readonly axiosConfig;
|
|
7
|
+
constructor(authConfig: AkeneoAuthAppConfig | AkeneoAuthConnectionConfig, axiosConfig?: AxiosRequestConfig);
|
|
8
|
+
private createHttpClientFromConnection;
|
|
9
|
+
private createHttpClientFromApp;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=akeneo-api-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"akeneo-api-client.d.ts","sourceRoot":"","sources":["../../src/services/akeneo-api-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,kBAAkB,EAAiB,MAAM,OAAO,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAc3E,qBAAa,eAAe;IAKxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAJ7B,QAAQ,CAAC,UAAU,EAAE,aAAa,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;gBAG9B,UAAU,EAAE,mBAAmB,GAAG,0BAA0B,EAC7E,WAAW,GAAE,kBAAuB;IAOtC,OAAO,CAAC,8BAA8B;IA2DtC,OAAO,CAAC,uBAAuB;CAqBhC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.AkeneoApiClient = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const defaultAxiosConfig = {
|
|
9
|
+
insecure: false,
|
|
10
|
+
retryOnError: true,
|
|
11
|
+
httpAgent: false,
|
|
12
|
+
httpsAgent: false,
|
|
13
|
+
timeout: 300000, // 5mn
|
|
14
|
+
proxy: false,
|
|
15
|
+
basePath: '',
|
|
16
|
+
adapter: undefined,
|
|
17
|
+
maxContentLength: 1073741824, // 1GB
|
|
18
|
+
};
|
|
19
|
+
class AkeneoApiClient {
|
|
20
|
+
constructor(authConfig, axiosConfig = {}) {
|
|
21
|
+
this.authConfig = authConfig;
|
|
22
|
+
this.axiosConfig = { ...defaultAxiosConfig, ...axiosConfig };
|
|
23
|
+
this.httpClient =
|
|
24
|
+
'accessToken' in authConfig ? this.createHttpClientFromApp() : this.createHttpClientFromConnection();
|
|
25
|
+
}
|
|
26
|
+
createHttpClientFromConnection() {
|
|
27
|
+
const authConfig = this.authConfig;
|
|
28
|
+
const instance = axios_1.default.create({
|
|
29
|
+
...this.axiosConfig,
|
|
30
|
+
baseURL: authConfig.baseUrl,
|
|
31
|
+
});
|
|
32
|
+
let accessToken = '';
|
|
33
|
+
const base64Encoded = Buffer.from(`${authConfig.clientId}:${authConfig.secret}`).toString('base64');
|
|
34
|
+
const refreshAccessToken = async () => {
|
|
35
|
+
const tokenResponse = await axios_1.default.post(`${authConfig.baseUrl}/api/oauth/v1/token`, {
|
|
36
|
+
grant_type: 'password',
|
|
37
|
+
username: authConfig.username,
|
|
38
|
+
password: authConfig.password,
|
|
39
|
+
}, {
|
|
40
|
+
headers: {
|
|
41
|
+
Authorization: `Basic ${base64Encoded}`,
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
accessToken = tokenResponse.data.access_token;
|
|
45
|
+
return tokenResponse.data.access_token;
|
|
46
|
+
};
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
48
|
+
// @ts-ignore
|
|
49
|
+
instance.interceptors.request.use(async (config) => ({
|
|
50
|
+
...config,
|
|
51
|
+
headers: {
|
|
52
|
+
...config.headers,
|
|
53
|
+
Authorization: `Bearer ${accessToken || (await refreshAccessToken())}`,
|
|
54
|
+
},
|
|
55
|
+
}));
|
|
56
|
+
instance.interceptors.response.use((response) => response, async (error) => {
|
|
57
|
+
const originalRequest = error.config;
|
|
58
|
+
if (error.response &&
|
|
59
|
+
(error.response.status === 403 || error.response.status === 401) &&
|
|
60
|
+
!originalRequest._retry) {
|
|
61
|
+
originalRequest._retry = true;
|
|
62
|
+
accessToken = '';
|
|
63
|
+
originalRequest.headers['X-PIM-TOKEN'] = await refreshAccessToken();
|
|
64
|
+
return instance(originalRequest);
|
|
65
|
+
}
|
|
66
|
+
return Promise.reject(error);
|
|
67
|
+
});
|
|
68
|
+
return instance;
|
|
69
|
+
}
|
|
70
|
+
createHttpClientFromApp() {
|
|
71
|
+
const authConfig = this.authConfig;
|
|
72
|
+
const instance = axios_1.default.create({
|
|
73
|
+
...this.axiosConfig,
|
|
74
|
+
baseURL: authConfig.baseUrl,
|
|
75
|
+
});
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
77
|
+
// @ts-expect-error
|
|
78
|
+
instance.interceptors.request.use(async (config) => ({
|
|
79
|
+
...config,
|
|
80
|
+
headers: {
|
|
81
|
+
...config.headers,
|
|
82
|
+
'X-PIM-URL': authConfig.baseUrl,
|
|
83
|
+
'X-PIM-TOKEN': authConfig.accessToken,
|
|
84
|
+
'X-PIM-CLIENT-ID': authConfig.clientId,
|
|
85
|
+
},
|
|
86
|
+
}));
|
|
87
|
+
return instance;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
exports.AkeneoApiClient = AkeneoApiClient;
|
|
91
|
+
//# sourceMappingURL=akeneo-api-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"akeneo-api-client.js","sourceRoot":"","sources":["../../src/services/akeneo-api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AkeneoApiClient } from '../../akeneo-api-client';
|
|
2
|
+
import { AssetAttribute, AssetAttributeOption } from '../../../types';
|
|
3
|
+
export type UpdateOrCreateAssetAttributeRequest = Partial<Omit<AssetAttribute, 'code' | 'type'> & {
|
|
4
|
+
code: string;
|
|
5
|
+
} & Required<Pick<AssetAttribute, 'code' | 'type'>>>;
|
|
6
|
+
export type UpdateOrCreateAssetAttributeOptionRequest = Partial<Omit<AssetAttributeOption, 'code'> & {
|
|
7
|
+
code: string;
|
|
8
|
+
} & Required<Pick<AssetAttributeOption, 'code'>>>;
|
|
9
|
+
export declare class AssetAttributesApi {
|
|
10
|
+
private client;
|
|
11
|
+
private readonly endpoint;
|
|
12
|
+
constructor(client: AkeneoApiClient);
|
|
13
|
+
get(assetFamilyCode: string, code: string): Promise<AssetAttribute>;
|
|
14
|
+
list(assetFamilyCode: string): Promise<AssetAttribute[]>;
|
|
15
|
+
updateOrCreate(assetFamilyCode: string, data: UpdateOrCreateAssetAttributeRequest): Promise<void>;
|
|
16
|
+
getAttributeOption(assetFamilyCode: string, attributeCode: string, optionCode: string): Promise<AssetAttributeOption>;
|
|
17
|
+
listAttributeOptions(assetFamilyCode: string, attributeCode: string): Promise<AssetAttributeOption[]>;
|
|
18
|
+
updateOrCreateAttributeOption(assetFamilyCode: string, attributeCode: string, data: UpdateOrCreateAssetAttributeOptionRequest): Promise<void>;
|
|
19
|
+
private completeEndpoint;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=asset-attributes-api.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-attributes-api.service.d.ts","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-attributes-api.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,MAAM,MAAM,mCAAmC,GAAG,OAAO,CACvD,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC,CACpD,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG,OAAO,CAC7D,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;CACd,GAAG,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC,CACjD,CAAC;AAEF,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,MAAM;IAF1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEd,MAAM,EAAE,eAAe;IAI9B,GAAG,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAMnE,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAMxD,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,mCAAmC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxG,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAQ1B,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAQrG,6BAA6B,CACjC,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,IAAI,EAAE,yCAAyC,GAC9C,OAAO,CAAC,IAAI,CAAC;IAOhB,OAAO,CAAC,gBAAgB;CAGzB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetAttributesApi = void 0;
|
|
4
|
+
class AssetAttributesApi {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
this.endpoint = '/api/rest/v1/asset-families/{asset_family_code}/attributes';
|
|
8
|
+
}
|
|
9
|
+
async get(assetFamilyCode, code) {
|
|
10
|
+
return this.client.httpClient.get(`${this.completeEndpoint(assetFamilyCode)}/${code}`).then((response) => {
|
|
11
|
+
return response.data;
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
async list(assetFamilyCode) {
|
|
15
|
+
return this.client.httpClient.get(this.completeEndpoint(assetFamilyCode)).then((response) => {
|
|
16
|
+
return response.data;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async updateOrCreate(assetFamilyCode, data) {
|
|
20
|
+
await this.client.httpClient.patch(`${this.completeEndpoint(assetFamilyCode)}/${data.code}`, data);
|
|
21
|
+
}
|
|
22
|
+
async getAttributeOption(assetFamilyCode, attributeCode, optionCode) {
|
|
23
|
+
return this.client.httpClient
|
|
24
|
+
.get(`${this.completeEndpoint(assetFamilyCode)}/${attributeCode}/options/${optionCode}`)
|
|
25
|
+
.then((response) => {
|
|
26
|
+
return response.data;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
async listAttributeOptions(assetFamilyCode, attributeCode) {
|
|
30
|
+
return this.client.httpClient
|
|
31
|
+
.get(`${this.completeEndpoint(assetFamilyCode)}/${attributeCode}/options`)
|
|
32
|
+
.then((response) => {
|
|
33
|
+
return response.data;
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
async updateOrCreateAttributeOption(assetFamilyCode, attributeCode, data) {
|
|
37
|
+
return this.client.httpClient.patch(`${this.completeEndpoint(assetFamilyCode)}/${attributeCode}/options/${data.code}`, data);
|
|
38
|
+
}
|
|
39
|
+
completeEndpoint(assetFamilyCode) {
|
|
40
|
+
return this.endpoint.replace('{asset_family_code}', assetFamilyCode);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.AssetAttributesApi = AssetAttributesApi;
|
|
44
|
+
//# sourceMappingURL=asset-attributes-api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-attributes-api.service.js","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-attributes-api.service.ts"],"names":[],"mappings":";;;AAeA,MAAa,kBAAkB;IAG7B,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QACzC,IAAI,CAAC,QAAQ,GAAG,4DAA4D,CAAC;IAC/E,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,eAAuB,EAAE,IAAY;QACpD,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACvG,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,eAAuB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC1F,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,eAAuB,EAAE,IAAyC;QAC5F,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IACrG,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,eAAuB,EACvB,aAAqB,EACrB,UAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;aAC1B,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,aAAa,YAAY,UAAU,EAAE,CAAC;aACvF,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,eAAuB,EAAE,aAAqB;QACvE,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU;aAC1B,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,aAAa,UAAU,CAAC;aACzE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,6BAA6B,CACjC,eAAuB,EACvB,aAAqB,EACrB,IAA+C;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CACjC,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,aAAa,YAAY,IAAI,CAAC,IAAI,EAAE,EACjF,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,eAAuB;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;CACF;AAzDD,gDAyDC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { AssetFamily, PaginatedResponse } from '../../../types';
|
|
2
|
+
import { AkeneoApiClient } from '../../akeneo-api-client';
|
|
3
|
+
export type AssetFamiliesSearchParams = {
|
|
4
|
+
search_after?: string;
|
|
5
|
+
};
|
|
6
|
+
export type UpdateOrCreateAssetFamilyRequest = Partial<Omit<AssetFamily, 'code'>> & Required<Pick<AssetFamily, 'code'>>;
|
|
7
|
+
export declare class AssetFamiliesApi {
|
|
8
|
+
private readonly client;
|
|
9
|
+
private readonly endpoint;
|
|
10
|
+
constructor(client: AkeneoApiClient);
|
|
11
|
+
get(code: string): Promise<AssetFamily>;
|
|
12
|
+
list(params?: AssetFamiliesSearchParams): Promise<PaginatedResponse<AssetFamily>>;
|
|
13
|
+
updateOrCreate(data: UpdateOrCreateAssetFamilyRequest): Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=asset-families-api.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-families-api.service.d.ts","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-families-api.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAExH,qBAAa,gBAAgB;IAGf,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEL,MAAM,EAAE,eAAe;IAI9C,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAIvC,IAAI,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAIjF,cAAc,CAAC,IAAI,EAAE,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5E"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetFamiliesApi = void 0;
|
|
4
|
+
class AssetFamiliesApi {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
this.endpoint = '/api/rest/v1/asset-families';
|
|
8
|
+
}
|
|
9
|
+
async get(code) {
|
|
10
|
+
return this.client.httpClient.get(`${this.endpoint}/${code}`).then((response) => response.data);
|
|
11
|
+
}
|
|
12
|
+
async list(params) {
|
|
13
|
+
return this.client.httpClient.get(this.endpoint, { params }).then((response) => response.data);
|
|
14
|
+
}
|
|
15
|
+
async updateOrCreate(data) {
|
|
16
|
+
await this.client.httpClient.patch(`${this.endpoint}/${data.code}`, data);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.AssetFamiliesApi = AssetFamiliesApi;
|
|
20
|
+
//# sourceMappingURL=asset-families-api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-families-api.service.js","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-families-api.service.ts"],"names":[],"mappings":";;;AASA,MAAa,gBAAgB;IAG3B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAClD,IAAI,CAAC,QAAQ,GAAG,6BAA6B,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAClG,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkC;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjG,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAsC;QACzD,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;CACF;AAlBD,4CAkBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AkeneoApiClient } from '../../akeneo-api-client';
|
|
2
|
+
export type CreateAssetRecordRequest = {
|
|
3
|
+
code: string;
|
|
4
|
+
file: Blob | File | string;
|
|
5
|
+
};
|
|
6
|
+
export declare class AssetMediaFilesApi {
|
|
7
|
+
private readonly client;
|
|
8
|
+
private readonly endpoint;
|
|
9
|
+
constructor(client: AkeneoApiClient);
|
|
10
|
+
create(data: CreateAssetRecordRequest): Promise<void>;
|
|
11
|
+
download(code: string): Promise<ArrayBuffer>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=asset-media-files-api.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-media-files-api.service.d.ts","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-media-files-api.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF,qBAAa,kBAAkB;IAGjB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEL,MAAM,EAAE,eAAe;IAI9C,MAAM,CAAC,IAAI,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAKnD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetMediaFilesApi = void 0;
|
|
4
|
+
class AssetMediaFilesApi {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
this.endpoint = '/api/rest/v1/asset-media-files';
|
|
8
|
+
}
|
|
9
|
+
async create(data) {
|
|
10
|
+
const formData = new FormData();
|
|
11
|
+
formData.append('file', data.file);
|
|
12
|
+
formData.append('code', data.code);
|
|
13
|
+
await this.client.httpClient.post(`${this.endpoint}`, formData, {
|
|
14
|
+
headers: {
|
|
15
|
+
'Content-Type': 'multipart/form-data',
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
async download(code) {
|
|
20
|
+
return this.client.httpClient.get(`${this.endpoint}/${code}`, { responseType: 'arraybuffer' }).then((response) => {
|
|
21
|
+
return response.data;
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.AssetMediaFilesApi = AssetMediaFilesApi;
|
|
26
|
+
//# sourceMappingURL=asset-media-files-api.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-media-files-api.service.js","sourceRoot":"","sources":["../../../../src/services/api/asset-manager/asset-media-files-api.service.ts"],"names":[],"mappings":";;;AAOA,MAAa,kBAAkB;IAG7B,YAA6B,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;QAClD,IAAI,CAAC,QAAQ,GAAG,gCAAgC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAA8B;QACzC,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;QAChC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE;YAC9D,OAAO,EAAE;gBACP,cAAc,EAAE,qBAAqB;aACtC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC/G,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAxBD,gDAwBC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AkeneoApiClient } from '../../akeneo-api-client';
|
|
2
|
+
import { Asset, PaginatedResponse } from '../../../types';
|
|
3
|
+
export type AssetRecordSearchParams = {
|
|
4
|
+
search?: string;
|
|
5
|
+
channel?: string;
|
|
6
|
+
locales?: string;
|
|
7
|
+
search_after?: string;
|
|
8
|
+
};
|
|
9
|
+
export type UpdateOrCreateAssetRecordRequest = Partial<Omit<Asset, 'code' | 'created' | 'updated'> & {
|
|
10
|
+
code: string;
|
|
11
|
+
} & Required<Pick<Asset, 'code'>>>;
|
|
12
|
+
export type SeveralAssetRecordsUpdateOrCreationResponseLine = {
|
|
13
|
+
code: string;
|
|
14
|
+
status_code: number;
|
|
15
|
+
message?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare class AssetsApi {
|
|
18
|
+
private readonly client;
|
|
19
|
+
private readonly endpoint;
|
|
20
|
+
constructor(client: AkeneoApiClient);
|
|
21
|
+
get(assetFamilyCode: string, assetCode: string): Promise<Asset>;
|
|
22
|
+
list(assetFamilyCode: string, params?: AssetRecordSearchParams): Promise<PaginatedResponse<Asset>>;
|
|
23
|
+
updateOrCreate(assetFamilyCode: string, data: UpdateOrCreateAssetRecordRequest): Promise<void>;
|
|
24
|
+
updateOrCreateSeveral(assetFamilyCode: string, data: UpdateOrCreateAssetRecordRequest[]): Promise<SeveralAssetRecordsUpdateOrCreationResponseLine[]>;
|
|
25
|
+
delete(assetFamilyCode: string, assetCode: string): Promise<void>;
|
|
26
|
+
private completeEndpoint;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=assets-api.service.d.ts.map
|