@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.
- package/lib/core/sdk.d.ts +1 -2
- package/lib/core/sdk.js +0 -8
- package/lib/core/sdk.js.map +1 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -1
- package/lib/index.js.map +1 -1
- package/lib/types/Core/sdk.d.ts +0 -37
- package/package.json +1 -1
- package/lib/schemas/assets.json +0 -264
- package/lib/schemas/index.d.ts +0 -40
- package/lib/schemas/index.js +0 -75
- package/lib/schemas/index.js.map +0 -1
- package/lib/schemas/tests/test-assets-schema-execution.d.ts +0 -1
- package/lib/schemas/tests/test-assets-schema-execution.js +0 -261
- package/lib/schemas/tests/test-assets-schema-execution.js.map +0 -1
- package/lib/schemas/tests/test-transactions-filter.d.ts +0 -1
- package/lib/schemas/tests/test-transactions-filter.js +0 -226
- package/lib/schemas/tests/test-transactions-filter.js.map +0 -1
- package/lib/schemas/tests/test-users-inline-fragments.d.ts +0 -1
- package/lib/schemas/tests/test-users-inline-fragments.js +0 -47
- package/lib/schemas/tests/test-users-inline-fragments.js.map +0 -1
- package/lib/schemas/transactions.json +0 -174
- package/lib/schemas/users.json +0 -78
|
@@ -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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|