@klerick/json-api-nestjs-sdk 10.0.0-beta.13 → 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.
Files changed (27) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +240 -8
  3. package/cjs/src/lib/service/atomic-operations.service.js +20 -14
  4. package/cjs/src/lib/service/atomic-operations.service.js.map +1 -1
  5. package/cjs/src/lib/service/json-api-sdk.service.js +10 -5
  6. package/cjs/src/lib/service/json-api-sdk.service.js.map +1 -1
  7. package/cjs/src/lib/service/json-api-utils.service.js +35 -15
  8. package/cjs/src/lib/service/json-api-utils.service.js.map +1 -1
  9. package/cjs/src/lib/utils/generate-atomic-body.js +18 -17
  10. package/cjs/src/lib/utils/generate-atomic-body.js.map +1 -1
  11. package/mjs/src/lib/service/atomic-operations.service.d.ts +5 -5
  12. package/mjs/src/lib/service/atomic-operations.service.js +20 -14
  13. package/mjs/src/lib/service/atomic-operations.service.js.map +1 -1
  14. package/mjs/src/lib/service/json-api-sdk.service.d.ts +5 -5
  15. package/mjs/src/lib/service/json-api-sdk.service.js +10 -5
  16. package/mjs/src/lib/service/json-api-sdk.service.js.map +1 -1
  17. package/mjs/src/lib/service/json-api-utils.service.js +35 -15
  18. package/mjs/src/lib/service/json-api-utils.service.js.map +1 -1
  19. package/mjs/src/lib/types/atomic-operation.d.ts +10 -10
  20. package/mjs/src/lib/types/atomic-type.d.ts +1 -1
  21. package/mjs/src/lib/types/entity-chain.d.ts +5 -5
  22. package/mjs/src/lib/types/http-request-params.d.ts +3 -0
  23. package/mjs/src/lib/types/promise-json-api-sdk.d.ts +5 -5
  24. package/mjs/src/lib/utils/generate-atomic-body.d.ts +5 -5
  25. package/mjs/src/lib/utils/generate-atomic-body.js +18 -17
  26. package/mjs/src/lib/utils/generate-atomic-body.js.map +1 -1
  27. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,23 @@
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
+
11
+ ## 10.0.0-beta.14 (2026-02-11)
12
+
13
+ ### 🩹 Fixes
14
+
15
+ - **json-api-nestjs-sdk:** replace `tmpId` with `lid` in atomic operation logic and tests for JSON:API spec compliance ([fa7ad1d](https://github.com/klerick/nestjs-json-api/commit/fa7ad1d))
16
+
17
+ ### ❤️ Thank You
18
+
19
+ - Alex H
20
+
1
21
  ## 10.0.0-beta.13 (2026-02-05)
2
22
 
3
23
  ### 🚀 Features
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
 
@@ -835,28 +840,255 @@ const result = await jsonSdk
835
840
  // result[3] - array of all comment IDs after addition
836
841
  ```
837
842
 
838
- ### Using Temporary IDs (lid)
843
+ ### Using Local Identifiers (lid)
839
844
 
840
- Reference resources created within the same atomic request using temporary IDs.
845
+ Create and reference resources within the same atomic request using local identifiers (`lid`). This allows you to establish relationships between resources being created in a single batch operation.
841
846
 
847
+ **How it works:**
848
+ 1. Assign a temporary ID to the resource (any unique value - number or string)
849
+ 2. Reference this ID in relationships of other resources in the same request
850
+ 3. Server automatically replaces temporary IDs with real database IDs
851
+
852
+ **Example - Numeric lid:**
842
853
  ```typescript
843
854
  const address = new Addresses();
844
855
  address.city = 'Boston';
845
- address.id = 10000; // Temporary ID
856
+ address.id = 10000; // Temporary ID (lid)
846
857
 
847
858
  const user = new Users();
848
859
  user.firstName = 'Alice';
849
- user.addresses = address; // Reference by temp ID
860
+ user.addresses = address; // Reference resource by temporary ID
850
861
 
851
862
  const [createdAddress, createdUser] = await jsonSdk
852
863
  .atomicFactory()
853
- .postOne(address)
864
+ .postOne(address) // First operation: create address with lid=10000
865
+ .postOne(user) // Second operation: reference address via lid
866
+ .run();
867
+
868
+ // Server assigns real IDs and maintains relationships
869
+ console.log(createdAddress.id); // Real ID (e.g., 42)
870
+ console.log(createdUser.addresses.id); // Same real ID (42)
871
+ ```
872
+
873
+ **Example - UUID lid (for entities with UUID primary keys):**
874
+ ```typescript
875
+ const book1 = new BookList();
876
+ book1.id = '550e8400-e29b-41d4-a716-446655440000'; // Temporary UUID (lid)
877
+ book1.title = 'TypeScript Handbook';
878
+
879
+ const book2 = new BookList();
880
+ book2.id = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'; // Another temporary UUID (lid)
881
+ book2.title = 'Advanced Node.js';
882
+
883
+ const user = new Users();
884
+ user.firstName = 'John';
885
+ user.books = [book1, book2]; // Reference both books by their temporary UUIDs
886
+
887
+ const [createdBook1, createdBook2, createdUser] = await jsonSdk
888
+ .atomicFactory()
889
+ .postOne(book1)
890
+ .postOne(book2)
854
891
  .postOne(user)
855
892
  .run();
856
893
 
857
- // Server assigns real IDs
858
- console.log(createdAddress.id); // Real ID (e.g., 1)
859
- console.log(createdUser.addresses.id); // Same real ID
894
+ // All temporary IDs are used as actual IDs (for UUID fields)
895
+ // or replaced with real IDs (for autoincrement fields)
896
+ console.log(createdBook1.id); // UUID from lid
897
+ console.log(createdBook2.id); // UUID from lid
898
+ console.log(createdUser.books.map(b => b.id)); // Both book UUIDs
899
+ ```
900
+
901
+ **Important notes:**
902
+ - Local identifiers (lid) are only valid within a single atomic request
903
+ - The SDK automatically handles lid assignment in the request body
904
+ - For numeric IDs: lid is replaced with the actual database-generated ID
905
+ - For UUID IDs: lid can be used as the actual ID (if server has `allowSetId: true`)
906
+
907
+ ---
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
+ });
860
1092
  ```
861
1093
 
862
1094
  ---
@@ -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
- default:
77
- atomicBody[operationType](entity, true);
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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"}
@@ -122,7 +122,7 @@ class JsonApiUtilsService {
122
122
  const result = [];
123
123
  for (const dataItem of arrayData) {
124
124
  let id = dataItem[this.jsonApiSdkConfig.idKey];
125
- if (this.jsonApiSdkConfig.idIsNumber) {
125
+ if (this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(id))) {
126
126
  const idNumber = parseInt(id, 10);
127
127
  id = isNaN(idNumber) ? id : idNumber;
128
128
  }
@@ -206,7 +206,7 @@ class JsonApiUtilsService {
206
206
  if (!item || !item['id'])
207
207
  return;
208
208
  let id = item['id'];
209
- if (this.jsonApiSdkConfig.idIsNumber) {
209
+ if (this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(id))) {
210
210
  const idNumber = parseInt(id, 10);
211
211
  id = isNaN(idNumber) ? id : idNumber;
212
212
  }
@@ -222,10 +222,11 @@ class JsonApiUtilsService {
222
222
  const relatedIncluded = included.find((includedItem) => includedItem.type === item.type && includedItem.id === item.id);
223
223
  if (!relatedIncluded)
224
224
  return;
225
+ const rawId = relatedIncluded[this.jsonApiSdkConfig.idKey];
225
226
  const entityObject = {
226
- [this.jsonApiSdkConfig.idKey]: this.jsonApiSdkConfig.idIsNumber
227
- ? parseInt(relatedIncluded[this.jsonApiSdkConfig.idKey], 10)
228
- : relatedIncluded[this.jsonApiSdkConfig.idKey],
227
+ [this.jsonApiSdkConfig.idKey]: this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(rawId))
228
+ ? parseInt(rawId, 10)
229
+ : rawId,
229
230
  ...Object.entries(relatedIncluded.attributes || []).reduce((acum, [key, val]) => {
230
231
  if (this.jsonApiSdkConfig.dateFields.includes(key)) {
231
232
  const date = new Date(String(val));
@@ -270,18 +271,30 @@ class JsonApiUtilsService {
270
271
  data = [];
271
272
  }
272
273
  else if (Array.isArray(val)) {
273
- data = val.map((i) => ({
274
- type: (0, utils_1.getTypeForReq)(i.constructor.name),
275
- id: i[constants_1.ID_KEY].toString(),
276
- }));
274
+ data = val.map((i) => {
275
+ const relationId = i[constants_1.ID_KEY];
276
+ if (relationId === undefined || relationId === null) {
277
+ throw new Error(`Entity '${i.constructor.name}' used in relationship '${String(key)}' must have an id. ` +
278
+ `For atomic operations with temporary IDs, set the id property before using the entity in relationships.`);
279
+ }
280
+ return {
281
+ type: (0, utils_1.getTypeForReq)(i.constructor.name),
282
+ id: relationId.toString(),
283
+ };
284
+ });
277
285
  }
278
286
  else {
279
- if (val[constants_1.ID_KEY] !== null) {
287
+ const relationId = val[constants_1.ID_KEY];
288
+ if (relationId !== undefined && relationId !== null) {
280
289
  data = {
281
290
  type: (0, utils_1.getTypeForReq)(val.constructor.name),
282
- id: val[constants_1.ID_KEY].toString(),
291
+ id: relationId.toString(),
283
292
  };
284
293
  }
294
+ else if (relationId === undefined) {
295
+ throw new Error(`Entity '${val.constructor.name}' used in relationship '${String(key)}' must have an id. ` +
296
+ `For atomic operations with temporary IDs, set the id property before using the entity in relationships.`);
297
+ }
285
298
  else {
286
299
  data = null;
287
300
  }
@@ -302,10 +315,17 @@ class JsonApiUtilsService {
302
315
  }
303
316
  }
304
317
  generateRelationshipsBody(relationshipEntity) {
305
- const generateRelationObj = (relation) => ({
306
- id: String(Reflect.get(relation, this.jsonApiSdkConfig.idKey)),
307
- type: (0, utils_1.getTypeForReq)(relation.constructor.name),
308
- });
318
+ const generateRelationObj = (relation) => {
319
+ const relationId = Reflect.get(relation, this.jsonApiSdkConfig.idKey);
320
+ if (relationId === undefined || relationId === null) {
321
+ throw new Error(`Entity '${relation.constructor.name}' used in relationship operation must have an id. ` +
322
+ `For atomic operations with temporary IDs, set the id property before using the entity.`);
323
+ }
324
+ return {
325
+ id: String(relationId),
326
+ type: (0, utils_1.getTypeForReq)(relation.constructor.name),
327
+ };
328
+ };
309
329
  return Array.isArray(relationshipEntity)
310
330
  ? relationshipEntity.map((item) => generateRelationObj(item))
311
331
  : generateRelationObj(relationshipEntity);