@artu-ai/compliance-sdk 0.2.0 → 0.3.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.
- package/dist/models/Client.d.ts.map +1 -1
- package/dist/models/Client.js +21 -3
- package/dist/models/ReportItem.d.ts +2 -2
- package/dist/models/ReportItem.d.ts.map +1 -1
- package/dist/models/ReportItem.js +4 -4
- package/dist/models/mex/MexReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.js +1 -1
- package/dist/resources/addresses.d.ts +3 -3
- package/dist/resources/addresses.d.ts.map +1 -1
- package/dist/resources/bank-accounts.d.ts +3 -3
- package/dist/resources/bank-accounts.d.ts.map +1 -1
- package/dist/resources/base.d.ts +7 -6
- package/dist/resources/base.d.ts.map +1 -1
- package/dist/resources/base.js +3 -0
- package/dist/resources/clients.d.ts +3 -3
- package/dist/resources/clients.d.ts.map +1 -1
- package/dist/resources/contact-methods.d.ts +3 -3
- package/dist/resources/contact-methods.d.ts.map +1 -1
- package/dist/resources/documents.d.ts +94 -7
- package/dist/resources/documents.d.ts.map +1 -1
- package/dist/resources/documents.js +107 -0
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +9 -3
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +39 -21
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/reports.js +88 -20
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +9 -3
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +33 -11
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/reports.js +82 -10
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +33 -11
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +82 -10
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +14 -1
- package/dist/resources/mex/addresses.d.ts +11 -3
- package/dist/resources/mex/addresses.d.ts.map +1 -1
- package/dist/resources/mex/addresses.js +16 -1
- package/dist/resources/mex/bank-accounts.d.ts +11 -3
- package/dist/resources/mex/bank-accounts.d.ts.map +1 -1
- package/dist/resources/mex/bank-accounts.js +16 -0
- package/dist/resources/mex/clients.d.ts +12 -3
- package/dist/resources/mex/clients.d.ts.map +1 -1
- package/dist/resources/mex/clients.js +17 -1
- package/dist/resources/mex/reports.d.ts +41 -19
- package/dist/resources/mex/reports.d.ts.map +1 -1
- package/dist/resources/mex/reports.js +55 -19
- package/dist/resources/mex/transactions.d.ts +11 -3
- package/dist/resources/mex/transactions.d.ts.map +1 -1
- package/dist/resources/mex/transactions.js +16 -1
- package/dist/resources/reports.d.ts +33 -39
- package/dist/resources/reports.d.ts.map +1 -1
- package/dist/resources/reports.js +34 -36
- package/dist/resources/transactions.d.ts +3 -3
- package/dist/resources/transactions.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.d.ts +2 -0
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +17 -9
- package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/types.js +1 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/jys/types.js +1 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.js +1 -0
- package/dist/sdk/mex/types.d.ts +2 -2
- package/dist/sdk/mex/types.d.ts.map +1 -1
- package/dist/sdk/types.d.ts +24 -1
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/utils/environment.d.ts +24 -0
- package/dist/utils/environment.d.ts.map +1 -1
- package/dist/utils/environment.js +38 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/session.d.ts +20 -2
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +9 -1
- package/dist/utils/trpc-client.d.ts +370 -200
- package/dist/utils/trpc-client.d.ts.map +1 -1
- package/dist/utils/trpc-client.js +2 -1
- package/dist/utils/upload.d.ts +81 -0
- package/dist/utils/upload.d.ts.map +1 -0
- package/dist/utils/upload.js +261 -0
- package/package.json +9 -8
- package/src/models/Client.ts +23 -3
- package/src/models/ReportItem.ts +4 -4
- package/src/models/mex/MexReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +1 -1
- package/src/resources/addresses.ts +8 -4
- package/src/resources/bank-accounts.ts +8 -4
- package/src/resources/base.ts +9 -4
- package/src/resources/clients.ts +10 -4
- package/src/resources/contact-methods.ts +4 -2
- package/src/resources/documents.ts +185 -5
- package/src/resources/index.ts +6 -1
- package/src/resources/mex/actividad-vulnerable/avi/clients.ts +30 -8
- package/src/resources/mex/actividad-vulnerable/avi/reports.ts +122 -26
- package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/jys/clients.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/jys/reports.ts +118 -16
- package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +118 -16
- package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +20 -2
- package/src/resources/mex/addresses.ts +24 -2
- package/src/resources/mex/bank-accounts.ts +26 -2
- package/src/resources/mex/clients.ts +25 -2
- package/src/resources/mex/reports.ts +94 -26
- package/src/resources/mex/transactions.ts +24 -2
- package/src/resources/reports.ts +65 -43
- package/src/resources/transactions.ts +8 -4
- package/src/sdk/ComplianceSDK.ts +23 -8
- package/src/sdk/mex/ComplianceSDK.ts +7 -0
- package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +4 -0
- package/src/sdk/mex/actividad-vulnerable/avi/types.ts +22 -8
- package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +3 -0
- package/src/sdk/mex/actividad-vulnerable/jys/types.ts +22 -8
- package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +3 -0
- package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +22 -8
- package/src/sdk/mex/types.ts +6 -2
- package/src/sdk/types.ts +31 -2
- package/src/utils/environment.ts +42 -0
- package/src/utils/index.ts +19 -0
- package/src/utils/session.ts +33 -3
- package/src/utils/trpc-client.ts +10 -1
- package/src/utils/upload.ts +388 -0
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexAVITransaction models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { Jurisdiction, CodigoActividad, createAVITransactionInputSchema, updateAVITransactionInputSchema, } from "@artu-ai/shared";
|
|
9
|
+
import { Jurisdiction, CodigoActividad, createAVITransactionInputSchema, updateAVITransactionInputSchema, transformSort, aviTransactionFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexTransactionsResource } from "../../transactions";
|
|
11
11
|
import { MexAVITransaction } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -71,9 +71,11 @@ export class AVITransactionsResource extends MexTransactionsResource {
|
|
|
71
71
|
*/
|
|
72
72
|
async list(options) {
|
|
73
73
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
74
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
74
75
|
const response = await this.execute(() => this.trpc.transactions.list.query({
|
|
75
76
|
...options,
|
|
76
77
|
filter: scopedFilter,
|
|
78
|
+
sort: scopedSort,
|
|
77
79
|
}));
|
|
78
80
|
return {
|
|
79
81
|
data: response.data.map((t) => this.instantiate(t)),
|
|
@@ -175,6 +177,17 @@ export class AVITransactionsResource extends MexTransactionsResource {
|
|
|
175
177
|
// ─────────────────────────────────────────────────────────────────
|
|
176
178
|
// Protected Helpers
|
|
177
179
|
// ─────────────────────────────────────────────────────────────────
|
|
180
|
+
/**
|
|
181
|
+
* Transforms a flattened AVITransactionSort to nested TransactionSort format.
|
|
182
|
+
*
|
|
183
|
+
* Maps flattened field names to their full API paths.
|
|
184
|
+
*/
|
|
185
|
+
applyScopeToSort(sort) {
|
|
186
|
+
if (!sort || sort.length === 0) {
|
|
187
|
+
return undefined;
|
|
188
|
+
}
|
|
189
|
+
return transformSort(sort, aviTransactionFieldMapping);
|
|
190
|
+
}
|
|
178
191
|
transformToNested(data) {
|
|
179
192
|
// Extract AVI-specific fields based on operation type
|
|
180
193
|
const { amount, currency, timestamp, relatedClientIds, description, externalId, metadata, ...aviFields } = data;
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* JYS clients have the same fields as Mexico clients (no additional activity fields).
|
|
6
6
|
* Returns MexJYSClient models.
|
|
7
7
|
*/
|
|
8
|
-
import type { CreateClientInput, UpdateClientInput, ListOptions, PaginatedResponse, CreateJYSClientInput, UpdateJYSClientInput, AtomicBatchResult, PartialBatchResult, ClientRelationshipType, LinkedClient as LinkedClientInput, CreateMexAddressInput, UpdateMexAddressInput, CreateContactMethodInput, UpdateContactMethodInput, CreateBankAccountInput, UpdateBankAccountInput, SyncItem, SyncResult, JYSClientFilter } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateClientInput, UpdateClientInput, ListOptions, PaginatedResponse, CreateJYSClientInput, UpdateJYSClientInput, AtomicBatchResult, PartialBatchResult, ClientRelationshipType, LinkedClient as LinkedClientInput, CreateMexAddressInput, UpdateMexAddressInput, CreateContactMethodInput, UpdateContactMethodInput, CreateBankAccountInput, UpdateBankAccountInput, SyncItem, SyncResult, JYSClientFilter, JYSClientSort } from "@artu-ai/shared";
|
|
9
|
+
import type { ClientSort } from "@artu-ai/shared";
|
|
9
10
|
import { MexClientsResource } from "../../clients";
|
|
10
11
|
import { type ClientIncludeMap } from "../../../clients";
|
|
11
12
|
import { MexJYSClient, MexAddress, MexBankAccount, ContactMethod, LinkedClient, type ClientData } from "../../../../models";
|
|
@@ -30,7 +31,7 @@ import { MexJYSClient, MexAddress, MexBankAccount, ContactMethod, LinkedClient,
|
|
|
30
31
|
* // Returns MexJYSClient
|
|
31
32
|
* ```
|
|
32
33
|
*/
|
|
33
|
-
export declare class JYSClientsResource extends MexClientsResource {
|
|
34
|
+
export declare class JYSClientsResource extends MexClientsResource<JYSClientSort> {
|
|
34
35
|
create(data: CreateJYSClientInput): Promise<MexJYSClient>;
|
|
35
36
|
retrieve(id: string, include?: ClientIncludeMap): Promise<MexJYSClient>;
|
|
36
37
|
retrieveByExternalId(externalId: string): Promise<MexJYSClient>;
|
|
@@ -41,7 +42,7 @@ export declare class JYSClientsResource extends MexClientsResource {
|
|
|
41
42
|
* Accepts flattened JYS filter (MX fields at root level) and automatically
|
|
42
43
|
* transforms to nested format before calling the API.
|
|
43
44
|
*/
|
|
44
|
-
list(options?: ListOptions<JYSClientFilter> & {
|
|
45
|
+
list(options?: ListOptions<JYSClientFilter, JYSClientSort> & {
|
|
45
46
|
includePrimaryContacts?: boolean;
|
|
46
47
|
}): Promise<PaginatedResponse<MexJYSClient>>;
|
|
47
48
|
/**
|
|
@@ -101,6 +102,12 @@ export declare class JYSClientsResource extends MexClientsResource {
|
|
|
101
102
|
contactMethods: SyncResult<ContactMethod>;
|
|
102
103
|
bankAccounts: SyncResult<MexBankAccount>;
|
|
103
104
|
}>;
|
|
105
|
+
/**
|
|
106
|
+
* Transforms a flattened JYSClientSort to nested ClientSort format.
|
|
107
|
+
*
|
|
108
|
+
* Maps flattened field names to their full API paths.
|
|
109
|
+
*/
|
|
110
|
+
protected applyScopeToSort(sort?: JYSClientSort): ClientSort | undefined;
|
|
104
111
|
/**
|
|
105
112
|
* Transforms JYS input to nested API format.
|
|
106
113
|
* JYS has no additional fields, but we add the JYS activity marker.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/clients.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,IAAI,iBAAiB,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/clients.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Returns MexJYSClient models.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { CodigoActividad, createJYSClientInputSchema, updateJYSClientInputSchema, linkedClientSchema, } from "@artu-ai/shared";
|
|
9
|
+
import { CodigoActividad, createJYSClientInputSchema, updateJYSClientInputSchema, linkedClientSchema, transformSort, jysClientFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexClientsResource } from "../../clients";
|
|
11
11
|
import { MexJYSClient, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -68,9 +68,11 @@ export class JYSClientsResource extends MexClientsResource {
|
|
|
68
68
|
*/
|
|
69
69
|
async list(options) {
|
|
70
70
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
71
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
71
72
|
const response = await this.execute(() => this.trpc.clients.list.query({
|
|
72
73
|
...options,
|
|
73
74
|
filter: scopedFilter,
|
|
75
|
+
sort: scopedSort,
|
|
74
76
|
}));
|
|
75
77
|
return {
|
|
76
78
|
data: response.data.map((c) => this.instantiate(c)),
|
|
@@ -188,6 +190,17 @@ export class JYSClientsResource extends MexClientsResource {
|
|
|
188
190
|
// ─────────────────────────────────────────────────────────────────
|
|
189
191
|
// Protected Helpers
|
|
190
192
|
// ─────────────────────────────────────────────────────────────────
|
|
193
|
+
/**
|
|
194
|
+
* Transforms a flattened JYSClientSort to nested ClientSort format.
|
|
195
|
+
*
|
|
196
|
+
* Maps flattened field names to their full API paths.
|
|
197
|
+
*/
|
|
198
|
+
applyScopeToSort(sort) {
|
|
199
|
+
if (!sort || sort.length === 0) {
|
|
200
|
+
return undefined;
|
|
201
|
+
}
|
|
202
|
+
return transformSort(sort, jysClientFieldMapping);
|
|
203
|
+
}
|
|
191
204
|
/**
|
|
192
205
|
* Transforms JYS input to nested API format.
|
|
193
206
|
* JYS has no additional fields, but we add the JYS activity marker.
|
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
* - Accepts flattened CreateJYSReportInput (JYS fields at root level)
|
|
6
6
|
* - Returns MexJYSReport models
|
|
7
7
|
*/
|
|
8
|
-
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, CreateJYSReportInput, UpdateJYSReportInput, CreateJYSReportItemInput, UpdateJYSReportItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult,
|
|
9
|
-
import type { JYSReportFilter } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, CreateJYSReportInput, UpdateJYSReportInput, CreateJYSReportItemInput, UpdateJYSReportItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, JysReportDefaultsInput, ValidationResult, GenerateResult, SubmissionResult, SubmitJYSSubmissionInput } from "@artu-ai/shared";
|
|
9
|
+
import type { JYSReportFilter, JYSReportSort, JYSReportItemFilter, ReportSort, ReportItemFilter, ReportItemSort } from "@artu-ai/shared";
|
|
10
10
|
import { MexReportsResource } from "../../reports";
|
|
11
|
-
import { type ReportItemFilter } from "../../../reports";
|
|
12
11
|
import { MexJYSReport, MexJYSReportItem, type ReportData, type ReportItemData } from "../../../../models";
|
|
13
12
|
/**
|
|
14
13
|
* JYS (Juegos y Sorteos) scoped reports resource.
|
|
@@ -30,7 +29,7 @@ import { MexJYSReport, MexJYSReportItem, type ReportData, type ReportItemData }
|
|
|
30
29
|
* console.log(report.mesReportado);
|
|
31
30
|
* ```
|
|
32
31
|
*/
|
|
33
|
-
export declare class JYSReportsResource extends MexReportsResource {
|
|
32
|
+
export declare class JYSReportsResource extends MexReportsResource<JYSReportSort, JysReportDefaultsInput> {
|
|
34
33
|
create(data: CreateJYSReportInput): Promise<MexJYSReport>;
|
|
35
34
|
retrieve(id: string): Promise<MexJYSReport>;
|
|
36
35
|
retrieveByMetadata(key: string, value: string): Promise<MexJYSReport>;
|
|
@@ -41,7 +40,7 @@ export declare class JYSReportsResource extends MexReportsResource {
|
|
|
41
40
|
*
|
|
42
41
|
* Accepts flattened JYS filter (future JYS-specific report fields at root level).
|
|
43
42
|
*/
|
|
44
|
-
list(options?: ListOptions<JYSReportFilter>): Promise<PaginatedResponse<MexJYSReport>>;
|
|
43
|
+
list(options?: ListOptions<JYSReportFilter, JYSReportSort>): Promise<PaginatedResponse<MexJYSReport>>;
|
|
45
44
|
/**
|
|
46
45
|
* Iterates over JYS reports.
|
|
47
46
|
*
|
|
@@ -69,7 +68,11 @@ export declare class JYSReportsResource extends MexReportsResource {
|
|
|
69
68
|
addItem(reportId: string, data: CreateJYSReportItemInput): Promise<MexJYSReportItem>;
|
|
70
69
|
getItem(reportId: string, itemId: string): Promise<MexJYSReportItem>;
|
|
71
70
|
updateItem(reportId: string, itemId: string, data: UpdateJYSReportItemInput): Promise<MexJYSReportItem>;
|
|
72
|
-
listItems(reportId: string, options?: ListOptions<
|
|
71
|
+
listItems(reportId: string, options?: ListOptions<JYSReportItemFilter, ReportItemSort>): Promise<PaginatedResponse<MexJYSReportItem>>;
|
|
72
|
+
/**
|
|
73
|
+
* Transforms a flattened JYSReportItemFilter to nested ReportItemFilter format.
|
|
74
|
+
*/
|
|
75
|
+
protected applyScopeToItemFilter(filter?: JYSReportItemFilter): ReportItemFilter | undefined;
|
|
73
76
|
addItems(reportId: string, items: CreateJYSReportItemInput[]): Promise<{
|
|
74
77
|
added: number;
|
|
75
78
|
items: MexJYSReportItem[];
|
|
@@ -79,32 +82,51 @@ export declare class JYSReportsResource extends MexReportsResource {
|
|
|
79
82
|
*
|
|
80
83
|
* Uses JYS-scoped validation input (jurisdiction and activity are implicit).
|
|
81
84
|
*
|
|
85
|
+
* @param reportId - The report ID to validate
|
|
86
|
+
* @param defaults - JYS report defaults including rfc, alertType, etc.
|
|
87
|
+
*
|
|
82
88
|
* @example
|
|
83
89
|
* ```typescript
|
|
84
|
-
* const result = await jysSdk.reports.validateReport({
|
|
85
|
-
*
|
|
86
|
-
*
|
|
90
|
+
* const result = await jysSdk.reports.validateReport(report.id, {
|
|
91
|
+
* rfc: "ABC200101XXX",
|
|
92
|
+
* alertType: "100",
|
|
87
93
|
* });
|
|
88
94
|
* ```
|
|
89
95
|
*/
|
|
90
|
-
validateReport(
|
|
96
|
+
validateReport(reportId: string, defaults: JysReportDefaultsInput): Promise<ValidationResult>;
|
|
91
97
|
/**
|
|
92
98
|
* Generates XML for a JYS report.
|
|
93
99
|
*
|
|
94
100
|
* Uses the same input as validateReport.
|
|
101
|
+
*
|
|
102
|
+
* @param reportId - The report ID to generate XML for
|
|
103
|
+
* @param defaults - JYS report defaults including rfc, alertType, etc.
|
|
95
104
|
*/
|
|
96
|
-
generateReport(
|
|
105
|
+
generateReport(reportId: string, defaults: JysReportDefaultsInput): Promise<GenerateResult>;
|
|
97
106
|
/**
|
|
98
107
|
* Submits a validated JYS report.
|
|
99
108
|
*
|
|
100
109
|
* Uses JYS-scoped submission input (activity is implicit).
|
|
101
110
|
*/
|
|
102
111
|
submit(input: SubmitJYSSubmissionInput): Promise<SubmissionResult>;
|
|
112
|
+
/**
|
|
113
|
+
* Transforms a flattened JYSReportSort to nested ReportSort format.
|
|
114
|
+
*
|
|
115
|
+
* Maps flattened field names to their full API paths.
|
|
116
|
+
*/
|
|
117
|
+
protected applyScopeToSort(sort?: JYSReportSort): ReportSort | undefined;
|
|
103
118
|
protected transformToNested(data: CreateJYSReportInput): CreateReportInput;
|
|
104
119
|
protected transformUpdateToNested(data: UpdateJYSReportInput): UpdateReportInput;
|
|
105
120
|
protected instantiate(data: ReportData): MexJYSReport;
|
|
106
121
|
protected instantiateItem(data: ReportItemData): MexJYSReportItem;
|
|
107
122
|
protected transformItemToNested(data: CreateJYSReportItemInput): CreateReportItemInput;
|
|
108
123
|
protected transformItemUpdateToNested(data: UpdateJYSReportItemInput): UpdateReportItemInput;
|
|
124
|
+
/**
|
|
125
|
+
* Transforms JYS defaults to nested API format for validate/generate.
|
|
126
|
+
*/
|
|
127
|
+
protected transformJysDefaultsToNested(reportId: string, defaults: JysReportDefaultsInput): {
|
|
128
|
+
reportId: string;
|
|
129
|
+
jurisdictions: unknown;
|
|
130
|
+
};
|
|
109
131
|
}
|
|
110
132
|
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/reports.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexJYSReport models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { CodigoActividad, createJYSReportInputSchema, updateJYSReportInputSchema, createJYSReportItemInputSchema, updateJYSReportItemInputSchema,
|
|
9
|
+
import { CodigoActividad, createJYSReportInputSchema, updateJYSReportInputSchema, createJYSReportItemInputSchema, updateJYSReportItemInputSchema, jysDefaultsInputSchema, submitJYSSubmissionInputSchema, transformSort, jysReportFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexReportsResource } from "../../reports";
|
|
11
11
|
import { MexJYSReport, MexJYSReportItem, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -70,9 +70,11 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
70
70
|
*/
|
|
71
71
|
async list(options) {
|
|
72
72
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
73
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
73
74
|
const response = await this.execute(() => this.trpc.reports.list.query({
|
|
74
75
|
...options,
|
|
75
76
|
filter: scopedFilter,
|
|
77
|
+
sort: scopedSort,
|
|
76
78
|
}));
|
|
77
79
|
return {
|
|
78
80
|
data: response.data.map((r) => this.instantiate(r)),
|
|
@@ -163,15 +165,46 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
163
165
|
return this.instantiateItem(response);
|
|
164
166
|
}
|
|
165
167
|
async listItems(reportId, options) {
|
|
168
|
+
// Transform flattened JYS filter to nested format
|
|
169
|
+
const scopedFilter = this.applyScopeToItemFilter(options?.filter);
|
|
166
170
|
const response = await this.execute(() => this.trpc.reports.listItems.query({
|
|
167
171
|
reportId,
|
|
168
172
|
...options,
|
|
173
|
+
filter: scopedFilter,
|
|
169
174
|
}));
|
|
170
175
|
return {
|
|
171
176
|
data: response.data.map((i) => this.instantiateItem(i)),
|
|
172
177
|
pagination: response.pagination,
|
|
173
178
|
};
|
|
174
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Transforms a flattened JYSReportItemFilter to nested ReportItemFilter format.
|
|
182
|
+
*/
|
|
183
|
+
applyScopeToItemFilter(filter) {
|
|
184
|
+
if (!filter)
|
|
185
|
+
return undefined;
|
|
186
|
+
const { alertType, alertDescription, ...baseFields } = filter;
|
|
187
|
+
// If no JYS-specific fields, return base filter as-is
|
|
188
|
+
if (alertType === undefined && alertDescription === undefined) {
|
|
189
|
+
return baseFields;
|
|
190
|
+
}
|
|
191
|
+
// Build nested filter structure
|
|
192
|
+
const jysFilter = {};
|
|
193
|
+
if (alertType !== undefined)
|
|
194
|
+
jysFilter.alertType = alertType;
|
|
195
|
+
if (alertDescription !== undefined)
|
|
196
|
+
jysFilter.alertDescription = alertDescription;
|
|
197
|
+
return {
|
|
198
|
+
...baseFields,
|
|
199
|
+
jurisdictions: {
|
|
200
|
+
MX: {
|
|
201
|
+
actividadVulnerable: {
|
|
202
|
+
JYS: jysFilter,
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
},
|
|
206
|
+
};
|
|
207
|
+
}
|
|
175
208
|
async addItems(reportId, items) {
|
|
176
209
|
const validated = this.validate(z.array(createJYSReportItemInputSchema), items);
|
|
177
210
|
const nestedItems = validated.map((i) => this.transformItemToNested(i));
|
|
@@ -189,17 +222,21 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
189
222
|
*
|
|
190
223
|
* Uses JYS-scoped validation input (jurisdiction and activity are implicit).
|
|
191
224
|
*
|
|
225
|
+
* @param reportId - The report ID to validate
|
|
226
|
+
* @param defaults - JYS report defaults including rfc, alertType, etc.
|
|
227
|
+
*
|
|
192
228
|
* @example
|
|
193
229
|
* ```typescript
|
|
194
|
-
* const result = await jysSdk.reports.validateReport({
|
|
195
|
-
*
|
|
196
|
-
*
|
|
230
|
+
* const result = await jysSdk.reports.validateReport(report.id, {
|
|
231
|
+
* rfc: "ABC200101XXX",
|
|
232
|
+
* alertType: "100",
|
|
197
233
|
* });
|
|
198
234
|
* ```
|
|
199
235
|
*/
|
|
200
|
-
async validateReport(
|
|
201
|
-
const validated = this.validate(
|
|
202
|
-
|
|
236
|
+
async validateReport(reportId, defaults) {
|
|
237
|
+
const validated = this.validate(jysDefaultsInputSchema, defaults);
|
|
238
|
+
const nestedInput = this.transformJysDefaultsToNested(reportId, validated);
|
|
239
|
+
return this.execute(() => this.trpc.reports.validate.mutate(nestedInput));
|
|
203
240
|
}
|
|
204
241
|
// ─────────────────────────────────────────────────────────────────
|
|
205
242
|
// Generation
|
|
@@ -208,10 +245,14 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
208
245
|
* Generates XML for a JYS report.
|
|
209
246
|
*
|
|
210
247
|
* Uses the same input as validateReport.
|
|
248
|
+
*
|
|
249
|
+
* @param reportId - The report ID to generate XML for
|
|
250
|
+
* @param defaults - JYS report defaults including rfc, alertType, etc.
|
|
211
251
|
*/
|
|
212
|
-
async generateReport(
|
|
213
|
-
const validated = this.validate(
|
|
214
|
-
|
|
252
|
+
async generateReport(reportId, defaults) {
|
|
253
|
+
const validated = this.validate(jysDefaultsInputSchema, defaults);
|
|
254
|
+
const nestedInput = this.transformJysDefaultsToNested(reportId, validated);
|
|
255
|
+
return this.execute(() => this.trpc.reports.generate.mutate(nestedInput));
|
|
215
256
|
}
|
|
216
257
|
// ─────────────────────────────────────────────────────────────────
|
|
217
258
|
// Submission
|
|
@@ -241,6 +282,17 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
241
282
|
// ─────────────────────────────────────────────────────────────────
|
|
242
283
|
// Protected Helpers
|
|
243
284
|
// ─────────────────────────────────────────────────────────────────
|
|
285
|
+
/**
|
|
286
|
+
* Transforms a flattened JYSReportSort to nested ReportSort format.
|
|
287
|
+
*
|
|
288
|
+
* Maps flattened field names to their full API paths.
|
|
289
|
+
*/
|
|
290
|
+
applyScopeToSort(sort) {
|
|
291
|
+
if (!sort || sort.length === 0) {
|
|
292
|
+
return undefined;
|
|
293
|
+
}
|
|
294
|
+
return transformSort(sort, jysReportFieldMapping);
|
|
295
|
+
}
|
|
244
296
|
transformToNested(data) {
|
|
245
297
|
const { mesReportado, ...baseFields } = data;
|
|
246
298
|
return {
|
|
@@ -306,4 +358,24 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
306
358
|
},
|
|
307
359
|
};
|
|
308
360
|
}
|
|
361
|
+
/**
|
|
362
|
+
* Transforms JYS defaults to nested API format for validate/generate.
|
|
363
|
+
*/
|
|
364
|
+
transformJysDefaultsToNested(reportId, defaults) {
|
|
365
|
+
const { rfc, collegiateEntityCode, exempt, priority, ...jysFields } = defaults;
|
|
366
|
+
return {
|
|
367
|
+
reportId,
|
|
368
|
+
jurisdictions: {
|
|
369
|
+
MX: {
|
|
370
|
+
actividadVulnerable: {
|
|
371
|
+
rfc,
|
|
372
|
+
collegiateEntityCode,
|
|
373
|
+
exempt,
|
|
374
|
+
priority,
|
|
375
|
+
[CodigoActividad.JYS]: jysFields,
|
|
376
|
+
},
|
|
377
|
+
},
|
|
378
|
+
},
|
|
379
|
+
};
|
|
380
|
+
}
|
|
309
381
|
}
|
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
* - Accepts flattened CreateJYSTransactionInput (JYS fields at root level)
|
|
6
6
|
* - Returns MexJYSTransaction models
|
|
7
7
|
*/
|
|
8
|
-
import type { CreateTransactionInput, UpdateTransactionInput, ListOptions, PaginatedResponse, CreateJYSTransactionInput, UpdateJYSTransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, JYSTransactionFilter } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateTransactionInput, UpdateTransactionInput, ListOptions, PaginatedResponse, CreateJYSTransactionInput, UpdateJYSTransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, JYSTransactionFilter, JYSTransactionSort } from "@artu-ai/shared";
|
|
9
9
|
import { ClientRole } from "@artu-ai/shared";
|
|
10
|
+
import type { TransactionSort } from "@artu-ai/shared";
|
|
10
11
|
import { MexTransactionsResource } from "../../transactions";
|
|
11
12
|
import { MexJYSTransaction, type TransactionData } from "../../../../models";
|
|
12
13
|
/**
|
|
@@ -37,7 +38,7 @@ import { MexJYSTransaction, type TransactionData } from "../../../../models";
|
|
|
37
38
|
* console.log(txn.settlementType);
|
|
38
39
|
* ```
|
|
39
40
|
*/
|
|
40
|
-
export declare class JYSTransactionsResource extends MexTransactionsResource {
|
|
41
|
+
export declare class JYSTransactionsResource extends MexTransactionsResource<JYSTransactionSort> {
|
|
41
42
|
create(data: CreateJYSTransactionInput): Promise<MexJYSTransaction>;
|
|
42
43
|
retrieve(id: string): Promise<MexJYSTransaction>;
|
|
43
44
|
retrieveByMetadata(key: string, value: string): Promise<MexJYSTransaction>;
|
|
@@ -47,7 +48,7 @@ export declare class JYSTransactionsResource extends MexTransactionsResource {
|
|
|
47
48
|
*
|
|
48
49
|
* Accepts flattened JYS filter (future JYS-specific transaction fields at root level).
|
|
49
50
|
*/
|
|
50
|
-
list(options?: ListOptions<JYSTransactionFilter>): Promise<PaginatedResponse<MexJYSTransaction>>;
|
|
51
|
+
list(options?: ListOptions<JYSTransactionFilter, JYSTransactionSort>): Promise<PaginatedResponse<MexJYSTransaction>>;
|
|
51
52
|
/**
|
|
52
53
|
* Iterates over JYS transactions.
|
|
53
54
|
*
|
|
@@ -79,6 +80,12 @@ export declare class JYSTransactionsResource extends MexTransactionsResource {
|
|
|
79
80
|
}[], options: {
|
|
80
81
|
atomic: false;
|
|
81
82
|
}): Promise<PartialBatchResult<MexJYSTransaction>>;
|
|
83
|
+
/**
|
|
84
|
+
* Transforms a flattened JYSTransactionSort to nested TransactionSort format.
|
|
85
|
+
*
|
|
86
|
+
* Maps flattened field names to their full API paths.
|
|
87
|
+
*/
|
|
88
|
+
protected applyScopeToSort(sort?: JYSTransactionSort): TransactionSort | undefined;
|
|
82
89
|
protected transformToNested(data: CreateJYSTransactionInput): CreateTransactionInput;
|
|
83
90
|
protected transformUpdateToNested(data: UpdateJYSTransactionInput): UpdateTransactionInput;
|
|
84
91
|
protected instantiate(data: TransactionData): MexJYSTransaction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexJYSTransaction models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { Jurisdiction, CodigoActividad, createJYSTransactionInputSchema, updateJYSTransactionInputSchema, } from "@artu-ai/shared";
|
|
9
|
+
import { Jurisdiction, CodigoActividad, createJYSTransactionInputSchema, updateJYSTransactionInputSchema, transformSort, jysTransactionFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexTransactionsResource } from "../../transactions";
|
|
11
11
|
import { MexJYSTransaction } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -74,9 +74,11 @@ export class JYSTransactionsResource extends MexTransactionsResource {
|
|
|
74
74
|
*/
|
|
75
75
|
async list(options) {
|
|
76
76
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
77
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
77
78
|
const response = await this.execute(() => this.trpc.transactions.list.query({
|
|
78
79
|
...options,
|
|
79
80
|
filter: scopedFilter,
|
|
81
|
+
sort: scopedSort,
|
|
80
82
|
}));
|
|
81
83
|
return {
|
|
82
84
|
data: response.data.map((t) => this.instantiate(t)),
|
|
@@ -178,6 +180,17 @@ export class JYSTransactionsResource extends MexTransactionsResource {
|
|
|
178
180
|
// ─────────────────────────────────────────────────────────────────
|
|
179
181
|
// Protected Helpers
|
|
180
182
|
// ─────────────────────────────────────────────────────────────────
|
|
183
|
+
/**
|
|
184
|
+
* Transforms a flattened JYSTransactionSort to nested TransactionSort format.
|
|
185
|
+
*
|
|
186
|
+
* Maps flattened field names to their full API paths.
|
|
187
|
+
*/
|
|
188
|
+
applyScopeToSort(sort) {
|
|
189
|
+
if (!sort || sort.length === 0) {
|
|
190
|
+
return undefined;
|
|
191
|
+
}
|
|
192
|
+
return transformSort(sort, jysTransactionFieldMapping);
|
|
193
|
+
}
|
|
181
194
|
transformToNested(data) {
|
|
182
195
|
const { amount, currency, timestamp, relatedClientIds, description, externalId, metadata, ...jysFields } = data;
|
|
183
196
|
// Build base fields (relatedClientIds is required)
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* TSC clients have the same fields as Mexico clients (no additional activity fields).
|
|
6
6
|
* Returns MexTSCClient models.
|
|
7
7
|
*/
|
|
8
|
-
import type { CreateClientInput, UpdateClientInput, ListOptions, PaginatedResponse, CreateTSCClientInput, UpdateTSCClientInput, AtomicBatchResult, PartialBatchResult, ClientRelationshipType, LinkedClient as LinkedClientInput, CreateMexAddressInput, UpdateMexAddressInput, CreateContactMethodInput, UpdateContactMethodInput, CreateBankAccountInput, UpdateBankAccountInput, SyncItem, SyncResult, TSCClientFilter } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateClientInput, UpdateClientInput, ListOptions, PaginatedResponse, CreateTSCClientInput, UpdateTSCClientInput, AtomicBatchResult, PartialBatchResult, ClientRelationshipType, LinkedClient as LinkedClientInput, CreateMexAddressInput, UpdateMexAddressInput, CreateContactMethodInput, UpdateContactMethodInput, CreateBankAccountInput, UpdateBankAccountInput, SyncItem, SyncResult, TSCClientFilter, TSCClientSort } from "@artu-ai/shared";
|
|
9
|
+
import type { ClientSort } from "@artu-ai/shared";
|
|
9
10
|
import { MexClientsResource } from "../../clients";
|
|
10
11
|
import { type ClientIncludeMap } from "../../../clients";
|
|
11
12
|
import { MexTSCClient, MexAddress, MexBankAccount, ContactMethod, LinkedClient, type ClientData } from "../../../../models";
|
|
@@ -30,7 +31,7 @@ import { MexTSCClient, MexAddress, MexBankAccount, ContactMethod, LinkedClient,
|
|
|
30
31
|
* // Returns MexTSCClient
|
|
31
32
|
* ```
|
|
32
33
|
*/
|
|
33
|
-
export declare class TSCClientsResource extends MexClientsResource {
|
|
34
|
+
export declare class TSCClientsResource extends MexClientsResource<TSCClientSort> {
|
|
34
35
|
create(data: CreateTSCClientInput): Promise<MexTSCClient>;
|
|
35
36
|
retrieve(id: string, include?: ClientIncludeMap): Promise<MexTSCClient>;
|
|
36
37
|
retrieveByExternalId(externalId: string): Promise<MexTSCClient>;
|
|
@@ -41,7 +42,7 @@ export declare class TSCClientsResource extends MexClientsResource {
|
|
|
41
42
|
* Accepts flattened TSC filter (MX fields at root level) and automatically
|
|
42
43
|
* transforms to nested format before calling the API.
|
|
43
44
|
*/
|
|
44
|
-
list(options?: ListOptions<TSCClientFilter> & {
|
|
45
|
+
list(options?: ListOptions<TSCClientFilter, TSCClientSort> & {
|
|
45
46
|
includePrimaryContacts?: boolean;
|
|
46
47
|
}): Promise<PaginatedResponse<MexTSCClient>>;
|
|
47
48
|
/**
|
|
@@ -108,5 +109,11 @@ export declare class TSCClientsResource extends MexClientsResource {
|
|
|
108
109
|
protected transformToNested(data: CreateTSCClientInput): CreateClientInput;
|
|
109
110
|
protected transformUpdateToNested(data: UpdateTSCClientInput): UpdateClientInput;
|
|
110
111
|
protected instantiate(data: ClientData): MexTSCClient;
|
|
112
|
+
/**
|
|
113
|
+
* Transforms a flattened TSCClientSort to nested ClientSort format.
|
|
114
|
+
*
|
|
115
|
+
* Maps flattened field names to their full API paths using TSC-specific field mapping.
|
|
116
|
+
*/
|
|
117
|
+
protected applyScopeToSort(sort?: TSCClientSort): ClientSort | undefined;
|
|
111
118
|
}
|
|
112
119
|
//# sourceMappingURL=clients.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/tsc/clients.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,IAAI,iBAAiB,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,eAAe,
|
|
1
|
+
{"version":3,"file":"clients.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/tsc/clients.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EAGpB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,IAAI,iBAAiB,EACjC,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACd,MAAM,iBAAiB,CAAC;AASzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,YAAY,EACZ,UAAU,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACZ,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAM5B;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,kBAAmB,SAAQ,kBAAkB,CAAC,aAAa,CAAC;IAKjE,MAAM,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAWzD,QAAQ,CACZ,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,YAAY,CAAC;IAOlB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAO/D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAAC;IAc3E;;;;;OAKG;IACG,IAAI,CACR,OAAO,CAAC,EAAE,WAAW,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG;QAAE,sBAAsB,CAAC,EAAE,OAAO,CAAA;KAAE,GAC3F,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAkB3C;;;;;OAKG;IACH,OAAO,CACL,MAAM,CAAC,EAAE,eAAe,GACvB,cAAc,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,CAAC;IAS1C,UAAU,CACd,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,CACd,OAAO,EAAE,oBAAoB,EAAE,EAC/B,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAmCtC,UAAU,CACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAA;KAAE,EAAE,EACrD,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,IAAI,CAAA;KAAE,GAC1B,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACrC,UAAU,CACd,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,oBAAoB,CAAA;KAAE,EAAE,EACrD,OAAO,EAAE;QAAE,MAAM,EAAE,KAAK,CAAA;KAAE,GACzB,OAAO,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IA4CtC,UAAU,CACd,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,sBAAsB,EACxC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC;IAYlB,YAAY,CAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,sBAAsB,GACvC,OAAO,CAAC,YAAY,CAAC;IAWlB,iBAAiB,CACrB,cAAc,EAAE,MAAM,EACtB,gBAAgB,CAAC,EAAE,sBAAsB,GACxC,OAAO,CAAC,YAAY,EAAE,CAAC;IAIpB,gBAAgB,CACpB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,iBAAiB,EAAE,GACjC,OAAO,CAAC,YAAY,CAAC;IAgBlB,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,oBAAoB,CAAC;QAC9B,SAAS,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACtD,YAAY,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAClD,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;KACrC,EACD,OAAO,EAAE;QAAE,WAAW,EAAE,IAAI,CAAA;KAAE,GAC7B,OAAO,CAAC;QACT,MAAM,EAAE,YAAY,CAAC;QACrB,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAClC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1C,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;IACI,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;QACJ,MAAM,CAAC,EAAE,oBAAoB,CAAC;QAC9B,SAAS,CAAC,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC9C,cAAc,CAAC,EAAE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACtD,YAAY,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;QAClD,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;KACrC,EACD,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAClC,OAAO,CAAC;QACT,MAAM,EAAE,YAAY,CAAC;QACrB,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;QAClC,cAAc,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAC1C,YAAY,EAAE,UAAU,CAAC,cAAc,CAAC,CAAC;KAC1C,CAAC;IA2CF;;;OAGG;cACgB,iBAAiB,CAClC,IAAI,EAAE,oBAAoB,GACzB,iBAAiB;cAsBD,uBAAuB,CACxC,IAAI,EAAE,oBAAoB,GACzB,iBAAiB;cAMD,WAAW,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY;IAI9D;;;;OAIG;cACgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,SAAS;CAMlF"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* Returns MexTSCClient models.
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { CodigoActividad, createTSCClientInputSchema, updateTSCClientInputSchema, linkedClientSchema, } from "@artu-ai/shared";
|
|
9
|
+
import { CodigoActividad, createTSCClientInputSchema, updateTSCClientInputSchema, linkedClientSchema, transformSort, tscClientFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexClientsResource } from "../../clients";
|
|
11
11
|
import { MexTSCClient, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -68,9 +68,11 @@ export class TSCClientsResource extends MexClientsResource {
|
|
|
68
68
|
*/
|
|
69
69
|
async list(options) {
|
|
70
70
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
71
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
71
72
|
const response = await this.execute(() => this.trpc.clients.list.query({
|
|
72
73
|
...options,
|
|
73
74
|
filter: scopedFilter,
|
|
75
|
+
sort: scopedSort,
|
|
74
76
|
}));
|
|
75
77
|
return {
|
|
76
78
|
data: response.data.map((c) => this.instantiate(c)),
|
|
@@ -215,4 +217,15 @@ export class TSCClientsResource extends MexClientsResource {
|
|
|
215
217
|
instantiate(data) {
|
|
216
218
|
return new MexTSCClient(data);
|
|
217
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Transforms a flattened TSCClientSort to nested ClientSort format.
|
|
222
|
+
*
|
|
223
|
+
* Maps flattened field names to their full API paths using TSC-specific field mapping.
|
|
224
|
+
*/
|
|
225
|
+
applyScopeToSort(sort) {
|
|
226
|
+
if (!sort || sort.length === 0) {
|
|
227
|
+
return undefined;
|
|
228
|
+
}
|
|
229
|
+
return transformSort(sort, tscClientFieldMapping);
|
|
230
|
+
}
|
|
218
231
|
}
|