@owneraio/finp2p-sdk-js 0.27.13 → 0.27.14

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.
@@ -1,261 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // Test to demonstrate assets schema execution and data flow
4
- const schemas_1 = require("../../schemas");
5
- const externalQueryHandler_1 = require("../../OwneraAPI/oss-api/externalQueryHandler");
6
- const computedValues_1 = require("../../OwneraAPI/oss-api/computedValues");
7
- /* eslint-disable no-console */
8
- console.log('Assets Schema Execution Test\n');
9
- console.log('='.repeat(80));
10
- const assetsSchema = (0, schemas_1.getAssetsSchema)();
11
- // Selected fields including all data source types
12
- const selectedFields = [
13
- 'id',
14
- 'name',
15
- 'type',
16
- 'issuer_id',
17
- 'pull_date', // hardcoded (computed)
18
- 'is_enabled', // sideDB
19
- 'valuation_price', // certificate
20
- 'country_of_issue', // external
21
- 'price_level', // hardcoded (static)
22
- ];
23
- console.log('\n1. SELECTED FIELDS');
24
- console.log('-'.repeat(80));
25
- selectedFields.forEach((field) => {
26
- const col = assetsSchema.columns.find((c) => c.apiField === field);
27
- const source = (col === null || col === void 0 ? void 0 : col.dataSource) || 'graphql';
28
- let extra = '';
29
- if (col === null || col === void 0 ? void 0 : col.computedValue)
30
- extra = ` (computed: ${col.computedValue})`;
31
- if ((col === null || col === void 0 ? void 0 : col.hardcodedValue) !== undefined)
32
- extra = ` (value: ${col.hardcodedValue})`;
33
- if (col === null || col === void 0 ? void 0 : col.certificateType)
34
- extra = ` (cert: ${col.certificateType})`;
35
- if (col === null || col === void 0 ? void 0 : col.externalQuery)
36
- extra = ` (from: ${col.externalQuery.graphqlType})`;
37
- console.log(` ${field.padEnd(25)} [${source}]${extra}`);
38
- });
39
- // Identify what will be queried
40
- console.log('\n2. GRAPHQL QUERY ANALYSIS');
41
- console.log('-'.repeat(80));
42
- const graphqlFields = assetsSchema.columns
43
- .filter((col) => selectedFields.includes(col.apiField))
44
- .filter((col) => col.graphqlPath && (!col.dataSource || col.dataSource === 'graphql' || col.dataSource === 'certificate'));
45
- console.log(`Fields in main GraphQL query: ${graphqlFields.length}`);
46
- graphqlFields.forEach((col) => {
47
- console.log(` - ${col.apiField}: ${col.graphqlPath}`);
48
- });
49
- // Identify external queries
50
- console.log('\n3. EXTERNAL QUERIES NEEDED');
51
- console.log('-'.repeat(80));
52
- const externalQueries = (0, externalQueryHandler_1.identifyExternalQueries)(assetsSchema, selectedFields);
53
- if (externalQueries.size === 0) {
54
- console.log(' No external queries needed');
55
- }
56
- else {
57
- externalQueries.forEach((info, graphqlType) => {
58
- console.log(`\n Query: ${graphqlType}`);
59
- info.fields.forEach((field) => {
60
- console.log(` - ${field.apiField}`);
61
- console.log(` Path: ${field.path}`);
62
- console.log(` GraphQL: ${field.graphqlPath}`);
63
- });
64
- });
65
- }
66
- // Simulate main query execution
67
- console.log('\n4. SIMULATED MAIN QUERY EXECUTION');
68
- console.log('-'.repeat(80));
69
- const mockMainQueryResult = [
70
- {
71
- id: 'asset-001',
72
- name: 'US Treasury Bond 2025',
73
- type: 'BOND',
74
- issuerId: 'user-001',
75
- certificates: {
76
- nodes: [
77
- { type: 'NAV', data: { value: 1050.25, currency: 'USD', date: '2025-01-15' } },
78
- { type: 'prospectus', data: { url: 'https://example.com/prospectus.pdf' } },
79
- ],
80
- },
81
- },
82
- {
83
- id: 'asset-002',
84
- name: 'EU Green Bond 2026',
85
- type: 'BOND',
86
- issuerId: 'user-002',
87
- certificates: {
88
- nodes: [{ type: 'NAV', data: { value: 980.5, currency: 'EUR', date: '2025-01-15' } }],
89
- },
90
- },
91
- {
92
- id: 'asset-003',
93
- name: 'Tech Corp Equity',
94
- type: 'EQUITY',
95
- issuerId: 'user-001',
96
- certificates: {
97
- nodes: [{ type: 'NAV', data: { value: 245.75, currency: 'USD', date: '2025-01-15' } }],
98
- },
99
- },
100
- ];
101
- console.log(`Retrieved ${mockMainQueryResult.length} assets from main query`);
102
- mockMainQueryResult.forEach((asset) => {
103
- console.log(` - ${asset.name} (${asset.id})`);
104
- console.log(` Type: ${asset.type}, Issuer: ${asset.issuerId}`);
105
- console.log(` Certificates: ${asset.certificates.nodes.length}`);
106
- });
107
- // Simulate external query execution
108
- console.log('\n5. SIMULATED EXTERNAL QUERY EXECUTION');
109
- console.log('-'.repeat(80));
110
- const mockUsersQueryResult = [
111
- {
112
- id: 'user-001',
113
- name: 'US Treasury Department',
114
- certificates: {
115
- nodes: [
116
- { type: 'individual_info', data: { country: 'USA', state: 'DC' } },
117
- { type: 'kyc', data: { verified: true } },
118
- ],
119
- },
120
- },
121
- {
122
- id: 'user-002',
123
- name: 'European Investment Bank',
124
- certificates: {
125
- nodes: [
126
- { type: 'individual_info', data: { country: 'Luxembourg', region: 'EU' } },
127
- { type: 'kyc', data: { verified: true } },
128
- ],
129
- },
130
- },
131
- ];
132
- console.log('Query: users');
133
- console.log(` Filter: id IN [${[...new Set(mockMainQueryResult.map((a) => a.issuerId))].join(', ')}]`);
134
- console.log(` Retrieved: ${mockUsersQueryResult.length} users`);
135
- mockUsersQueryResult.forEach((user) => {
136
- console.log(` - ${user.name} (${user.id})`);
137
- });
138
- // Test path extraction
139
- console.log('\n6. PATH EXTRACTION TEST');
140
- console.log('-'.repeat(80));
141
- const testUser = mockUsersQueryResult[0];
142
- const countryPath = 'certificates.nodes[i].data.country';
143
- const extractedCountry = (0, externalQueryHandler_1.getValueFromPath)(testUser, countryPath);
144
- console.log(`User: ${testUser.name}`);
145
- console.log(`Path: ${countryPath}`);
146
- console.log(`Extracted value: ${JSON.stringify(extractedCountry)}`);
147
- // Merge external data
148
- console.log('\n7. DATA MERGING');
149
- console.log('-'.repeat(80));
150
- // Identify external queries to get the queries map
151
- const externalQueriesMap = (0, externalQueryHandler_1.identifyExternalQueries)(assetsSchema, selectedFields);
152
- const externalResults = [
153
- {
154
- graphqlType: 'users',
155
- queryKey: 'users:issuer_id:id', // This should match the schema configuration
156
- data: mockUsersQueryResult,
157
- },
158
- ];
159
- const enrichedData = (0, externalQueryHandler_1.mergeExternalData)(mockMainQueryResult, externalResults, externalQueriesMap, assetsSchema, selectedFields);
160
- console.log('Merged external data:');
161
- enrichedData.forEach((asset) => {
162
- console.log(` ${asset.name}:`);
163
- console.log(` - country_of_issue: ${JSON.stringify(asset.country_of_issue)}`);
164
- });
165
- // Apply computed values
166
- console.log('\n8. APPLY COMPUTED VALUES');
167
- console.log('-'.repeat(80));
168
- const dataWithComputed = enrichedData.map((asset) => {
169
- return (0, computedValues_1.applyComputedValues)(Object.assign({}, asset), assetsSchema.columns);
170
- });
171
- console.log('Applied computed values:');
172
- dataWithComputed.forEach((asset) => {
173
- console.log(` ${asset.name}:`);
174
- console.log(` - pull_date: ${asset.pull_date}`);
175
- });
176
- // Apply hardcoded values
177
- console.log('\n9. APPLY HARDCODED VALUES');
178
- console.log('-'.repeat(80));
179
- const finalData = dataWithComputed.map((asset) => {
180
- const enriched = Object.assign({}, asset);
181
- assetsSchema.columns
182
- .filter((col) => selectedFields.includes(col.apiField) && col.hardcodedValue !== undefined)
183
- .forEach((col) => {
184
- enriched[col.apiField] = col.hardcodedValue;
185
- });
186
- return enriched;
187
- });
188
- console.log('Applied hardcoded values:');
189
- finalData.forEach((asset) => {
190
- console.log(` ${asset.name}:`);
191
- console.log(` - price_level: ${asset.price_level}`);
192
- });
193
- // Simulate sideDB data
194
- console.log('\n10. SIMULATE SIDEDB DATA');
195
- console.log('-'.repeat(80));
196
- const sideDBData = {
197
- 'asset-001': { is_enabled: true },
198
- 'asset-002': { is_enabled: true },
199
- 'asset-003': { is_enabled: false },
200
- };
201
- const completeData = finalData.map((asset) => {
202
- var _a;
203
- return Object.assign(Object.assign({}, asset), { is_enabled: (_a = sideDBData[asset.id]) === null || _a === void 0 ? void 0 : _a.is_enabled });
204
- });
205
- console.log('Applied sideDB data:');
206
- completeData.forEach((asset) => {
207
- console.log(` ${asset.name}:`);
208
- console.log(` - is_enabled: ${asset.is_enabled}`);
209
- });
210
- // Extract certificate data
211
- console.log('\n11. EXTRACT CERTIFICATE DATA');
212
- console.log('-'.repeat(80));
213
- const dataWithCertificates = completeData.map((asset) => {
214
- var _a, _b, _c;
215
- const navCert = (_b = (_a = asset.certificates) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.find((c) => c.type === 'NAV');
216
- return Object.assign(Object.assign({}, asset), { valuation_price: (_c = navCert === null || navCert === void 0 ? void 0 : navCert.data) === null || _c === void 0 ? void 0 : _c.value });
217
- });
218
- console.log('Extracted certificate data:');
219
- dataWithCertificates.forEach((asset) => {
220
- console.log(` ${asset.name}:`);
221
- console.log(` - valuation_price: ${asset.valuation_price}`);
222
- });
223
- // Final result
224
- console.log('\n12. FINAL RESULT');
225
- console.log('='.repeat(80));
226
- console.log(`\nTotal assets: ${dataWithCertificates.length}\n`);
227
- dataWithCertificates.forEach((asset, index) => {
228
- console.log(`Asset ${index + 1}: ${asset.name}`);
229
- console.log(` id: ${asset.id}`);
230
- console.log(` type: ${asset.type}`);
231
- console.log(` issuer_id: ${asset.issuerId}`);
232
- console.log(` pull_date: ${asset.pull_date} (computed)`);
233
- console.log(` is_enabled: ${asset.is_enabled} (sideDB)`);
234
- console.log(` valuation_price: ${asset.valuation_price} (certificate)`);
235
- console.log(` country_of_issue: ${JSON.stringify(asset.country_of_issue)} (external)`);
236
- console.log(` price_level: ${asset.price_level} (hardcoded)`);
237
- console.log('');
238
- });
239
- // Summary by data source
240
- console.log('13. DATA SOURCE SUMMARY');
241
- console.log('='.repeat(80));
242
- const dataSources = {
243
- graphql: ['id', 'name', 'type', 'issuer_id'],
244
- computed: ['pull_date'],
245
- sideDB: ['is_enabled'],
246
- certificate: ['valuation_price'],
247
- external: ['country_of_issue'],
248
- hardcoded: ['price_level'],
249
- };
250
- Object.entries(dataSources).forEach(([source, fields]) => {
251
- console.log(`\n${source.toUpperCase()}:`);
252
- fields.forEach((field) => {
253
- const value = dataWithCertificates[0][field];
254
- console.log(` ${field}: ${JSON.stringify(value)}`);
255
- });
256
- });
257
- console.log('\n' + '='.repeat(80));
258
- console.log('✅ Assets schema execution test completed successfully!');
259
- console.log('='.repeat(80));
260
- /* eslint-enable no-console */
261
- //# sourceMappingURL=test-assets-schema-execution.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-assets-schema-execution.js","sourceRoot":"","sources":["../../../src/schemas/tests/test-assets-schema-execution.ts"],"names":[],"mappings":";;AAAA,4DAA4D;AAC5D,2CAAgD;AAChD,uFAIsD;AACtD,2EAA6E;AAE7E,+BAA+B;AAC/B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,YAAY,GAAG,IAAA,yBAAe,GAAE,CAAC;AAEvC,kDAAkD;AAClD,MAAM,cAAc,GAAG;IACrB,IAAI;IACJ,MAAM;IACN,MAAM;IACN,WAAW;IACX,WAAW,EAAE,uBAAuB;IACpC,YAAY,EAAE,SAAS;IACvB,iBAAiB,EAAE,cAAc;IACjC,kBAAkB,EAAE,WAAW;IAC/B,aAAa,EAAE,qBAAqB;CACrC,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IAC/B,MAAM,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,KAAI,SAAS,CAAC;IAC5C,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa;QAAE,KAAK,GAAG,eAAe,GAAG,CAAC,aAAa,GAAG,CAAC;IACpE,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,cAAc,MAAK,SAAS;QAAE,KAAK,GAAG,YAAY,GAAG,CAAC,cAAc,GAAG,CAAC;IACjF,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,eAAe;QAAE,KAAK,GAAG,WAAW,GAAG,CAAC,eAAe,GAAG,CAAC;IACpE,IAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,aAAa;QAAE,KAAK,GAAG,WAAW,GAAG,CAAC,aAAa,CAAC,WAAW,GAAG,CAAC;IAC5E,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC,CAAC,CAAC;AAEH,gCAAgC;AAChC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO;KACvC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACtD,MAAM,CACL,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,aAAa,CAAC,CAClH,CAAC;AAEJ,OAAO,CAAC,GAAG,CAAC,iCAAiC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;AACrE,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;IAC5B,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,eAAe,GAAG,IAAA,8CAAuB,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAC9E,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;IAC/B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC9C,CAAC;KAAM,CAAC;IACN,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,EAAE;QAC5C,OAAO,CAAC,GAAG,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC;QACzC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5B,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YACvC,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,gCAAgC;AAChC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,mBAAmB,GAAG;IAC1B;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,uBAAuB;QAC7B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;gBAC9E,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,oCAAoC,EAAE,EAAE;aAC5E;SACF;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,oBAAoB;QAC1B,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC;SACtF;KACF;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE;YACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC;SACvF;KACF;CACF,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,aAAa,mBAAmB,CAAC,MAAM,yBAAyB,CAAC,CAAC;AAC9E,mBAAmB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACpC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,IAAI,aAAa,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,oCAAoC;AACpC,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACvD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,oBAAoB,GAAG;IAC3B;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,wBAAwB;QAC9B,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aAC1C;SACF;KACF;IACD;QACE,EAAE,EAAE,UAAU;QACd,IAAI,EAAE,0BAA0B;QAChC,YAAY,EAAE;YACZ,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;gBAC1E,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;aAC1C;SACF;KACF;CACF,CAAC;AAEF,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC5B,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxG,OAAO,CAAC,GAAG,CAAC,gBAAgB,oBAAoB,CAAC,MAAM,QAAQ,CAAC,CAAC;AACjE,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;IACpC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,QAAQ,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;AACzC,MAAM,WAAW,GAAG,oCAAoC,CAAC;AACzD,MAAM,gBAAgB,GAAG,IAAA,uCAAgB,EAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACjE,OAAO,CAAC,GAAG,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACtC,OAAO,CAAC,GAAG,CAAC,SAAS,WAAW,EAAE,CAAC,CAAC;AACpC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AAEpE,sBAAsB;AACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,mDAAmD;AACnD,MAAM,kBAAkB,GAAG,IAAA,8CAAuB,EAAC,YAAY,EAAE,cAAc,CAAC,CAAC;AAEjF,MAAM,eAAe,GAAG;IACtB;QACE,WAAW,EAAE,OAAO;QACpB,QAAQ,EAAE,oBAAoB,EAAE,6CAA6C;QAC7E,IAAI,EAAE,oBAAoB;KAC3B;CACF,CAAC;AAEF,MAAM,YAAY,GAAG,IAAA,wCAAiB,EAAC,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;AAE/H,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;AACrC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;AACnF,CAAC,CAAC,CAAC;AAEH,wBAAwB;AACxB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IAClD,OAAO,IAAA,oCAAmB,oBAAM,KAAK,GAAI,YAAY,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACxC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACjC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC3C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;IAC/C,MAAM,QAAQ,qBAAQ,KAAK,CAAE,CAAC;IAE9B,YAAY,CAAC,OAAO;SACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC;SAC1F,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QACf,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEL,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACzC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,uBAAuB;AACvB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,UAAU,GAA4C;IAC1D,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACjC,WAAW,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;IACjC,WAAW,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE;CACnC,CAAC;AAEF,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;;IAChD,uCACK,KAAK,KACR,UAAU,EAAE,MAAA,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,0CAAE,UAAU,IAC5C;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,CAAC,CAAC,CAAC;AAEH,2BAA2B;AAC3B,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AAC9C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,oBAAoB,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE;;IAC3D,MAAM,OAAO,GAAG,MAAA,MAAA,KAAK,CAAC,YAAY,0CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;IAC9E,uCACK,KAAK,KACR,eAAe,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,KAAK,IACrC;AACJ,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;AAC3C,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,EAAE;IAC1C,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEH,eAAe;AACf,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,oBAAoB,CAAC,MAAM,IAAI,CAAC,CAAC;AAEhE,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;IACzD,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,SAAS,aAAa,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,UAAU,WAAW,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,eAAe,gBAAgB,CAAC,CAAC;IAC3E,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,WAAW,cAAc,CAAC,CAAC;IACrE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,yBAAyB;AACzB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAE5B,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC;IAC5C,QAAQ,EAAE,CAAC,WAAW,CAAC;IACvB,MAAM,EAAE,CAAC,YAAY,CAAC;IACtB,WAAW,EAAE,CAAC,iBAAiB,CAAC;IAChC,QAAQ,EAAE,CAAC,kBAAkB,CAAC;IAC9B,SAAS,EAAE,CAAC,aAAa,CAAC;CAC3B,CAAC;AAEF,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;IACvD,OAAO,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IAC1C,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvB,MAAM,KAAK,GAAI,oBAAoB,CAAC,CAAC,CAAS,CAAC,KAAK,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AACnC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;AACtE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC5B,8BAA8B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,226 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // Test to verify transactions query with object-based operator filters
4
- const schemas_1 = require("../../schemas");
5
- /* eslint-disable no-console */
6
- console.log('Transactions Filter Test with Object-based Operators\n');
7
- const transactionsSchema = (0, schemas_1.getTransactionsSchema)();
8
- // Mock the buildGraphQLQuery function logic to test filter generation
9
- const sanitizeFilterKey = (key) => {
10
- if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key)) {
11
- throw new Error(`Invalid filter key: ${key}`);
12
- }
13
- return key;
14
- };
15
- const formatFilterValue = (value) => {
16
- if (value === null || value === undefined) {
17
- throw new Error('Filter value cannot be null or undefined');
18
- }
19
- if (typeof value === 'boolean') {
20
- return `"${value.toString()}"`;
21
- }
22
- else if (typeof value === 'number') {
23
- return `"${value.toString()}"`;
24
- }
25
- else if (typeof value === 'string') {
26
- // Simplified sanitization for test
27
- const sanitized = value.replace(/["\\\n\r\t]/g, (char) => {
28
- switch (char) {
29
- case '"':
30
- return '\\"';
31
- case '\\':
32
- return '\\\\';
33
- case '\n':
34
- return '\\n';
35
- case '\r':
36
- return '\\r';
37
- case '\t':
38
- return '\\t';
39
- default:
40
- return char;
41
- }
42
- });
43
- return `"${sanitized}"`;
44
- }
45
- const valueStr = JSON.stringify(value, null, 2).substring(0, 200);
46
- throw new Error(`Unsupported filter value type: ${typeof value}. ` +
47
- `Filters must be primitive values (string, number, boolean) or arrays of primitives. ` +
48
- `Got: ${valueStr}`);
49
- };
50
- const buildFilterString = (filter) => {
51
- if (!filter || Object.keys(filter).length === 0) {
52
- return '';
53
- }
54
- const filterConditions = [];
55
- Object.entries(filter).forEach(([key, value]) => {
56
- const sanitizedKey = sanitizeFilterKey(key);
57
- // Check if value is an object with operator keys (e.g., {GT: 123, LT: 456})
58
- if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
59
- // Handle object-based operators: {timestamp: {GT: 67687877, LT: 789898989}}
60
- Object.entries(value).forEach(([operator, operatorValue]) => {
61
- // Validate operator (case-insensitive)
62
- const validOperators = ['EQ', 'NEQ', 'GT', 'GTE', 'LT', 'LTE', 'IN', 'CONTAINS'];
63
- const upperOperator = operator.toUpperCase();
64
- if (!validOperators.includes(upperOperator)) {
65
- throw new Error(`Invalid operator: ${operator}. Valid operators are: ${validOperators.join(', ')}`);
66
- }
67
- const formattedValue = formatFilterValue(operatorValue);
68
- filterConditions.push(`{ key: "${sanitizedKey}", operator: ${upperOperator}, value: ${formattedValue} }`);
69
- });
70
- }
71
- else if (Array.isArray(value)) {
72
- // Handle array values: {type: ["BOND", "EQUITY"]}
73
- if (value.length === 0) {
74
- throw new Error(`Filter array for key "${key}" cannot be empty`);
75
- }
76
- if (value.length > 100) {
77
- throw new Error(`Filter array for key "${key}" is too large (max: 100)`);
78
- }
79
- const sanitizedValues = value.map((v) => formatFilterValue(v));
80
- filterConditions.push(`{ key: "${sanitizedKey}", operator: IN, value: "[${sanitizedValues.join(',')}]" }`);
81
- }
82
- else {
83
- // Handle primitive values: {status: "ACTIVE"}
84
- const formattedValue = formatFilterValue(value);
85
- filterConditions.push(`{ key: "${sanitizedKey}", operator: EQ, value: ${formattedValue} }`);
86
- }
87
- });
88
- return `filter: [\n ${filterConditions.join(',\n ')}\n ]`;
89
- };
90
- // Test 1: Object-based operators with timestamp range
91
- console.log('Test 1: Timestamp range filter (object-based operators)');
92
- const timestampFilter = {
93
- timestamp: {
94
- GT: 1672531200000, // Jan 1, 2023
95
- LT: 1704067200000, // Jan 1, 2024
96
- },
97
- };
98
- console.log('Filter input:', JSON.stringify(timestampFilter, null, 2));
99
- try {
100
- const filterStr = buildFilterString(timestampFilter);
101
- console.log('Generated GraphQL filter:');
102
- console.log(filterStr);
103
- console.log('✅ Test 1 passed\n');
104
- }
105
- catch (error) {
106
- console.error('❌ Test 1 failed:', error.message);
107
- process.exit(1);
108
- }
109
- // Test 2: Case-insensitive operators
110
- console.log('Test 2: Case-insensitive operators (gt, lt)');
111
- const caseInsensitiveFilter = {
112
- timestamp: {
113
- gt: 1672531200000,
114
- lt: 1704067200000,
115
- },
116
- };
117
- console.log('Filter input:', JSON.stringify(caseInsensitiveFilter, null, 2));
118
- try {
119
- const filterStr = buildFilterString(caseInsensitiveFilter);
120
- console.log('Generated GraphQL filter:');
121
- console.log(filterStr);
122
- console.log('✅ Test 2 passed\n');
123
- }
124
- catch (error) {
125
- console.error('❌ Test 2 failed:', error.message);
126
- process.exit(1);
127
- }
128
- // Test 3: Mixed filter - object operators + primitive values + arrays
129
- console.log('Test 3: Mixed filter types');
130
- const mixedFilter = {
131
- timestamp: {
132
- GTE: 1672531200000,
133
- LTE: 1704067200000,
134
- },
135
- operation_type: ['TRANSFER', 'ISSUE'],
136
- asset_resource_id: 'asset-123',
137
- };
138
- console.log('Filter input:', JSON.stringify(mixedFilter, null, 2));
139
- try {
140
- const filterStr = buildFilterString(mixedFilter);
141
- console.log('Generated GraphQL filter:');
142
- console.log(filterStr);
143
- console.log('✅ Test 3 passed\n');
144
- }
145
- catch (error) {
146
- console.error('❌ Test 3 failed:', error.message);
147
- process.exit(1);
148
- }
149
- // Test 4: Single operator in object
150
- console.log('Test 4: Single operator in object');
151
- const singleOperatorFilter = {
152
- quantity: {
153
- GT: 1000,
154
- },
155
- };
156
- console.log('Filter input:', JSON.stringify(singleOperatorFilter, null, 2));
157
- try {
158
- const filterStr = buildFilterString(singleOperatorFilter);
159
- console.log('Generated GraphQL filter:');
160
- console.log(filterStr);
161
- console.log('✅ Test 4 passed\n');
162
- }
163
- catch (error) {
164
- console.error('❌ Test 4 failed:', error.message);
165
- process.exit(1);
166
- }
167
- // Test 5: Multiple fields with object operators
168
- console.log('Test 5: Multiple fields with object operators');
169
- const multiFieldFilter = {
170
- timestamp: {
171
- GTE: 1672531200000,
172
- },
173
- quantity: {
174
- GT: 0,
175
- LTE: 10000,
176
- },
177
- };
178
- console.log('Filter input:', JSON.stringify(multiFieldFilter, null, 2));
179
- try {
180
- const filterStr = buildFilterString(multiFieldFilter);
181
- console.log('Generated GraphQL filter:');
182
- console.log(filterStr);
183
- console.log('✅ Test 5 passed\n');
184
- }
185
- catch (error) {
186
- console.error('❌ Test 5 failed:', error.message);
187
- process.exit(1);
188
- }
189
- // Test 6: Invalid operator should fail
190
- console.log('Test 6: Invalid operator should fail');
191
- const invalidOperatorFilter = {
192
- timestamp: {
193
- INVALID: 123,
194
- },
195
- };
196
- console.log('Filter input:', JSON.stringify(invalidOperatorFilter, null, 2));
197
- try {
198
- buildFilterString(invalidOperatorFilter);
199
- console.error('❌ Test 6 failed: Should have thrown error for invalid operator');
200
- process.exit(1);
201
- }
202
- catch (error) {
203
- console.log('✅ Test 6 passed - correctly rejected invalid operator:', error.message);
204
- console.log('');
205
- }
206
- // Test 7: Verify transactions schema has timestamp field
207
- console.log('Test 7: Verify transactions schema');
208
- const timestampField = transactionsSchema.columns.find((col) => col.apiField === 'timestamp');
209
- if (!timestampField) {
210
- console.error('❌ Test 7 failed: timestamp field not found in transactions schema');
211
- process.exit(1);
212
- }
213
- console.log(`Found timestamp field: ${timestampField.apiField} -> ${timestampField.graphqlPath}`);
214
- console.log('✅ Test 7 passed\n');
215
- console.log('========================================');
216
- console.log('✅ All tests passed!');
217
- console.log('========================================');
218
- console.log('\nThe new filter format supports:');
219
- console.log('1. Object-based operators: { timestamp: { GT: 123, LT: 456 } }');
220
- console.log('2. Case-insensitive operators: gt, GT, Lt, LT, etc.');
221
- console.log('3. Array values: { type: ["TRANSFER", "ISSUE"] }');
222
- console.log('4. Primitive values: { asset_id: "asset-123" }');
223
- console.log('5. Mixed filters combining all of the above');
224
- console.log('\nValid operators: EQ, NEQ, GT, GTE, LT, LTE, IN, CONTAINS');
225
- /* eslint-enable no-console */
226
- //# sourceMappingURL=test-transactions-filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-transactions-filter.js","sourceRoot":"","sources":["../../../src/schemas/tests/test-transactions-filter.ts"],"names":[],"mappings":";;AAAA,uEAAuE;AACvE,2CAAsD;AAEtD,+BAA+B;AAC/B,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;AAEtE,MAAM,kBAAkB,GAAG,IAAA,+BAAqB,GAAE,CAAC;AAEnD,sEAAsE;AACtE,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAU,EAAE;IAChD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,KAAU,EAAU,EAAE;IAC/C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC;IACjC,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,mCAAmC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACvD,QAAQ,IAAI,EAAE,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO,KAAK,CAAC;gBACf,KAAK,IAAI;oBACP,OAAO,MAAM,CAAC;gBAChB,KAAK,IAAI;oBACP,OAAO,KAAK,CAAC;gBACf,KAAK,IAAI;oBACP,OAAO,KAAK,CAAC;gBACf,KAAK,IAAI;oBACP,OAAO,KAAK,CAAC;gBACf;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,SAAS,GAAG,CAAC;IAC1B,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAClE,MAAM,IAAI,KAAK,CACb,kCAAkC,OAAO,KAAK,IAAI;QAChD,sFAAsF;QACtF,QAAQ,QAAQ,EAAE,CACrB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,MAA2B,EAAU,EAAE;IAChE,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,MAAM,YAAY,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QAE5C,4EAA4E;QAC5E,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,4EAA4E;YAC5E,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,EAAE;gBAC1D,uCAAuC;gBACvC,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;gBACjF,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;gBAC7C,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC5C,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,0BAA0B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtG,CAAC;gBAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;gBACxD,gBAAgB,CAAC,IAAI,CAAC,WAAW,YAAY,gBAAgB,aAAa,YAAY,cAAc,IAAI,CAAC,CAAC;YAC5G,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,kDAAkD;YAClD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,mBAAmB,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,CAAC;YAC3E,CAAC;YAED,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/D,gBAAgB,CAAC,IAAI,CAAC,WAAW,YAAY,6BAA6B,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7G,CAAC;aAAM,CAAC;YACN,8CAA8C;YAC9C,MAAM,cAAc,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;YAChD,gBAAgB,CAAC,IAAI,CAAC,WAAW,YAAY,2BAA2B,cAAc,IAAI,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,oBAAoB,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;AACzE,CAAC,CAAC;AAEF,sDAAsD;AACtD,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;AACvE,MAAM,eAAe,GAAG;IACtB,SAAS,EAAE;QACT,EAAE,EAAE,aAAa,EAAE,cAAc;QACjC,EAAE,EAAE,aAAa,EAAE,cAAc;KAClC;CACF,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEvE,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,eAAe,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,qCAAqC;AACrC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAC3D,MAAM,qBAAqB,GAAG;IAC5B,SAAS,EAAE;QACT,EAAE,EAAE,aAAa;QACjB,EAAE,EAAE,aAAa;KAClB;CACF,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE7E,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IAC3D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,sEAAsE;AACtE,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;AAC1C,MAAM,WAAW,GAAG;IAClB,SAAS,EAAE;QACT,GAAG,EAAE,aAAa;QAClB,GAAG,EAAE,aAAa;KACnB;IACD,cAAc,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IACrC,iBAAiB,EAAE,WAAW;CAC/B,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAEnE,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,WAAW,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,oCAAoC;AACpC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACjD,MAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE;QACR,EAAE,EAAE,IAAI;KACT;CACF,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE5E,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC1D,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gDAAgD;AAChD,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAC7D,MAAM,gBAAgB,GAAG;IACvB,SAAS,EAAE;QACT,GAAG,EAAE,aAAa;KACnB;IACD,QAAQ,EAAE;QACR,EAAE,EAAE,CAAC;QACL,GAAG,EAAE,KAAK;KACX;CACF,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAExE,IAAI,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACnC,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,uCAAuC;AACvC,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;AACpD,MAAM,qBAAqB,GAAG;IAC5B,SAAS,EAAE;QACT,OAAO,EAAE,GAAG;KACb;CACF,CAAC;AACF,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE7E,IAAI,CAAC;IACH,iBAAiB,CAAC,qBAAqB,CAAC,CAAC;IACzC,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;IAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAAC,OAAO,KAAU,EAAE,CAAC;IACpB,OAAO,CAAC,GAAG,CAAC,wDAAwD,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,yDAAyD;AACzD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAClD,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC;AAC9F,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,OAAO,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACnF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AACD,OAAO,CAAC,GAAG,CAAC,0BAA0B,cAAc,CAAC,QAAQ,OAAO,cAAc,CAAC,WAAW,EAAE,CAAC,CAAC;AAClG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEjC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;AACnC,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAC;AACxD,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACjD,OAAO,CAAC,GAAG,CAAC,gEAAgE,CAAC,CAAC;AAC9E,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC;AAChE,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;AAC9D,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAC3D,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;AAC1E,8BAA8B"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- // Test to verify inline fragments work correctly in users schema
4
- const schemas_1 = require("../../schemas");
5
- /* eslint-disable no-console */
6
- console.log('Users Schema Inline Fragment Test\n');
7
- const usersSchema = (0, schemas_1.getUsersSchema)();
8
- // Find fields with inline fragments
9
- const inlineFragmentFields = usersSchema.columns.filter((col) => { var _a; return (_a = col.graphqlPath) === null || _a === void 0 ? void 0 : _a.includes('...on'); });
10
- console.log(`Found ${inlineFragmentFields.length} fields with inline fragments:`);
11
- inlineFragmentFields.forEach((field) => {
12
- console.log(` - ${field.apiField}`);
13
- console.log(` GraphQL: ${field.graphqlPath}`);
14
- });
15
- // Test that all inline fragments have correct syntax
16
- const hasIssue = inlineFragmentFields.some((field) => {
17
- const path = field.graphqlPath;
18
- if (!path)
19
- return;
20
- // Check for invalid patterns
21
- if (path.includes('... on') && !path.includes('...on')) {
22
- console.error(`\n❌ ERROR: Space between "..." and "on" in: ${field.apiField}`);
23
- return true;
24
- }
25
- return false;
26
- });
27
- if (hasIssue) {
28
- console.error('\n❌ Found inline fragments with invalid syntax');
29
- process.exit(1);
30
- }
31
- console.log('\n✅ All inline fragments have correct syntax (...on without space)');
32
- // Verify the specific patterns used in users schema
33
- console.log('\nPattern verification:');
34
- inlineFragmentFields.forEach((field) => {
35
- const path = field.graphqlPath;
36
- if (!path)
37
- return;
38
- if (path.includes('...on FinP2PAssetAccount')) {
39
- console.log(` ✓ ${field.apiField}: Uses ...on FinP2PAssetAccount`);
40
- }
41
- else if (path.includes('...on FinP2PAsset')) {
42
- console.log(` ✓ ${field.apiField}: Uses ...on FinP2PAsset`);
43
- }
44
- });
45
- console.log('\n✅ All tests passed');
46
- /* eslint-enable no-console */
47
- //# sourceMappingURL=test-users-inline-fragments.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-users-inline-fragments.js","sourceRoot":"","sources":["../../../src/schemas/tests/test-users-inline-fragments.ts"],"names":[],"mappings":";;AAAA,iEAAiE;AACjE,2CAA+C;AAE/C,+BAA+B;AAC/B,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAEnD,MAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;AAErC,oCAAoC;AACpC,MAAM,oBAAoB,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,WAAC,OAAA,MAAA,GAAG,CAAC,WAAW,0CAAE,QAAQ,CAAC,OAAO,CAAC,CAAA,EAAA,CAAC,CAAC;AAErG,OAAO,CAAC,GAAG,CAAC,SAAS,oBAAoB,CAAC,MAAM,gCAAgC,CAAC,CAAC;AAClF,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACrC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,qDAAqD;AACrD,MAAM,QAAQ,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;IACnD,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,6BAA6B;IAC7B,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,+CAA+C,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,IAAI,QAAQ,EAAE,CAAC;IACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC;IAChE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;AAElF,oDAAoD;AACpD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,oBAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,IAAI,CAAC,IAAI;QAAE,OAAO;IAClB,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,iCAAiC,CAAC,CAAC;IACtE,CAAC;SAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,CAAC,QAAQ,0BAA0B,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;AACpC,8BAA8B"}