zerohelper-mongodb-adapter 11.0.0

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/README.md ADDED
@@ -0,0 +1,47 @@
1
+ # zerohelper-mongodb-adapter
2
+
3
+ MongoDB database adapter for ZeroHelper.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install zerohelper-mongodb-adapter
9
+ npm install mongodb
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ ```typescript
15
+ import { createDatabase } from '@onurege3467/zerohelper';
16
+
17
+ const db = createDatabase({
18
+ adapter: 'mongodb',
19
+ config: {
20
+ uri: 'mongodb://localhost:27017',
21
+ collection: 'myapp'
22
+ }
23
+ });
24
+
25
+ await db.insert('users', { name: 'John', age: 30 });
26
+ const users = await db.select('users', { name: 'John' });
27
+ await db.close();
28
+ ```
29
+
30
+ ## Features
31
+
32
+ - Full MongoDB driver support
33
+ - Automatic collection creation
34
+ - MongoDB-specific query operators
35
+ - Aggregation pipeline support
36
+ - Change streams ready
37
+
38
+ ## Configuration
39
+
40
+ | Option | Type | Required | Description |
41
+ |--------|------|----------|-------------|
42
+ | `uri` | string | Yes | MongoDB connection URI |
43
+ | `collection` | string | Yes | Default collection name |
44
+
45
+ ## License
46
+
47
+ ISC
@@ -0,0 +1,28 @@
1
+ import { IDatabase, MongoDBConfig } from '@onurege3467/zerohelper-core';
2
+ export declare class MongoDBDatabase extends IDatabase {
3
+ private config;
4
+ private client;
5
+ private db;
6
+ private _isConnected;
7
+ private _queue;
8
+ constructor(config: MongoDBConfig);
9
+ private _connect;
10
+ private _flushQueue;
11
+ private _flushQueueWithError;
12
+ private _execute;
13
+ insert(collection: string, data: any): Promise<string>;
14
+ update(collection: string, data: any, where: any): Promise<number>;
15
+ delete(collection: string, where: any): Promise<number>;
16
+ select<T = any>(collection: string, where?: any): Promise<T[]>;
17
+ selectOne<T = any>(collection: string, where?: any): Promise<T | null>;
18
+ set(collection: string, data: any, where: any): Promise<any>;
19
+ bulkInsert(collection: string, dataArray: any[]): Promise<number>;
20
+ increment(collection: string, incs: Record<string, number>, where?: any): Promise<number>;
21
+ decrement(collection: string, decs: Record<string, number>, where?: any): Promise<number>;
22
+ close(): Promise<void>;
23
+ private _formatQuery;
24
+ private _serialize;
25
+ }
26
+ export declare function createDatabase(config: MongoDBConfig): MongoDBDatabase;
27
+ export default MongoDBDatabase;
28
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAGxE,qBAAa,eAAgB,SAAQ,SAAS;IAMhC,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,EAAE,CAAmB;IAC7B,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,MAAM,CAAyG;gBAEnG,MAAM,EAAE,aAAa;YAO3B,QAAQ;IAWtB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,oBAAoB;YAOd,QAAQ;IAOhB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAWtD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IASlE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IASvD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,GAAQ,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAQlE,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,GAAE,GAAQ,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAQ1E,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAK5D,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAQjE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAE,GAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ7F,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,GAAE,GAAQ,GAAG,OAAO,CAAC,MAAM,CAAC;IAM7F,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,UAAU;CAKnB;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,GAAG,eAAe,CAErE;AACD,eAAe,eAAe,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MongoDBDatabase = void 0;
4
+ exports.createDatabase = createDatabase;
5
+ const zerohelper_core_1 = require("@onurege3467/zerohelper-core");
6
+ const mongodb_1 = require("mongodb");
7
+ class MongoDBDatabase extends zerohelper_core_1.IDatabase {
8
+ constructor(config) {
9
+ super();
10
+ this.config = config;
11
+ this.db = null;
12
+ this._isConnected = false;
13
+ this._queue = [];
14
+ const uri = config.url || `mongodb://${config.host || 'localhost'}:${config.port || 27017}`;
15
+ this.client = new mongodb_1.MongoClient(uri, { serverSelectionTimeoutMS: 5000, connectTimeoutMS: 5000 });
16
+ this._connect(config.database || 'test');
17
+ }
18
+ async _connect(dbName) {
19
+ try {
20
+ await this.client.connect();
21
+ this.db = this.client.db(dbName);
22
+ this._isConnected = true;
23
+ this._flushQueue();
24
+ }
25
+ catch (error) {
26
+ this._flushQueueWithError(error);
27
+ }
28
+ }
29
+ _flushQueue() {
30
+ while (this._queue.length > 0) {
31
+ const item = this._queue.shift();
32
+ if (item)
33
+ item.operation().then(item.resolve).catch(item.reject);
34
+ }
35
+ }
36
+ _flushQueueWithError(error) {
37
+ while (this._queue.length > 0) {
38
+ const item = this._queue.shift();
39
+ if (item)
40
+ item.reject(error);
41
+ }
42
+ }
43
+ async _execute(fn) {
44
+ if (this._isConnected)
45
+ return fn();
46
+ return new Promise((resolve, reject) => {
47
+ this._queue.push({ operation: fn, resolve, reject });
48
+ });
49
+ }
50
+ async insert(collection, data) {
51
+ await this.runHooks('beforeInsert', collection, data);
52
+ return this._execute(async () => {
53
+ const res = await this.db.collection(collection).insertOne(data);
54
+ const newId = res.insertedId.toString();
55
+ const finalData = { _id: newId, ...data };
56
+ await this.runHooks('afterInsert', collection, finalData);
57
+ return newId;
58
+ });
59
+ }
60
+ async update(collection, data, where) {
61
+ await this.runHooks('beforeUpdate', collection, { data, where });
62
+ const formattedWhere = this._formatQuery(where);
63
+ return this._execute(async () => {
64
+ const res = await this.db.collection(collection).updateMany(formattedWhere, { $set: data });
65
+ return res.modifiedCount;
66
+ });
67
+ }
68
+ async delete(collection, where) {
69
+ await this.runHooks('beforeDelete', collection, where);
70
+ const formattedWhere = this._formatQuery(where);
71
+ return this._execute(async () => {
72
+ const res = await this.db.collection(collection).deleteMany(formattedWhere);
73
+ return res.deletedCount;
74
+ });
75
+ }
76
+ async select(collection, where = {}) {
77
+ const formattedWhere = this._formatQuery(where);
78
+ return this._execute(async () => {
79
+ const docs = await this.db.collection(collection).find(formattedWhere).toArray();
80
+ return docs.map(doc => this._serialize(doc));
81
+ });
82
+ }
83
+ async selectOne(collection, where = {}) {
84
+ const formattedWhere = this._formatQuery(where);
85
+ return this._execute(async () => {
86
+ const doc = await this.db.collection(collection).findOne(formattedWhere);
87
+ return doc ? this._serialize(doc) : null;
88
+ });
89
+ }
90
+ async set(collection, data, where) {
91
+ const ex = await this.selectOne(collection, where);
92
+ return ex ? this.update(collection, data, where) : this.insert(collection, { ...where, ...data });
93
+ }
94
+ async bulkInsert(collection, dataArray) {
95
+ if (!dataArray.length)
96
+ return 0;
97
+ return this._execute(async () => {
98
+ const res = await this.db.collection(collection).insertMany(dataArray);
99
+ return res.insertedCount;
100
+ });
101
+ }
102
+ async increment(collection, incs, where = {}) {
103
+ const formattedWhere = this._formatQuery(where);
104
+ return this._execute(async () => {
105
+ const res = await this.db.collection(collection).updateMany(formattedWhere, { $inc: incs });
106
+ return res.modifiedCount;
107
+ });
108
+ }
109
+ async decrement(collection, decs, where = {}) {
110
+ const incs = {};
111
+ for (const k in decs)
112
+ incs[k] = -decs[k];
113
+ return this.increment(collection, incs, where);
114
+ }
115
+ async close() {
116
+ if (this.client)
117
+ await this.client.close();
118
+ this._isConnected = false;
119
+ }
120
+ _formatQuery(where) {
121
+ if (!where)
122
+ return {};
123
+ const query = { ...where };
124
+ if (query._id && typeof query._id === 'string' && mongodb_1.ObjectId.isValid(query._id)) {
125
+ query._id = new mongodb_1.ObjectId(query._id);
126
+ }
127
+ return query;
128
+ }
129
+ _serialize(doc) {
130
+ if (!doc)
131
+ return doc;
132
+ const { _id, ...rest } = doc;
133
+ return { _id: _id.toString(), ...rest };
134
+ }
135
+ }
136
+ exports.MongoDBDatabase = MongoDBDatabase;
137
+ function createDatabase(config) {
138
+ return new MongoDBDatabase(config);
139
+ }
140
+ exports.default = MongoDBDatabase;
141
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "zerohelper-mongodb-adapter",
3
+ "version": "11.0.0",
4
+ "description": "MongoDB adapter for ZeroHelper",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": { "build": "tsc", "clean": "rm -rf dist" },
8
+ "keywords": ["zerohelper", "database", "mongodb", "adapter"],
9
+ "author": "Onure9e",
10
+ "license": "ISC",
11
+ "dependencies": { "mongodb": "^6.12.0" },
12
+ "peerDependencies": { "@onurege3467/zerohelper-core": "^11.0.0" },
13
+ "devDependencies": { "@types/node": "^22.10.2", "typescript": "^5.7.2" },
14
+ "files": ["dist", "README.md"],
15
+ "publishConfig": { "access": "public" }
16
+ }