zerohelper-postgres-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,55 @@
1
+ # zerohelper-postgres-adapter
2
+
3
+ PostgreSQL database adapter for ZeroHelper.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install zerohelper-postgres-adapter
9
+ npm install pg
10
+ ```
11
+
12
+ ## Usage
13
+
14
+ ```typescript
15
+ import { createDatabase } from '@onurege3467/zerohelper';
16
+
17
+ const db = createDatabase({
18
+ adapter: 'postgres',
19
+ config: {
20
+ host: 'localhost',
21
+ port: 5432,
22
+ username: 'postgres',
23
+ password: 'password',
24
+ database: 'mydb',
25
+ poolSize: 20
26
+ }
27
+ });
28
+
29
+ await db.insert('users', { name: 'John', age: 30 });
30
+ const users = await db.select('users', { name: 'John' });
31
+ await db.close();
32
+ ```
33
+
34
+ ## Features
35
+
36
+ - Connection pooling with pg
37
+ - PostgreSQL-specific optimizations
38
+ - JSON/JSONB column support
39
+ - Transaction support
40
+ - Concurrent operation handling
41
+
42
+ ## Configuration
43
+
44
+ | Option | Type | Required | Description |
45
+ |--------|------|----------|-------------|
46
+ | `host` | string | Yes | PostgreSQL host |
47
+ | `port` | number | Yes | PostgreSQL port |
48
+ | `username` | string | Yes | PostgreSQL username |
49
+ | `password` | string | Yes | PostgreSQL password |
50
+ | `database` | string | Yes | Database name |
51
+ | `poolSize` | number | No | Connection pool size (default: 20) |
52
+
53
+ ## License
54
+
55
+ ISC
@@ -0,0 +1,27 @@
1
+ import { IDatabase, PostgreSQLConfig } from '@onurege3467/zerohelper-core';
2
+ export declare class PostgreSQLDatabase extends IDatabase {
3
+ private config;
4
+ private pool;
5
+ private _connected;
6
+ private _queue;
7
+ private _connectionPromise;
8
+ constructor(config: PostgreSQLConfig);
9
+ private _init;
10
+ private _execute;
11
+ private _processQueue;
12
+ query(sql: string, params?: any[]): Promise<any>;
13
+ ensureTable(table: string, data?: any): Promise<void>;
14
+ insert(table: string, data: any): Promise<any>;
15
+ update(table: string, data: any, where: any): Promise<number>;
16
+ delete(table: string, where: any): Promise<number>;
17
+ select<T = any>(table: string, where?: any): Promise<T[]>;
18
+ selectOne<T = any>(table: string, where?: any): Promise<T | null>;
19
+ set(table: string, data: any, where: any): Promise<any>;
20
+ bulkInsert(table: string, dataArray: any[]): Promise<number>;
21
+ increment(table: string, incs: Record<string, number>, where: any): Promise<number>;
22
+ decrement(table: string, decs: Record<string, number>, where: any): Promise<number>;
23
+ close(): Promise<void>;
24
+ }
25
+ export declare function createDatabase(config: PostgreSQLConfig): PostgreSQLDatabase;
26
+ export default PostgreSQLDatabase;
27
+ //# 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,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAG3E,qBAAa,kBAAmB,SAAQ,SAAS;IAMnC,OAAO,CAAC,MAAM;IAL1B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAyG;IACvH,OAAO,CAAC,kBAAkB,CAAgB;gBAEtB,MAAM,EAAE,gBAAgB;YAK9B,KAAK;YAiCL,QAAQ;YAOR,aAAa;IAOrB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,GAAG,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAMpD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAa9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAYlD,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,GAAU,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAS/D,SAAS,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,GAAU,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAKvE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAKvD,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAM5D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAanF,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAMnF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,kBAAkB,CAE3E;AACD,eAAe,kBAAkB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PostgreSQLDatabase = void 0;
4
+ exports.createDatabase = createDatabase;
5
+ const zerohelper_core_1 = require("@onurege3467/zerohelper-core");
6
+ const pg_1 = require("pg");
7
+ class PostgreSQLDatabase extends zerohelper_core_1.IDatabase {
8
+ constructor(config) {
9
+ super();
10
+ this.config = config;
11
+ this.pool = null;
12
+ this._connected = false;
13
+ this._queue = [];
14
+ this._connectionPromise = this._init();
15
+ }
16
+ async _init() {
17
+ return new Promise(async (resolve, reject) => {
18
+ try {
19
+ const tempPool = new pg_1.Pool({
20
+ host: this.config.host || 'localhost',
21
+ port: this.config.port || 5432,
22
+ user: this.config.username,
23
+ password: this.config.password,
24
+ database: 'postgres'
25
+ });
26
+ try {
27
+ await tempPool.query(`CREATE DATABASE "${this.config.database}"`);
28
+ }
29
+ catch (e) {
30
+ if (!e.message.includes('already exists'))
31
+ console.warn(e.message);
32
+ }
33
+ await tempPool.end();
34
+ this.pool = new pg_1.Pool({
35
+ host: this.config.host || 'localhost',
36
+ port: this.config.port || 5432,
37
+ user: this.config.username,
38
+ password: this.config.password,
39
+ database: this.config.database,
40
+ max: this.config.poolSize || 10
41
+ });
42
+ this._connected = true;
43
+ resolve(this.pool);
44
+ this._processQueue();
45
+ }
46
+ catch (error) {
47
+ this._queue.forEach(q => q.reject(error));
48
+ this._queue = [];
49
+ reject(error);
50
+ }
51
+ });
52
+ }
53
+ async _execute(op, table, fn) {
54
+ const start = Date.now();
55
+ const res = await fn();
56
+ this.recordMetric(op, table, Date.now() - start);
57
+ return res;
58
+ }
59
+ async _processQueue() {
60
+ while (this._queue.length > 0) {
61
+ const item = this._queue.shift();
62
+ if (item) {
63
+ try {
64
+ item.resolve(await item.operation());
65
+ }
66
+ catch (error) {
67
+ item.reject(error);
68
+ }
69
+ }
70
+ }
71
+ }
72
+ async query(sql, params = []) {
73
+ const pool = await this._connectionPromise;
74
+ const res = await pool.query(sql, params);
75
+ return res.rows;
76
+ }
77
+ async ensureTable(table, data = {}) {
78
+ const tables = await this.query(`SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name = $1`, [table]);
79
+ if (tables.length === 0) {
80
+ const defs = Object.keys(data).map(k => `"${k}" TEXT`);
81
+ await this.query(`CREATE TABLE "${table}" ("_id" SERIAL PRIMARY KEY${defs.length ? ', ' + defs.join(',') : ''})`);
82
+ }
83
+ }
84
+ async insert(table, data) {
85
+ await this.runHooks('beforeInsert', table, data);
86
+ return this._execute('insert', table, async () => {
87
+ await this.ensureTable(table, data);
88
+ const keys = Object.keys(data);
89
+ const sql = `INSERT INTO "${table}" (${keys.map(k => `"${k}"`).join(',')}) VALUES (${keys.map((_, i) => `$${i + 1}`).join(',')}) RETURNING "_id"`;
90
+ const res = await this.query(sql, Object.values(data));
91
+ const finalData = { _id: res[0]._id, ...data };
92
+ await this.runHooks('afterInsert', table, finalData);
93
+ return res[0]._id;
94
+ });
95
+ }
96
+ async update(table, data, where) {
97
+ await this.runHooks('beforeUpdate', table, { data, where });
98
+ return this._execute('update', table, async () => {
99
+ await this.ensureTable(table, { ...data, ...where });
100
+ const keys = Object.keys(data);
101
+ const set = keys.map((k, i) => `"${k}" = $${i + 1}`).join(',');
102
+ const wKeys = Object.keys(where);
103
+ const sql = `UPDATE "${table}" SET ${set} WHERE ${wKeys.map((k, i) => `"${k}" = $${keys.length + i + 1}`).join(' AND ')}`;
104
+ const pool = await this._connectionPromise;
105
+ const res = await pool.query(sql, [...Object.values(data), ...Object.values(where)]);
106
+ return res.rowCount ?? 0;
107
+ });
108
+ }
109
+ async delete(table, where) {
110
+ await this.runHooks('beforeDelete', table, where);
111
+ return this._execute('delete', table, async () => {
112
+ await this.ensureTable(table, where);
113
+ const wKeys = Object.keys(where);
114
+ const sql = `DELETE FROM "${table}" WHERE ${wKeys.map((k, i) => `"${k}" = $${i + 1}`).join(' AND ')}`;
115
+ const pool = await this._connectionPromise;
116
+ const res = await pool.query(sql, Object.values(where));
117
+ return res.rowCount ?? 0;
118
+ });
119
+ }
120
+ async select(table, where = null) {
121
+ return this._execute('select', table, async () => {
122
+ await this.ensureTable(table, where || {});
123
+ const wKeys = where ? Object.keys(where) : [];
124
+ const sql = `SELECT * FROM "${table}"${wKeys.length ? ' WHERE ' + wKeys.map((k, i) => `"${k}" = $${i + 1}`).join(' AND ') : ''}`;
125
+ return this.query(sql, wKeys.map(k => where[k]));
126
+ });
127
+ }
128
+ async selectOne(table, where = null) {
129
+ const res = await this.select(table, where);
130
+ return res[0] || null;
131
+ }
132
+ async set(table, data, where) {
133
+ const ex = await this.selectOne(table, where);
134
+ return ex ? this.update(table, data, where) : this.insert(table, { ...where, ...data });
135
+ }
136
+ async bulkInsert(table, dataArray) {
137
+ if (!dataArray.length)
138
+ return 0;
139
+ for (const d of dataArray)
140
+ await this.insert(table, d);
141
+ return dataArray.length;
142
+ }
143
+ async increment(table, incs, where) {
144
+ return this._execute('increment', table, async () => {
145
+ await this.ensureTable(table, where);
146
+ const keys = Object.keys(incs);
147
+ const set = keys.map((f, i) => `"${f}" = "${f}" + $${i + 1}`).join(',');
148
+ const wKeys = Object.keys(where);
149
+ const sql = `UPDATE "${table}" SET ${set} WHERE ${wKeys.map((k, i) => `"${k}" = $${keys.length + i + 1}`).join(' AND ')}`;
150
+ const pool = await this._connectionPromise;
151
+ const res = await pool.query(sql, [...Object.values(incs), ...Object.values(where)]);
152
+ return res.rowCount ?? 0;
153
+ });
154
+ }
155
+ async decrement(table, decs, where) {
156
+ const incs = {};
157
+ for (const k in decs)
158
+ incs[k] = -decs[k];
159
+ return this.increment(table, incs, where);
160
+ }
161
+ async close() { if (this.pool)
162
+ await this.pool.end(); }
163
+ }
164
+ exports.PostgreSQLDatabase = PostgreSQLDatabase;
165
+ function createDatabase(config) {
166
+ return new PostgreSQLDatabase(config);
167
+ }
168
+ exports.default = PostgreSQLDatabase;
169
+ //# 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,21 @@
1
+ {
2
+ "name": "zerohelper-postgres-adapter",
3
+ "version": "11.0.0",
4
+ "description": "PostgreSQL adapter for ZeroHelper database framework",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "clean": "rm -rf dist",
10
+ "test": "jest",
11
+ "lint": "tsc --noEmit"
12
+ },
13
+ "keywords": ["zerohelper", "database", "postgres", "postgresql", "adapter"],
14
+ "author": "Onure9e",
15
+ "license": "ISC",
16
+ "dependencies": { "pg": "^8.14.1" },
17
+ "peerDependencies": { "@onurege3467/zerohelper-core": "^11.0.0" },
18
+ "devDependencies": { "@types/node": "^22.10.2", "@types/pg": "^8.11.10", "typescript": "^5.7.2" },
19
+ "files": ["dist", "README.md"],
20
+ "publishConfig": { "access": "public" }
21
+ }