@klerick/json-api-nestjs-sdk 10.0.0-beta.8 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +121 -0
  2. package/README.md +498 -45
  3. package/cjs/src/index.js +9 -7
  4. package/cjs/src/index.js.map +1 -1
  5. package/cjs/src/lib/json-api-angular.js +22 -18
  6. package/cjs/src/lib/json-api-angular.js.map +1 -1
  7. package/cjs/src/lib/json-api-js.js +31 -11
  8. package/cjs/src/lib/json-api-js.js.map +1 -1
  9. package/cjs/src/lib/service/atomic-operations.service.js +22 -16
  10. package/cjs/src/lib/service/atomic-operations.service.js.map +1 -1
  11. package/cjs/src/lib/service/fetch-inner-client.js +3 -3
  12. package/cjs/src/lib/service/fetch-inner-client.js.map +1 -1
  13. package/cjs/src/lib/service/index.js +3 -3
  14. package/cjs/src/lib/service/index.js.map +1 -1
  15. package/cjs/src/lib/service/json-api-sdk.service.js +55 -22
  16. package/cjs/src/lib/service/json-api-sdk.service.js.map +1 -1
  17. package/cjs/src/lib/service/json-api-utils.service.js +138 -59
  18. package/cjs/src/lib/service/json-api-utils.service.js.map +1 -1
  19. package/cjs/src/lib/types/entity-chain.js +3 -0
  20. package/cjs/src/lib/types/entity-chain.js.map +1 -0
  21. package/cjs/src/lib/types/index.js +10 -9
  22. package/cjs/src/lib/types/index.js.map +1 -1
  23. package/cjs/src/lib/utils/generate-atomic-body.js +21 -20
  24. package/cjs/src/lib/utils/generate-atomic-body.js.map +1 -1
  25. package/cjs/src/lib/utils/index.js +5 -5
  26. package/cjs/src/lib/utils/index.js.map +1 -1
  27. package/cjs/src/lib/utils/utils.js +42 -3
  28. package/cjs/src/lib/utils/utils.js.map +1 -1
  29. package/cjs/src/ngModule.js +8 -8
  30. package/cjs/src/ngModule.js.map +1 -1
  31. package/mjs/package.json +1 -0
  32. package/mjs/src/index.d.ts +4 -4
  33. package/mjs/src/index.js +3 -3
  34. package/mjs/src/index.js.map +1 -1
  35. package/mjs/src/lib/json-api-angular.d.ts +10 -12
  36. package/mjs/src/lib/json-api-angular.js +11 -7
  37. package/mjs/src/lib/json-api-angular.js.map +1 -1
  38. package/mjs/src/lib/json-api-js.d.ts +4 -4
  39. package/mjs/src/lib/json-api-js.js +26 -6
  40. package/mjs/src/lib/json-api-js.js.map +1 -1
  41. package/mjs/src/lib/service/atomic-operations.service.d.ts +7 -7
  42. package/mjs/src/lib/service/atomic-operations.service.js +21 -15
  43. package/mjs/src/lib/service/atomic-operations.service.js.map +1 -1
  44. package/mjs/src/lib/service/fetch-inner-client.d.ts +2 -2
  45. package/mjs/src/lib/service/fetch-inner-client.js +1 -1
  46. package/mjs/src/lib/service/fetch-inner-client.js.map +1 -1
  47. package/mjs/src/lib/service/index.d.ts +3 -3
  48. package/mjs/src/lib/service/index.js +3 -3
  49. package/mjs/src/lib/service/index.js.map +1 -1
  50. package/mjs/src/lib/service/json-api-sdk.service.d.ts +13 -8
  51. package/mjs/src/lib/service/json-api-sdk.service.js +51 -18
  52. package/mjs/src/lib/service/json-api-sdk.service.js.map +1 -1
  53. package/mjs/src/lib/service/json-api-utils.service.d.ts +6 -5
  54. package/mjs/src/lib/service/json-api-utils.service.js +132 -53
  55. package/mjs/src/lib/service/json-api-utils.service.js.map +1 -1
  56. package/mjs/src/lib/token/index.d.ts +1 -1
  57. package/mjs/src/lib/types/atomic-operation.d.ts +11 -11
  58. package/mjs/src/lib/types/atomic-type.d.ts +2 -2
  59. package/mjs/src/lib/types/config.d.ts +2 -2
  60. package/mjs/src/lib/types/entity-chain.d.ts +32 -0
  61. package/mjs/src/lib/types/entity-chain.js +1 -0
  62. package/mjs/src/lib/types/entity-chain.js.map +1 -0
  63. package/mjs/src/lib/types/http-inner-client.d.ts +3 -3
  64. package/mjs/src/lib/types/http-request-params.d.ts +3 -0
  65. package/mjs/src/lib/types/index.d.ts +10 -9
  66. package/mjs/src/lib/types/index.js +10 -9
  67. package/mjs/src/lib/types/index.js.map +1 -1
  68. package/mjs/src/lib/types/promise-json-api-sdk.d.ts +20 -9
  69. package/mjs/src/lib/types/query-params.d.ts +1 -1
  70. package/mjs/src/lib/utils/adapter-for-axios.d.ts +1 -1
  71. package/mjs/src/lib/utils/generate-atomic-body.d.ts +7 -7
  72. package/mjs/src/lib/utils/generate-atomic-body.js +19 -18
  73. package/mjs/src/lib/utils/generate-atomic-body.js.map +1 -1
  74. package/mjs/src/lib/utils/index.d.ts +5 -5
  75. package/mjs/src/lib/utils/index.js +5 -5
  76. package/mjs/src/lib/utils/index.js.map +1 -1
  77. package/mjs/src/lib/utils/utils.d.ts +20 -1
  78. package/mjs/src/lib/utils/utils.js +36 -1
  79. package/mjs/src/lib/utils/utils.js.map +1 -1
  80. package/mjs/src/ngModule.d.ts +3 -3
  81. package/mjs/src/ngModule.js +2 -2
  82. package/mjs/src/ngModule.js.map +1 -1
  83. package/package.json +5 -5
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonApiUtilsService = void 0;
4
4
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
5
5
  const change_case_commonjs_1 = require("change-case-commonjs");
