@artu-ai/compliance-sdk 0.5.4 → 0.6.1
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/errors/validation.d.ts.map +1 -1
- package/dist/errors/validation.js +19 -1
- package/dist/resources/addresses.d.ts +29 -2
- package/dist/resources/addresses.d.ts.map +1 -1
- package/dist/resources/addresses.js +65 -4
- package/dist/resources/bank-accounts.d.ts +29 -2
- package/dist/resources/bank-accounts.d.ts.map +1 -1
- package/dist/resources/bank-accounts.js +65 -4
- package/dist/resources/clients.d.ts +59 -4
- package/dist/resources/clients.d.ts.map +1 -1
- package/dist/resources/clients.js +85 -8
- package/dist/resources/contact-methods.d.ts +29 -2
- package/dist/resources/contact-methods.d.ts.map +1 -1
- package/dist/resources/contact-methods.js +65 -4
- package/dist/resources/documents.d.ts +24 -19
- package/dist/resources/documents.d.ts.map +1 -1
- package/dist/resources/documents.js +51 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +31 -5
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.js +65 -9
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/reports.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/clients.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/reports.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +58 -4
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +26 -2
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +58 -4
- package/dist/resources/mex/addresses.d.ts +26 -2
- package/dist/resources/mex/addresses.d.ts.map +1 -1
- package/dist/resources/mex/addresses.js +66 -5
- package/dist/resources/mex/bank-accounts.d.ts +13 -2
- package/dist/resources/mex/bank-accounts.d.ts.map +1 -1
- package/dist/resources/mex/bank-accounts.js +17 -3
- package/dist/resources/mex/clients.d.ts +39 -11
- package/dist/resources/mex/clients.d.ts.map +1 -1
- package/dist/resources/mex/clients.js +82 -20
- package/dist/resources/mex/reports.d.ts +37 -12
- package/dist/resources/mex/reports.d.ts.map +1 -1
- package/dist/resources/mex/reports.js +71 -21
- package/dist/resources/mex/transactions.d.ts +38 -10
- package/dist/resources/mex/transactions.d.ts.map +1 -1
- package/dist/resources/mex/transactions.js +73 -20
- package/dist/resources/reports.d.ts +29 -2
- package/dist/resources/reports.d.ts.map +1 -1
- package/dist/resources/reports.js +57 -3
- package/dist/resources/transactions.d.ts +29 -2
- package/dist/resources/transactions.d.ts.map +1 -1
- package/dist/resources/transactions.js +57 -3
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +2 -0
- package/dist/utils/trpc-client.d.ts +1 -19879
- package/dist/utils/trpc-client.d.ts.map +1 -1
- package/dist/utils/upload.d.ts +6 -0
- package/dist/utils/upload.d.ts.map +1 -1
- package/dist/utils/upload.js +2 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexAVIReport models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { CodigoActividad, createAVIReportInputSchema, updateAVIReportInputSchema, createAVIReportItemInputSchema, updateAVIReportItemInputSchema, aviDefaultsInputSchema, submitAVIReportInputSchema, transformSort, aviReportFieldMapping, } from "@artu-ai/shared";
|
|
9
|
+
import { CodigoActividad, createAVIReportInputSchema, updateAVIReportInputSchema, upsertAVIReportInputSchema, createAVIReportItemInputSchema, updateAVIReportItemInputSchema, aviDefaultsInputSchema, submitAVIReportInputSchema, transformSort, aviReportFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexReportsResource } from "../../reports";
|
|
11
11
|
import { MexAVIReport, MexAVIReportItem, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -86,9 +86,14 @@ export class AVIReportsResource extends MexReportsResource {
|
|
|
86
86
|
*
|
|
87
87
|
* Accepts flattened AVI filter (future AVI-specific report fields at root level).
|
|
88
88
|
*/
|
|
89
|
-
iterate(
|
|
90
|
-
const scopedFilter = this.applyScopeToFilter(filter);
|
|
91
|
-
|
|
89
|
+
iterate(options) {
|
|
90
|
+
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
91
|
+
// Note: sort is passed through - createIterator calls list() which handles transformation
|
|
92
|
+
return this.createIterator({
|
|
93
|
+
filter: scopedFilter,
|
|
94
|
+
sort: options?.sort,
|
|
95
|
+
pageSize: options?.pageSize,
|
|
96
|
+
});
|
|
92
97
|
}
|
|
93
98
|
async createMany(reports, options = {}) {
|
|
94
99
|
const atomic = options.atomic ?? true;
|
|
@@ -142,6 +147,55 @@ export class AVIReportsResource extends MexReportsResource {
|
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
149
|
// ─────────────────────────────────────────────────────────────────
|
|
150
|
+
// Upsert Operations
|
|
151
|
+
// ─────────────────────────────────────────────────────────────────
|
|
152
|
+
/**
|
|
153
|
+
* Creates or updates an AVI report by externalId.
|
|
154
|
+
*
|
|
155
|
+
* @param data - Report upsert data with AVI fields at root level (must include externalId)
|
|
156
|
+
* @returns The created or updated report with action indicator
|
|
157
|
+
*/
|
|
158
|
+
async upsertByExternalId(data) {
|
|
159
|
+
const validated = this.validate(upsertAVIReportInputSchema, data);
|
|
160
|
+
const nestedData = this.transformToNested(validated);
|
|
161
|
+
const response = await this.execute(() => this.trpc.reports.upsertByExternalId.mutate(nestedData));
|
|
162
|
+
return {
|
|
163
|
+
data: this.instantiate(response.data),
|
|
164
|
+
action: response.action,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
async upsertManyByExternalId(reports, options = {}) {
|
|
168
|
+
const atomic = options.atomic ?? true;
|
|
169
|
+
const validated = this.validate(z.array(upsertAVIReportInputSchema), reports);
|
|
170
|
+
const nestedItems = validated.map((r) => this.transformToNested(r));
|
|
171
|
+
const response = await this.execute(() => this.trpc.reports.upsertManyByExternalId.mutate({
|
|
172
|
+
items: nestedItems,
|
|
173
|
+
atomic,
|
|
174
|
+
}));
|
|
175
|
+
if (response.atomic) {
|
|
176
|
+
return {
|
|
177
|
+
atomic: true,
|
|
178
|
+
data: response.data.map((item) => ({
|
|
179
|
+
data: this.instantiate(item.data),
|
|
180
|
+
action: item.action,
|
|
181
|
+
})),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
return {
|
|
186
|
+
atomic: false,
|
|
187
|
+
succeeded: response.succeeded.map((item) => ({
|
|
188
|
+
index: item.index,
|
|
189
|
+
data: {
|
|
190
|
+
data: this.instantiate(item.data.data),
|
|
191
|
+
action: item.data.action,
|
|
192
|
+
},
|
|
193
|
+
})),
|
|
194
|
+
failed: response.failed,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// ─────────────────────────────────────────────────────────────────
|
|
145
199
|
// Report Items
|
|
146
200
|
// ─────────────────────────────────────────────────────────────────
|
|
147
201
|
async addItem(reportId, data) {
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* - Accepts flattened CreateAVITransactionInput (AVI fields at root level)
|
|
6
6
|
* - Returns MexAVITransaction models
|
|
7
7
|
*/
|
|
8
|
-
import type { CreateTransactionInput, UpdateTransactionInput, TransactionSort, ListOptions, PaginatedResponse, CreateAVITransactionInput, UpdateAVITransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, AVITransactionFilter, AVITransactionSort } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateTransactionInput, UpdateTransactionInput, TransactionSort, ListOptions, PaginatedResponse, CreateAVITransactionInput, UpdateAVITransactionInput, UpsertAVITransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, AVITransactionFilter, AVITransactionSort, UpsertResult } from "@artu-ai/shared";
|
|
9
9
|
import { ClientRole } from "@artu-ai/shared";
|
|
10
10
|
import { MexTransactionsResource } from "../../transactions";
|
|
11
11
|
import { MexAVITransaction, type TransactionData } from "../../../../models";
|
|
@@ -50,7 +50,11 @@ export declare class AVITransactionsResource extends MexTransactionsResource<AVI
|
|
|
50
50
|
*
|
|
51
51
|
* Accepts flattened AVI filter (future AVI-specific transaction fields at root level).
|
|
52
52
|
*/
|
|
53
|
-
iterate(
|
|
53
|
+
iterate(options?: {
|
|
54
|
+
filter?: AVITransactionFilter;
|
|
55
|
+
sort?: AVITransactionSort;
|
|
56
|
+
pageSize?: number;
|
|
57
|
+
}): AsyncGenerator<MexAVITransaction, void, undefined>;
|
|
54
58
|
listByClient(clientId: string, options?: {
|
|
55
59
|
cursor?: string;
|
|
56
60
|
limit?: number;
|
|
@@ -76,6 +80,26 @@ export declare class AVITransactionsResource extends MexTransactionsResource<AVI
|
|
|
76
80
|
}[], options: {
|
|
77
81
|
atomic: false;
|
|
78
82
|
}): Promise<PartialBatchResult<MexAVITransaction>>;
|
|
83
|
+
/**
|
|
84
|
+
* Creates or updates an AVI transaction by externalId.
|
|
85
|
+
*
|
|
86
|
+
* @param data - Transaction upsert data with AVI fields at root level (must include externalId)
|
|
87
|
+
* @returns The created or updated transaction with action indicator
|
|
88
|
+
*/
|
|
89
|
+
upsertByExternalId(data: UpsertAVITransactionInput): Promise<UpsertResult<MexAVITransaction>>;
|
|
90
|
+
/**
|
|
91
|
+
* Creates or updates multiple AVI transactions by externalId.
|
|
92
|
+
*
|
|
93
|
+
* @param transactions - Array of transaction upsert data (each must include externalId)
|
|
94
|
+
* @param options - Batch options (atomic: true by default)
|
|
95
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
96
|
+
*/
|
|
97
|
+
upsertManyByExternalId(transactions: UpsertAVITransactionInput[], options?: {
|
|
98
|
+
atomic?: true;
|
|
99
|
+
}): Promise<AtomicBatchResult<UpsertResult<MexAVITransaction>>>;
|
|
100
|
+
upsertManyByExternalId(transactions: UpsertAVITransactionInput[], options: {
|
|
101
|
+
atomic: false;
|
|
102
|
+
}): Promise<PartialBatchResult<UpsertResult<MexAVITransaction>>>;
|
|
79
103
|
/**
|
|
80
104
|
* Transforms a flattened AVITransactionSort to nested TransactionSort format.
|
|
81
105
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/avi/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/avi/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexAVITransaction models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { Jurisdiction, CodigoActividad, createAVITransactionInputSchema, updateAVITransactionInputSchema, transformSort, aviTransactionFieldMapping, } from "@artu-ai/shared";
|
|
9
|
+
import { Jurisdiction, CodigoActividad, createAVITransactionInputSchema, updateAVITransactionInputSchema, upsertAVITransactionInputSchema, transformSort, aviTransactionFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexTransactionsResource } from "../../transactions";
|
|
11
11
|
import { MexAVITransaction } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -87,9 +87,14 @@ export class AVITransactionsResource extends MexTransactionsResource {
|
|
|
87
87
|
*
|
|
88
88
|
* Accepts flattened AVI filter (future AVI-specific transaction fields at root level).
|
|
89
89
|
*/
|
|
90
|
-
iterate(
|
|
91
|
-
const scopedFilter = this.applyScopeToFilter(filter);
|
|
92
|
-
|
|
90
|
+
iterate(options) {
|
|
91
|
+
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
92
|
+
// Note: sort is passed through - createIterator calls list() which handles transformation
|
|
93
|
+
return this.createIterator({
|
|
94
|
+
filter: scopedFilter,
|
|
95
|
+
sort: options?.sort,
|
|
96
|
+
pageSize: options?.pageSize,
|
|
97
|
+
});
|
|
93
98
|
}
|
|
94
99
|
// ─────────────────────────────────────────────────────────────────
|
|
95
100
|
// Client Relationship Management (scoped returns)
|
|
@@ -178,6 +183,55 @@ export class AVITransactionsResource extends MexTransactionsResource {
|
|
|
178
183
|
}
|
|
179
184
|
}
|
|
180
185
|
// ─────────────────────────────────────────────────────────────────
|
|
186
|
+
// Upsert Operations
|
|
187
|
+
// ─────────────────────────────────────────────────────────────────
|
|
188
|
+
/**
|
|
189
|
+
* Creates or updates an AVI transaction by externalId.
|
|
190
|
+
*
|
|
191
|
+
* @param data - Transaction upsert data with AVI fields at root level (must include externalId)
|
|
192
|
+
* @returns The created or updated transaction with action indicator
|
|
193
|
+
*/
|
|
194
|
+
async upsertByExternalId(data) {
|
|
195
|
+
const validated = this.validate(upsertAVITransactionInputSchema, data);
|
|
196
|
+
const nestedData = this.transformToNested(validated);
|
|
197
|
+
const response = await this.execute(() => this.trpc.transactions.upsertByExternalId.mutate(nestedData));
|
|
198
|
+
return {
|
|
199
|
+
data: this.instantiate(response.data),
|
|
200
|
+
action: response.action,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
async upsertManyByExternalId(transactions, options = {}) {
|
|
204
|
+
const atomic = options.atomic ?? true;
|
|
205
|
+
const validated = this.validate(z.array(upsertAVITransactionInputSchema), transactions);
|
|
206
|
+
const nestedItems = validated.map((t) => this.transformToNested(t));
|
|
207
|
+
const response = await this.execute(() => this.trpc.transactions.upsertManyByExternalId.mutate({
|
|
208
|
+
items: nestedItems,
|
|
209
|
+
atomic,
|
|
210
|
+
}));
|
|
211
|
+
if (response.atomic) {
|
|
212
|
+
return {
|
|
213
|
+
atomic: true,
|
|
214
|
+
data: response.data.map((item) => ({
|
|
215
|
+
data: this.instantiate(item.data),
|
|
216
|
+
action: item.action,
|
|
217
|
+
})),
|
|
218
|
+
};
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
return {
|
|
222
|
+
atomic: false,
|
|
223
|
+
succeeded: response.succeeded.map((item) => ({
|
|
224
|
+
index: item.index,
|
|
225
|
+
data: {
|
|
226
|
+
data: this.instantiate(item.data.data),
|
|
227
|
+
action: item.data.action,
|
|
228
|
+
},
|
|
229
|
+
})),
|
|
230
|
+
failed: response.failed,
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
// ─────────────────────────────────────────────────────────────────
|
|
181
235
|
// Protected Helpers
|
|
182
236
|
// ─────────────────────────────────────────────────────────────────
|
|
183
237
|
/**
|
|
@@ -5,7 +5,7 @@
|
|
|
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, JYSClientSort } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateClientInput, UpdateClientInput, ListOptions, PaginatedResponse, CreateJYSClientInput, UpdateJYSClientInput, UpsertJYSClientInput, AtomicBatchResult, PartialBatchResult, ClientRelationshipType, LinkedClient as LinkedClientInput, CreateMexAddressInput, UpdateMexAddressInput, CreateContactMethodInput, UpdateContactMethodInput, CreateBankAccountInput, UpdateBankAccountInput, SyncItem, SyncResult, JYSClientFilter, JYSClientSort, UpsertResult } from "@artu-ai/shared";
|
|
9
9
|
import type { ClientSort } from "@artu-ai/shared";
|
|
10
10
|
import { MexClientsResource } from "../../clients";
|
|
11
11
|
import { type ClientIncludeMap } from "../../../clients";
|
|
@@ -51,7 +51,11 @@ export declare class JYSClientsResource extends MexClientsResource<JYSClientSort
|
|
|
51
51
|
* Accepts flattened JYS filter (MX fields at root level) and automatically
|
|
52
52
|
* transforms to nested format before calling the API.
|
|
53
53
|
*/
|
|
54
|
-
iterate(
|
|
54
|
+
iterate(options?: {
|
|
55
|
+
filter?: JYSClientFilter;
|
|
56
|
+
sort?: JYSClientSort;
|
|
57
|
+
pageSize?: number;
|
|
58
|
+
}): AsyncGenerator<MexJYSClient, void, undefined>;
|
|
55
59
|
createMany(clients: CreateJYSClientInput[], options?: {
|
|
56
60
|
atomic?: true;
|
|
57
61
|
}): Promise<AtomicBatchResult<MexJYSClient>>;
|
|
@@ -70,6 +74,26 @@ export declare class JYSClientsResource extends MexClientsResource<JYSClientSort
|
|
|
70
74
|
}[], options: {
|
|
71
75
|
atomic: false;
|
|
72
76
|
}): Promise<PartialBatchResult<MexJYSClient>>;
|
|
77
|
+
/**
|
|
78
|
+
* Creates or updates a JYS client by externalId.
|
|
79
|
+
*
|
|
80
|
+
* @param data - Client upsert data with JYS fields at root level (must include externalId)
|
|
81
|
+
* @returns The created or updated client with action indicator
|
|
82
|
+
*/
|
|
83
|
+
upsertByExternalId(data: UpsertJYSClientInput): Promise<UpsertResult<MexJYSClient>>;
|
|
84
|
+
/**
|
|
85
|
+
* Creates or updates multiple JYS clients by externalId.
|
|
86
|
+
*
|
|
87
|
+
* @param clients - Array of client upsert data (each must include externalId)
|
|
88
|
+
* @param options - Batch options (atomic: true by default)
|
|
89
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
90
|
+
*/
|
|
91
|
+
upsertManyByExternalId(clients: UpsertJYSClientInput[], options?: {
|
|
92
|
+
atomic?: true;
|
|
93
|
+
}): Promise<AtomicBatchResult<UpsertResult<MexJYSClient>>>;
|
|
94
|
+
upsertManyByExternalId(clients: UpsertJYSClientInput[], options: {
|
|
95
|
+
atomic: false;
|
|
96
|
+
}): Promise<PartialBatchResult<UpsertResult<MexJYSClient>>>;
|
|
73
97
|
linkClient(parentClientId: string, childClientId: string, relationshipType: ClientRelationshipType, metadata?: Record<string, unknown>): Promise<MexJYSClient>;
|
|
74
98
|
unlinkClient(parentClientId: string, childClientId: string, relationshipType: ClientRelationshipType): Promise<MexJYSClient>;
|
|
75
99
|
listLinkedClients(parentClientId: string, relationshipType?: ClientRelationshipType): Promise<LinkedClient[]>;
|
|
@@ -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,
|
|
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, transformSort, jysClientFieldMapping, } from "@artu-ai/shared";
|
|
9
|
+
import { CodigoActividad, createJYSClientInputSchema, updateJYSClientInputSchema, upsertJYSClientInputSchema, linkedClientSchema, transformSort, jysClientFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexClientsResource } from "../../clients";
|
|
11
11
|
import { MexJYSClient, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -85,9 +85,14 @@ export class JYSClientsResource extends MexClientsResource {
|
|
|
85
85
|
* Accepts flattened JYS filter (MX fields at root level) and automatically
|
|
86
86
|
* transforms to nested format before calling the API.
|
|
87
87
|
*/
|
|
88
|
-
iterate(
|
|
89
|
-
const scopedFilter = this.applyScopeToFilter(filter);
|
|
90
|
-
|
|
88
|
+
iterate(options) {
|
|
89
|
+
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
90
|
+
// Note: sort is passed through - createIterator calls list() which handles transformation
|
|
91
|
+
return this.createIterator({
|
|
92
|
+
filter: scopedFilter,
|
|
93
|
+
sort: options?.sort,
|
|
94
|
+
pageSize: options?.pageSize,
|
|
95
|
+
});
|
|
91
96
|
}
|
|
92
97
|
async createMany(clients, options = {}) {
|
|
93
98
|
const atomic = options.atomic ?? true;
|
|
@@ -141,6 +146,55 @@ export class JYSClientsResource extends MexClientsResource {
|
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
148
|
// ─────────────────────────────────────────────────────────────────
|
|
149
|
+
// Upsert Operations
|
|
150
|
+
// ─────────────────────────────────────────────────────────────────
|
|
151
|
+
/**
|
|
152
|
+
* Creates or updates a JYS client by externalId.
|
|
153
|
+
*
|
|
154
|
+
* @param data - Client upsert data with JYS fields at root level (must include externalId)
|
|
155
|
+
* @returns The created or updated client with action indicator
|
|
156
|
+
*/
|
|
157
|
+
async upsertByExternalId(data) {
|
|
158
|
+
const validated = this.validate(upsertJYSClientInputSchema, data);
|
|
159
|
+
const nestedData = this.transformToNested(validated);
|
|
160
|
+
const response = await this.execute(() => this.trpc.clients.upsertByExternalId.mutate(nestedData));
|
|
161
|
+
return {
|
|
162
|
+
data: this.instantiate(response.data),
|
|
163
|
+
action: response.action,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
async upsertManyByExternalId(clients, options = {}) {
|
|
167
|
+
const atomic = options.atomic ?? true;
|
|
168
|
+
const validated = this.validate(z.array(upsertJYSClientInputSchema), clients);
|
|
169
|
+
const nestedItems = validated.map((c) => this.transformToNested(c));
|
|
170
|
+
const response = await this.execute(() => this.trpc.clients.upsertManyByExternalId.mutate({
|
|
171
|
+
items: nestedItems,
|
|
172
|
+
atomic,
|
|
173
|
+
}));
|
|
174
|
+
if (response.atomic) {
|
|
175
|
+
return {
|
|
176
|
+
atomic: true,
|
|
177
|
+
data: response.data.map((item) => ({
|
|
178
|
+
data: this.instantiate(item.data),
|
|
179
|
+
action: item.action,
|
|
180
|
+
})),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
return {
|
|
185
|
+
atomic: false,
|
|
186
|
+
succeeded: response.succeeded.map((item) => ({
|
|
187
|
+
index: item.index,
|
|
188
|
+
data: {
|
|
189
|
+
data: this.instantiate(item.data.data),
|
|
190
|
+
action: item.data.action,
|
|
191
|
+
},
|
|
192
|
+
})),
|
|
193
|
+
failed: response.failed,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
// ─────────────────────────────────────────────────────────────────
|
|
144
198
|
// Client-to-Client Relationship Management (scoped returns)
|
|
145
199
|
// ─────────────────────────────────────────────────────────────────
|
|
146
200
|
async linkClient(parentClientId, childClientId, relationshipType, metadata) {
|
|
@@ -5,7 +5,7 @@
|
|
|
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, JysReportDefaultsInput, ValidationResult, GenerateResult, SubmissionResult, SubmitJYSSubmissionInput } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, CreateJYSReportInput, UpdateJYSReportInput, UpsertJYSReportInput, CreateJYSReportItemInput, UpdateJYSReportItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, JysReportDefaultsInput, ValidationResult, GenerateResult, SubmissionResult, SubmitJYSSubmissionInput, UpsertResult } from "@artu-ai/shared";
|
|
9
9
|
import type { JYSReportFilter, JYSReportSort, JYSReportItemFilter, ReportSort, ReportItemFilter, ReportItemSort } from "@artu-ai/shared";
|
|
10
10
|
import { MexReportsResource } from "../../reports";
|
|
11
11
|
import { MexJYSReport, MexJYSReportItem, type ReportData, type ReportItemData } from "../../../../models";
|
|
@@ -46,7 +46,11 @@ export declare class JYSReportsResource extends MexReportsResource<JYSReportSort
|
|
|
46
46
|
*
|
|
47
47
|
* Accepts flattened JYS filter (future JYS-specific report fields at root level).
|
|
48
48
|
*/
|
|
49
|
-
iterate(
|
|
49
|
+
iterate(options?: {
|
|
50
|
+
filter?: JYSReportFilter;
|
|
51
|
+
sort?: JYSReportSort;
|
|
52
|
+
pageSize?: number;
|
|
53
|
+
}): AsyncGenerator<MexJYSReport, void, undefined>;
|
|
50
54
|
createMany(reports: CreateJYSReportInput[], options?: {
|
|
51
55
|
atomic?: true;
|
|
52
56
|
}): Promise<AtomicBatchResult<MexJYSReport>>;
|
|
@@ -65,6 +69,26 @@ export declare class JYSReportsResource extends MexReportsResource<JYSReportSort
|
|
|
65
69
|
}[], options: {
|
|
66
70
|
atomic: false;
|
|
67
71
|
}): Promise<PartialBatchResult<MexJYSReport>>;
|
|
72
|
+
/**
|
|
73
|
+
* Creates or updates a JYS report by externalId.
|
|
74
|
+
*
|
|
75
|
+
* @param data - Report upsert data with JYS fields at root level (must include externalId)
|
|
76
|
+
* @returns The created or updated report with action indicator
|
|
77
|
+
*/
|
|
78
|
+
upsertByExternalId(data: UpsertJYSReportInput): Promise<UpsertResult<MexJYSReport>>;
|
|
79
|
+
/**
|
|
80
|
+
* Creates or updates multiple JYS reports by externalId.
|
|
81
|
+
*
|
|
82
|
+
* @param reports - Array of report upsert data (each must include externalId)
|
|
83
|
+
* @param options - Batch options (atomic: true by default)
|
|
84
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
85
|
+
*/
|
|
86
|
+
upsertManyByExternalId(reports: UpsertJYSReportInput[], options?: {
|
|
87
|
+
atomic?: true;
|
|
88
|
+
}): Promise<AtomicBatchResult<UpsertResult<MexJYSReport>>>;
|
|
89
|
+
upsertManyByExternalId(reports: UpsertJYSReportInput[], options: {
|
|
90
|
+
atomic: false;
|
|
91
|
+
}): Promise<PartialBatchResult<UpsertResult<MexJYSReport>>>;
|
|
68
92
|
addItem(reportId: string, data: CreateJYSReportItemInput): Promise<MexJYSReportItem>;
|
|
69
93
|
getItem(reportId: string, itemId: string): Promise<MexJYSReportItem>;
|
|
70
94
|
updateItem(reportId: string, itemId: string, data: UpdateJYSReportItemInput): Promise<MexJYSReportItem>;
|
|
@@ -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,
|
|
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, jysDefaultsInputSchema, submitJYSSubmissionInputSchema, transformSort, jysReportFieldMapping, } from "@artu-ai/shared";
|
|
9
|
+
import { CodigoActividad, createJYSReportInputSchema, updateJYSReportInputSchema, upsertJYSReportInputSchema, 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
|
// ===========================
|
|
@@ -86,9 +86,14 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
86
86
|
*
|
|
87
87
|
* Accepts flattened JYS filter (future JYS-specific report fields at root level).
|
|
88
88
|
*/
|
|
89
|
-
iterate(
|
|
90
|
-
const scopedFilter = this.applyScopeToFilter(filter);
|
|
91
|
-
|
|
89
|
+
iterate(options) {
|
|
90
|
+
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
91
|
+
// Note: sort is passed through - createIterator calls list() which handles transformation
|
|
92
|
+
return this.createIterator({
|
|
93
|
+
filter: scopedFilter,
|
|
94
|
+
sort: options?.sort,
|
|
95
|
+
pageSize: options?.pageSize,
|
|
96
|
+
});
|
|
92
97
|
}
|
|
93
98
|
async createMany(reports, options = {}) {
|
|
94
99
|
const atomic = options.atomic ?? true;
|
|
@@ -142,6 +147,55 @@ export class JYSReportsResource extends MexReportsResource {
|
|
|
142
147
|
}
|
|
143
148
|
}
|
|
144
149
|
// ─────────────────────────────────────────────────────────────────
|
|
150
|
+
// Upsert Operations
|
|
151
|
+
// ─────────────────────────────────────────────────────────────────
|
|
152
|
+
/**
|
|
153
|
+
* Creates or updates a JYS report by externalId.
|
|
154
|
+
*
|
|
155
|
+
* @param data - Report upsert data with JYS fields at root level (must include externalId)
|
|
156
|
+
* @returns The created or updated report with action indicator
|
|
157
|
+
*/
|
|
158
|
+
async upsertByExternalId(data) {
|
|
159
|
+
const validated = this.validate(upsertJYSReportInputSchema, data);
|
|
160
|
+
const nestedData = this.transformToNested(validated);
|
|
161
|
+
const response = await this.execute(() => this.trpc.reports.upsertByExternalId.mutate(nestedData));
|
|
162
|
+
return {
|
|
163
|
+
data: this.instantiate(response.data),
|
|
164
|
+
action: response.action,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
async upsertManyByExternalId(reports, options = {}) {
|
|
168
|
+
const atomic = options.atomic ?? true;
|
|
169
|
+
const validated = this.validate(z.array(upsertJYSReportInputSchema), reports);
|
|
170
|
+
const nestedItems = validated.map((r) => this.transformToNested(r));
|
|
171
|
+
const response = await this.execute(() => this.trpc.reports.upsertManyByExternalId.mutate({
|
|
172
|
+
items: nestedItems,
|
|
173
|
+
atomic,
|
|
174
|
+
}));
|
|
175
|
+
if (response.atomic) {
|
|
176
|
+
return {
|
|
177
|
+
atomic: true,
|
|
178
|
+
data: response.data.map((item) => ({
|
|
179
|
+
data: this.instantiate(item.data),
|
|
180
|
+
action: item.action,
|
|
181
|
+
})),
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
return {
|
|
186
|
+
atomic: false,
|
|
187
|
+
succeeded: response.succeeded.map((item) => ({
|
|
188
|
+
index: item.index,
|
|
189
|
+
data: {
|
|
190
|
+
data: this.instantiate(item.data.data),
|
|
191
|
+
action: item.data.action,
|
|
192
|
+
},
|
|
193
|
+
})),
|
|
194
|
+
failed: response.failed,
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
// ─────────────────────────────────────────────────────────────────
|
|
145
199
|
// Report Items
|
|
146
200
|
// ─────────────────────────────────────────────────────────────────
|
|
147
201
|
async addItem(reportId, data) {
|
|
@@ -5,7 +5,7 @@
|
|
|
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, JYSTransactionSort } from "@artu-ai/shared";
|
|
8
|
+
import type { CreateTransactionInput, UpdateTransactionInput, ListOptions, PaginatedResponse, CreateJYSTransactionInput, UpdateJYSTransactionInput, UpsertJYSTransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, JYSTransactionFilter, JYSTransactionSort, UpsertResult } from "@artu-ai/shared";
|
|
9
9
|
import { ClientRole } from "@artu-ai/shared";
|
|
10
10
|
import type { TransactionSort } from "@artu-ai/shared";
|
|
11
11
|
import { MexTransactionsResource } from "../../transactions";
|
|
@@ -54,7 +54,11 @@ export declare class JYSTransactionsResource extends MexTransactionsResource<JYS
|
|
|
54
54
|
*
|
|
55
55
|
* Accepts flattened JYS filter (future JYS-specific transaction fields at root level).
|
|
56
56
|
*/
|
|
57
|
-
iterate(
|
|
57
|
+
iterate(options?: {
|
|
58
|
+
filter?: JYSTransactionFilter;
|
|
59
|
+
sort?: JYSTransactionSort;
|
|
60
|
+
pageSize?: number;
|
|
61
|
+
}): AsyncGenerator<MexJYSTransaction, void, undefined>;
|
|
58
62
|
listByClient(clientId: string, options?: {
|
|
59
63
|
cursor?: string;
|
|
60
64
|
limit?: number;
|
|
@@ -80,6 +84,26 @@ export declare class JYSTransactionsResource extends MexTransactionsResource<JYS
|
|
|
80
84
|
}[], options: {
|
|
81
85
|
atomic: false;
|
|
82
86
|
}): Promise<PartialBatchResult<MexJYSTransaction>>;
|
|
87
|
+
/**
|
|
88
|
+
* Creates or updates a JYS transaction by externalId.
|
|
89
|
+
*
|
|
90
|
+
* @param data - Transaction upsert data with JYS fields at root level (must include externalId)
|
|
91
|
+
* @returns The created or updated transaction with action indicator
|
|
92
|
+
*/
|
|
93
|
+
upsertByExternalId(data: UpsertJYSTransactionInput): Promise<UpsertResult<MexJYSTransaction>>;
|
|
94
|
+
/**
|
|
95
|
+
* Creates or updates multiple JYS transactions by externalId.
|
|
96
|
+
*
|
|
97
|
+
* @param transactions - Array of transaction upsert data (each must include externalId)
|
|
98
|
+
* @param options - Batch options (atomic: true by default)
|
|
99
|
+
* @returns Atomic result with data array, or partial result with succeeded/failed
|
|
100
|
+
*/
|
|
101
|
+
upsertManyByExternalId(transactions: UpsertJYSTransactionInput[], options?: {
|
|
102
|
+
atomic?: true;
|
|
103
|
+
}): Promise<AtomicBatchResult<UpsertResult<MexJYSTransaction>>>;
|
|
104
|
+
upsertManyByExternalId(transactions: UpsertJYSTransactionInput[], options: {
|
|
105
|
+
atomic: false;
|
|
106
|
+
}): Promise<PartialBatchResult<UpsertResult<MexJYSTransaction>>>;
|
|
83
107
|
/**
|
|
84
108
|
* Transforms a flattened JYSTransactionSort to nested TransactionSort format.
|
|
85
109
|
*
|
|
@@ -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,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/actividad-vulnerable/jys/transactions.ts"],"names":[],"mappings":"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"}
|