@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamodb.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/dynamodb.adapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dynamodb.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/dynamodb.adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -93,6 +93,7 @@ export declare class MongoDBAdapter extends BaseAdapter {
|
|
|
93
93
|
escapeValue(value: any): string;
|
|
94
94
|
/**
|
|
95
95
|
* Check if value is an update operator object
|
|
96
|
+
* Supports both lowercase (new) and uppercase (legacy) operators
|
|
96
97
|
*/
|
|
97
98
|
private isUpdateOperator;
|
|
98
99
|
getParameterPlaceholder(index: number): string;
|
|
@@ -60,31 +60,64 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
60
60
|
}
|
|
61
61
|
// ==================== CONNECTION METHODS ====================
|
|
62
62
|
async connect(options) {
|
|
63
|
+
console.log(`[MongoDBAdapter] connect() called`);
|
|
64
|
+
console.log(`[MongoDBAdapter] Options:`, JSON.stringify(Object.assign(Object.assign({}, options), { connectionUrl: '***REDACTED***' }), null, 2));
|
|
63
65
|
try {
|
|
66
|
+
console.log(`[MongoDBAdapter] Importing 'mongodb' library...`);
|
|
64
67
|
// Dynamic import of mongodb to avoid bundling issues
|
|
65
68
|
const { MongoClient } = await Promise.resolve().then(() => __importStar(require('mongodb')));
|
|
69
|
+
console.log(`[MongoDBAdapter] 'mongodb' library imported successfully`);
|
|
66
70
|
this.connectionUrl = options.connectionUrl;
|
|
71
|
+
console.log(`[MongoDBAdapter] Connection URL stored`);
|
|
72
|
+
console.log(`[MongoDBAdapter] Connection URL length: ${options.connectionUrl.length}`);
|
|
67
73
|
// Parse connection URL to extract database name
|
|
74
|
+
console.log(`[MongoDBAdapter] Parsing connection URL...`);
|
|
68
75
|
const url = new URL(options.connectionUrl);
|
|
69
76
|
this.databaseName = url.pathname.slice(1) || 'test';
|
|
70
|
-
|
|
77
|
+
const parsedConfig = {
|
|
78
|
+
protocol: url.protocol,
|
|
79
|
+
hostname: url.hostname,
|
|
80
|
+
port: url.port || 'default',
|
|
81
|
+
database: this.databaseName,
|
|
82
|
+
username: url.username || 'not specified',
|
|
83
|
+
hasPassword: !!url.password,
|
|
84
|
+
};
|
|
85
|
+
console.log(`[MongoDBAdapter] Connection URL parsed:`, parsedConfig);
|
|
86
|
+
const clientConfig = {
|
|
71
87
|
maxPoolSize: options.poolSize || 10,
|
|
72
88
|
connectTimeoutMS: options.connectionTimeout || 10000,
|
|
73
89
|
serverSelectionTimeoutMS: options.connectionTimeout || 10000,
|
|
74
|
-
}
|
|
90
|
+
};
|
|
91
|
+
console.log(`[MongoDBAdapter] Client config:`, clientConfig);
|
|
92
|
+
console.log(`[MongoDBAdapter] Creating MongoClient...`);
|
|
93
|
+
this.mongoClient = new MongoClient(options.connectionUrl, clientConfig);
|
|
94
|
+
console.log(`[MongoDBAdapter] MongoClient created successfully`);
|
|
95
|
+
console.log(`[MongoDBAdapter] Connecting to MongoDB...`);
|
|
75
96
|
await this.mongoClient.connect();
|
|
97
|
+
console.log(`[MongoDBAdapter] Connected to MongoDB successfully`);
|
|
98
|
+
console.log(`[MongoDBAdapter] Getting database: ${this.databaseName}`);
|
|
76
99
|
this.db = this.mongoClient.db(this.databaseName);
|
|
100
|
+
console.log(`[MongoDBAdapter] Database instance acquired`);
|
|
101
|
+
console.log(`[MongoDBAdapter] Getting server info...`);
|
|
77
102
|
// Get server info
|
|
78
103
|
const adminDb = this.mongoClient.db('admin');
|
|
79
104
|
const serverInfo = await adminDb.command({ buildInfo: 1 });
|
|
105
|
+
console.log(`[MongoDBAdapter] Server info retrieved successfully`);
|
|
106
|
+
console.log(`[MongoDBAdapter] MongoDB version:`, serverInfo.version);
|
|
80
107
|
this.client = this.mongoClient;
|
|
81
108
|
this.connected = true;
|
|
109
|
+
console.log(`[MongoDBAdapter] Connection marked as connected`);
|
|
82
110
|
return {
|
|
83
111
|
connected: true,
|
|
84
112
|
version: serverInfo.version,
|
|
85
113
|
};
|
|
86
114
|
}
|
|
87
115
|
catch (error) {
|
|
116
|
+
console.error(`[MongoDBAdapter] Connection failed with error:`, error);
|
|
117
|
+
console.error(`[MongoDBAdapter] Error type:`, error.constructor.name);
|
|
118
|
+
console.error(`[MongoDBAdapter] Error message:`, error.message);
|
|
119
|
+
console.error(`[MongoDBAdapter] Error code:`, error.code);
|
|
120
|
+
console.error(`[MongoDBAdapter] Full error:`, JSON.stringify(error, null, 2));
|
|
88
121
|
throw database_error_1.DatabaseError.connectionError(`Failed to connect to MongoDB: ${error.message}`, error);
|
|
89
122
|
}
|
|
90
123
|
}
|
|
@@ -255,7 +288,7 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
255
288
|
}
|
|
256
289
|
}
|
|
257
290
|
async update(options) {
|
|
258
|
-
var _a;
|
|
291
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
259
292
|
this.ensureConnected();
|
|
260
293
|
try {
|
|
261
294
|
const collection = this.db.collection(options.table);
|
|
@@ -267,54 +300,70 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
267
300
|
for (const [key, value] of Object.entries(options.data)) {
|
|
268
301
|
if (value && typeof value === 'object' && this.isUpdateOperator(value)) {
|
|
269
302
|
// Handle update operators - MongoDB has native support
|
|
270
|
-
|
|
303
|
+
// Support both lowercase (new) and uppercase (legacy) operators
|
|
304
|
+
if ('$inc' in value || '$INC' in value) {
|
|
271
305
|
if (!updateDoc.$inc)
|
|
272
306
|
updateDoc.$inc = {};
|
|
273
|
-
updateDoc.$inc[key] = value.$INC;
|
|
307
|
+
updateDoc.$inc[key] = (_b = value.$inc) !== null && _b !== void 0 ? _b : value.$INC;
|
|
274
308
|
}
|
|
275
|
-
else if ('$DEC' in value) {
|
|
309
|
+
else if ('$dec' in value || '$DEC' in value) {
|
|
276
310
|
// MongoDB uses $inc with negative value for decrement
|
|
277
311
|
if (!updateDoc.$inc)
|
|
278
312
|
updateDoc.$inc = {};
|
|
279
|
-
updateDoc.$inc[key] = -value.$DEC;
|
|
313
|
+
updateDoc.$inc[key] = -((_c = value.$dec) !== null && _c !== void 0 ? _c : value.$DEC);
|
|
280
314
|
}
|
|
281
|
-
else if ('$MUL' in value) {
|
|
315
|
+
else if ('$mul' in value || '$MUL' in value) {
|
|
282
316
|
if (!updateDoc.$mul)
|
|
283
317
|
updateDoc.$mul = {};
|
|
284
|
-
updateDoc.$mul[key] = value.$MUL;
|
|
318
|
+
updateDoc.$mul[key] = (_d = value.$mul) !== null && _d !== void 0 ? _d : value.$MUL;
|
|
285
319
|
}
|
|
286
|
-
else if ('$MIN' in value) {
|
|
320
|
+
else if ('$min' in value || '$MIN' in value) {
|
|
287
321
|
if (!updateDoc.$min)
|
|
288
322
|
updateDoc.$min = {};
|
|
289
|
-
updateDoc.$min[key] = value.$MIN;
|
|
323
|
+
updateDoc.$min[key] = (_e = value.$min) !== null && _e !== void 0 ? _e : value.$MIN;
|
|
290
324
|
}
|
|
291
|
-
else if ('$MAX' in value) {
|
|
325
|
+
else if ('$max' in value || '$MAX' in value) {
|
|
292
326
|
if (!updateDoc.$max)
|
|
293
327
|
updateDoc.$max = {};
|
|
294
|
-
updateDoc.$max[key] = value.$MAX;
|
|
328
|
+
updateDoc.$max[key] = (_f = value.$max) !== null && _f !== void 0 ? _f : value.$MAX;
|
|
295
329
|
}
|
|
296
|
-
else if ('$SET' in value) {
|
|
297
|
-
updateDoc.$set[key] = value.$SET;
|
|
330
|
+
else if ('$set' in value || '$SET' in value) {
|
|
331
|
+
updateDoc.$set[key] = (_g = value.$set) !== null && _g !== void 0 ? _g : value.$SET;
|
|
298
332
|
}
|
|
299
|
-
else if ('$UNSET' in value && value.$UNSET) {
|
|
333
|
+
else if (('$unset' in value && value.$unset) || ('$UNSET' in value && value.$UNSET)) {
|
|
300
334
|
if (!updateDoc.$unset)
|
|
301
335
|
updateDoc.$unset = {};
|
|
302
336
|
updateDoc.$unset[key] = '';
|
|
303
337
|
}
|
|
304
|
-
else if ('$PUSH' in value) {
|
|
338
|
+
else if ('$push' in value || '$PUSH' in value) {
|
|
305
339
|
if (!updateDoc.$push)
|
|
306
340
|
updateDoc.$push = {};
|
|
307
|
-
updateDoc.$push[key] = value.$PUSH;
|
|
341
|
+
updateDoc.$push[key] = (_h = value.$push) !== null && _h !== void 0 ? _h : value.$PUSH;
|
|
308
342
|
}
|
|
309
|
-
else if ('$PULL' in value) {
|
|
343
|
+
else if ('$pull' in value || '$PULL' in value) {
|
|
310
344
|
if (!updateDoc.$pull)
|
|
311
345
|
updateDoc.$pull = {};
|
|
312
|
-
updateDoc.$pull[key] = value.$PULL;
|
|
346
|
+
updateDoc.$pull[key] = (_j = value.$pull) !== null && _j !== void 0 ? _j : value.$PULL;
|
|
313
347
|
}
|
|
314
|
-
else if ('$ADDTOSET' in value) {
|
|
348
|
+
else if ('$addToSet' in value || '$ADDTOSET' in value) {
|
|
315
349
|
if (!updateDoc.$addToSet)
|
|
316
350
|
updateDoc.$addToSet = {};
|
|
317
|
-
updateDoc.$addToSet[key] = value.$ADDTOSET;
|
|
351
|
+
updateDoc.$addToSet[key] = (_k = value.$addToSet) !== null && _k !== void 0 ? _k : value.$ADDTOSET;
|
|
352
|
+
}
|
|
353
|
+
else if ('$pop' in value || '$POP' in value) {
|
|
354
|
+
if (!updateDoc.$pop)
|
|
355
|
+
updateDoc.$pop = {};
|
|
356
|
+
updateDoc.$pop[key] = (_l = value.$pop) !== null && _l !== void 0 ? _l : value.$POP;
|
|
357
|
+
}
|
|
358
|
+
else if ('$rename' in value || '$RENAME' in value) {
|
|
359
|
+
if (!updateDoc.$rename)
|
|
360
|
+
updateDoc.$rename = {};
|
|
361
|
+
updateDoc.$rename[key] = (_m = value.$rename) !== null && _m !== void 0 ? _m : value.$RENAME;
|
|
362
|
+
}
|
|
363
|
+
else if ('$currentDate' in value || '$CURRENTDATE' in value) {
|
|
364
|
+
if (!updateDoc.$currentDate)
|
|
365
|
+
updateDoc.$currentDate = {};
|
|
366
|
+
updateDoc.$currentDate[key] = (_o = value.$currentDate) !== null && _o !== void 0 ? _o : value.$CURRENTDATE;
|
|
318
367
|
}
|
|
319
368
|
}
|
|
320
369
|
else {
|
|
@@ -943,11 +992,17 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
943
992
|
}
|
|
944
993
|
/**
|
|
945
994
|
* Check if value is an update operator object
|
|
995
|
+
* Supports both lowercase (new) and uppercase (legacy) operators
|
|
946
996
|
*/
|
|
947
997
|
isUpdateOperator(value) {
|
|
948
998
|
if (!value || typeof value !== 'object')
|
|
949
999
|
return false;
|
|
950
|
-
|
|
1000
|
+
// Support both lowercase (Mongoose style) and uppercase (legacy) operators
|
|
1001
|
+
const operators = [
|
|
1002
|
+
'$inc', '$INC', '$dec', '$DEC', '$mul', '$MUL', '$min', '$MIN', '$max', '$MAX',
|
|
1003
|
+
'$set', '$SET', '$unset', '$UNSET', '$push', '$PUSH', '$pull', '$PULL',
|
|
1004
|
+
'$addToSet', '$ADDTOSET', '$pop', '$POP', '$rename', '$RENAME', '$currentDate', '$CURRENTDATE'
|
|
1005
|
+
];
|
|
951
1006
|
return operators.some(op => op in value);
|
|
952
1007
|
}
|
|
953
1008
|
getParameterPlaceholder(index) {
|
|
@@ -1032,46 +1087,56 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
1032
1087
|
buildMongoFilter(where) {
|
|
1033
1088
|
const filter = {};
|
|
1034
1089
|
for (const [key, value] of Object.entries(where)) {
|
|
1035
|
-
|
|
1036
|
-
|
|
1090
|
+
// Normalize key to lowercase for logical operators (support both cases for backwards compatibility)
|
|
1091
|
+
const normalizedKey = key.toLowerCase();
|
|
1092
|
+
if (normalizedKey === '$and') {
|
|
1093
|
+
const conditions = Array.isArray(value) ? value : Object.entries(value).map(([k, v]) => ({ [k]: v }));
|
|
1094
|
+
filter.$and = conditions.map((cond) => this.buildMongoFilter(cond));
|
|
1037
1095
|
}
|
|
1038
|
-
else if (
|
|
1039
|
-
|
|
1096
|
+
else if (normalizedKey === '$or') {
|
|
1097
|
+
const conditions = Array.isArray(value) ? value : Object.entries(value).map(([k, v]) => ({ [k]: v }));
|
|
1098
|
+
filter.$or = conditions.map((cond) => this.buildMongoFilter(cond));
|
|
1040
1099
|
}
|
|
1041
|
-
else if (
|
|
1100
|
+
else if (normalizedKey === '$not') {
|
|
1042
1101
|
filter.$nor = [this.buildMongoFilter(value)];
|
|
1043
1102
|
}
|
|
1103
|
+
else if (normalizedKey === '$nor') {
|
|
1104
|
+
const conditions = Array.isArray(value) ? value : [value];
|
|
1105
|
+
filter.$nor = conditions.map((cond) => this.buildMongoFilter(cond));
|
|
1106
|
+
}
|
|
1044
1107
|
else if (value !== null && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
|
|
1045
1108
|
// Handle operators
|
|
1046
1109
|
const fieldFilter = {};
|
|
1047
1110
|
for (const [op, opValue] of Object.entries(value)) {
|
|
1048
|
-
|
|
1049
|
-
|
|
1111
|
+
// Normalize operator to lowercase (support both cases for backwards compatibility)
|
|
1112
|
+
const normalizedOp = op.toLowerCase();
|
|
1113
|
+
switch (normalizedOp) {
|
|
1114
|
+
case '$eq':
|
|
1050
1115
|
fieldFilter.$eq = opValue;
|
|
1051
1116
|
break;
|
|
1052
|
-
case '$
|
|
1053
|
-
case '$NOT':
|
|
1117
|
+
case '$ne':
|
|
1054
1118
|
fieldFilter.$ne = opValue;
|
|
1055
1119
|
break;
|
|
1056
|
-
case '$
|
|
1120
|
+
case '$gt':
|
|
1057
1121
|
fieldFilter.$gt = opValue;
|
|
1058
1122
|
break;
|
|
1059
|
-
case '$
|
|
1123
|
+
case '$gte':
|
|
1060
1124
|
fieldFilter.$gte = opValue;
|
|
1061
1125
|
break;
|
|
1062
|
-
case '$
|
|
1126
|
+
case '$lt':
|
|
1063
1127
|
fieldFilter.$lt = opValue;
|
|
1064
1128
|
break;
|
|
1065
|
-
case '$
|
|
1129
|
+
case '$lte':
|
|
1066
1130
|
fieldFilter.$lte = opValue;
|
|
1067
1131
|
break;
|
|
1068
|
-
case '$
|
|
1132
|
+
case '$in':
|
|
1069
1133
|
fieldFilter.$in = opValue;
|
|
1070
1134
|
break;
|
|
1071
|
-
case '$
|
|
1135
|
+
case '$nin':
|
|
1136
|
+
case '$not_in':
|
|
1072
1137
|
fieldFilter.$nin = opValue;
|
|
1073
1138
|
break;
|
|
1074
|
-
case '$
|
|
1139
|
+
case '$like':
|
|
1075
1140
|
// Convert SQL LIKE pattern to regex (case-sensitive)
|
|
1076
1141
|
// 1. Escape regex special characters first (except % and _)
|
|
1077
1142
|
// 2. Replace SQL wildcards with regex equivalents
|
|
@@ -1087,7 +1152,7 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
1087
1152
|
.replace(/_/g, '.') + '$';
|
|
1088
1153
|
fieldFilter.$regex = new RegExp(likePattern);
|
|
1089
1154
|
break;
|
|
1090
|
-
case '$
|
|
1155
|
+
case '$ilike':
|
|
1091
1156
|
// Convert SQL ILIKE pattern to regex (case-insensitive)
|
|
1092
1157
|
const ilikePattern = '^' + opValue
|
|
1093
1158
|
.replace(/[.*+?^${}()|[\]\\]/g, (char) => {
|
|
@@ -1099,7 +1164,8 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
1099
1164
|
.replace(/_/g, '.') + '$';
|
|
1100
1165
|
fieldFilter.$regex = new RegExp(ilikePattern, 'i');
|
|
1101
1166
|
break;
|
|
1102
|
-
case '$
|
|
1167
|
+
case '$isnull':
|
|
1168
|
+
case '$is_null':
|
|
1103
1169
|
if (opValue) {
|
|
1104
1170
|
fieldFilter.$eq = null;
|
|
1105
1171
|
}
|
|
@@ -1107,7 +1173,8 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
1107
1173
|
fieldFilter.$ne = null;
|
|
1108
1174
|
}
|
|
1109
1175
|
break;
|
|
1110
|
-
case '$
|
|
1176
|
+
case '$isnotnull':
|
|
1177
|
+
case '$is_not_null':
|
|
1111
1178
|
if (opValue) {
|
|
1112
1179
|
fieldFilter.$ne = null;
|
|
1113
1180
|
}
|
|
@@ -1115,17 +1182,28 @@ class MongoDBAdapter extends base_adapter_1.BaseAdapter {
|
|
|
1115
1182
|
fieldFilter.$eq = null;
|
|
1116
1183
|
}
|
|
1117
1184
|
break;
|
|
1118
|
-
case '$
|
|
1185
|
+
case '$between':
|
|
1119
1186
|
const [min, max] = opValue;
|
|
1120
1187
|
fieldFilter.$gte = min;
|
|
1121
1188
|
fieldFilter.$lte = max;
|
|
1122
1189
|
break;
|
|
1123
|
-
case '$
|
|
1190
|
+
case '$contains':
|
|
1124
1191
|
fieldFilter.$elemMatch = { $eq: opValue };
|
|
1125
1192
|
break;
|
|
1126
|
-
case '$
|
|
1193
|
+
case '$overlaps':
|
|
1127
1194
|
fieldFilter.$elemMatch = { $in: opValue };
|
|
1128
1195
|
break;
|
|
1196
|
+
case '$regex':
|
|
1197
|
+
if (typeof opValue === 'string') {
|
|
1198
|
+
fieldFilter.$regex = new RegExp(opValue);
|
|
1199
|
+
}
|
|
1200
|
+
else if (opValue instanceof RegExp) {
|
|
1201
|
+
fieldFilter.$regex = opValue;
|
|
1202
|
+
}
|
|
1203
|
+
break;
|
|
1204
|
+
case '$exists':
|
|
1205
|
+
fieldFilter.$exists = opValue;
|
|
1206
|
+
break;
|
|
1129
1207
|
}
|
|
1130
1208
|
}
|
|
1131
1209
|
filter[key] = fieldFilter;
|