6
- const utils_1 = require("../utils");
7
- const constants_1 = require("../constants");
6
+ const index_js_1 = require("../utils/index.js");
7
+ const index_js_2 = require("../constants/index.js");
8
8
  class JsonApiUtilsService {
9
9
  constructor(jsonApiSdkConfig) {
10
10
  this.jsonApiSdkConfig = jsonApiSdkConfig;
@@ -17,7 +17,7 @@ class JsonApiUtilsService {
17
17
  return new URL(url.join('/'), this.jsonApiSdkConfig.apiHost).toString();
18
18
  }
19
19
  getQueryStringParams(params = {}) {
20
- let httpParams = this.getIncludeParam(params.include, new utils_1.HttpParams());
20
+ let httpParams = this.getIncludeParam(params.include, new index_js_1.HttpParams());
21
21
  httpParams = this.getSortParam(params.sort, httpParams);
22
22
  httpParams = this.getPageParam(params.page, httpParams);
23
23
  httpParams = this.getFieldParam(params.fields, httpParams);
@@ -115,49 +115,79 @@ class JsonApiUtilsService {
115
115
  }
116
116
  return httpParams;
117
117
  }
118
- convertResponseData(body, includeEntity) {
118
+ convertResponseData(body, includeEntity, asPlain = false) {
119
119
  const { data, included = [] } = body;
120
120
  const isArray = Array.isArray(data);
121
121
  const arrayData = isArray ? data : [data];
122
122
  const result = [];
123
123
  for (const dataItem of arrayData) {
124
+ let id = dataItem[this.jsonApiSdkConfig.idKey];
125
+ if (this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(id))) {
126
+ const idNumber = parseInt(id, 10);
127
+ id = isNaN(idNumber) ? id : idNumber;
128
+ }
124
129
  const entityObject = {
125
- [this.jsonApiSdkConfig.idKey]: this.jsonApiSdkConfig.idIsNumber
126
- ? parseInt(dataItem[this.jsonApiSdkConfig.idKey], 10)
127
- : dataItem[this.jsonApiSdkConfig.idKey],
130
+ [this.jsonApiSdkConfig.idKey]: id,
128
131
  ...Object.entries(dataItem.attributes || []).reduce((acum, [key, val]) => {
129
- acum[key] = this.jsonApiSdkConfig.dateFields.includes(key)
130
- ? new Date(String(val))
131
- : val;
132
+ if (this.jsonApiSdkConfig.dateFields.includes(key)) {
133
+ const date = new Date(String(val));
134
+ acum[key] = isNaN(date.getTime()) ? val : date;
135
+ }
136
+ else {
137
+ acum[key] = val;
138
+ }
132
139
  return acum;
133
140
  }, {}),
134
141
  };
135
- const itemEntity = Object.assign(this.createEntityInstance(dataItem.type), entityObject);
136
- if (!includeEntity || includeEntity.length === 0) {
137
- result.push(itemEntity);
138
- continue;
139
- }
140
- for (const itemInclude of includeEntity) {
141
- if (!(dataItem.relationships && dataItem.relationships[itemInclude])) {
142
- continue;
143
- }
144
- const relationship = dataItem.relationships[itemInclude];
145
- if (!relationship || !('data' in relationship) || !relationship.data) {
146
- continue;
147
- }
148
- const relationshipData = relationship.data;
149
- if (Array.isArray(relationshipData)) {
150
- itemEntity[itemInclude] = relationshipData.reduce((acum, item) => {
151
- const result = this.findIncludeEntity(item, included);
152
- if (result)
153
- acum.push(result);
154
- return acum;
155
- }, []);
156
- }
157
- else {
158
- const relation = this.findIncludeEntity(relationshipData, included);
159
- if (relation)
160
- itemEntity[itemInclude] = relation;
142
+ const itemEntity = (asPlain
143
+ ? entityObject
144
+ : Object.assign(this.createEntityInstance(dataItem.type), entityObject));
145
+ // Process all relationships from response
146
+ if (dataItem.relationships) {
147
+ for (const [relKey, relationship] of Object.entries(dataItem.relationships)) {
148
+ if (!relationship || typeof relationship !== 'object' || !('data' in relationship)) {
149
+ continue;
150
+ }
151
+ const relationshipData = relationship.data;
152
+ // Skip if no data (null relationship)
153
+ if (relationshipData === null || relationshipData === undefined) {
154
+ continue;
155
+ }
156
+ const isIncluded = includeEntity?.includes(relKey);
157
+ if (Array.isArray(relationshipData)) {
158
+ itemEntity[relKey] = relationshipData.reduce((acum, item) => {
159
+ // Try to find in included first
160
+ const result = isIncluded
161
+ ? this.findIncludeEntity(item, included, asPlain)
162
+ : null;
163
+ if (result) {
164
+ acum.push(result);
165
+ }
166
+ else {
167
+ // Create minimal entity with just id
168
+ const minimalEntity = this.createMinimalEntityFromRelationship(item, asPlain);
169
+ if (minimalEntity)
170
+ acum.push(minimalEntity);
171
+ }
172
+ return acum;
173
+ }, []);
174
+ }
175
+ else {
176
+ // Try to find in included first
177
+ const relation = isIncluded
178
+ ? this.findIncludeEntity(relationshipData, included, asPlain)
179
+ : null;
180
+ if (relation) {
181
+ itemEntity[relKey] = relation;
182
+ }
183
+ else {
184
+ // Create minimal entity with just id
185
+ const minimalEntity = this.createMinimalEntityFromRelationship(relationshipData, asPlain);
186
+ if (minimalEntity) {
187
+ itemEntity[relKey] = minimalEntity;
188
+ }
189
+ }
190
+ }
161
191
  }
162
192
  }
163
193
  result.push(itemEntity);
@@ -172,30 +202,54 @@ class JsonApiUtilsService {
172
202
  createEntityInstance(name) {
173
203
  return (0, json_api_nestjs_shared_1.createEntityInstance)(name);
174
204
  }
175
- findIncludeEntity(item, included) {
205
+ createMinimalEntityFromRelationship(item, asPlain = false) {
206
+ if (!item || !item['id'])
207
+ return;
208
+ let id = item['id'];
209
+ if (this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(id))) {
210
+ const idNumber = parseInt(id, 10);
211
+ id = isNaN(idNumber) ? id : idNumber;
212
+ }
213
+ const entityObject = {
214
+ [this.jsonApiSdkConfig.idKey]: id,
215
+ };
216
+ if (asPlain) {
217
+ return entityObject;
218
+ }
219
+ return Object.assign(this.createEntityInstance(item.type.toString()), entityObject);
220
+ }
221
+ findIncludeEntity(item, included, asPlain = false) {
176
222
  const relatedIncluded = included.find((includedItem) => includedItem.type === item.type && includedItem.id === item.id);
177
223
  if (!relatedIncluded)
178
224
  return;
225
+ const rawId = relatedIncluded[this.jsonApiSdkConfig.idKey];
179
226
  const entityObject = {
180
- [this.jsonApiSdkConfig.idKey]: this.jsonApiSdkConfig.idIsNumber
181
- ? parseInt(relatedIncluded[this.jsonApiSdkConfig.idKey], 10)
182
- : relatedIncluded[this.jsonApiSdkConfig.idKey],
227
+ [this.jsonApiSdkConfig.idKey]: this.jsonApiSdkConfig.idIsNumber && /^\d+$/.test(String(rawId))
228
+ ? parseInt(rawId, 10)
229
+ : rawId,
183
230
  ...Object.entries(relatedIncluded.attributes || []).reduce((acum, [key, val]) => {
184
- acum[key] = this.jsonApiSdkConfig.dateFields.includes(key)
185
- ? new Date(String(val))
186
- : val;
231
+ if (this.jsonApiSdkConfig.dateFields.includes(key)) {
232
+ const date = new Date(String(val));
233
+ acum[key] = isNaN(date.getTime()) ? val : date;
234
+ }
235
+ else {
236
+ acum[key] = val;
237
+ }
187
238
  return acum;
188
239
  }, {}),
189
240
  };
241
+ if (asPlain) {
242
+ return entityObject;
243
+ }
190
244
  return Object.assign(this.createEntityInstance(item.type.toString()), entityObject);
191
245
  }
192
246
  generateBody(entity) {
193
247
  const attributes = Object.entries(entity)
194
248
  .filter(([key, val]) => {
195
- if (key === constants_1.ID_KEY)
249
+ if (key === index_js_2.ID_KEY)
196
250
  return false;
197
251
  const item = Array.isArray(val) ? val[0] : val;
198
- return !(0, utils_1.isRelation)(item);
252
+ return !(0, index_js_1.isRelation)(item);
199
253
  })
200
254
  .reduce((acum, [key, val]) => ({
201
255
  ...acum,
@@ -203,26 +257,44 @@ class JsonApiUtilsService {
203
257
  }), {});
204
258
  const relationships = json_api_nestjs_shared_1.ObjectTyped.entries(entity)
205
259
  .filter(([key, val]) => {
206
- if (key === constants_1.ID_KEY)
260
+ if (key === index_js_2.ID_KEY)
207
261
  return false;
208
262
  const item = Array.isArray(val) ? val[0] : val;
209
- return (0, utils_1.isRelation)(item);
263
+ return (0, index_js_1.isRelation)(item);
210
264
  })
211
265
  .reduce((acum, [key, val]) => {
212
266
  let data;
213
- if (Array.isArray(val)) {
214
- data = val.map((i) => ({
215
- type: (0, utils_1.getTypeForReq)(i.constructor.name),
216
- id: i[constants_1.ID_KEY].toString(),
217
- }));
267
+ if ((0, index_js_1.isNullRef)(val)) {
268
+ data = null;
269
+ }
270
+ else if ((0, index_js_1.isEmptyArrayRef)(val)) {
271
+ data = [];
272
+ }
273
+ else if (Array.isArray(val)) {
274
+ data = val.map((i) => {
275
+ const relationId = i[index_js_2.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, index_js_1.getTypeForReq)(i.constructor.name),
282
+ id: relationId.toString(),
283
+ };
284
+ });
218
285
  }
219
286
  else {
220
- if (val[constants_1.ID_KEY] !== null) {
287
+ const relationId = val[index_js_2.ID_KEY];
288
+ if (relationId !== undefined && relationId !== null) {
221
289
  data = {
222
- type: (0, utils_1.getTypeForReq)(val.constructor.name),
223
- id: val[constants_1.ID_KEY].toString(),
290
+ type: (0, index_js_1.getTypeForReq)(val.constructor.name),
291
+ id: relationId.toString(),
224
292
  };
225
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
+ }
226
298
  else {
227
299
  data = null;
228
300
  }
@@ -243,10 +315,17 @@ class JsonApiUtilsService {
243
315
  }
244
316
  }
245
317
  generateRelationshipsBody(relationshipEntity) {
246
- const generateRelationObj = (relation) => ({
247
- id: String(Reflect.get(relation, this.jsonApiSdkConfig.idKey)),
248
- type: (0, utils_1.getTypeForReq)(relation.constructor.name),
249
- });
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, index_js_1.getTypeForReq)(relation.constructor.name),
327
+ };
328
+ };
250
329
  return Array.isArray(relationshipEntity)
251
330
  ? relationshipEntity.map((item) => generateRelationObj(item))
252
331
  : generateRelationObj(relationshipEntity);
@@ -1 +1 @@
1
- {"version":3,"file":"json-api-utils.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-utils.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-api-utils.service.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/service/json-api-utils.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entity-chain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-chain.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/types/entity-chain.ts"],"names":[],"mappings":""}
@@ -1,13 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./http-inner-client"), exports);
5
- tslib_1.__exportStar(require("./http-request-params"), exports);
6
- tslib_1.__exportStar(require("./atomic-type"), exports);
7
- tslib_1.__exportStar(require("./atomic-operation"), exports);
8
- tslib_1.__exportStar(require("./utils"), exports);
9
- tslib_1.__exportStar(require("./config"), exports);
10
- tslib_1.__exportStar(require("./query-params"), exports);
11
- tslib_1.__exportStar(require("./promise-json-api-sdk"), exports);
12
- tslib_1.__exportStar(require("./filter-operand"), exports);
4
+ tslib_1.__exportStar(require("./http-inner-client.js"), exports);
5
+ tslib_1.__exportStar(require("./http-request-params.js"), exports);
6
+ tslib_1.__exportStar(require("./atomic-type.js"), exports);
7
+ tslib_1.__exportStar(require("./atomic-operation.js"), exports);
8
+ tslib_1.__exportStar(require("./utils.js"), exports);
9
+ tslib_1.__exportStar(require("./config.js"), exports);
10
+ tslib_1.__exportStar(require("./query-params.js"), exports);
11
+ tslib_1.__exportStar(require("./promise-json-api-sdk.js"), exports);
12
+ tslib_1.__exportStar(require("./filter-operand.js"), exports);
13
+ tslib_1.__exportStar(require("./entity-chain.js"), exports);
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/types/index.ts"],"names":[],"mappings":";;;AAAA,8DAAoC;AACpC,gEAAsC;AACtC,wDAA8B;AAC9B,6DAAmC;AACnC,kDAAwB;AACxB,mDAAyB;AACzB,yDAA+B;AAC/B,iEAAuC;AACvC,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/types/index.ts"],"names":[],"mappings":";;;AAAA,iEAAuC;AACvC,mEAAyC;AACzC,2DAAiC;AACjC,gEAAsC;AACtC,qDAA2B;AAC3B,sDAA4B;AAC5B,4DAAkC;AAClC,oEAA0C;AAC1C,8DAAoC;AACpC,4DAAkC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GenerateAtomicBody = void 0;
4
4
  const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
5
- const utils_1 = require("./utils");
5
+ const utils_js_1 = require("./utils.js");
6
6
  class GenerateAtomicBody {
7
7
  constructor(jsonApiUtilsService, jsonApiSdkConfig) {
8
8
  this.jsonApiUtilsService = jsonApiUtilsService;
@@ -12,75 +12,76 @@ class GenerateAtomicBody {
12
12
  get isSkipEmpty() {
13
13
  return this.skipEmpty;
14
14
  }
15
- setToBody(op, entity, relationType) {
16
- const type = (0, utils_1.getTypeForReq)(entity.constructor.name);
15
+ setToBody(op, entity, relationType, meta) {
16
+ const type = (0, utils_js_1.getTypeForReq)(entity.constructor.name);
17
17
  const { relationships, attributes } = this.jsonApiUtilsService.generateBody(entity);
18
18
  const id = Reflect.get(entity, this.jsonApiSdkConfig.idKey);
19
19
  const idObj = op === 'add' && !relationType ? {} : { id: String(id) };
20
20
  const data = relationType
21
21
  ? this.jsonApiUtilsService.generateRelationshipsBody(entity[relationType])
22
22
  : {
23
- type: (0, utils_1.getTypeForReq)(entity.constructor.name),
23
+ type: (0, utils_js_1.getTypeForReq)(entity.constructor.name),
24
24
  attributes,
25
25
  ...(Object.keys(relationships).length > 0 ? { relationships } : {}),
26
26
  ...idObj,
27
27
  };
28
28
  const rel = relationType ? { relationship: String(relationType) } : {};
29
- const tmpId = op === 'add' && id && !relationType ? { tmpId: String(id) } : {};
30
- if (op === 'add' && id && !relationType) {
31
- idObj['id'] = String(id);
32
- }
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);
33
33
  this.bodyData = {
34
34
  op,
35
- ref: { type, ...idObj, ...rel, ...tmpId },
35
+ ref: { type, ...idObj, ...rel, ...lid },
36
36
  ...(op === 'remove' && !relationType ? {} : { data }),
37
+ ...(shouldIncludeMeta ? { meta } : {}),
37
38
  };
38
39
  }
39
40
  getBody() {
40
41
  return this.bodyData;
41
42
  }
42
- postOne(entity) {
43
- 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);
44
45
  }
45
- patchOne(entity) {
46
+ patchOne(entity, meta) {
46
47
  if (Reflect.get(entity, this.jsonApiSdkConfig.idKey) === undefined) {
47
48
  throw new Error('Resource params should be instance of resource with id params');
48
49
  }
49
- this.setToBody(json_api_nestjs_shared_1.Operation.update, entity);
50
+ this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, undefined, meta);
50
51
  }
51
52
  deleteOne(entity, skipEmpty) {
52
53
  if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
53
54
  throw new Error('Resource params should be instance of resource with id params');
54
55
  }
55
56
  this.skipEmpty = skipEmpty;
56
- this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity);
57
+ this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, undefined, undefined);
57
58
  }
58
- patchRelationships(entity, relationType) {
59
+ patchRelationships(entity, relationType, meta) {
59
60
  if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
60
61
  throw new Error('Resource params should be instance of resource with id params');
61
62
  }
62
63
  if (entity[relationType] === undefined) {
63
64
  new Error(`${relationType.toString()} should not be undefined in entity`);
64
65
  }
65
- this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, relationType);
66
+ this.setToBody(json_api_nestjs_shared_1.Operation.update, entity, relationType, meta);
66
67
  }
67
- postRelationships(entity, relationType) {
68
+ postRelationships(entity, relationType, meta) {
68
69
  if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
69
70
  throw new Error('Resource params should be instance of resource with id params');
70
71
  }
71
72
  if (entity[relationType] === undefined) {
72
73
  throw new Error(`${relationType.toString()} should not be undefined in entity`);
73
74
  }
74
- this.setToBody(json_api_nestjs_shared_1.Operation.add, entity, relationType);
75
+ this.setToBody(json_api_nestjs_shared_1.Operation.add, entity, relationType, meta);
75
76
  }
76
- deleteRelationships(entity, relationType) {
77
+ deleteRelationships(entity, relationType, meta) {
77
78
  if (!Reflect.get(entity, this.jsonApiSdkConfig.idKey)) {
78
79
  throw new Error('Resource params should be instance of resource with id params');
79
80
  }
80
81
  if (entity[relationType] === undefined) {
81
82
  throw new Error(`${relationType.toString()} should not be undefined in entity`);
82
83
  }
83
- this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, relationType);
84
+ this.setToBody(json_api_nestjs_shared_1.Operation.remove, entity, relationType, meta);
84
85
  }
85
86
  }
86
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":"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"}
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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"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
- tslib_1.__exportStar(require("./http-params"), exports);
5
- tslib_1.__exportStar(require("./generate-atomic-body"), exports);
6
- tslib_1.__exportStar(require("./entity-array"), exports);
7
- tslib_1.__exportStar(require("./utils"), exports);
8
- tslib_1.__exportStar(require("./adapter-for-axios"), exports);
4
+ tslib_1.__exportStar(require("./http-params.js"), exports);
5
+ tslib_1.__exportStar(require("./generate-atomic-body.js"), exports);
6
+ tslib_1.__exportStar(require("./entity-array.js"), exports);
7
+ tslib_1.__exportStar(require("./utils.js"), exports);
8
+ tslib_1.__exportStar(require("./adapter-for-axios.js"), exports);
9
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,wDAA8B;AAC9B,iEAAuC;AACvC,yDAA+B;AAC/B,kDAAwB;AACxB,8DAAoC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/index.ts"],"names":[],"mappings":";;;AAAA,2DAAiC;AACjC,oEAA0C;AAC1C,4DAAkC;AAClC,qDAA2B;AAC3B,iEAAuC"}
@@ -1,17 +1,56 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nullRef = nullRef;
4
+ exports.isNullRef = isNullRef;
5
+ exports.emptyArrayRef = emptyArrayRef;
6
+ exports.isEmptyArrayRef = isEmptyArrayRef;
3
7
  exports.isRelation = isRelation;
4
8
  exports.getTypeForReq = getTypeForReq;
5
9
  exports.resultConfig = resultConfig;
6
10
  const change_case_commonjs_1 = require("change-case-commonjs");
7
- const constants_1 = require("../constants");
11
+ const index_js_1 = require("../constants/index.js");
12
+ const NULL_REF = Symbol('null-ref');
13
+ const EMPTY_ARRAY_REF = Symbol('empty-array-ref');
14
+ /**
15
+ * Marker for null relationship.
16
+ * Returns null for TypeScript but object with Symbol marker for runtime.
17
+ */
18
+ function nullRef() {
19
+ return { [NULL_REF]: true };
20
+ }
21
+ /**
22
+ * Checks if value is a nullRef marker
23
+ */
24
+ function isNullRef(val) {
25
+ return val !== null && typeof val === 'object' && NULL_REF in val;
26
+ }
27
+ /**
28
+ * Marker for empty array relationship.
29
+ * Returns empty array for TypeScript but object with Symbol marker for runtime.
30
+ * Use this to explicitly clear all items from a to-many relationship.
31
+ */
32
+ function emptyArrayRef() {
33
+ return { [EMPTY_ARRAY_REF]: true };
34
+ }
35
+ /**
36
+ * Checks if value is an emptyArrayRef marker
37
+ */
38
+ function isEmptyArrayRef(val) {
39
+ return val !== null && typeof val === 'object' && EMPTY_ARRAY_REF in val;
40
+ }
8
41
  function isRelation(val) {
42
+ // nullRef is a special case - it's a relationship that should be null
43
+ if (isNullRef(val))
44
+ return true;
45
+ // emptyArrayRef is a special case - it's a to-many relationship that should be empty
46
+ if (isEmptyArrayRef(val))
47
+ return true;
9
48
  const result = !(val === null ||
10
49
  !val ||
11
50
  ['String', 'Boolean', 'Number', 'Date'].includes(val.constructor.name));
12
51
  if (!result)
13
52
  return result;
14
- return constants_1.ID_KEY in val;
53
+ return index_js_1.ID_KEY in val;
15
54
  }
16
55
  function getTypeForReq(str) {
17
56
  return (0, change_case_commonjs_1.kebabCase)(str).toLowerCase();
@@ -19,7 +58,7 @@ function getTypeForReq(str) {
19
58
  function resultConfig(partialConfig) {
20
59
  return {
21
60
  ...partialConfig,
22
- idKey: partialConfig.idKey ? partialConfig.idKey : constants_1.ID_KEY,
61
+ idKey: partialConfig.idKey ? partialConfig.idKey : index_js_1.ID_KEY,
23
62
  idIsNumber: partialConfig.idIsNumber === undefined
24
63
  ? true
25
64
  : !!partialConfig.idIsNumber,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/utils.ts"],"names":[],"mappings":";;AAKA,gCASC;AAED,sCAEC;AAED,oCAUC;AA9BD,+DAAiD;AAEjD,4CAAsC;AAGtC,SAAgB,UAAU,CAAC,GAAQ;IACjC,MAAM,MAAM,GAAG,CAAC,CACd,GAAG,KAAK,IAAI;QACZ,CAAC,GAAG;QACJ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,OAAO,kBAAM,IAAI,GAAG,CAAC;AACvB,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,IAAA,gCAAS,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,SAAgB,YAAY,CAAC,aAA4B;IACvD,OAAO;QACL,GAAG,aAAa;QAChB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAM;QACzD,UAAU,EACR,aAAa,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU;QAChC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-sdk/src/lib/utils/utils.ts"],"names":[],"mappings":";;AAYA,0BAEC;AAKD,8BAEC;AAOD,sCAEC;AAKD,0CAEC;AAED,gCAcC;AAED,sCAEC;AAED,oCAUC;AArED,+DAAiD;AAEjD,oDAA+C;AAG/C,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AACpC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAElD;;;GAGG;AACH,SAAgB,OAAO;IACrB,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAqB,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,SAAgB,SAAS,CAAC,GAAY;IACpC,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,QAAQ,IAAI,GAAG,CAAC;AACpE,CAAC;AAED;;;;GAIG;AACH,SAAgB,aAAa;IAC3B,OAAO,EAAE,CAAC,eAAe,CAAC,EAAE,IAAI,EAAoB,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,GAAY;IAC1C,OAAO,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,eAAe,IAAI,GAAG,CAAC;AAC3E,CAAC;AAED,SAAgB,UAAU,CAAC,GAAQ;IACjC,sEAAsE;IACtE,IAAI,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAChC,qFAAqF;IACrF,IAAI,eAAe,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAEtC,MAAM,MAAM,GAAG,CAAC,CACd,GAAG,KAAK,IAAI;QACZ,CAAC,GAAG;QACJ,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,CAAC;IAEF,IAAI,CAAC,MAAM;QAAE,OAAO,MAAM,CAAC;IAC3B,OAAO,iBAAM,IAAI,GAAG,CAAC;AACvB,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW;IACvC,OAAO,IAAA,gCAAS,EAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACtC,CAAC;AAED,SAAgB,YAAY,CAAC,aAA4B;IACvD,OAAO;QACL,GAAG,aAAa;QAChB,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAM;QACzD,UAAU,EACR,aAAa,CAAC,UAAU,KAAK,SAAS;YACpC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU;QAChC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE;KACrE,CAAC;AACJ,CAAC"}
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonApiSdkService = exports.JsonApiUtilsService = exports.getProviders = exports.JSON_API_SDK_CONFIG = exports.provideJsonApi = exports.AtomicFactory = exports.FilterOperand = void 0;
4
4
  var json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
5
5
  Object.defineProperty(exports, "FilterOperand", { enumerable: true, get: function () { return json_api_nestjs_shared_1.FilterOperand; } });
6
- var json_api_angular_1 = require("./lib/json-api-angular");
7
- Object.defineProperty(exports, "AtomicFactory", { enumerable: true, get: function () { return json_api_angular_1.AtomicFactory; } });
8
- Object.defineProperty(exports, "provideJsonApi", { enumerable: true, get: function () { return json_api_angular_1.provideJsonApi; } });
9
- Object.defineProperty(exports, "JSON_API_SDK_CONFIG", { enumerable: true, get: function () { return json_api_angular_1.JSON_API_SDK_CONFIG; } });
10
- Object.defineProperty(exports, "getProviders", { enumerable: true, get: function () { return json_api_angular_1.getProviders; } });
11
- var service_1 = require("./lib/service");
12
- Object.defineProperty(exports, "JsonApiUtilsService", { enumerable: true, get: function () { return service_1.JsonApiUtilsService; } });
13
- Object.defineProperty(exports, "JsonApiSdkService", { enumerable: true, get: function () { return service_1.JsonApiSdkService; } });
6
+ var json_api_angular_js_1 = require("./lib/json-api-angular.js");
7
+ Object.defineProperty(exports, "AtomicFactory", { enumerable: true, get: function () { return json_api_angular_js_1.AtomicFactory; } });
8
+ Object.defineProperty(exports, "provideJsonApi", { enumerable: true, get: function () { return json_api_angular_js_1.provideJsonApi; } });
9
+ Object.defineProperty(exports, "JSON_API_SDK_CONFIG", { enumerable: true, get: function () { return json_api_angular_js_1.JSON_API_SDK_CONFIG; } });
10
+ Object.defineProperty(exports, "getProviders", { enumerable: true, get: function () { return json_api_angular_js_1.getProviders; } });
11
+ var index_js_1 = require("./lib/service/index.js");
12
+ Object.defineProperty(exports, "JsonApiUtilsService", { enumerable: true, get: function () { return index_js_1.JsonApiUtilsService; } });
13
+ Object.defineProperty(exports, "JsonApiSdkService", { enumerable: true, get: function () { return index_js_1.JsonApiSdkService; } });
14
14
  //# sourceMappingURL=ngModule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ngModule.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"],"names":[],"mappings":";;;AAAA,0EAAgF;AAAvE,uHAAA,aAAa,OAAA;AAEtB,2DAKgC;AAJ9B,iHAAA,aAAa,OAAA;AACb,kHAAA,cAAc,OAAA;AACd,uHAAA,mBAAmB,OAAA;AACnB,gHAAA,YAAY,OAAA;AAEd,yCAAuE;AAA9D,8GAAA,mBAAmB,OAAA;AAAE,4GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"ngModule.js","sourceRoot":"","sources":["../../../../../../libs/json-api/json-api-nestjs-sdk/src/ngModule.ts"],"names":[],"mappings":";;;AAAA,0EAAgF;AAAvE,uHAAA,aAAa,OAAA;AAEtB,iEAOmC;AANjC,oHAAA,aAAa,OAAA;AACb,qHAAA,cAAc,OAAA;AACd,0HAAA,mBAAmB,OAAA;AACnB,mHAAA,YAAY,OAAA;AAId,mDAAgF;AAAvE,+GAAA,mBAAmB,OAAA;AAAE,6GAAA,iBAAiB,OAAA"}