@ductape/sdk 0.0.4-v59 → 0.0.4-v60
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/agents/agents.service.d.ts +8 -2
- package/dist/agents/agents.service.js +5 -0
- package/dist/agents/agents.service.js.map +1 -1
- package/dist/agents/types/agents.types.d.ts +2 -0
- package/dist/agents/types/agents.types.js.map +1 -1
- package/dist/agents/vector-store-adapter.js +5 -5
- package/dist/agents/vector-store-adapter.js.map +1 -1
- package/dist/api/services/appApi.service.d.ts +3 -3
- package/dist/api/services/appApi.service.js.map +1 -1
- package/dist/api/services/productsApi.service.d.ts +1 -1
- package/dist/api/services/productsApi.service.js +20 -13
- package/dist/api/services/productsApi.service.js.map +1 -1
- package/dist/api/services/secretsApi.service.d.ts +12 -0
- package/dist/api/services/secretsApi.service.js +30 -2
- package/dist/api/services/secretsApi.service.js.map +1 -1
- package/dist/api/services/workspaceApi.service.d.ts +8 -0
- package/dist/api/services/workspaceApi.service.js +20 -0
- package/dist/api/services/workspaceApi.service.js.map +1 -1
- package/dist/api/urls.d.ts +2 -0
- package/dist/api/urls.js +10 -15
- package/dist/api/urls.js.map +1 -1
- package/dist/api/utils/auth.utils.d.ts +1 -3
- package/dist/api/utils/auth.utils.js.map +1 -1
- package/dist/apps/utils/oauth-manager.js +27 -3
- package/dist/apps/utils/oauth-manager.js.map +1 -1
- package/dist/brokers/brokers.service.d.ts +8 -0
- package/dist/brokers/brokers.service.js +50 -4
- package/dist/brokers/brokers.service.js.map +1 -1
- package/dist/brokers/types/index.d.ts +26 -0
- package/dist/brokers/utils/providers/kafka.service.d.ts +7 -0
- package/dist/brokers/utils/providers/kafka.service.js +102 -23
- package/dist/brokers/utils/providers/kafka.service.js.map +1 -1
- package/dist/brokers/utils/providers/rabbitmq.service.d.ts +2 -1
- package/dist/brokers/utils/providers/rabbitmq.service.js +99 -15
- package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
- package/dist/database/adapters/cassandra.adapter.d.ts +1 -0
- package/dist/database/adapters/cassandra.adapter.js +100 -44
- package/dist/database/adapters/cassandra.adapter.js.map +1 -1
- package/dist/database/adapters/dynamodb.adapter.d.ts +1 -0
- package/dist/database/adapters/dynamodb.adapter.js +89 -20
- package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
- package/dist/database/adapters/mongodb.adapter.d.ts +1 -0
- package/dist/database/adapters/mongodb.adapter.js +123 -45
- package/dist/database/adapters/mongodb.adapter.js.map +1 -1
- package/dist/database/adapters/mysql.adapter.d.ts +1 -0
- package/dist/database/adapters/mysql.adapter.js +125 -48
- package/dist/database/adapters/mysql.adapter.js.map +1 -1
- package/dist/database/adapters/postgresql.adapter.d.ts +5 -0
- package/dist/database/adapters/postgresql.adapter.js +151 -50
- package/dist/database/adapters/postgresql.adapter.js.map +1 -1
- package/dist/database/databases.service.d.ts +15 -1
- package/dist/database/databases.service.js +143 -2
- package/dist/database/databases.service.js.map +1 -1
- package/dist/database/operators/aggregation-builder.d.ts +11 -8
- package/dist/database/operators/aggregation-builder.js +184 -89
- package/dist/database/operators/aggregation-builder.js.map +1 -1
- package/dist/database/operators/query-builder.d.ts +23 -19
- package/dist/database/operators/query-builder.js +77 -45
- package/dist/database/operators/query-builder.js.map +1 -1
- package/dist/database/types/aggregation.interface.d.ts +21 -15
- package/dist/database/types/query.interface.d.ts +27 -21
- package/dist/database/types/write.interface.d.ts +20 -12
- package/dist/graph/adapters/arangodb.adapter.js +61 -22
- package/dist/graph/adapters/arangodb.adapter.js.map +1 -1
- package/dist/graph/adapters/memgraph.adapter.js +22 -16
- package/dist/graph/adapters/memgraph.adapter.js.map +1 -1
- package/dist/graph/adapters/neo4j.adapter.js +51 -21
- package/dist/graph/adapters/neo4j.adapter.js.map +1 -1
- package/dist/graph/adapters/neptune.adapter.js +32 -16
- package/dist/graph/adapters/neptune.adapter.js.map +1 -1
- package/dist/graph/graphs.service.d.ts +24 -2
- package/dist/graph/graphs.service.js +238 -28
- package/dist/graph/graphs.service.js.map +1 -1
- package/dist/graph/types/connection.interface.d.ts +8 -0
- package/dist/graph/types/query.interface.d.ts +21 -14
- package/dist/index.d.ts +367 -20
- package/dist/index.js +510 -48
- package/dist/index.js.map +1 -1
- package/dist/inputs/inputs.service.d.ts +1 -1
- package/dist/notifications/notifications.service.d.ts +7 -2
- package/dist/notifications/notifications.service.js +2 -0
- package/dist/notifications/notifications.service.js.map +1 -1
- package/dist/processor/services/processor.service.d.ts +5 -1
- package/dist/processor/services/processor.service.js +35 -2
- package/dist/processor/services/processor.service.js.map +1 -1
- package/dist/products/services/products.service.d.ts +76 -2
- package/dist/products/services/products.service.js +984 -27
- package/dist/products/services/products.service.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productAgent.validator.js +52 -4
- package/dist/products/validators/joi-validators/create.productAgent.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productGraph.validator.js +2 -0
- package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js +1 -7
- package/dist/products/validators/joi-validators/create.productMessageBrokers.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/create.productVector.validator.js +4 -4
- package/dist/products/validators/joi-validators/create.productVector.validator.js.map +1 -1
- package/dist/products/validators/joi-validators/update.productGraph.validator.js +2 -0
- package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -1
- package/dist/resilience/fallback.service.d.ts +4 -1
- package/dist/resilience/fallback.service.js +8 -10
- package/dist/resilience/fallback.service.js.map +1 -1
- package/dist/resilience/healthcheck.service.d.ts +6 -1
- package/dist/resilience/healthcheck.service.js +9 -0
- package/dist/resilience/healthcheck.service.js.map +1 -1
- package/dist/resilience/quota.service.d.ts +4 -1
- package/dist/resilience/quota.service.js +2 -0
- package/dist/resilience/quota.service.js.map +1 -1
- package/dist/resilience/resilience.service.d.ts +4 -1
- package/dist/resilience/resilience.service.js.map +1 -1
- package/dist/secrets/secrets.service.d.ts +11 -1
- package/dist/secrets/secrets.service.js +109 -10
- package/dist/secrets/secrets.service.js.map +1 -1
- package/dist/storage/storage.service.d.ts +4 -1
- package/dist/storage/storage.service.js +6 -1
- package/dist/storage/storage.service.js.map +1 -1
- package/dist/test/index.js +1 -3
- package/dist/test/index.js.map +1 -1
- package/dist/test/test.broker.kafka.d.ts +1 -0
- package/dist/test/test.broker.kafka.js +172 -0
- package/dist/test/test.broker.kafka.js.map +1 -0
- package/dist/test/test.broker.nats.d.ts +1 -0
- package/dist/test/test.broker.nats.js +193 -0
- package/dist/test/test.broker.nats.js.map +1 -0
- package/dist/test/test.broker.pubsub.d.ts +1 -0
- package/dist/test/test.broker.pubsub.js +171 -0
- package/dist/test/test.broker.pubsub.js.map +1 -0
- package/dist/test/test.broker.rabbitmq.d.ts +1 -0
- package/dist/test/test.broker.rabbitmq.js +164 -0
- package/dist/test/test.broker.rabbitmq.js.map +1 -0
- package/dist/test/test.broker.redis.d.ts +1 -0
- package/dist/test/test.broker.redis.js +168 -0
- package/dist/test/test.broker.redis.js.map +1 -0
- package/dist/test/test.broker.sqs.d.ts +1 -0
- package/dist/test/test.broker.sqs.js +158 -0
- package/dist/test/test.broker.sqs.js.map +1 -0
- package/dist/test/test.caches.d.ts +1 -0
- package/dist/test/test.caches.js +231 -0
- package/dist/test/test.caches.js.map +1 -0
- package/dist/test/test.database.dynamo.d.ts +1 -0
- package/dist/test/test.database.dynamo.js +265 -0
- package/dist/test/test.database.dynamo.js.map +1 -0
- package/dist/test/test.database.js +2 -2
- package/dist/test/test.database.js.map +1 -1
- package/dist/test/test.database.mongo.d.ts +1 -0
- package/dist/test/test.database.mongo.js +371 -0
- package/dist/test/test.database.mongo.js.map +1 -0
- package/dist/test/test.database.mysql.d.ts +1 -0
- package/dist/test/test.database.mysql.js +415 -0
- package/dist/test/test.database.mysql.js.map +1 -0
- package/dist/test/test.database.postgres.d.ts +1 -0
- package/dist/test/test.database.postgres.js +412 -0
- package/dist/test/test.database.postgres.js.map +1 -0
- package/dist/test/test.email.brevo.d.ts +1 -0
- package/dist/test/test.email.brevo.js +326 -0
- package/dist/test/test.email.brevo.js.map +1 -0
- package/dist/test/test.email.mailgun.d.ts +1 -0
- package/dist/test/test.email.mailgun.js +352 -0
- package/dist/test/test.email.mailgun.js.map +1 -0
- package/dist/test/test.email.postmark.d.ts +1 -0
- package/dist/test/test.email.postmark.js +316 -0
- package/dist/test/test.email.postmark.js.map +1 -0
- package/dist/test/test.email.sendgrid.d.ts +1 -0
- package/dist/test/test.email.sendgrid.js +365 -0
- package/dist/test/test.email.sendgrid.js.map +1 -0
- package/dist/test/test.email.smtp.d.ts +1 -0
- package/dist/test/test.email.smtp.js +323 -0
- package/dist/test/test.email.smtp.js.map +1 -0
- package/dist/test/test.graph.arangodb.d.ts +1 -0
- package/dist/test/test.graph.arangodb.js +358 -0
- package/dist/test/test.graph.arangodb.js.map +1 -0
- package/dist/test/test.graph.memgraph.d.ts +1 -0
- package/dist/test/test.graph.memgraph.js +320 -0
- package/dist/test/test.graph.memgraph.js.map +1 -0
- package/dist/test/test.graph.neo4j.d.ts +1 -0
- package/dist/test/test.graph.neo4j.js +218 -0
- package/dist/test/test.graph.neo4j.js.map +1 -0
- package/dist/test/test.graph.neptune.d.ts +1 -0
- package/dist/test/test.graph.neptune.js +331 -0
- package/dist/test/test.graph.neptune.js.map +1 -0
- package/dist/test/test.notifications.d.ts +1 -0
- package/dist/test/test.notifications.js +198 -0
- package/dist/test/test.notifications.js.map +1 -0
- package/dist/test/test.push.expo.d.ts +1 -0
- package/dist/test/test.push.expo.js +442 -0
- package/dist/test/test.push.expo.js.map +1 -0
- package/dist/test/test.push.firebase.d.ts +1 -0
- package/dist/test/test.push.firebase.js +409 -0
- package/dist/test/test.push.firebase.js.map +1 -0
- package/dist/test/test.session.d.ts +1 -0
- package/dist/test/test.session.js +299 -0
- package/dist/test/test.session.js.map +1 -0
- package/dist/test/test.sms.nexmo.d.ts +1 -0
- package/dist/test/test.sms.nexmo.js +278 -0
- package/dist/test/test.sms.nexmo.js.map +1 -0
- package/dist/test/test.sms.twilio.d.ts +1 -0
- package/dist/test/test.sms.twilio.js +275 -0
- package/dist/test/test.sms.twilio.js.map +1 -0
- package/dist/test/test.storage.js +169 -299
- package/dist/test/test.storage.js.map +1 -1
- package/dist/test/test.vector.pinecone.d.ts +1 -0
- package/dist/test/test.vector.pinecone.js +238 -0
- package/dist/test/test.vector.pinecone.js.map +1 -0
- package/dist/test/test.vector.qdrant.d.ts +1 -0
- package/dist/test/test.vector.qdrant.js +307 -0
- package/dist/test/test.vector.qdrant.js.map +1 -0
- package/dist/test/test.vector.weaviate.d.ts +1 -0
- package/dist/test/test.vector.weaviate.js +325 -0
- package/dist/test/test.vector.weaviate.js.map +1 -0
- package/dist/types/appBuilder.types.d.ts +6 -2
- package/dist/types/enums.d.ts +2 -0
- package/dist/types/enums.js +2 -0
- package/dist/types/enums.js.map +1 -1
- package/dist/types/index.types.d.ts +2 -4
- package/dist/types/index.types.js +0 -1
- package/dist/types/index.types.js.map +1 -1
- package/dist/types/processor.types.d.ts +18 -0
- package/dist/types/productsBuilder.types.d.ts +19 -15
- package/dist/types/productsBuilder.types.js.map +1 -1
- package/dist/types/requests.types.d.ts +2 -0
- package/dist/utils/index.js +23 -4
- package/dist/utils/index.js.map +1 -1
- package/dist/vector/adapters/base.adapter.d.ts +1 -1
- package/dist/vector/adapters/memory.adapter.d.ts +1 -1
- package/dist/vector/adapters/memory.adapter.js +1 -1
- package/dist/vector/adapters/memory.adapter.js.map +1 -1
- package/dist/vector/adapters/pinecone.adapter.d.ts +1 -1
- package/dist/vector/adapters/pinecone.adapter.js +1 -1
- package/dist/vector/adapters/pinecone.adapter.js.map +1 -1
- package/dist/vector/adapters/qdrant.adapter.d.ts +1 -1
- package/dist/vector/adapters/qdrant.adapter.js +1 -1
- package/dist/vector/adapters/qdrant.adapter.js.map +1 -1
- package/dist/vector/adapters/weaviate.adapter.d.ts +1 -1
- package/dist/vector/adapters/weaviate.adapter.js +1 -1
- package/dist/vector/adapters/weaviate.adapter.js.map +1 -1
- package/dist/vector/index.d.ts +2 -2
- package/dist/vector/index.js +2 -2
- package/dist/vector/utils/vector-error.js +0 -1
- package/dist/vector/utils/vector-error.js.map +1 -1
- package/dist/vector/vector-database.service.d.ts +9 -6
- package/dist/vector/vector-database.service.js +7 -6
- package/dist/vector/vector-database.service.js.map +1 -1
- package/dist/vector/vector.service.d.ts +3 -3
- package/dist/vector/vector.service.js +12 -9
- package/dist/vector/vector.service.js.map +1 -1
- package/dist/workflows/workflow-executor.d.ts +4 -1
- package/dist/workflows/workflow-executor.js +10 -2
- package/dist/workflows/workflow-executor.js.map +1 -1
- package/dist/workflows/workflows.service.d.ts +8 -2
- package/dist/workflows/workflows.service.js +66 -41
- package/dist/workflows/workflows.service.js.map +1 -1
- package/package.json +29 -4
|
@@ -176,9 +176,10 @@ class QueryBuilder {
|
|
|
176
176
|
const params = [];
|
|
177
177
|
let paramIndex = startIndex;
|
|
178
178
|
for (const [key, value] of Object.entries(where)) {
|
|
179
|
-
// Handle logical operators
|
|
180
|
-
if (key === '$AND') {
|
|
181
|
-
const
|
|
179
|
+
// Handle logical operators (support both lowercase and uppercase for backwards compatibility)
|
|
180
|
+
if (key === '$and' || key === '$AND') {
|
|
181
|
+
const conditions = Array.isArray(value) ? value : Object.entries(value).map(([k, v]) => ({ [k]: v }));
|
|
182
|
+
const andResults = conditions.map((cond) => this.buildWhereClause(cond, dbType, paramIndex));
|
|
182
183
|
const andClauses = andResults.map(r => r.clause);
|
|
183
184
|
andResults.forEach(r => {
|
|
184
185
|
params.push(...r.params);
|
|
@@ -187,8 +188,9 @@ class QueryBuilder {
|
|
|
187
188
|
clauses.push(`(${andClauses.join(' AND ')})`);
|
|
188
189
|
continue;
|
|
189
190
|
}
|
|
190
|
-
if (key === '$OR') {
|
|
191
|
-
const
|
|
191
|
+
if (key === '$or' || key === '$OR') {
|
|
192
|
+
const conditions = Array.isArray(value) ? value : Object.entries(value).map(([k, v]) => ({ [k]: v }));
|
|
193
|
+
const orResults = conditions.map((cond) => this.buildWhereClause(cond, dbType, paramIndex));
|
|
192
194
|
const orClauses = orResults.map(r => r.clause);
|
|
193
195
|
orResults.forEach(r => {
|
|
194
196
|
params.push(...r.params);
|
|
@@ -197,13 +199,24 @@ class QueryBuilder {
|
|
|
197
199
|
clauses.push(`(${orClauses.join(' OR ')})`);
|
|
198
200
|
continue;
|
|
199
201
|
}
|
|
200
|
-
if (key === '$NOT') {
|
|
202
|
+
if (key === '$not' || key === '$NOT') {
|
|
201
203
|
const notResult = this.buildWhereClause(value, dbType, paramIndex);
|
|
202
204
|
clauses.push(`NOT (${notResult.clause})`);
|
|
203
205
|
params.push(...notResult.params);
|
|
204
206
|
paramIndex += notResult.params.length;
|
|
205
207
|
continue;
|
|
206
208
|
}
|
|
209
|
+
if (key === '$nor' || key === '$NOR') {
|
|
210
|
+
const conditions = Array.isArray(value) ? value : [value];
|
|
211
|
+
const norResults = conditions.map((cond) => this.buildWhereClause(cond, dbType, paramIndex));
|
|
212
|
+
const norClauses = norResults.map(r => r.clause);
|
|
213
|
+
norResults.forEach(r => {
|
|
214
|
+
params.push(...r.params);
|
|
215
|
+
paramIndex += r.params.length;
|
|
216
|
+
});
|
|
217
|
+
clauses.push(`NOT (${norClauses.join(' OR ')})`);
|
|
218
|
+
continue;
|
|
219
|
+
}
|
|
207
220
|
// Handle comparison operators
|
|
208
221
|
if (value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
|
|
209
222
|
for (const [op, opValue] of Object.entries(value)) {
|
|
@@ -231,21 +244,22 @@ class QueryBuilder {
|
|
|
231
244
|
buildComparisonClause(field, operator, value, dbType, paramIndex) {
|
|
232
245
|
const escapedField = this.escapeIdentifier(field, dbType);
|
|
233
246
|
const placeholder = this.getPlaceholder(dbType, paramIndex);
|
|
234
|
-
|
|
235
|
-
|
|
247
|
+
// Normalize operator to lowercase for comparison (support both cases for backwards compatibility)
|
|
248
|
+
const op = operator.toLowerCase();
|
|
249
|
+
switch (op) {
|
|
250
|
+
case '$eq':
|
|
236
251
|
return { clause: `${escapedField} = ${placeholder}`, params: [value] };
|
|
237
|
-
case '$
|
|
238
|
-
case '$NOT':
|
|
252
|
+
case '$ne':
|
|
239
253
|
return { clause: `${escapedField} != ${placeholder}`, params: [value] };
|
|
240
|
-
case '$
|
|
254
|
+
case '$gt':
|
|
241
255
|
return { clause: `${escapedField} > ${placeholder}`, params: [value] };
|
|
242
|
-
case '$
|
|
256
|
+
case '$gte':
|
|
243
257
|
return { clause: `${escapedField} >= ${placeholder}`, params: [value] };
|
|
244
|
-
case '$
|
|
258
|
+
case '$lt':
|
|
245
259
|
return { clause: `${escapedField} < ${placeholder}`, params: [value] };
|
|
246
|
-
case '$
|
|
260
|
+
case '$lte':
|
|
247
261
|
return { clause: `${escapedField} <= ${placeholder}`, params: [value] };
|
|
248
|
-
case '$
|
|
262
|
+
case '$in':
|
|
249
263
|
if (dbType === 'postgresql') {
|
|
250
264
|
return { clause: `${escapedField} = ANY(${placeholder})`, params: [value] };
|
|
251
265
|
}
|
|
@@ -253,24 +267,27 @@ class QueryBuilder {
|
|
|
253
267
|
return { clause: `${escapedField} IN ${placeholder}`, params: [value] };
|
|
254
268
|
}
|
|
255
269
|
return { clause: `${escapedField} IN (${placeholder})`, params: [value] };
|
|
256
|
-
case '$
|
|
270
|
+
case '$nin':
|
|
271
|
+
case '$not_in':
|
|
257
272
|
if (dbType === 'postgresql') {
|
|
258
273
|
return { clause: `${escapedField} != ALL(${placeholder})`, params: [value] };
|
|
259
274
|
}
|
|
260
275
|
return { clause: `${escapedField} NOT IN (${placeholder})`, params: [value] };
|
|
261
|
-
case '$
|
|
276
|
+
case '$like':
|
|
262
277
|
return { clause: `${escapedField} LIKE ${placeholder}`, params: [value] };
|
|
263
|
-
case '$
|
|
278
|
+
case '$ilike':
|
|
264
279
|
if (dbType === 'postgresql') {
|
|
265
280
|
return { clause: `${escapedField} ILIKE ${placeholder}`, params: [value] };
|
|
266
281
|
}
|
|
267
282
|
// MySQL doesn't have ILIKE, use LOWER
|
|
268
283
|
return { clause: `LOWER(${escapedField}) LIKE LOWER(${placeholder})`, params: [value] };
|
|
269
|
-
case '$
|
|
284
|
+
case '$isnull':
|
|
285
|
+
case '$is_null':
|
|
270
286
|
return { clause: `${escapedField} IS ${value ? 'NULL' : 'NOT NULL'}`, params: [] };
|
|
271
|
-
case '$
|
|
287
|
+
case '$isnotnull':
|
|
288
|
+
case '$is_not_null':
|
|
272
289
|
return { clause: `${escapedField} IS ${value ? 'NOT NULL' : 'NULL'}`, params: [] };
|
|
273
|
-
case '$
|
|
290
|
+
case '$between':
|
|
274
291
|
const [min, max] = value;
|
|
275
292
|
if (dbType === 'postgresql') {
|
|
276
293
|
return {
|
|
@@ -282,7 +299,7 @@ class QueryBuilder {
|
|
|
282
299
|
clause: `${escapedField} BETWEEN ? AND ?`,
|
|
283
300
|
params: [min, max],
|
|
284
301
|
};
|
|
285
|
-
case '$
|
|
302
|
+
case '$contains':
|
|
286
303
|
if (dbType === 'postgresql') {
|
|
287
304
|
return { clause: `${escapedField} @> ${placeholder}`, params: [value] };
|
|
288
305
|
}
|
|
@@ -290,16 +307,27 @@ class QueryBuilder {
|
|
|
290
307
|
return { clause: `${escapedField} CONTAINS ${placeholder}`, params: [value] };
|
|
291
308
|
}
|
|
292
309
|
return { clause: `JSON_CONTAINS(${escapedField}, ${placeholder})`, params: [JSON.stringify(value)] };
|
|
293
|
-
case '$
|
|
310
|
+
case '$containedby':
|
|
311
|
+
case '$contained_by':
|
|
294
312
|
if (dbType === 'postgresql') {
|
|
295
313
|
return { clause: `${escapedField} <@ ${placeholder}`, params: [value] };
|
|
296
314
|
}
|
|
297
|
-
throw new Error(`$
|
|
298
|
-
case '$
|
|
315
|
+
throw new Error(`$containedBy is not supported for ${dbType}`);
|
|
316
|
+
case '$overlaps':
|
|
299
317
|
if (dbType === 'postgresql') {
|
|
300
318
|
return { clause: `${escapedField} && ${placeholder}`, params: [value] };
|
|
301
319
|
}
|
|
302
|
-
throw new Error(`$
|
|
320
|
+
throw new Error(`$overlaps is not supported for ${dbType}`);
|
|
321
|
+
case '$regex':
|
|
322
|
+
if (dbType === 'postgresql') {
|
|
323
|
+
return { clause: `${escapedField} ~ ${placeholder}`, params: [value] };
|
|
324
|
+
}
|
|
325
|
+
else if (dbType === 'mysql' || dbType === 'mariadb') {
|
|
326
|
+
return { clause: `${escapedField} REGEXP ${placeholder}`, params: [value] };
|
|
327
|
+
}
|
|
328
|
+
throw new Error(`$regex is not supported for ${dbType}`);
|
|
329
|
+
case '$exists':
|
|
330
|
+
return { clause: `${escapedField} IS ${value ? 'NOT NULL' : 'NULL'}`, params: [] };
|
|
303
331
|
default:
|
|
304
332
|
throw new Error(`Unknown operator: ${operator}`);
|
|
305
333
|
}
|
|
@@ -337,29 +365,33 @@ class QueryBuilder {
|
|
|
337
365
|
exports.QueryBuilder = QueryBuilder;
|
|
338
366
|
/**
|
|
339
367
|
* Export operators for external use
|
|
368
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style
|
|
340
369
|
*/
|
|
341
370
|
exports.Operators = {
|
|
342
371
|
// Comparison operators
|
|
343
|
-
$
|
|
344
|
-
$
|
|
345
|
-
$
|
|
346
|
-
$
|
|
347
|
-
$
|
|
348
|
-
$
|
|
349
|
-
$
|
|
350
|
-
$
|
|
351
|
-
$
|
|
352
|
-
$
|
|
353
|
-
$
|
|
354
|
-
$
|
|
355
|
-
$
|
|
372
|
+
$eq: '$eq',
|
|
373
|
+
$ne: '$ne',
|
|
374
|
+
$gt: '$gt',
|
|
375
|
+
$gte: '$gte',
|
|
376
|
+
$lt: '$lt',
|
|
377
|
+
$lte: '$lte',
|
|
378
|
+
$in: '$in',
|
|
379
|
+
$nin: '$nin',
|
|
380
|
+
$like: '$like',
|
|
381
|
+
$ilike: '$ilike',
|
|
382
|
+
$isNull: '$isNull',
|
|
383
|
+
$isNotNull: '$isNotNull',
|
|
384
|
+
$between: '$between',
|
|
385
|
+
$regex: '$regex',
|
|
386
|
+
$exists: '$exists',
|
|
356
387
|
// Array/JSON operators
|
|
357
|
-
$
|
|
358
|
-
$
|
|
359
|
-
$
|
|
388
|
+
$contains: '$contains',
|
|
389
|
+
$containedBy: '$containedBy',
|
|
390
|
+
$overlaps: '$overlaps',
|
|
360
391
|
// Logical operators
|
|
361
|
-
$
|
|
362
|
-
$
|
|
363
|
-
$
|
|
392
|
+
$and: '$and',
|
|
393
|
+
$or: '$or',
|
|
394
|
+
$not: '$not',
|
|
395
|
+
$nor: '$nor',
|
|
364
396
|
};
|
|
365
397
|
//# sourceMappingURL=query-builder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../src/database/operators/query-builder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../../../src/database/operators/query-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,24 +66,29 @@ export interface IAggregationOperations {
|
|
|
66
66
|
}
|
|
67
67
|
/**
|
|
68
68
|
* Single aggregation operation
|
|
69
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style
|
|
69
70
|
*/
|
|
70
71
|
export interface IAggregationOperation {
|
|
71
72
|
/** Count - use '*' for all rows or column name */
|
|
72
|
-
$
|
|
73
|
+
$count?: string;
|
|
73
74
|
/** Sum column values */
|
|
74
|
-
$
|
|
75
|
+
$sum?: string;
|
|
75
76
|
/** Average column values */
|
|
76
|
-
$
|
|
77
|
+
$avg?: string;
|
|
77
78
|
/** Minimum value */
|
|
78
|
-
$
|
|
79
|
+
$min?: string;
|
|
79
80
|
/** Maximum value */
|
|
80
|
-
$
|
|
81
|
+
$max?: string;
|
|
81
82
|
/** String aggregation (PostgreSQL: STRING_AGG, MySQL: GROUP_CONCAT) */
|
|
82
|
-
$
|
|
83
|
+
$stringAgg?: IStringAggOptions;
|
|
83
84
|
/** Group concatenation (MySQL alias) */
|
|
84
|
-
$
|
|
85
|
+
$groupConcat?: IStringAggOptions;
|
|
85
86
|
/** Array aggregation (PostgreSQL) */
|
|
86
|
-
$
|
|
87
|
+
$arrayAgg?: string;
|
|
88
|
+
/** First value in group */
|
|
89
|
+
$first?: string;
|
|
90
|
+
/** Last value in group */
|
|
91
|
+
$last?: string;
|
|
87
92
|
}
|
|
88
93
|
/**
|
|
89
94
|
* String aggregation options
|
|
@@ -129,22 +134,23 @@ export interface IHavingClause {
|
|
|
129
134
|
}
|
|
130
135
|
/**
|
|
131
136
|
* Having condition
|
|
137
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style
|
|
132
138
|
*/
|
|
133
139
|
export interface IHavingCondition {
|
|
134
140
|
/** Greater than */
|
|
135
|
-
$
|
|
141
|
+
$gt?: number;
|
|
136
142
|
/** Greater than or equal */
|
|
137
|
-
$
|
|
143
|
+
$gte?: number;
|
|
138
144
|
/** Less than */
|
|
139
|
-
$
|
|
145
|
+
$lt?: number;
|
|
140
146
|
/** Less than or equal */
|
|
141
|
-
$
|
|
147
|
+
$lte?: number;
|
|
142
148
|
/** Equal to */
|
|
143
|
-
$
|
|
149
|
+
$eq?: any;
|
|
144
150
|
/** Not equal to */
|
|
145
|
-
$
|
|
151
|
+
$ne?: any;
|
|
146
152
|
/** Between values */
|
|
147
|
-
$
|
|
153
|
+
$between?: [number, number];
|
|
148
154
|
}
|
|
149
155
|
/**
|
|
150
156
|
* Order by for group by results
|
|
@@ -43,53 +43,59 @@ export interface IWhereClause {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Comparison operators for filtering
|
|
46
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style for less adoption friction
|
|
46
47
|
*/
|
|
47
48
|
export interface IComparisonOperator {
|
|
48
49
|
/** Equal to */
|
|
49
|
-
$
|
|
50
|
+
$eq?: any;
|
|
50
51
|
/** Not equal to */
|
|
51
|
-
$
|
|
52
|
-
/** Not equal (alias for $NE) */
|
|
53
|
-
$NOT?: any;
|
|
52
|
+
$ne?: any;
|
|
54
53
|
/** Greater than */
|
|
55
|
-
$
|
|
54
|
+
$gt?: any;
|
|
56
55
|
/** Greater than or equal */
|
|
57
|
-
$
|
|
56
|
+
$gte?: any;
|
|
58
57
|
/** Less than */
|
|
59
|
-
$
|
|
58
|
+
$lt?: any;
|
|
60
59
|
/** Less than or equal */
|
|
61
|
-
$
|
|
60
|
+
$lte?: any;
|
|
62
61
|
/** In array of values */
|
|
63
|
-
$
|
|
62
|
+
$in?: any[];
|
|
64
63
|
/** Not in array of values */
|
|
65
|
-
$
|
|
64
|
+
$nin?: any[];
|
|
66
65
|
/** Pattern match (SQL LIKE) */
|
|
67
|
-
$
|
|
66
|
+
$like?: string;
|
|
68
67
|
/** Case-insensitive pattern match (PostgreSQL) */
|
|
69
|
-
$
|
|
68
|
+
$ilike?: string;
|
|
70
69
|
/** Between two values [min, max] */
|
|
71
|
-
$
|
|
70
|
+
$between?: [any, any];
|
|
72
71
|
/** Is null */
|
|
73
|
-
$
|
|
72
|
+
$isNull?: boolean;
|
|
74
73
|
/** Is not null */
|
|
75
|
-
$
|
|
74
|
+
$isNotNull?: boolean;
|
|
76
75
|
/** Contains (for arrays/JSONB) */
|
|
77
|
-
$
|
|
76
|
+
$contains?: any;
|
|
78
77
|
/** Contained by (for arrays/JSONB) */
|
|
79
|
-
$
|
|
78
|
+
$containedBy?: any;
|
|
80
79
|
/** Overlaps (for arrays) */
|
|
81
|
-
$
|
|
80
|
+
$overlaps?: any[];
|
|
81
|
+
/** Regex match */
|
|
82
|
+
$regex?: string | RegExp;
|
|
83
|
+
/** Exists check */
|
|
84
|
+
$exists?: boolean;
|
|
82
85
|
}
|
|
83
86
|
/**
|
|
84
87
|
* Logical operators for combining conditions
|
|
88
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style
|
|
85
89
|
*/
|
|
86
90
|
export interface ILogicalOperator {
|
|
87
91
|
/** All conditions must match */
|
|
88
|
-
$
|
|
92
|
+
$and?: IWhereClause[];
|
|
89
93
|
/** Any condition can match */
|
|
90
|
-
$
|
|
94
|
+
$or?: IWhereClause[];
|
|
91
95
|
/** Negate condition */
|
|
92
|
-
$
|
|
96
|
+
$not?: IWhereClause;
|
|
97
|
+
/** None of the conditions should match */
|
|
98
|
+
$nor?: IWhereClause[];
|
|
93
99
|
}
|
|
94
100
|
/**
|
|
95
101
|
* Sort configuration
|
|
@@ -101,29 +101,37 @@ export interface IUpdateOptions {
|
|
|
101
101
|
}
|
|
102
102
|
/**
|
|
103
103
|
* Update operators for special update operations
|
|
104
|
-
* Uses
|
|
104
|
+
* Uses lowercase naming convention to match Mongoose/MongoDB style for less adoption friction
|
|
105
105
|
*/
|
|
106
106
|
export interface IUpdateOperator {
|
|
107
107
|
/** Increment value */
|
|
108
|
-
$
|
|
109
|
-
/** Decrement value */
|
|
110
|
-
$DEC?: number;
|
|
108
|
+
$inc?: number;
|
|
111
109
|
/** Set value (explicit set) */
|
|
112
|
-
$
|
|
110
|
+
$set?: any;
|
|
113
111
|
/** Unset/remove field */
|
|
114
|
-
$
|
|
112
|
+
$unset?: boolean;
|
|
115
113
|
/** Multiply value */
|
|
116
|
-
$
|
|
114
|
+
$mul?: number;
|
|
117
115
|
/** Set minimum (only update if new value is less than current) */
|
|
118
|
-
$
|
|
116
|
+
$min?: any;
|
|
119
117
|
/** Set maximum (only update if new value is greater than current) */
|
|
120
|
-
$
|
|
118
|
+
$max?: any;
|
|
121
119
|
/** Add to array */
|
|
122
|
-
$
|
|
120
|
+
$push?: any;
|
|
123
121
|
/** Remove from array */
|
|
124
|
-
$
|
|
122
|
+
$pull?: any;
|
|
125
123
|
/** Add unique to array (only adds if value doesn't exist) */
|
|
126
|
-
$
|
|
124
|
+
$addToSet?: any;
|
|
125
|
+
/** Remove first or last element from array */
|
|
126
|
+
$pop?: number;
|
|
127
|
+
/** Rename a field */
|
|
128
|
+
$rename?: string;
|
|
129
|
+
/** Set on insert only */
|
|
130
|
+
$setOnInsert?: any;
|
|
131
|
+
/** Current date/timestamp */
|
|
132
|
+
$currentDate?: boolean | {
|
|
133
|
+
$type: 'date' | 'timestamp';
|
|
134
|
+
};
|
|
127
135
|
}
|
|
128
136
|
/**
|
|
129
137
|
* Result of an update operation
|
|
@@ -1385,56 +1385,92 @@ class ArangoDBAdapter extends base_adapter_1.BaseGraphAdapter {
|
|
|
1385
1385
|
const filterVars = {};
|
|
1386
1386
|
let varCounter = 0;
|
|
1387
1387
|
for (const [key, value] of Object.entries(where)) {
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1388
|
+
// Normalize key to lowercase for comparison
|
|
1389
|
+
const normalizedKey = key.toLowerCase();
|
|
1390
|
+
if (normalizedKey === '$and') {
|
|
1391
|
+
if (Array.isArray(value)) {
|
|
1392
|
+
const subConditions = [];
|
|
1393
|
+
for (const item of value) {
|
|
1394
|
+
const { filterStr, filterVars: andVars } = this.buildArangoWhereClause(item, varName);
|
|
1395
|
+
if (filterStr) {
|
|
1396
|
+
subConditions.push(filterStr);
|
|
1397
|
+
Object.assign(filterVars, andVars);
|
|
1398
|
+
}
|
|
1399
|
+
}
|
|
1400
|
+
if (subConditions.length > 0) {
|
|
1401
|
+
conditions.push(`(${subConditions.join(' AND ')})`);
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
else {
|
|
1405
|
+
const { filterStr, filterVars: andVars } = this.buildArangoWhereClause(value, varName);
|
|
1406
|
+
if (filterStr) {
|
|
1407
|
+
conditions.push(`(${filterStr})`);
|
|
1408
|
+
Object.assign(filterVars, andVars);
|
|
1409
|
+
}
|
|
1393
1410
|
}
|
|
1394
1411
|
}
|
|
1395
|
-
else if (
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1412
|
+
else if (normalizedKey === '$or') {
|
|
1413
|
+
if (Array.isArray(value)) {
|
|
1414
|
+
const subConditions = [];
|
|
1415
|
+
for (const item of value) {
|
|
1416
|
+
const { filterStr, filterVars: orVars } = this.buildArangoWhereClause(item, varName);
|
|
1417
|
+
if (filterStr) {
|
|
1418
|
+
subConditions.push(filterStr);
|
|
1419
|
+
Object.assign(filterVars, orVars);
|
|
1420
|
+
}
|
|
1421
|
+
}
|
|
1422
|
+
if (subConditions.length > 0) {
|
|
1423
|
+
conditions.push(`(${subConditions.join(' OR ')})`);
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
else {
|
|
1427
|
+
const { filterStr, filterVars: orVars } = this.buildArangoWhereClause(value, varName);
|
|
1428
|
+
if (filterStr) {
|
|
1429
|
+
conditions.push(`(${filterStr.replace(/ AND /g, ' OR ')})`);
|
|
1430
|
+
Object.assign(filterVars, orVars);
|
|
1431
|
+
}
|
|
1400
1432
|
}
|
|
1401
1433
|
}
|
|
1402
1434
|
else if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
|
|
1403
1435
|
for (const [op, opValue] of Object.entries(value)) {
|
|
1436
|
+
const normalizedOp = op.toLowerCase();
|
|
1404
1437
|
const varKey = `v${varCounter++}`;
|
|
1405
1438
|
filterVars[varKey] = opValue;
|
|
1406
|
-
switch (
|
|
1407
|
-
case '$
|
|
1439
|
+
switch (normalizedOp) {
|
|
1440
|
+
case '$gt':
|
|
1408
1441
|
conditions.push(`${varName}.${key} > @${varKey}`);
|
|
1409
1442
|
break;
|
|
1410
|
-
case '$
|
|
1443
|
+
case '$gte':
|
|
1411
1444
|
conditions.push(`${varName}.${key} >= @${varKey}`);
|
|
1412
1445
|
break;
|
|
1413
|
-
case '$
|
|
1446
|
+
case '$lt':
|
|
1414
1447
|
conditions.push(`${varName}.${key} < @${varKey}`);
|
|
1415
1448
|
break;
|
|
1416
|
-
case '$
|
|
1449
|
+
case '$lte':
|
|
1417
1450
|
conditions.push(`${varName}.${key} <= @${varKey}`);
|
|
1418
1451
|
break;
|
|
1419
|
-
case '$
|
|
1452
|
+
case '$ne':
|
|
1420
1453
|
conditions.push(`${varName}.${key} != @${varKey}`);
|
|
1421
1454
|
break;
|
|
1422
|
-
case '$
|
|
1455
|
+
case '$in':
|
|
1423
1456
|
conditions.push(`${varName}.${key} IN @${varKey}`);
|
|
1424
1457
|
break;
|
|
1425
|
-
case '$
|
|
1458
|
+
case '$nin':
|
|
1459
|
+
case '$not_in':
|
|
1426
1460
|
conditions.push(`${varName}.${key} NOT IN @${varKey}`);
|
|
1427
1461
|
break;
|
|
1428
|
-
case '$
|
|
1462
|
+
case '$contains':
|
|
1429
1463
|
conditions.push(`CONTAINS(${varName}.${key}, @${varKey})`);
|
|
1430
1464
|
break;
|
|
1431
|
-
case '$
|
|
1465
|
+
case '$startswith':
|
|
1466
|
+
case '$starts_with':
|
|
1432
1467
|
conditions.push(`STARTS_WITH(${varName}.${key}, @${varKey})`);
|
|
1433
1468
|
break;
|
|
1434
|
-
case '$
|
|
1469
|
+
case '$endswith':
|
|
1470
|
+
case '$ends_with':
|
|
1435
1471
|
conditions.push(`LIKE(${varName}.${key}, CONCAT('%', @${varKey}))`);
|
|
1436
1472
|
break;
|
|
1437
|
-
case '$
|
|
1473
|
+
case '$exists':
|
|
1438
1474
|
if (opValue) {
|
|
1439
1475
|
conditions.push(`${varName}.${key} != null`);
|
|
1440
1476
|
}
|
|
@@ -1442,6 +1478,9 @@ class ArangoDBAdapter extends base_adapter_1.BaseGraphAdapter {
|
|
|
1442
1478
|
conditions.push(`${varName}.${key} == null`);
|
|
1443
1479
|
}
|
|
1444
1480
|
break;
|
|
1481
|
+
case '$regex':
|
|
1482
|
+
conditions.push(`REGEX_TEST(${varName}.${key}, @${varKey})`);
|
|
1483
|
+
break;
|
|
1445
1484
|
}
|
|
1446
1485
|
}
|
|
1447
1486
|
}
|