@klerick/json-api-nestjs-sdk 10.0.0-beta.14 → 10.0.0-beta.15
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/CHANGELOG.md +10 -0
- package/README.md +192 -0
- package/cjs/src/lib/service/atomic-operations.service.js +20 -14
- package/cjs/src/lib/service/atomic-operations.service.js.map +1 -1
- package/cjs/src/lib/service/json-api-sdk.service.js +10 -5
- package/cjs/src/lib/service/json-api-sdk.service.js.map +1 -1
- package/cjs/src/lib/utils/generate-atomic-body.js +16 -12
- package/cjs/src/lib/utils/generate-atomic-body.js.map +1 -1
- package/mjs/src/lib/service/atomic-operations.service.d.ts +5 -5
- package/mjs/src/lib/service/atomic-operations.service.js +20 -14
- package/mjs/src/lib/service/atomic-operations.service.js.map +1 -1
- package/mjs/src/lib/service/json-api-sdk.service.d.ts +5 -5
- package/mjs/src/lib/service/json-api-sdk.service.js +10 -5
- package/mjs/src/lib/service/json-api-sdk.service.js.map +1 -1
- package/mjs/src/lib/types/atomic-operation.d.ts +10 -10
- package/mjs/src/lib/types/entity-chain.d.ts +5 -5
- package/mjs/src/lib/types/http-request-params.d.ts +3 -0
- package/mjs/src/lib/types/promise-json-api-sdk.d.ts +5 -5
- package/mjs/src/lib/utils/generate-atomic-body.d.ts +5 -5
- package/mjs/src/lib/utils/generate-atomic-body.js +16 -12
- package/mjs/src/lib/utils/generate-atomic-body.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 10.0.0-beta.15 (2026-02-16)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **json-api-nestjs-sdk:** add `meta` support to all relevant operations and update tests and documentation for JSON:API compliance ([cd80b93](https://github.com/klerick/nestjs-json-api/commit/cd80b93))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Alex H
|
|
10
|
+
|
|
1
11
|
## 10.0.0-beta.14 (2026-02-11)
|
|
2
12
|
|
|
3
13
|
### 🩹 Fixes
|
package/README.md
CHANGED
|
@@ -16,6 +16,7 @@ Type-safe TypeScript/JavaScript client for consuming [JSON:API](https://jsonapi.
|
|
|
16
16
|
- 🔍 **Advanced Filtering** - Rich query builder with operators (eq, ne, in, like, gt, lt, etc.)
|
|
17
17
|
- 📦 **Relationship Handling** - Easy include, sparse fieldsets, and relationship management
|
|
18
18
|
- ⚡ **Atomic Operations** - Batch multiple operations in a single request with rollback support
|
|
19
|
+
- 📤 **Meta Support** - Pass additional business logic data with requests (JSON:API spec compliant)
|
|
19
20
|
- 🌐 **Multiple HTTP Clients** - Works with Axios, Fetch API, and Angular HttpClient
|
|
20
21
|
- 📄 **Pagination & Sorting** - Built-in support for pagination and multi-field sorting
|
|
21
22
|
- 🔄 **Observable or Promise** - Choose your async style (RxJS Observable or native Promise)
|
|
@@ -46,6 +47,10 @@ Type-safe TypeScript/JavaScript client for consuming [JSON:API](https://jsonapi.
|
|
|
46
47
|
- [Including Relationships](#including-relationships)
|
|
47
48
|
- [Sparse Fieldsets](#sparse-fieldsets)
|
|
48
49
|
- [Atomic Operations](#-atomic-operations)
|
|
50
|
+
- [Meta Support](#-meta-support)
|
|
51
|
+
- [Regular Operations with Meta](#regular-operations-with-meta)
|
|
52
|
+
- [Entity Chain with Meta](#entity-chain-with-meta)
|
|
53
|
+
- [Atomic Operations with Meta](#atomic-operations-with-meta)
|
|
49
54
|
- [Examples](#-examples)
|
|
50
55
|
|
|
51
56
|
|
|
@@ -901,6 +906,193 @@ console.log(createdUser.books.map(b => b.id)); // Both book UUIDs
|
|
|
901
906
|
|
|
902
907
|
---
|
|
903
908
|
|
|
909
|
+
## 📤 Meta Support
|
|
910
|
+
|
|
911
|
+
The SDK supports passing `meta` objects with requests to send additional business logic data that doesn't belong to the entity itself, according to [JSON:API specification](https://jsonapi.org/format/#document-meta).
|
|
912
|
+
|
|
913
|
+
### Regular Operations with Meta
|
|
914
|
+
|
|
915
|
+
```typescript
|
|
916
|
+
// POST with meta
|
|
917
|
+
const newUser = new Users();
|
|
918
|
+
newUser.firstName = 'John';
|
|
919
|
+
newUser.lastName = 'Doe';
|
|
920
|
+
newUser.login = 'johndoe';
|
|
921
|
+
|
|
922
|
+
const createdUser = await jsonSdk.jsonApiSdkService.postOne(newUser, {
|
|
923
|
+
source: 'import',
|
|
924
|
+
batchId: '12345'
|
|
925
|
+
});
|
|
926
|
+
|
|
927
|
+
// Request body:
|
|
928
|
+
{
|
|
929
|
+
"data": {
|
|
930
|
+
"type": "users",
|
|
931
|
+
"attributes": { "firstName": "John", "lastName": "Doe", "login": "johndoe" }
|
|
932
|
+
},
|
|
933
|
+
"meta": {
|
|
934
|
+
"source": "import",
|
|
935
|
+
"batchId": "12345"
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
|
|
939
|
+
// PATCH with meta
|
|
940
|
+
user.firstName = 'Jane';
|
|
941
|
+
const updatedUser = await jsonSdk.jsonApiSdkService.patchOne(user, {
|
|
942
|
+
updatedBy: 'admin',
|
|
943
|
+
reason: 'name correction'
|
|
944
|
+
});
|
|
945
|
+
|
|
946
|
+
// Relationship operations with meta
|
|
947
|
+
await jsonSdk.jsonApiSdkService.postRelationships(user, 'roles', {
|
|
948
|
+
addedBy: 'admin',
|
|
949
|
+
timestamp: Date.now()
|
|
950
|
+
});
|
|
951
|
+
|
|
952
|
+
await jsonSdk.jsonApiSdkService.patchRelationships(user, 'roles', {
|
|
953
|
+
source: 'sync',
|
|
954
|
+
syncId: 'abc123'
|
|
955
|
+
});
|
|
956
|
+
|
|
957
|
+
await jsonSdk.jsonApiSdkService.deleteRelationships(user, 'roles', {
|
|
958
|
+
removedBy: 'admin',
|
|
959
|
+
reason: 'access revoked'
|
|
960
|
+
});
|
|
961
|
+
```
|
|
962
|
+
|
|
963
|
+
**Important:** `deleteOne()` does NOT support meta because HTTP DELETE for resources has no body according to JSON:API spec. However, `deleteRelationships()` DOES support meta because relationship deletion endpoints use a request body.
|
|
964
|
+
|
|
965
|
+
### Entity Chain with Meta
|
|
966
|
+
|
|
967
|
+
```typescript
|
|
968
|
+
// Chain mode - Observable
|
|
969
|
+
const user = await jsonSdk.jsonApiSdkService
|
|
970
|
+
.entity('Users', {
|
|
971
|
+
firstName: 'John',
|
|
972
|
+
lastName: 'Doe',
|
|
973
|
+
login: 'johndoe'
|
|
974
|
+
})
|
|
975
|
+
.postOne({ source: 'mobile-app', version: '2.0' });
|
|
976
|
+
|
|
977
|
+
// Update with meta
|
|
978
|
+
await jsonSdk.jsonApiSdkService
|
|
979
|
+
.entity('Users', { id: 1, firstName: 'Jane' })
|
|
980
|
+
.patchOne({ updatedBy: 'user-123' });
|
|
981
|
+
|
|
982
|
+
// Relationship operations with meta
|
|
983
|
+
await jsonSdk.jsonApiSdkService
|
|
984
|
+
.entity('Users', user)
|
|
985
|
+
.patchRelationships('roles', { operation: 'bulk-update' });
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
### Atomic Operations with Meta
|
|
989
|
+
|
|
990
|
+
Each operation in an atomic request can have its own meta:
|
|
991
|
+
|
|
992
|
+
```typescript
|
|
993
|
+
const address1 = new Addresses();
|
|
994
|
+
address1.id = 999; // Local identifier (lid)
|
|
995
|
+
address1.city = 'New York';
|
|
996
|
+
|
|
997
|
+
const address2 = new Addresses();
|
|
998
|
+
address2.id = 1000; // Local identifier (lid)
|
|
999
|
+
address2.city = 'Boston';
|
|
1000
|
+
|
|
1001
|
+
const user1 = new Users();
|
|
1002
|
+
user1.firstName = 'Alice';
|
|
1003
|
+
user1.addresses = address1;
|
|
1004
|
+
|
|
1005
|
+
const user2 = new Users();
|
|
1006
|
+
user2.firstName = 'Bob';
|
|
1007
|
+
user2.addresses = address2;
|
|
1008
|
+
|
|
1009
|
+
const [addr1, addr2, createdUser1, createdUser2] = await jsonSdk
|
|
1010
|
+
.atomicFactory()
|
|
1011
|
+
.postOne(address1)
|
|
1012
|
+
.postOne(address2)
|
|
1013
|
+
.postOne(user1, { source: 'import', priority: 'high' }) // User 1 with meta
|
|
1014
|
+
.postOne(user2, { source: 'import', priority: 'normal' }) // User 2 with different meta
|
|
1015
|
+
.run();
|
|
1016
|
+
|
|
1017
|
+
// Request body:
|
|
1018
|
+
{
|
|
1019
|
+
"atomic:operations": [
|
|
1020
|
+
{
|
|
1021
|
+
"op": "add",
|
|
1022
|
+
"ref": { "type": "addresses", "lid": "999" },
|
|
1023
|
+
"data": { "type": "addresses", "attributes": { "city": "New York" } }
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"op": "add",
|
|
1027
|
+
"ref": { "type": "addresses", "lid": "1000" },
|
|
1028
|
+
"data": { "type": "addresses", "attributes": { "city": "Boston" } }
|
|
1029
|
+
},
|
|
1030
|
+
{
|
|
1031
|
+
"op": "add",
|
|
1032
|
+
"ref": { "type": "users" },
|
|
1033
|
+
"data": {
|
|
1034
|
+
"type": "users",
|
|
1035
|
+
"attributes": { "firstName": "Alice" },
|
|
1036
|
+
"relationships": { "addresses": { "data": { "type": "addresses", "id": "999" } } }
|
|
1037
|
+
},
|
|
1038
|
+
"meta": { "source": "import", "priority": "high" } // Meta for operation 3
|
|
1039
|
+
},
|
|
1040
|
+
{
|
|
1041
|
+
"op": "add",
|
|
1042
|
+
"ref": { "type": "users" },
|
|
1043
|
+
"data": {
|
|
1044
|
+
"type": "users",
|
|
1045
|
+
"attributes": { "firstName": "Bob" },
|
|
1046
|
+
"relationships": { "addresses": { "data": { "type": "addresses", "id": "1000" } } }
|
|
1047
|
+
},
|
|
1048
|
+
"meta": { "source": "import", "priority": "normal" } // Meta for operation 4
|
|
1049
|
+
}
|
|
1050
|
+
]
|
|
1051
|
+
}
|
|
1052
|
+
```
|
|
1053
|
+
|
|
1054
|
+
### Meta with Entity Chain in Atomic Operations
|
|
1055
|
+
|
|
1056
|
+
```typescript
|
|
1057
|
+
const addressEntity = jsonSdk.jsonApiSdkService.entity('Addresses', {
|
|
1058
|
+
id: 999,
|
|
1059
|
+
city: 'New York'
|
|
1060
|
+
}, true);
|
|
1061
|
+
|
|
1062
|
+
const userEntity = jsonSdk.jsonApiSdkService.entity('Users', {
|
|
1063
|
+
firstName: 'Alice',
|
|
1064
|
+
addresses: jsonSdk.jsonApiSdkService.entity('Addresses', { id: 999 }, true)
|
|
1065
|
+
}, true);
|
|
1066
|
+
|
|
1067
|
+
const [createdAddress, createdUser] = await jsonSdk
|
|
1068
|
+
.atomicFactory()
|
|
1069
|
+
.postOne(addressEntity)
|
|
1070
|
+
.postOne(userEntity, { source: 'import', batchId: '12345' })
|
|
1071
|
+
.run();
|
|
1072
|
+
```
|
|
1073
|
+
|
|
1074
|
+
### Operations WITHOUT Meta Support
|
|
1075
|
+
|
|
1076
|
+
The following operations do NOT accept meta parameter:
|
|
1077
|
+
|
|
1078
|
+
```typescript
|
|
1079
|
+
// ❌ deleteOne - HTTP DELETE has no body
|
|
1080
|
+
await jsonSdk.jsonApiSdkService.deleteOne(user);
|
|
1081
|
+
// Cannot pass meta here
|
|
1082
|
+
|
|
1083
|
+
// ❌ deleteOne in atomic operations
|
|
1084
|
+
await jsonSdk.atomicFactory()
|
|
1085
|
+
.deleteOne(user) // No meta parameter
|
|
1086
|
+
.run();
|
|
1087
|
+
|
|
1088
|
+
// ✅ But deleteRelationships DOES support meta (has body)
|
|
1089
|
+
await jsonSdk.jsonApiSdkService.deleteRelationships(user, 'roles', {
|
|
1090
|
+
removedBy: 'admin'
|
|
1091
|
+
});
|
|
1092
|
+
```
|
|
1093
|
+
|
|
1094
|
+
---
|
|
1095
|
+
|
|
904
1096
|
## 💡 Examples
|
|
905
1097
|
|
|
906
1098
|
For comprehensive real-world examples, see the [E2E test suite](https://github.com/klerick/nestjs-json-api/tree/master/apps/json-api-server-e2e/src/json-api/json-api-sdk):
|
|
@@ -43,22 +43,22 @@ class AtomicOperationsService {
|
|
|
43
43
|
deleteOne(entity, skipEmpty) {
|
|
44
44
|
return this.setToBody('deleteOne', entity, skipEmpty === undefined ? true : skipEmpty);
|
|
45
45
|
}
|
|
46
|
-
patchOne(entity) {
|
|
47
|
-
return this.setToBody('patchOne', entity);
|
|
46
|
+
patchOne(entity, meta) {
|
|
47
|
+
return this.setToBody('patchOne', entity, meta);
|
|
48
48
|
}
|
|
49
|
-
postOne(entity) {
|
|
50
|
-
return this.setToBody('postOne', entity);
|
|
49
|
+
postOne(entity, meta) {
|
|
50
|
+
return this.setToBody('postOne', entity, meta);
|
|
51
51
|
}
|
|
52
|
-
deleteRelationships(entity, relationType) {
|
|
53
|
-
return this.setToBody('deleteRelationships', entity, relationType);
|
|
52
|
+
deleteRelationships(entity, relationType, meta) {
|
|
53
|
+
return this.setToBody('deleteRelationships', entity, relationType, meta);
|
|
54
54
|
}
|
|
55
|
-
patchRelationships(entity, relationType) {
|
|
56
|
-
return this.setToBody('patchRelationships', entity, relationType);
|
|
55
|
+
patchRelationships(entity, relationType, meta) {
|
|
56
|
+
return this.setToBody('patchRelationships', entity, relationType, meta);
|
|
57
57
|
}
|
|
58
|
-
postRelationships(entity, relationType) {
|
|
59
|
-
return this.setToBody('postRelationships', entity, relationType);
|
|
58
|
+
postRelationships(entity, relationType, meta) {
|
|
59
|
+
return this.setToBody('postRelationships', entity, relationType, meta);
|
|
60
60
|
}
|
|
61
|
-
setToBody(operationType, entity, relationType) {
|
|
61
|
+
setToBody(operationType, entity, relationType, meta) {
|
|
62
62
|
const atomicBody = new utils_1.GenerateAtomicBody(this.jsonApiUtilsService, this.jsonApiSdkConfig);
|
|
63
63
|
if (typeof relationType === 'boolean') {
|
|
64
64
|
if (operationType === 'deleteOne') {
|
|
@@ -71,11 +71,17 @@ class AtomicOperationsService {
|
|
|
71
71
|
case 'patchRelationships':
|
|
72
72
|
case 'deleteRelationships':
|
|
73
73
|
if (relationType)
|
|
74
|
-
atomicBody[operationType](entity, relationType);
|
|
74
|
+
atomicBody[operationType](entity, relationType, meta);
|
|
75
75
|
break;
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
case 'postOne':
|
|
77
|
+
case 'patchOne': {
|
|
78
|
+
// For postOne/patchOne, relationType parameter contains meta (3rd param)
|
|
79
|
+
const metaForEntity = typeof relationType === 'object' && relationType !== null && !Array.isArray(relationType)
|
|
80
|
+
? relationType
|
|
81
|
+
: meta;
|
|
82
|
+
atomicBody[operationType](entity, metaForEntity);
|
|
78
83
|
break;
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
this.addBody(atomicBody);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-operations.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/atomic-operations.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"atomic-operations.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/atomic-operations.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -96,7 +96,7 @@ class JsonApiSdkService {
|
|
|
96
96
|
})
|
|
97
97
|
.pipe((0, operators_1.map)((result) => this.jsonApiUtilsService.convertResponseData(result, params?.include, asPlain)));
|
|
98
98
|
}
|
|
99
|
-
postOne(entity) {
|
|
99
|
+
postOne(entity, meta) {
|
|
100
100
|
const asPlain = Reflect.has(entity, AS_PLAIN_RESULT);
|
|
101
101
|
const { attributes, relationships } = this.jsonApiUtilsService.generateBody(entity);
|
|
102
102
|
const body = {
|
|
@@ -105,6 +105,7 @@ class JsonApiSdkService {
|
|
|
105
105
|
attributes,
|
|
106
106
|
...(Object.keys(relationships).length > 0 ? { relationships } : {}),
|
|
107
107
|
},
|
|
108
|
+
...(meta ? { meta } : {}),
|
|
108
109
|
};
|
|
109
110
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
110
111
|
if (id) {
|
|
@@ -114,7 +115,7 @@ class JsonApiSdkService {
|
|
|
114
115
|
.post(this.jsonApiUtilsService.getUrlForResource(entity.constructor.name), body)
|
|
115
116
|
.pipe((0, operators_1.map)((r) => this.jsonApiUtilsService.convertResponseData(r, (Object.keys(relationships).length > 0 ? Object.keys(relationships) : undefined), asPlain)));
|
|
116
117
|
}
|
|
117
|
-
patchOne(entity) {
|
|
118
|
+
patchOne(entity, meta) {
|
|
118
119
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
119
120
|
if (!id) {
|
|
120
121
|
return (0, rxjs_1.throwError)(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -126,6 +127,7 @@ class JsonApiSdkService {
|
|
|
126
127
|
id: String(id),
|
|
127
128
|
type: (0, utils_1.getTypeForReq)(entity.constructor.name),
|
|
128
129
|
},
|
|
130
|
+
...(meta ? { meta } : {}),
|
|
129
131
|
};
|
|
130
132
|
if (Object.keys(relationships).length > 0) {
|
|
131
133
|
Reflect.set(body.data, 'relationships', relationships);
|
|
@@ -153,7 +155,7 @@ class JsonApiSdkService {
|
|
|
153
155
|
.get(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`)
|
|
154
156
|
.pipe((0, operators_1.map)((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
155
157
|
}
|
|
156
|
-
patchRelationships(entity, relationType) {
|
|
158
|
+
patchRelationships(entity, relationType, meta) {
|
|
157
159
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
158
160
|
if (!id) {
|
|
159
161
|
return (0, rxjs_1.throwError)(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -163,12 +165,13 @@ class JsonApiSdkService {
|
|
|
163
165
|
}
|
|
164
166
|
const body = {
|
|
165
167
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
168
|
+
...(meta ? { meta } : {}),
|
|
166
169
|
};
|
|
167
170
|
return this.http
|
|
168
171
|
.patch(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
169
172
|
.pipe((0, operators_1.map)((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
170
173
|
}
|
|
171
|
-
postRelationships(entity, relationType) {
|
|
174
|
+
postRelationships(entity, relationType, meta) {
|
|
172
175
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
173
176
|
if (!id) {
|
|
174
177
|
return (0, rxjs_1.throwError)(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -178,12 +181,13 @@ class JsonApiSdkService {
|
|
|
178
181
|
}
|
|
179
182
|
const body = {
|
|
180
183
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
184
|
+
...(meta ? { meta } : {}),
|
|
181
185
|
};
|
|
182
186
|
return this.http
|
|
183
187
|
.post(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
184
188
|
.pipe((0, operators_1.map)((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
185
189
|
}
|
|
186
|
-
deleteRelationships(entity, relationType) {
|
|
190
|
+
deleteRelationships(entity, relationType, meta) {
|
|
187
191
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
188
192
|
if (!id) {
|
|
189
193
|
return (0, rxjs_1.throwError)(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -193,6 +197,7 @@ class JsonApiSdkService {
|
|
|
193
197
|
}
|
|
194
198
|
const body = {
|
|
195
199
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
200
|
+
...(meta ? { meta } : {}),
|
|
196
201
|
};
|
|
197
202
|
return this.http
|
|
198
203
|
.delete(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-sdk.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-sdk.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json-api-sdk.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-sdk.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ class GenerateAtomicBody {
|
|
|
12
12
|
get isSkipEmpty() {
|
|
13
13
|
return this.skipEmpty;
|
|
14
14
|
}
|
|
15
|
-
setToBody(op, entity, relationType) {
|
|
15
|
+
setToBody(op, entity, relationType, meta) {
|
|
16
16
|
const type = (0, utils_1.getTypeForReq)(entity.constructor.name);
|
|
17
17
|
const { relationships, attributes } = this.jsonApiUtilsService.generateBody(entity);
|
|
18
18
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
@@ -27,57 +27,61 @@ class GenerateAtomicBody {
|
|
|
27
27
|
};
|
|
28
28
|
const rel = relationType ? { relationship: String(relationType) } : {};
|
|
29
29
|
const lid = op === 'add' && id && !relationType ? { lid: String(id) } : {};
|
|
30
|
+
// IMPORTANT: Do NOT add meta for remove operation without relationship
|
|
31
|
+
// zodRemove schema doesn't have meta field
|
|
32
|
+
const shouldIncludeMeta = meta && !(op === 'remove' && !relationType);
|
|
30
33
|
this.bodyData = {
|
|
31
34
|
op,
|
|
32
35
|
ref: { type, ...idObj, ...rel, ...lid },
|
|
33
36
|
...(op === 'remove' && !relationType ? {} : { data }),
|
|
37
|
+
...(shouldIncludeMeta ? { meta } : {}),
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
getBody() {
|
|
37
41
|
return this.bodyData;
|
|
38
42
|
}
|
|
39
|
-
postOne(entity) {
|
|
40
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.add, entity);
|
|
43
|
+
postOne(entity, meta) {
|
|
44
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.add, entity, undefined, meta);
|
|
41
45
|
}
|
|
42
|
-
patchOne(entity) {
|
|
46
|
+
patchOne(entity, meta) {
|
|
43
47
|
if (Reflect.get(entity, this.jsonApiSdkConfig.idKey) === undefined) {
|
|
44
48
|
throw new Error('Resource params should be instance of resource with id params');
|
|
45
49
|
}
|
|
46
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.update, entity);
|
|
50
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, undefined, meta);
|
|
47
51
|
}
|
|
48
52
|
deleteOne(entity, skipEmpty) {
|
|
49
53
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
50
54
|
throw new Error('Resource params should be instance of resource with id params');
|
|
51
55
|
}
|
|
52
56
|
this.skipEmpty = skipEmpty;
|
|
53
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity);
|
|
57
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, undefined, undefined);
|
|
54
58
|
}
|
|
55
|
-
patchRelationships(entity, relationType) {
|
|
59
|
+
patchRelationships(entity, relationType, meta) {
|
|
56
60
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
57
61
|
throw new Error('Resource params should be instance of resource with id params');
|
|
58
62
|
}
|
|
59
63
|
if (entity[relationType] === undefined) {
|
|
60
64
|
new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
61
65
|
}
|
|
62
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, relationType);
|
|
66
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, relationType, meta);
|
|
63
67
|
}
|
|
64
|
-
postRelationships(entity, relationType) {
|
|
68
|
+
postRelationships(entity, relationType, meta) {
|
|
65
69
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
66
70
|
throw new Error('Resource params should be instance of resource with id params');
|
|
67
71
|
}
|
|
68
72
|
if (entity[relationType] === undefined) {
|
|
69
73
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
70
74
|
}
|
|
71
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.add, entity, relationType);
|
|
75
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.add, entity, relationType, meta);
|
|
72
76
|
}
|
|
73
|
-
deleteRelationships(entity, relationType) {
|
|
77
|
+
deleteRelationships(entity, relationType, meta) {
|
|
74
78
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
75
79
|
throw new Error('Resource params should be instance of resource with id params');
|
|
76
80
|
}
|
|
77
81
|
if (entity[relationType] === undefined) {
|
|
78
82
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
79
83
|
}
|
|
80
|
-
this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, relationType);
|
|
84
|
+
this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, relationType, meta);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
exports.GenerateAtomicBody = GenerateAtomicBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":";;;AAAA,4EAA0E;AAG1E,mCAAwC;AAOxC,MAAa,kBAAkB;IAK7B,YACU,mBAAwC,EACxC,gBAAkC;QADlC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAGpC,cAAS,GAAG,IAAI,CAAC;IAFtB,CAAC;IAIJ,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,SAAS,
|
|
1
|
+
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,10 @@ export declare class AtomicOperationsService<T extends unknown[]> implements Ato
|
|
|
13
13
|
deleteOne<Entity extends object>(entity: Entity): AtomicOperations<[...T]>;
|
|
14
14
|
deleteOne<Entity extends object>(entity: Entity, skipEmpty: true): AtomicOperations<[...T]>;
|
|
15
15
|
deleteOne<Entity extends object>(entity: Entity, skipEmpty: false): AtomicOperations<[...T, 'EMPTY']>;
|
|
16
|
-
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperations<[...T, OutputEntity]>;
|
|
17
|
-
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperations<[...T, OutputEntity]>;
|
|
18
|
-
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<T>;
|
|
19
|
-
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
20
|
-
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
16
|
+
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperations<[...T, OutputEntity]>;
|
|
17
|
+
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperations<[...T, OutputEntity]>;
|
|
18
|
+
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<T>;
|
|
19
|
+
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
20
|
+
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
21
21
|
private setToBody;
|
|
22
22
|
}
|
|
@@ -43,22 +43,22 @@ export class AtomicOperationsService {
|
|
|
43
43
|
deleteOne(entity, skipEmpty) {
|
|
44
44
|
return this.setToBody('deleteOne', entity, skipEmpty === undefined ? true : skipEmpty);
|
|
45
45
|
}
|
|
46
|
-
patchOne(entity) {
|
|
47
|
-
return this.setToBody('patchOne', entity);
|
|
46
|
+
patchOne(entity, meta) {
|
|
47
|
+
return this.setToBody('patchOne', entity, meta);
|
|
48
48
|
}
|
|
49
|
-
postOne(entity) {
|
|
50
|
-
return this.setToBody('postOne', entity);
|
|
49
|
+
postOne(entity, meta) {
|
|
50
|
+
return this.setToBody('postOne', entity, meta);
|
|
51
51
|
}
|
|
52
|
-
deleteRelationships(entity, relationType) {
|
|
53
|
-
return this.setToBody('deleteRelationships', entity, relationType);
|
|
52
|
+
deleteRelationships(entity, relationType, meta) {
|
|
53
|
+
return this.setToBody('deleteRelationships', entity, relationType, meta);
|
|
54
54
|
}
|
|
55
|
-
patchRelationships(entity, relationType) {
|
|
56
|
-
return this.setToBody('patchRelationships', entity, relationType);
|
|
55
|
+
patchRelationships(entity, relationType, meta) {
|
|
56
|
+
return this.setToBody('patchRelationships', entity, relationType, meta);
|
|
57
57
|
}
|
|
58
|
-
postRelationships(entity, relationType) {
|
|
59
|
-
return this.setToBody('postRelationships', entity, relationType);
|
|
58
|
+
postRelationships(entity, relationType, meta) {
|
|
59
|
+
return this.setToBody('postRelationships', entity, relationType, meta);
|
|
60
60
|
}
|
|
61
|
-
setToBody(operationType, entity, relationType) {
|
|
61
|
+
setToBody(operationType, entity, relationType, meta) {
|
|
62
62
|
const atomicBody = new GenerateAtomicBody(this.jsonApiUtilsService, this.jsonApiSdkConfig);
|
|
63
63
|
if (typeof relationType === 'boolean') {
|
|
64
64
|
if (operationType === 'deleteOne') {
|
|
@@ -71,11 +71,17 @@ export class AtomicOperationsService {
|
|
|
71
71
|
case 'patchRelationships':
|
|
72
72
|
case 'deleteRelationships':
|
|
73
73
|
if (relationType)
|
|
74
|
-
atomicBody[operationType](entity, relationType);
|
|
74
|
+
atomicBody[operationType](entity, relationType, meta);
|
|
75
75
|
break;
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
case 'postOne':
|
|
77
|
+
case 'patchOne': {
|
|
78
|
+
// For postOne/patchOne, relationType parameter contains meta (3rd param)
|
|
79
|
+
const metaForEntity = typeof relationType === 'object' && relationType !== null && !Array.isArray(relationType)
|
|
80
|
+
? relationType
|
|
81
|
+
: meta;
|
|
82
|
+
atomicBody[operationType](entity, metaForEntity);
|
|
78
83
|
break;
|
|
84
|
+
}
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
this.addBody(atomicBody);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atomic-operations.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/atomic-operations.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"atomic-operations.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/atomic-operations.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,11 +16,11 @@ export declare class JsonApiSdkService {
|
|
|
16
16
|
getAll<Entity extends object>(typeName: string, params?: QueryParams<Entity>, push?: boolean): Observable<EntityArray<Entity>>;
|
|
17
17
|
getOne<Entity extends object>(entity: EntityClass<Entity>, id: string | number, params?: QueryParamsForOneItem<Entity>): Observable<Entity>;
|
|
18
18
|
getOne<Entity extends object>(typeName: string, id: string | number, params?: QueryParamsForOneItem<Entity>): Observable<Entity>;
|
|
19
|
-
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): Observable<OutputEntity>;
|
|
20
|
-
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): Observable<OutputEntity>;
|
|
19
|
+
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): Observable<OutputEntity>;
|
|
20
|
+
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): Observable<OutputEntity>;
|
|
21
21
|
deleteOne<Entity extends object>(entity: Entity): Observable<void>;
|
|
22
22
|
getRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Observable<ReturnIfArray<Entity[Rel], string>>;
|
|
23
|
-
patchRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Observable<ReturnIfArray<Entity[Rel], string>>;
|
|
24
|
-
postRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Observable<ReturnIfArray<Entity[Rel], string>>;
|
|
25
|
-
deleteRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Observable<void>;
|
|
23
|
+
patchRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Observable<ReturnIfArray<Entity[Rel], string>>;
|
|
24
|
+
postRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Observable<ReturnIfArray<Entity[Rel], string>>;
|
|
25
|
+
deleteRelationships<Entity extends object, IdKey extends string, Rel extends RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Observable<void>;
|
|
26
26
|
}
|
|
@@ -96,7 +96,7 @@ export class JsonApiSdkService {
|
|
|
96
96
|
})
|
|
97
97
|
.pipe(map((result) => this.jsonApiUtilsService.convertResponseData(result, params?.include, asPlain)));
|
|
98
98
|
}
|
|
99
|
-
postOne(entity) {
|
|
99
|
+
postOne(entity, meta) {
|
|
100
100
|
const asPlain = Reflect.has(entity, AS_PLAIN_RESULT);
|
|
101
101
|
const { attributes, relationships } = this.jsonApiUtilsService.generateBody(entity);
|
|
102
102
|
const body = {
|
|
@@ -105,6 +105,7 @@ export class JsonApiSdkService {
|
|
|
105
105
|
attributes,
|
|
106
106
|
...(Object.keys(relationships).length > 0 ? { relationships } : {}),
|
|
107
107
|
},
|
|
108
|
+
...(meta ? { meta } : {}),
|
|
108
109
|
};
|
|
109
110
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
110
111
|
if (id) {
|
|
@@ -114,7 +115,7 @@ export class JsonApiSdkService {
|
|
|
114
115
|
.post(this.jsonApiUtilsService.getUrlForResource(entity.constructor.name), body)
|
|
115
116
|
.pipe(map((r) => this.jsonApiUtilsService.convertResponseData(r, (Object.keys(relationships).length > 0 ? Object.keys(relationships) : undefined), asPlain)));
|
|
116
117
|
}
|
|
117
|
-
patchOne(entity) {
|
|
118
|
+
patchOne(entity, meta) {
|
|
118
119
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
119
120
|
if (!id) {
|
|
120
121
|
return throwError(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -126,6 +127,7 @@ export class JsonApiSdkService {
|
|
|
126
127
|
id: String(id),
|
|
127
128
|
type: getTypeForReq(entity.constructor.name),
|
|
128
129
|
},
|
|
130
|
+
...(meta ? { meta } : {}),
|
|
129
131
|
};
|
|
130
132
|
if (Object.keys(relationships).length > 0) {
|
|
131
133
|
Reflect.set(body.data, 'relationships', relationships);
|
|
@@ -153,7 +155,7 @@ export class JsonApiSdkService {
|
|
|
153
155
|
.get(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`)
|
|
154
156
|
.pipe(map((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
155
157
|
}
|
|
156
|
-
patchRelationships(entity, relationType) {
|
|
158
|
+
patchRelationships(entity, relationType, meta) {
|
|
157
159
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
158
160
|
if (!id) {
|
|
159
161
|
return throwError(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -163,12 +165,13 @@ export class JsonApiSdkService {
|
|
|
163
165
|
}
|
|
164
166
|
const body = {
|
|
165
167
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
168
|
+
...(meta ? { meta } : {}),
|
|
166
169
|
};
|
|
167
170
|
return this.http
|
|
168
171
|
.patch(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
169
172
|
.pipe(map((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
170
173
|
}
|
|
171
|
-
postRelationships(entity, relationType) {
|
|
174
|
+
postRelationships(entity, relationType, meta) {
|
|
172
175
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
173
176
|
if (!id) {
|
|
174
177
|
return throwError(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -178,12 +181,13 @@ export class JsonApiSdkService {
|
|
|
178
181
|
}
|
|
179
182
|
const body = {
|
|
180
183
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
184
|
+
...(meta ? { meta } : {}),
|
|
181
185
|
};
|
|
182
186
|
return this.http
|
|
183
187
|
.post(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
184
188
|
.pipe(map((result) => this.jsonApiUtilsService.getResultForRelation(result)));
|
|
185
189
|
}
|
|
186
|
-
deleteRelationships(entity, relationType) {
|
|
190
|
+
deleteRelationships(entity, relationType, meta) {
|
|
187
191
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
188
192
|
if (!id) {
|
|
189
193
|
return throwError(() => new Error('Resource params should be instance of resource with id params'));
|
|
@@ -193,6 +197,7 @@ export class JsonApiSdkService {
|
|
|
193
197
|
}
|
|
194
198
|
const body = {
|
|
195
199
|
data: this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType]),
|
|
200
|
+
...(meta ? { meta } : {}),
|
|
196
201
|
};
|
|
197
202
|
return this.http
|
|
198
203
|
.delete(`${this.jsonApiUtilsService.getUrlForResource(entity.constructor.name)}/${id}/relationships/${String(relationType)}`, body)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-api-sdk.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-sdk.service.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"json-api-sdk.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-sdk.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,22 +8,22 @@ export interface AtomicRunPromise<T extends unknown[]> {
|
|
|
8
8
|
run(): Promise<T>;
|
|
9
9
|
}
|
|
10
10
|
export interface AtomicMainOperations<T extends unknown[]> {
|
|
11
|
-
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperations<[...T, OutputEntity]>;
|
|
12
|
-
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperations<[...T, OutputEntity]>;
|
|
11
|
+
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperations<[...T, OutputEntity]>;
|
|
12
|
+
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperations<[...T, OutputEntity]>;
|
|
13
13
|
deleteOne<Entity extends object>(entity: Entity): AtomicOperations<[...T]>;
|
|
14
14
|
deleteOne<Entity extends object>(entity: Entity, skipEmpty: true): AtomicOperations<[...T]>;
|
|
15
15
|
deleteOne<Entity extends object>(entity: Entity, skipEmpty: false): AtomicOperations<[...T, 'EMPTY']>;
|
|
16
|
-
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
17
|
-
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
18
|
-
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperations<[...T]>;
|
|
16
|
+
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
17
|
+
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
18
|
+
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperations<[...T]>;
|
|
19
19
|
}
|
|
20
20
|
export interface AtomicMainOperationsPromise<T extends unknown[]> {
|
|
21
|
-
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperationsPromise<[...T, OutputEntity]>;
|
|
22
|
-
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): AtomicOperationsPromise<[...T, OutputEntity]>;
|
|
21
|
+
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperationsPromise<[...T, OutputEntity]>;
|
|
22
|
+
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): AtomicOperationsPromise<[...T, OutputEntity]>;
|
|
23
23
|
deleteOne<Entity extends object>(entity: Entity): AtomicOperationsPromise<[...T]>;
|
|
24
|
-
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperationsPromise<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
25
|
-
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperationsPromise<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
26
|
-
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel): AtomicOperationsPromise<[...T]>;
|
|
24
|
+
patchRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperationsPromise<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
25
|
+
postRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperationsPromise<[...T, ReturnIfArray<Entity[Rel], string>]>;
|
|
26
|
+
deleteRelationships<Entity extends object, Rel extends RelationKeys<Entity>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): AtomicOperationsPromise<[...T]>;
|
|
27
27
|
}
|
|
28
28
|
export interface AtomicOperations<T extends unknown[]> extends AtomicMainOperations<T>, AtomicRunGeneral<T> {
|
|
29
29
|
}
|
|
@@ -8,13 +8,13 @@ import { ReturnIfArray } from './utils';
|
|
|
8
8
|
* @param IdKey - ID field key, defaults to 'id'
|
|
9
9
|
*/
|
|
10
10
|
export interface EntityChain<E extends object, OutputE extends E = E, IdKey extends string = 'id'> {
|
|
11
|
-
postOne(): Observable<OutputE>;
|
|
12
|
-
patchOne(): Observable<OutputE>;
|
|
11
|
+
postOne(meta?: Record<string, unknown>): Observable<OutputE>;
|
|
12
|
+
patchOne(meta?: Record<string, unknown>): Observable<OutputE>;
|
|
13
13
|
deleteOne(): Observable<void>;
|
|
14
14
|
getRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel): Observable<ReturnIfArray<E[Rel], string>>;
|
|
15
|
-
patchRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel): Observable<ReturnIfArray<E[Rel], string>>;
|
|
16
|
-
postRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel): Observable<ReturnIfArray<E[Rel], string>>;
|
|
17
|
-
deleteRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel): Observable<void>;
|
|
15
|
+
patchRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel, meta?: Record<string, unknown>): Observable<ReturnIfArray<E[Rel], string>>;
|
|
16
|
+
postRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel, meta?: Record<string, unknown>): Observable<ReturnIfArray<E[Rel], string>>;
|
|
17
|
+
deleteRelationships<Rel extends RelationKeys<E, IdKey>>(relationType: Rel, meta?: Record<string, unknown>): Observable<void>;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
20
20
|
* Converts Observable<T> to Promise<T>
|
|
@@ -10,11 +10,14 @@ type PostMainData<T = string> = Omit<MainData<T>, 'id'> & {
|
|
|
10
10
|
};
|
|
11
11
|
export type PostData<T extends object, IdKey extends string = 'id'> = {
|
|
12
12
|
data: PostMainData & BaseAttribute<T, IdKey> & BaseRelationships<T, IdKey>;
|
|
13
|
+
meta?: Record<string, unknown>;
|
|
13
14
|
};
|
|
14
15
|
export type PatchData<T extends object, IdKey extends string = 'id'> = {
|
|
15
16
|
data: MainData & BaseAttribute<T, IdKey> & BaseRelationships<T, IdKey>;
|
|
17
|
+
meta?: Record<string, unknown>;
|
|
16
18
|
};
|
|
17
19
|
export type RelationBodyData = {
|
|
18
20
|
data: MainData | MainData[];
|
|
21
|
+
meta?: Record<string, unknown>;
|
|
19
22
|
};
|
|
20
23
|
export {};
|
|
@@ -15,13 +15,13 @@ export interface PromiseJsonApiSdkService {
|
|
|
15
15
|
getAll<Entity extends object>(typeName: string, params?: QueryParams<Entity>, push?: boolean): Promise<EntityArray<Entity>>;
|
|
16
16
|
getOne<Entity extends object>(entity: EntityClass<Entity>, id: string | number, params?: QueryParamsForOneItem<Entity>): Promise<Entity>;
|
|
17
17
|
getOne<Entity extends object>(typeName: string, id: string | number, params?: QueryParamsForOneItem<Entity>): Promise<Entity>;
|
|
18
|
-
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): Promise<OutputEntity>;
|
|
19
|
-
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity): Promise<OutputEntity>;
|
|
18
|
+
postOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): Promise<OutputEntity>;
|
|
19
|
+
patchOne<Entity extends object, OutputEntity extends Entity = Entity>(entity: Entity, meta?: Record<string, unknown>): Promise<OutputEntity>;
|
|
20
20
|
deleteOne<Entity extends object>(entity: Entity): Promise<void>;
|
|
21
21
|
getRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Promise<ReturnIfArray<Entity[Rel], string>>;
|
|
22
|
-
patchRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Promise<ReturnIfArray<Entity[Rel], string>>;
|
|
23
|
-
postRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Promise<ReturnIfArray<Entity[Rel], string>>;
|
|
24
|
-
deleteRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel): Promise<void>;
|
|
22
|
+
patchRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Promise<ReturnIfArray<Entity[Rel], string>>;
|
|
23
|
+
postRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Promise<ReturnIfArray<Entity[Rel], string>>;
|
|
24
|
+
deleteRelationships<Entity extends object, IdKey extends string = 'id', Rel extends RelationKeys<Entity, IdKey> = RelationKeys<Entity, IdKey>>(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): Promise<void>;
|
|
25
25
|
entity<E extends object, OutputE extends E = E>(typeName: string, data: E): PromiseEntityChain<E, OutputE>;
|
|
26
26
|
entity<E extends object>(typeName: string, data: E, raw: true): E;
|
|
27
27
|
}
|
|
@@ -13,10 +13,10 @@ export declare class GenerateAtomicBody<Entity extends object = any, Rel extends
|
|
|
13
13
|
get isSkipEmpty(): boolean;
|
|
14
14
|
private setToBody;
|
|
15
15
|
getBody(): BodyType;
|
|
16
|
-
postOne(entity: Entity): void;
|
|
17
|
-
patchOne(entity: Entity): void;
|
|
16
|
+
postOne(entity: Entity, meta?: Record<string, unknown>): void;
|
|
17
|
+
patchOne(entity: Entity, meta?: Record<string, unknown>): void;
|
|
18
18
|
deleteOne(entity: Entity, skipEmpty: boolean): void;
|
|
19
|
-
patchRelationships(entity: Entity, relationType: Rel): void;
|
|
20
|
-
postRelationships(entity: Entity, relationType: Rel): void;
|
|
21
|
-
deleteRelationships(entity: Entity, relationType: Rel): void;
|
|
19
|
+
patchRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
20
|
+
postRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
21
|
+
deleteRelationships(entity: Entity, relationType: Rel, meta?: Record<string, unknown>): void;
|
|
22
22
|
}
|
|
@@ -12,7 +12,7 @@ export class GenerateAtomicBody {
|
|
|
12
12
|
get isSkipEmpty() {
|
|
13
13
|
return this.skipEmpty;
|
|
14
14
|
}
|
|
15
|
-
setToBody(op, entity, relationType) {
|
|
15
|
+
setToBody(op, entity, relationType, meta) {
|
|
16
16
|
const type = getTypeForReq(entity.constructor.name);
|
|
17
17
|
const { relationships, attributes } = this.jsonApiUtilsService.generateBody(entity);
|
|
18
18
|
const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
|
|
@@ -27,57 +27,61 @@ export class GenerateAtomicBody {
|
|
|
27
27
|
};
|
|
28
28
|
const rel = relationType ? { relationship: String(relationType) } : {};
|
|
29
29
|
const lid = op === 'add' && id && !relationType ? { lid: String(id) } : {};
|
|
30
|
+
// IMPORTANT: Do NOT add meta for remove operation without relationship
|
|
31
|
+
// zodRemove schema doesn't have meta field
|
|
32
|
+
const shouldIncludeMeta = meta && !(op === 'remove' && !relationType);
|
|
30
33
|
this.bodyData = {
|
|
31
34
|
op,
|
|
32
35
|
ref: { type, ...idObj, ...rel, ...lid },
|
|
33
36
|
...(op === 'remove' && !relationType ? {} : { data }),
|
|
37
|
+
...(shouldIncludeMeta ? { meta } : {}),
|
|
34
38
|
};
|
|
35
39
|
}
|
|
36
40
|
getBody() {
|
|
37
41
|
return this.bodyData;
|
|
38
42
|
}
|
|
39
|
-
postOne(entity) {
|
|
40
|
-
this.setToBody(Operation.add, entity);
|
|
43
|
+
postOne(entity, meta) {
|
|
44
|
+
this.setToBody(Operation.add, entity, undefined, meta);
|
|
41
45
|
}
|
|
42
|
-
patchOne(entity) {
|
|
46
|
+
patchOne(entity, meta) {
|
|
43
47
|
if (Reflect.get(entity, this.jsonApiSdkConfig.idKey) === undefined) {
|
|
44
48
|
throw new Error('Resource params should be instance of resource with id params');
|
|
45
49
|
}
|
|
46
|
-
this.setToBody(Operation.update, entity);
|
|
50
|
+
this.setToBody(Operation.update, entity, undefined, meta);
|
|
47
51
|
}
|
|
48
52
|
deleteOne(entity, skipEmpty) {
|
|
49
53
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
50
54
|
throw new Error('Resource params should be instance of resource with id params');
|
|
51
55
|
}
|
|
52
56
|
this.skipEmpty = skipEmpty;
|
|
53
|
-
this.setToBody(Operation.remove, entity);
|
|
57
|
+
this.setToBody(Operation.remove, entity, undefined, undefined);
|
|
54
58
|
}
|
|
55
|
-
patchRelationships(entity, relationType) {
|
|
59
|
+
patchRelationships(entity, relationType, meta) {
|
|
56
60
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
57
61
|
throw new Error('Resource params should be instance of resource with id params');
|
|
58
62
|
}
|
|
59
63
|
if (entity[relationType] === undefined) {
|
|
60
64
|
new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
61
65
|
}
|
|
62
|
-
this.setToBody(Operation.update, entity, relationType);
|
|
66
|
+
this.setToBody(Operation.update, entity, relationType, meta);
|
|
63
67
|
}
|
|
64
|
-
postRelationships(entity, relationType) {
|
|
68
|
+
postRelationships(entity, relationType, meta) {
|
|
65
69
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
66
70
|
throw new Error('Resource params should be instance of resource with id params');
|
|
67
71
|
}
|
|
68
72
|
if (entity[relationType] === undefined) {
|
|
69
73
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
70
74
|
}
|
|
71
|
-
this.setToBody(Operation.add, entity, relationType);
|
|
75
|
+
this.setToBody(Operation.add, entity, relationType, meta);
|
|
72
76
|
}
|
|
73
|
-
deleteRelationships(entity, relationType) {
|
|
77
|
+
deleteRelationships(entity, relationType, meta) {
|
|
74
78
|
if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
|
|
75
79
|
throw new Error('Resource params should be instance of resource with id params');
|
|
76
80
|
}
|
|
77
81
|
if (entity[relationType] === undefined) {
|
|
78
82
|
throw new Error(`${relationType.toString()} should not be undefined in entity`);
|
|
79
83
|
}
|
|
80
|
-
this.setToBody(Operation.remove, entity, relationType);
|
|
84
|
+
this.setToBody(Operation.remove, entity, relationType, meta);
|
|
81
85
|
}
|
|
82
86
|
}
|
|
83
87
|
//# sourceMappingURL=generate-atomic-body.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAgB,MAAM,iCAAiC,CAAC;AAG1E,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAOxC,MAAM,OAAO,kBAAkB;IAMnB;IACA;IAFV,YACU,mBAAwC,EACxC,gBAAkC;QADlC,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;IACzC,CAAC;IACI,QAAQ,CAAY;IACpB,SAAS,GAAG,IAAI,CAAC;IAEzB,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEO,SAAS,
|
|
1
|
+
{"version":3,"file":"generate-atomic-body.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/generate-atomic-body.ts"],"names":[],"mappings":"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"}
|