@klerick/json-api-nestjs 10.0.0-beta.16 → 10.0.0-beta.18
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 +21 -0
- package/README.md +233 -21
- package/package.json +1 -1
- package/src/lib/constants/di.d.ts +1 -0
- package/src/lib/constants/di.js +2 -1
- package/src/lib/constants/di.js.map +1 -1
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js +4 -4
- package/src/lib/modules/atomic-operation/controllers/operation.controller.js.map +1 -1
- package/src/lib/modules/atomic-operation/pipes/input-operation.pipe.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/execute.service.d.ts +3 -3
- package/src/lib/modules/atomic-operation/service/execute.service.js +49 -33
- package/src/lib/modules/atomic-operation/service/execute.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/explorer.service.js +10 -6
- package/src/lib/modules/atomic-operation/service/explorer.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/service/swagger.service.js +4 -4
- package/src/lib/modules/atomic-operation/service/swagger.service.js.map +1 -1
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.d.ts +12 -5
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js +6 -3
- package/src/lib/modules/atomic-operation/utils/zod/zod-helper.js.map +1 -1
- package/src/lib/modules/mixin/config/bindings.js +20 -0
- package/src/lib/modules/mixin/config/bindings.js.map +1 -1
- package/src/lib/modules/mixin/controllers/json-base.controller.d.ts +5 -5
- package/src/lib/modules/mixin/controllers/json-base.controller.js +5 -5
- package/src/lib/modules/mixin/controllers/json-base.controller.js.map +1 -1
- package/src/lib/modules/mixin/factory/zod-validate.factory.d.ts +2 -1
- package/src/lib/modules/mixin/factory/zod-validate.factory.js +5 -1
- package/src/lib/modules/mixin/factory/zod-validate.factory.js.map +1 -1
- package/src/lib/modules/mixin/helpers/bind-controller.js +4 -1
- package/src/lib/modules/mixin/helpers/bind-controller.js.map +1 -1
- package/src/lib/modules/mixin/mixin.module.js +1 -0
- package/src/lib/modules/mixin/mixin.module.js.map +1 -1
- package/src/lib/modules/mixin/pipe/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/index.js +5 -0
- package/src/lib/modules/mixin/pipe/index.js.map +1 -1
- package/src/lib/modules/mixin/pipe/meta-extractor/index.d.ts +1 -0
- package/src/lib/modules/mixin/pipe/meta-extractor/index.js +5 -0
- package/src/lib/modules/mixin/pipe/meta-extractor/index.js.map +1 -0
- package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.d.ts +6 -0
- package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js +27 -0
- package/src/lib/modules/mixin/pipe/meta-extractor/meta-extractor.pipe.js.map +1 -0
- package/src/lib/modules/mixin/swagger/utils.js +1 -0
- package/src/lib/modules/mixin/swagger/utils.js.map +1 -1
- package/src/lib/modules/mixin/zod/index.d.ts +1 -1
- package/src/lib/modules/mixin/zod/index.js +4 -0
- package/src/lib/modules/mixin/zod/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.d.ts +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js +1 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-relationship-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.d.ts +3 -1
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js +1 -0
- package/src/lib/modules/mixin/zod/zod-input-patch-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.d.ts +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-relationship-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.d.ts +3 -1
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js +1 -0
- package/src/lib/modules/mixin/zod/zod-input-post-schema/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-share/index.d.ts +1 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js +1 -0
- package/src/lib/modules/mixin/zod/zod-share/index.js.map +1 -1
- package/src/lib/modules/mixin/zod/zod-share/meta.d.ts +11 -0
- package/src/lib/modules/mixin/zod/zod-share/meta.js +15 -0
- package/src/lib/modules/mixin/zod/zod-share/meta.js.map +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
## 10.0.0-beta.18 (2026-02-16)
|
|
2
|
+
|
|
3
|
+
### 🚀 Features
|
|
4
|
+
|
|
5
|
+
- **json-api-nestjs:** add support for `meta` object in various operations ([3c09413](https://github.com/klerick/nestjs-json-api/commit/3c09413))
|
|
6
|
+
|
|
7
|
+
### ❤️ Thank You
|
|
8
|
+
|
|
9
|
+
- Alex H
|
|
10
|
+
|
|
11
|
+
## 10.0.0-beta.17 (2026-02-11)
|
|
12
|
+
|
|
13
|
+
### 🩹 Fixes
|
|
14
|
+
|
|
15
|
+
- **json-api-nestjs:** replace `id` with `lid` in atomic operation references for JSON:API compliance ([579ed01](https://github.com/klerick/nestjs-json-api/commit/579ed01))
|
|
16
|
+
- **json-api-nestjs:** replace `tmpIds` with `lids` for improved clarity in atomic operation logic and related tests ([81e7da9](https://github.com/klerick/nestjs-json-api/commit/81e7da9))
|
|
17
|
+
|
|
18
|
+
### ❤️ Thank You
|
|
19
|
+
|
|
20
|
+
- Alex H
|
|
21
|
+
|
|
1
22
|
## 10.0.0-beta.16 (2026-02-05)
|
|
2
23
|
|
|
3
24
|
### 🚀 Features
|
package/README.md
CHANGED
|
@@ -435,30 +435,169 @@ With this option enabled, clients can include the `id` field in POST requests:
|
|
|
435
435
|
|
|
436
436
|
```
|
|
437
437
|
|
|
438
|
-
###
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
-
|
|
444
|
-
-
|
|
438
|
+
### Meta Support
|
|
439
|
+
|
|
440
|
+
The library supports the `meta` member in JSON:API requests and responses according to the [JSON:API specification](https://jsonapi.org/format/#document-meta). Meta allows passing additional non-standard information that doesn't belong to resource attributes.
|
|
441
|
+
|
|
442
|
+
**Use cases:**
|
|
443
|
+
- Request tracking (correlation IDs, client versions, timestamps)
|
|
444
|
+
- Business logic metadata (import source, batch IDs, priority levels)
|
|
445
|
+
- Audit information (user context, operation reason)
|
|
446
|
+
|
|
447
|
+
#### Meta in Regular Operations
|
|
448
|
+
|
|
449
|
+
Meta is supported in POST, PATCH, and relationship operations:
|
|
450
|
+
|
|
451
|
+
**POST Request with Meta:**
|
|
452
|
+
```json
|
|
453
|
+
POST /users
|
|
454
|
+
{
|
|
455
|
+
"data": {
|
|
456
|
+
"type": "users",
|
|
457
|
+
"attributes": {
|
|
458
|
+
"login": "johndoe",
|
|
459
|
+
"firstName": "John"
|
|
460
|
+
}
|
|
461
|
+
},
|
|
462
|
+
"meta": {
|
|
463
|
+
"source": "mobile-app",
|
|
464
|
+
"version": "1.0.2",
|
|
465
|
+
"correlationId": "abc-123"
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
**PATCH Request with Meta:**
|
|
471
|
+
```json
|
|
472
|
+
PATCH /users/1
|
|
473
|
+
{
|
|
474
|
+
"data": {
|
|
475
|
+
"id": "1",
|
|
476
|
+
"type": "users",
|
|
477
|
+
"attributes": {
|
|
478
|
+
"firstName": "Jane"
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
"meta": {
|
|
482
|
+
"reason": "name-change-request",
|
|
483
|
+
"approvedBy": "admin"
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
```
|
|
445
487
|
|
|
446
|
-
|
|
488
|
+
**Relationship Operations with Meta:**
|
|
447
489
|
```json
|
|
490
|
+
POST /users/1/relationships/roles
|
|
491
|
+
{
|
|
492
|
+
"data": [
|
|
493
|
+
{ "type": "roles", "id": "2" }
|
|
494
|
+
],
|
|
495
|
+
"meta": {
|
|
496
|
+
"assignedBy": "admin",
|
|
497
|
+
"expiresAt": "2024-12-31"
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
**Note:** DELETE operations do not support meta as per JSON:API specification.
|
|
503
|
+
|
|
504
|
+
#### Accessing Meta in Controllers
|
|
505
|
+
|
|
506
|
+
Meta is automatically extracted and passed as a parameter to controller methods:
|
|
507
|
+
|
|
508
|
+
```typescript
|
|
509
|
+
import { JsonApi, JsonBaseController } from '@klerick/json-api-nestjs';
|
|
510
|
+
import { Body } from '@nestjs/common';
|
|
511
|
+
|
|
512
|
+
@JsonApi(Users)
|
|
513
|
+
export class UsersController extends JsonBaseController<Users> {
|
|
514
|
+
override async postOne(
|
|
515
|
+
@Body() inputData: PostData<Users>,
|
|
516
|
+
@Body() meta: Record<string, unknown>
|
|
517
|
+
) {
|
|
518
|
+
// Access meta fields
|
|
519
|
+
console.log('Source:', meta.source);
|
|
520
|
+
console.log('Correlation ID:', meta.correlationId);
|
|
521
|
+
|
|
522
|
+
// Return response with meta
|
|
523
|
+
const response = await super.postOne(inputData);
|
|
524
|
+
return {
|
|
525
|
+
...response,
|
|
526
|
+
meta: {
|
|
527
|
+
...meta,
|
|
528
|
+
processedAt: Date.now(),
|
|
529
|
+
processedBy: 'server'
|
|
530
|
+
}
|
|
531
|
+
};
|
|
532
|
+
}
|
|
533
|
+
}
|
|
534
|
+
```
|
|
535
|
+
|
|
536
|
+
#### Custom Meta Validation
|
|
537
|
+
|
|
538
|
+
You can add custom validation for meta using NestJS pipes:
|
|
539
|
+
|
|
540
|
+
```typescript
|
|
541
|
+
import { PipeTransform, BadRequestException } from '@nestjs/common';
|
|
542
|
+
import { z } from 'zod';
|
|
543
|
+
|
|
544
|
+
// Define meta schema
|
|
545
|
+
const CustomMetaSchema = z.object({
|
|
546
|
+
source: z.string(),
|
|
547
|
+
version: z.string().regex(/^\d+\.\d+\.\d+$/),
|
|
548
|
+
correlationId: z.string().uuid().optional()
|
|
549
|
+
});
|
|
550
|
+
|
|
551
|
+
type CustomMeta = z.infer<typeof CustomMetaSchema>;
|
|
552
|
+
|
|
553
|
+
// Custom validation pipe
|
|
554
|
+
export class MetaValidationPipe implements PipeTransform<unknown, CustomMeta> {
|
|
555
|
+
transform(value: unknown): CustomMeta {
|
|
556
|
+
try {
|
|
557
|
+
return CustomMetaSchema.parse(value);
|
|
558
|
+
} catch (e) {
|
|
559
|
+
throw new BadRequestException('Invalid meta format');
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
}
|
|
563
|
+
|
|
564
|
+
// Use in controller
|
|
565
|
+
@JsonApi(Users)
|
|
566
|
+
export class UsersController extends JsonBaseController<Users> {
|
|
567
|
+
override async postOne(
|
|
568
|
+
@Body() inputData: PostData<Users>,
|
|
569
|
+
@Body(MetaValidationPipe) meta: CustomMeta
|
|
570
|
+
) {
|
|
571
|
+
// meta is now validated and typed
|
|
572
|
+
console.log(meta.version); // TypeScript knows this exists
|
|
573
|
+
return super.postOne(inputData);
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
### Atomic Operations
|
|
579
|
+
|
|
580
|
+
The library implements the [JSON:API Atomic Operations Extension](https://jsonapi.org/ext/atomic/), allowing you to execute multiple operations in a single HTTP request with transaction support.
|
|
581
|
+
|
|
582
|
+
**Use case:** Create multiple related resources in one atomic request instead of multiple sequential HTTP requests.
|
|
448
583
|
|
|
584
|
+
Example: Create a new **Role**, create a new **User**, and assign the role to the user - all in one request instead of three separate requests.
|
|
585
|
+
|
|
586
|
+
**Request Example:**
|
|
587
|
+
```json
|
|
449
588
|
{
|
|
450
589
|
"atomic:operations":[
|
|
451
590
|
{
|
|
452
591
|
"op":"add",
|
|
453
592
|
"ref":{
|
|
454
593
|
"type":"roles",
|
|
455
|
-
"
|
|
594
|
+
"lid":10000
|
|
456
595
|
},
|
|
457
596
|
"data":{
|
|
458
597
|
"type":"roles",
|
|
459
598
|
"attributes":{
|
|
460
|
-
"name":"
|
|
461
|
-
"key":"
|
|
599
|
+
"name":"admin",
|
|
600
|
+
"key":"admin_role"
|
|
462
601
|
}
|
|
463
602
|
}
|
|
464
603
|
},
|
|
@@ -470,27 +609,100 @@ but [Atomic operation](https://jsonapi.org/ext/atomic/) allow for one request.
|
|
|
470
609
|
"data":{
|
|
471
610
|
"type":"users",
|
|
472
611
|
"attributes":{
|
|
473
|
-
"login":"
|
|
612
|
+
"login":"johndoe",
|
|
613
|
+
"firstName":"John",
|
|
614
|
+
"lastName":"Doe"
|
|
474
615
|
},
|
|
475
616
|
"relationships":{
|
|
476
617
|
"addresses":{
|
|
477
|
-
"
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
"roles":[
|
|
481
|
-
{
|
|
482
|
-
"type":"roles",
|
|
483
|
-
"id":"10000"
|
|
618
|
+
"data":{
|
|
619
|
+
"type":"addresses",
|
|
620
|
+
"id":"1"
|
|
484
621
|
}
|
|
485
|
-
|
|
622
|
+
},
|
|
623
|
+
"roles":{
|
|
624
|
+
"data":[
|
|
625
|
+
{
|
|
626
|
+
"type":"roles",
|
|
627
|
+
"id":"10000"
|
|
628
|
+
}
|
|
629
|
+
]
|
|
630
|
+
}
|
|
486
631
|
}
|
|
487
632
|
}
|
|
488
633
|
}
|
|
489
634
|
]
|
|
490
635
|
}
|
|
636
|
+
```
|
|
637
|
+
|
|
638
|
+
**Local Identifiers (lid):**
|
|
639
|
+
- The `lid` (local identifier) parameter allows referencing resources created within the same atomic request
|
|
640
|
+
- Must be unique across all operations in the request
|
|
641
|
+
- Used in the `ref.lid` field for the operation creating the resource
|
|
642
|
+
- Referenced in `relationships.{relation}.data.id` to establish relationships
|
|
643
|
+
- Automatically replaced with real database IDs by the server
|
|
644
|
+
|
|
645
|
+
**Meta Support in Atomic Operations:**
|
|
646
|
+
|
|
647
|
+
Each operation can include a `meta` object for additional metadata:
|
|
648
|
+
|
|
649
|
+
```json
|
|
650
|
+
{
|
|
651
|
+
"atomic:operations": [
|
|
652
|
+
{
|
|
653
|
+
"op": "add",
|
|
654
|
+
"ref": { "type": "users", "lid": 1000 },
|
|
655
|
+
"data": {
|
|
656
|
+
"type": "users",
|
|
657
|
+
"attributes": { "login": "john" }
|
|
658
|
+
},
|
|
659
|
+
"meta": {
|
|
660
|
+
"source": "bulk-import",
|
|
661
|
+
"batchId": "batch-123",
|
|
662
|
+
"priority": "high"
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
{
|
|
666
|
+
"op": "update",
|
|
667
|
+
"ref": { "type": "users", "id": "5" },
|
|
668
|
+
"data": {
|
|
669
|
+
"type": "users",
|
|
670
|
+
"attributes": { "isActive": false }
|
|
671
|
+
},
|
|
672
|
+
"meta": {
|
|
673
|
+
"reason": "account-suspension",
|
|
674
|
+
"requestedBy": "admin"
|
|
675
|
+
}
|
|
676
|
+
}
|
|
677
|
+
]
|
|
678
|
+
}
|
|
679
|
+
```
|
|
680
|
+
|
|
681
|
+
Meta is passed to controller methods just like in regular operations, allowing you to:
|
|
682
|
+
- Track operation context
|
|
683
|
+
- Apply business logic based on metadata
|
|
684
|
+
- Include metadata in response
|
|
491
685
|
|
|
686
|
+
**Supported Operations:**
|
|
687
|
+
- `add` - Create a new resource (equivalent to POST)
|
|
688
|
+
- `update` - Update an existing resource (equivalent to PATCH)
|
|
689
|
+
- `remove` - Delete a resource (equivalent to DELETE)
|
|
690
|
+
|
|
691
|
+
**Transaction Guarantees:**
|
|
692
|
+
All operations in an atomic request execute within a single database transaction:
|
|
693
|
+
- If all operations succeed → transaction commits
|
|
694
|
+
- If any operation fails → entire transaction rolls back (no partial changes)
|
|
695
|
+
|
|
696
|
+
**Configuration:**
|
|
697
|
+
```typescript
|
|
698
|
+
JsonApiModule.forRoot(TypeOrmJsonApiModule, {
|
|
699
|
+
entities: [Users, Roles],
|
|
700
|
+
options: {
|
|
701
|
+
operationUrl: 'operation', // Default endpoint: POST /operation
|
|
702
|
+
allowSetId: true, // Allow clients to set IDs (useful for UUIDs)
|
|
703
|
+
}
|
|
704
|
+
})
|
|
492
705
|
```
|
|
493
|
-
**tmpId** - is params for operation **add**, should be unique for all operations.
|
|
494
706
|
|
|
495
707
|
If you have Interceptor you can check call it from **AtomicOperation**
|
|
496
708
|
|
package/package.json
CHANGED
|
@@ -9,6 +9,7 @@ export declare const ZOD_POST_SCHEMA: unique symbol;
|
|
|
9
9
|
export declare const ZOD_PATCH_SCHEMA: unique symbol;
|
|
10
10
|
export declare const ZOD_POST_RELATIONSHIP_SCHEMA: unique symbol;
|
|
11
11
|
export declare const ZOD_PATCH_RELATIONSHIP_SCHEMA: unique symbol;
|
|
12
|
+
export declare const ZOD_META_SCHEMA: unique symbol;
|
|
12
13
|
export declare const FIND_ONE_ROW_ENTITY: unique symbol;
|
|
13
14
|
export declare const CHECK_RELATION_NAME: unique symbol;
|
|
14
15
|
export declare const RUN_IN_TRANSACTION_FUNCTION: unique symbol;
|
package/src/lib/constants/di.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RUN_IN_TRANSACTION_FUNCTION = exports.CHECK_RELATION_NAME = exports.FIND_ONE_ROW_ENTITY = exports.ZOD_PATCH_RELATIONSHIP_SCHEMA = exports.ZOD_POST_RELATIONSHIP_SCHEMA = exports.ZOD_PATCH_SCHEMA = exports.ZOD_POST_SCHEMA = exports.ZOD_QUERY_SCHEMA = exports.ZOD_INPUT_QUERY_SCHEMA = exports.ENTITY_PARAM_MAP = exports.CURRENT_ENTITY = exports.CONTROLLER_OPTIONS_TOKEN = exports.MODULE_OPTIONS_TOKEN = exports.ORM_SERVICE = void 0;
|
|
3
|
+
exports.RUN_IN_TRANSACTION_FUNCTION = exports.CHECK_RELATION_NAME = exports.FIND_ONE_ROW_ENTITY = exports.ZOD_META_SCHEMA = exports.ZOD_PATCH_RELATIONSHIP_SCHEMA = exports.ZOD_POST_RELATIONSHIP_SCHEMA = exports.ZOD_PATCH_SCHEMA = exports.ZOD_POST_SCHEMA = exports.ZOD_QUERY_SCHEMA = exports.ZOD_INPUT_QUERY_SCHEMA = exports.ENTITY_PARAM_MAP = exports.CURRENT_ENTITY = exports.CONTROLLER_OPTIONS_TOKEN = exports.MODULE_OPTIONS_TOKEN = exports.ORM_SERVICE = void 0;
|
|
4
4
|
exports.ORM_SERVICE = Symbol('ORM_SERVICE');
|
|
5
5
|
exports.MODULE_OPTIONS_TOKEN = Symbol('MODULE_OPTIONS_TOKEN');
|
|
6
6
|
exports.CONTROLLER_OPTIONS_TOKEN = Symbol('CONTROLLER_OPTIONS_TOKEN');
|
|
@@ -12,6 +12,7 @@ exports.ZOD_POST_SCHEMA = Symbol('ZOD_POST_SCHEMA');
|
|
|
12
12
|
exports.ZOD_PATCH_SCHEMA = Symbol('ZOD_PATCH_SCHEMA');
|
|
13
13
|
exports.ZOD_POST_RELATIONSHIP_SCHEMA = Symbol('ZOD_POST_RELATIONSHIP_SCHEMA');
|
|
14
14
|
exports.ZOD_PATCH_RELATIONSHIP_SCHEMA = Symbol('ZOD_PATCH_RELATIONSHIP_SCHEMA');
|
|
15
|
+
exports.ZOD_META_SCHEMA = Symbol('ZOD_META_SCHEMA');
|
|
15
16
|
exports.FIND_ONE_ROW_ENTITY = Symbol('FIND_ONE_ROW_ENTITY');
|
|
16
17
|
exports.CHECK_RELATION_NAME = Symbol('CHECK_RELATION_NAME');
|
|
17
18
|
exports.RUN_IN_TRANSACTION_FUNCTION = Symbol('RUN_IN_TRANSACTION_FUNCTION');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"di.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/constants/di.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpC,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAE9D,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC1C,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9C,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC1D,QAAA,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC5C,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9C,QAAA,4BAA4B,GAAG,MAAM,CAChD,8BAA8B,CAC/B,CAAC;AACW,QAAA,6BAA6B,GAAG,MAAM,CACjD,+BAA+B,CAChC,CAAC;
|
|
1
|
+
{"version":3,"file":"di.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs/src/lib/constants/di.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAEpC,QAAA,oBAAoB,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;AACtD,QAAA,wBAAwB,GAAG,MAAM,CAAC,0BAA0B,CAAC,CAAC;AAE9D,QAAA,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,CAAC;AAC1C,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAE9C,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAC1D,QAAA,gBAAgB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACpD,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAC5C,QAAA,gBAAgB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAC9C,QAAA,4BAA4B,GAAG,MAAM,CAChD,8BAA8B,CAC/B,CAAC;AACW,QAAA,6BAA6B,GAAG,MAAM,CACjD,+BAA+B,CAChC,CAAC;AACW,QAAA,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;AAE5C,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACpD,QAAA,mBAAmB,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACpD,QAAA,2BAA2B,GAAG,MAAM,CAC/C,6BAA6B,CAC9B,CAAC"}
|
|
@@ -59,15 +59,15 @@ let OperationController = class OperationController {
|
|
|
59
59
|
});
|
|
60
60
|
i++;
|
|
61
61
|
}
|
|
62
|
-
const
|
|
62
|
+
const lids = [];
|
|
63
63
|
for (const item of inputOperationData) {
|
|
64
64
|
if (item.op !== 'add')
|
|
65
65
|
continue;
|
|
66
|
-
if (!item.ref.
|
|
66
|
+
if (!item.ref.lid)
|
|
67
67
|
continue;
|
|
68
|
-
|
|
68
|
+
lids.push(item.ref.lid);
|
|
69
69
|
}
|
|
70
|
-
const result = await this.executeService.run(paramForCall,
|
|
70
|
+
const result = await this.executeService.run(paramForCall, lids);
|
|
71
71
|
return {
|
|
72
72
|
[json_api_nestjs_shared_1.KEY_MAIN_OUTPUT_SCHEMA]: result.map((i) => ({
|
|
73
73
|
data: i.data,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operation.controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/controllers/operation.controller.ts"],"names":[],"mappings":";;;;AAAA,2CAQwB;AAExB,4EAGyC;AAEzC,wEAAmE;AACnE,wCAA6D;AAMtD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACY,eAAe,CAAmB;IACnC,cAAc,CAAkB;IAGnE,AAAN,KAAK,CAAC,KAAK,CAA2B,kBAA8B;QAClE,MAAM,YAAY,GAAuB,EAAE,CAAC;QAC5C,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,EACJ,GAAG,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,EAC/B,EAAE,GACH,GAAG,SAAS,CAAC;YAEd,IAAI,UAA4C,CAAC;YACjD,IAAI,UAAoC,CAAC;YACzC,IAAI,MAAc,CAAC;YACnB,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACpE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAuB;oBAChC,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,aAAa,IAAI,kBAAkB;oBAC5C,IAAI,EAAE,CAAC,8CAAqB,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;iBACrD,CAAC;gBACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,IAAI,CAAC;gBACH,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,oBAAoB,CACpD,EAAE,EACF,EAAE,EACF,YAAY,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAuB;oBAChC,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,cAAc,EAAE,eAAe;oBACxC,IAAI,EAAE,CAAC,8CAAqB,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC;iBAC5C,CAAC;gBACF,MAAM,IAAI,kCAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,kBAAkB,CACpD,UAAU,EACV,SAAS,CACH,CAAC;YAET,IAAI,CAAC;gBACH,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;YACnE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,KAAK,GAAuB;oBAChC,IAAI,EAAE,mBAAmB;oBACzB,OAAO,EAAE,aAAa,IAAI,kBAAkB;oBAC5C,IAAI,EAAE,CAAC,8CAAqB,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC;iBACrD,CAAC;gBACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACvC,CAAC;YAED,YAAY,CAAC,IAAI,CAAC;gBAChB,UAAU;gBACV,UAAU;gBACV,MAAM;gBACN,MAAM;aACP,CAAC,CAAC;YAEH,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,
|
|
1
|
+
{"version":3,"file":"operation.controller.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/controllers/operation.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-operation.pipe.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/pipes/input-operation.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,4EAAwE;AACxE,6BAA+B;AAG/B,4CAAmD;AAEnD,MAAa,kBAAkB;IAIrB,iBAAiB,CAA0B;IAEnD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,8CAAqB,
|
|
1
|
+
{"version":3,"file":"input-operation.pipe.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/pipes/input-operation.pipe.ts"],"names":[],"mappings":";;;;AAAA,2CAKwB;AACxB,4EAAwE;AACxE,6BAA+B;AAG/B,4CAAmD;AAEnD,MAAa,kBAAkB;IAIrB,iBAAiB,CAA0B;IAEnD,SAAS,CAAC,KAAgB;QACxB,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,8CAAqB,CAAe,CAAC;QAClF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,cAAQ,EAAE,CAAC;gBAC1B,MAAM,IAAI,4BAAmB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;YAED,MAAM,IAAI,qCAA4B,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;CACF;AAjBD,gDAiBC;AAbS;IADP,IAAA,eAAM,EAAC,+BAAmB,CAAC;;6DACuB"}
|
|
@@ -19,11 +19,11 @@ export declare class ExecuteService {
|
|
|
19
19
|
get guardsContextCreator(): GuardsContextCreator;
|
|
20
20
|
private interceptorsConsumer;
|
|
21
21
|
private guardsConsumer;
|
|
22
|
-
run(params: ParamsForExecute[],
|
|
23
|
-
protected executeOperations(params: ParamsForExecute[],
|
|
22
|
+
run(params: ParamsForExecute[], lids: (string | number)[]): Promise<(ResourceObject<object> | ResourceObjectRelationships<object, string, never>)[]>;
|
|
23
|
+
protected executeOperations(params: ParamsForExecute[], lids?: (string | number)[]): Promise<(ResourceObject<object> | ResourceObjectRelationships<object, string, never>)[]>;
|
|
24
24
|
private getCanActivateFn;
|
|
25
25
|
private getInterceptorsArray;
|
|
26
|
-
|
|
26
|
+
replaceLids<T extends ParamsForExecute['params']>(inputParams: T, lidsMap: Record<string | number, string | number>): T;
|
|
27
27
|
private getControllerInstance;
|
|
28
28
|
private processException;
|
|
29
29
|
private runOneOperation;
|
|
@@ -46,28 +46,36 @@ let ExecuteService = class ExecuteService {
|
|
|
46
46
|
}
|
|
47
47
|
interceptorsConsumer = new interceptors_1.InterceptorsConsumer();
|
|
48
48
|
guardsConsumer = new guards_1.GuardsConsumer();
|
|
49
|
-
async run(params,
|
|
50
|
-
return this.runInTransaction(() => this.executeOperations(params,
|
|
49
|
+
async run(params, lids) {
|
|
50
|
+
return this.runInTransaction(() => this.executeOperations(params, lids));
|
|
51
51
|
}
|
|
52
|
-
async executeOperations(params,
|
|
52
|
+
async executeOperations(params, lids = []) {
|
|
53
53
|
const iterateParams = this.asyncIteratorFactory.createIterator(params, this.runOneOperation.bind(this));
|
|
54
54
|
const resultArray = [];
|
|
55
55
|
let i = 0;
|
|
56
|
-
|
|
56
|
+
let addOperationIndex = 0;
|
|
57
|
+
const lidsMap = {};
|
|
57
58
|
try {
|
|
58
59
|
for await (const item of iterateParams) {
|
|
59
60
|
const currentParams = params[i];
|
|
60
61
|
const controller = this.getControllerInstance(currentParams);
|
|
61
62
|
const methodName = currentParams.methodName;
|
|
62
63
|
const paramsForExecute = item;
|
|
63
|
-
const itemReplace = this.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
64
|
+
const itemReplace = this.replaceLids(paramsForExecute, lidsMap);
|
|
65
|
+
let currentLid = undefined;
|
|
66
|
+
if (methodName === 'postOne') {
|
|
67
|
+
currentLid = lids[addOperationIndex];
|
|
68
|
+
addOperationIndex++;
|
|
69
|
+
}
|
|
70
|
+
if (methodName === 'postOne' && currentLid) {
|
|
71
|
+
for (const param of itemReplace) {
|
|
72
|
+
if (param &&
|
|
73
|
+
typeof param === 'object' &&
|
|
74
|
+
!Array.isArray(param) &&
|
|
75
|
+
'attributes' in param) {
|
|
76
|
+
param['id'] = `${currentLid}`;
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
80
|
}
|
|
73
81
|
const guarFunction = this.getCanActivateFn(controller, controller[methodName], currentParams.module);
|
|
@@ -86,8 +94,8 @@ let ExecuteService = class ExecuteService {
|
|
|
86
94
|
const result = interceptors.length === 0
|
|
87
95
|
? await result$
|
|
88
96
|
: await (0, rxjs_1.lastValueFrom)(result$);
|
|
89
|
-
if (
|
|
90
|
-
|
|
97
|
+
if (currentLid && result && !Array.isArray(result.data) && result.data) {
|
|
98
|
+
lidsMap[currentLid] = result.data.id;
|
|
91
99
|
}
|
|
92
100
|
if (result instanceof Object) {
|
|
93
101
|
resultArray.push(result);
|
|
@@ -126,21 +134,26 @@ let ExecuteService = class ExecuteService {
|
|
|
126
134
|
controllerFromMap.set(callback, resultInterceptors);
|
|
127
135
|
return resultInterceptors;
|
|
128
136
|
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
137
|
+
replaceLids(inputParams, lidsMap) {
|
|
138
|
+
// Find the parameter that contains relationships (data object)
|
|
139
|
+
// For postOne: [data, meta] - index 0
|
|
140
|
+
// For patchOne: [id, data, meta] - index 1
|
|
141
|
+
// For relationship methods: [id, relName, data, meta] - index 2
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
143
|
+
let bodyInput;
|
|
144
|
+
let bodyIndex = -1;
|
|
145
|
+
for (let i = 0; i < inputParams.length; i++) {
|
|
146
|
+
const param = inputParams[i];
|
|
147
|
+
if (param &&
|
|
148
|
+
typeof param === 'object' &&
|
|
149
|
+
!Array.isArray(param) &&
|
|
150
|
+
'relationships' in param) {
|
|
151
|
+
bodyInput = param;
|
|
152
|
+
bodyIndex = i;
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
142
155
|
}
|
|
143
|
-
if (!
|
|
156
|
+
if (!bodyInput || bodyIndex === -1) {
|
|
144
157
|
return inputParams;
|
|
145
158
|
}
|
|
146
159
|
const { relationships } = bodyInput;
|
|
@@ -158,7 +171,7 @@ let ExecuteService = class ExecuteService {
|
|
|
158
171
|
return i;
|
|
159
172
|
return {
|
|
160
173
|
...i,
|
|
161
|
-
id:
|
|
174
|
+
id: lidsMap[i['id']] ? `${lidsMap[i['id']]}` : i['id'],
|
|
162
175
|
};
|
|
163
176
|
}),
|
|
164
177
|
};
|
|
@@ -168,8 +181,8 @@ let ExecuteService = class ExecuteService {
|
|
|
168
181
|
acum[name] = val;
|
|
169
182
|
}
|
|
170
183
|
else {
|
|
171
|
-
data['id'] =
|
|
172
|
-
? `${
|
|
184
|
+
data['id'] = lidsMap[data['id']]
|
|
185
|
+
? `${lidsMap[data['id']]}`
|
|
173
186
|
: data['id'];
|
|
174
187
|
acum[name] = {
|
|
175
188
|
data,
|
|
@@ -178,7 +191,7 @@ let ExecuteService = class ExecuteService {
|
|
|
178
191
|
}
|
|
179
192
|
return acum;
|
|
180
193
|
}, { ...relationships });
|
|
181
|
-
inputParams[
|
|
194
|
+
inputParams[bodyIndex] = bodyInput;
|
|
182
195
|
return inputParams;
|
|
183
196
|
}
|
|
184
197
|
getControllerInstance(params) {
|
|
@@ -203,7 +216,7 @@ let ExecuteService = class ExecuteService {
|
|
|
203
216
|
return m;
|
|
204
217
|
});
|
|
205
218
|
}
|
|
206
|
-
throw new common_1.HttpException(response, e.getStatus());
|
|
219
|
+
throw new common_1.HttpException(response, e.getStatus(), { cause: e });
|
|
207
220
|
}
|
|
208
221
|
const formatError = this.errorFormatService.formatError(e);
|
|
209
222
|
if (formatError instanceof common_1.InternalServerErrorException) {
|
|
@@ -239,6 +252,9 @@ let ExecuteService = class ExecuteService {
|
|
|
239
252
|
return modifiedParams;
|
|
240
253
|
}
|
|
241
254
|
getPipeInstance(pipe, module) {
|
|
255
|
+
if (typeof pipe !== 'function' && 'transform' in pipe) {
|
|
256
|
+
return pipe;
|
|
257
|
+
}
|
|
242
258
|
const instanceWrapper = module.getProviderByKey(pipe);
|
|
243
259
|
if (!instanceWrapper) {
|
|
244
260
|
return this.moduleRef.get(pipe, { strict: false });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/service/execute.service.ts"],"names":[],"mappings":";;;AA+CA,gCASC;;AAxDD,2CASwB;AACxB,wDAGkC;AAGlC,uCAA2E;AAC3E,4EAKyC;AACzC,4DAGmC;AACnC,gDAI6B;AAE7B,+BAAqC;AACrC,6CAAgD;AAGhD,4CAGsB;AAItB,kDAAiE;AACjE,iDAAyD;AAEzD,SAAgB,UAAU,CACxB,KAAuB;IAEvB,OAAO,CACL,KAAK,YAAY,MAAM;QACvB,SAAS,IAAI,KAAK;QAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAGM,IAAM,cAAc,GAApB,MAAM,cAAc;IACW,SAAS,CAI3C;IACsC,oBAAoB,CAE1D;IAEM,gBAAgB,CAEtB;IAEM,wBAAwB,CAA4B;IAEzB,iBAAiB,CAA0B;IAC1C,kBAAkB,CAAsB;IAEpE,2BAA2B,CAA8B;IACzD,qBAAqB,CAAwB;IAErD,IAAI,0BAA0B;QAC5B,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACtC,IAAI,CAAC,2BAA2B,GAAG,IAAI,yCAA0B,CAC/D,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAED,IAAI,oBAAoB;QACtB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,6BAAoB,CACnD,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEO,oBAAoB,GAAG,IAAI,mCAAoB,EAAE,CAAC;IAClD,cAAc,GAAG,IAAI,uBAAc,EAAE,CAAC;IAE9C,KAAK,CAAC,GAAG,CAAC,MAA0B,EAAE,
|
|
1
|
+
{"version":3,"file":"execute.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/json-api/json-api-nestjs/src/lib/modules/atomic-operation/service/execute.service.ts"],"names":[],"mappings":";;;AA+CA,gCASC;;AAxDD,2CASwB;AACxB,wDAGkC;AAGlC,uCAA2E;AAC3E,4EAKyC;AACzC,4DAGmC;AACnC,gDAI6B;AAE7B,+BAAqC;AACrC,6CAAgD;AAGhD,4CAGsB;AAItB,kDAAiE;AACjE,iDAAyD;AAEzD,SAAgB,UAAU,CACxB,KAAuB;IAEvB,OAAO,CACL,KAAK,YAAY,MAAM;QACvB,SAAS,IAAI,KAAK;QAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAGM,IAAM,cAAc,GAApB,MAAM,cAAc;IACW,SAAS,CAI3C;IACsC,oBAAoB,CAE1D;IAEM,gBAAgB,CAEtB;IAEM,wBAAwB,CAA4B;IAEzB,iBAAiB,CAA0B;IAC1C,kBAAkB,CAAsB;IAEpE,2BAA2B,CAA8B;IACzD,qBAAqB,CAAwB;IAErD,IAAI,0BAA0B;QAC5B,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACtC,IAAI,CAAC,2BAA2B,GAAG,IAAI,yCAA0B,CAC/D,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,2BAA2B,CAAC;IAC1C,CAAC;IAED,IAAI,oBAAoB;QACtB,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,IAAI,CAAC,qBAAqB,GAAG,IAAI,6BAAoB,CACnD,IAAI,CAAC,SAAS,CAAC,SAAS,EACxB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CACjC,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAEO,oBAAoB,GAAG,IAAI,mCAAoB,EAAE,CAAC;IAClD,cAAc,GAAG,IAAI,uBAAc,EAAE,CAAC;IAE9C,KAAK,CAAC,GAAG,CAAC,MAA0B,EAAE,IAAyB;QAC7D,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3E,CAAC;IAES,KAAK,CAAC,iBAAiB,CAC/B,MAA0B,EAC1B,OAA4B,EAAE;QAE9B,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAC5D,MAAuD,EACvD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAsC,CACrE,CAAC;QAEF,MAAM,WAAW,GAGb,EAAE,CAAC;QACP,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,IAAI,iBAAiB,GAAG,CAAC,CAAC;QAC1B,MAAM,OAAO,GAA6C,EAAE,CAAC;QAC7D,IAAI,CAAC;YACH,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACvC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAChC,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;gBAC7D,MAAM,UAAU,GACd,aAAa,CAAC,UAAkD,CAAC;gBAEnE,MAAM,gBAAgB,GAAG,IAA6C,CAAC;gBAEvE,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;gBAEhE,IAAI,UAAU,GAAgC,SAAS,CAAC;gBACxD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC7B,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC;oBACrC,iBAAiB,EAAE,CAAC;gBACtB,CAAC;gBAED,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,EAAE,CAAC;oBAC3C,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;wBAChC,IACE,KAAK;4BACL,OAAO,KAAK,KAAK,QAAQ;4BACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;4BACrB,YAAY,IAAI,KAAK,EACrB,CAAC;4BACD,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;4BAC9B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CACxC,UAAU,EACV,UAAU,CAAC,UAAU,CAAC,EACtB,aAAa,CAAC,MAAM,CACrB,CAAC;gBAEF,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,YAAY,CAChB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CACvD,CAAC;gBACJ,CAAC;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC5C,UAAU,EACV,UAAU,CAAC,UAAU,CAAC,EACtB,aAAa,CAAC,MAAM,CACrB,CAAC;gBAEF,MAAM,OAAO,GAAQ,MAAM,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAC5D,YAAY,EACZ;oBACE,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;oBACzD,WAAW;iBACZ,EACD,UAAU;gBACV,mCAAmC;gBACnC,UAAU,CAAC,UAAU,CAAC;gBACtB,mCAAmC;gBACnC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,GAAG,WAAW,CAAC,CACnD,CAAC;gBAEF,MAAM,MAAM,GACV,YAAY,CAAC,MAAM,KAAK,CAAC;oBACvB,CAAC,CAAC,MAAM,OAAO;oBACf,CAAC,CAAC,MAAM,IAAA,oBAAa,EAAC,OAAO,CAAC,CAAC;gBAEnC,IAAI,UAAU,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACvE,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,CAAC;gBAED,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3B,CAAC;gBACD,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,gBAAgB,CACtB,UAAsB,EACtB,QAA8B,EAC9B,MAAkC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAC7C,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,KAAK,CACb,CAAC;QAEF,MAAM,aAAa,GAAG,KAAK,EAAE,IAAW,EAAE,EAAE;YAC1C,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CACvD,MAAM,EACN,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,MAAM,CACP,CAAC;YACF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,2BAAkB,CAAC,0BAAiB,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC;IAEO,oBAAoB,CAC1B,UAAsB,EACtB,QAA8B,EAC9B,MAAkC;QAElC,IAAI,iBAAiB,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,GAAG,EAAE,CAAC;YAC9B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5D,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,mBAAmB,CAAC;QAC7B,CAAC;QAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,0BAA0B,CAAC,MAAM,CACtE,UAAU,EACV,QAAQ,EACR,MAAM,CAAC,KAAK,CACb,CAAC;QAEF,MAAM,sBAAsB,GAAG,IAAI,GAAG,CACpC,OAAO,CAAC,WAAW,CAAC,iCAAqB,EAAE,QAAQ,CAAC,IAAI,EAAE,CAC3D,CAAC;QAEF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAChE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAC1C,CAAC;QACF,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;QACpD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,WAAW,CACT,WAAc,EACd,OAAiD;QAEjD,+DAA+D;QAC/D,sCAAsC;QACtC,2CAA2C;QAC3C,gEAAgE;QAChE,8DAA8D;QAC9D,IAAI,SAAc,CAAC;QACnB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;QAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC7B,IACE,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBACrB,eAAe,IAAI,KAAK,EACxB,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,SAAS,GAAG,CAAC,CAAC;gBACd,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACnC,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;QAEpC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,SAAS,CAAC,aAAa,GAAG,oCAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,MAAM,CACjE,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE;YACpB,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;YAC3C,MAAM,EAAE,IAAI,EAAE,GAAG,GAAU,CAAC;YAC5B,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,GAAG;oBACX,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wBACnB,IAAI,CAAC,KAAK,IAAI;4BAAE,OAAO,CAAC,CAAC;wBACzB,OAAO;4BACL,GAAG,CAAC;4BACJ,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;yBACvD,CAAC;oBACJ,CAAC,CAAC;iBACH,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,EAAE,CAAC;oBACV,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAC9B,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACf,IAAI,CAAC,IAAI,CAAC,GAAG;wBACX,IAAI;qBACL,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE,GAAG,aAAa,EAAS,CAC5B,CAAC;QAEF,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;QACnC,OAAO,WAAW,CAAC;IACrB,CAAC;IAEO,qBAAqB,CAAC,MAAwB;QACpD,MAAM,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QAC1C,MAAM,yBAAyB,GAC7B,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEjD,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAuB;gBAChC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,CAAC,MAAM,CAAC;gBACd,OAAO,EAAE,eAAe,eAAe,CAAC,IAAI,aAAa;aAC1D,CAAC;YACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,yBAAyB,CAAC,QAEhC,CAAC;IACJ,CAAC;IAEO,gBAAgB,CAAC,CAAM,EAAE,CAAS;QACxC,IAAI,CAAC,YAAY,sBAAa,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACvD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,8CAAqB,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,CAAC;gBACX,CAAC,CAAC,CAAC;YACL,CAAC;YACD,MAAM,IAAI,sBAAa,CAAC,QAAQ,EAAE,CAAC,CAAC,SAAS,EAAE,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAE3D,IAAI,WAAW,YAAY,qCAA4B,EAAE,CAAC;YACxD,MAAM,WAAW,CAAC;QACpB,CAAC;QACD,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC3C,IACE,OAAO,QAAQ,KAAK,QAAQ;YAC5B,SAAS,IAAI,QAAQ;YACrB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAClC,CAAC;YACD,QAAQ,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;gBACvD,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,8CAAqB,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,CAAC;YACX,CAAC,CAAC,CAAC;YACH,MAAM,IAAI,sBAAa,CAAC,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,WAAW,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,eAAe,CAC3B,eAAiC;QAEjC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC;QACnE,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAC7B,OAAO,CAAC,WAAW,CAAC,+BAAmB,EAAE,UAAU,EAAE,UAAU,CAAC,CAI/D,CAAC;QACJ,MAAM,YAAY,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,SAAS,EAAE,CAAC;YACzC,YAAY,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,YAAqD,CAAC;IAC/D,CAAC;IAEO,KAAK,CAAC,QAAQ,CACpB,aAAsB,EACtB,MAAc,EACd,KAA8C;QAE9C,IAAI,cAAc,GAAG,aAAa,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACxD,cAAc,GAAG,MAAM,YAAY,CAAC,SAAS,CAC3C,cAAc,EACd,EAAsB,CACvB,CAAC;QACJ,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,eAAe,CACrB,IAAyC,EACzC,MAAc;QAEd,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAgB,IAA2B,CAAC,CAAC;QAC5F,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAA2B,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,eAAe,CAAC,QAAQ,CAAC;IAClC,CAAC;CACF,CAAA;AAzXY,wCAAc;AACW;IAAnC,IAAA,eAAM,EAAC,gBAAS,CAAC;;iDAIhB;AACsC;IAAvC,IAAA,eAAM,EAAC,kCAAsB,CAAC;;4DAE7B;AAEM;IADP,IAAA,eAAM,EAAC,uCAA2B,CAAC;;wDAGlC;AAEM;IADP,IAAA,eAAM,EAAC,uCAA2B,CAAC;;gEACwB;AAEzB;IAAlC,IAAA,eAAM,EAAC,+BAAiB,CAAC;sCAA6B,+BAAiB;yDAAM;AAC1C;IAAnC,IAAA,eAAM,EAAC,4BAAkB,CAAC;sCAA8B,4BAAkB;0DAAC;yBAjBjE,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAyX1B"}
|