@juadz/knex 0.0.1
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/build/src/crud.d.ts +3 -0
- package/build/src/crud.js +49 -0
- package/build/src/crud.js.map +1 -0
- package/build/src/index.d.ts +3 -0
- package/build/src/index.js +20 -0
- package/build/src/index.js.map +1 -0
- package/build/src/list.d.ts +10 -0
- package/build/src/list.js +91 -0
- package/build/src/list.js.map +1 -0
- package/build/src/list.test.d.ts +1 -0
- package/build/src/list.test.js +68 -0
- package/build/src/list.test.js.map +1 -0
- package/package.json +47 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.knexCrud = void 0;
|
|
4
|
+
const list_1 = require("./list");
|
|
5
|
+
function getKnex(k) {
|
|
6
|
+
return k;
|
|
7
|
+
}
|
|
8
|
+
function knexCrud(options) {
|
|
9
|
+
const get = async (knex, id) => {
|
|
10
|
+
const c = await getKnex(knex)
|
|
11
|
+
.select('*')
|
|
12
|
+
.where('id', id)
|
|
13
|
+
.then(t => {
|
|
14
|
+
return t[0];
|
|
15
|
+
});
|
|
16
|
+
return c;
|
|
17
|
+
};
|
|
18
|
+
const update = async (knex, id, patch) => {
|
|
19
|
+
const knex2 = knex.clone();
|
|
20
|
+
await getKnex(knex).where('id', id).update(patch);
|
|
21
|
+
return await get(knex2, id);
|
|
22
|
+
};
|
|
23
|
+
const create = async (knex, params_) => {
|
|
24
|
+
const knex2 = knex.clone();
|
|
25
|
+
const params = {
|
|
26
|
+
...params_,
|
|
27
|
+
};
|
|
28
|
+
const result = await getKnex(knex)
|
|
29
|
+
.returning('id')
|
|
30
|
+
.insert({
|
|
31
|
+
...params,
|
|
32
|
+
});
|
|
33
|
+
const insertedId = result[0];
|
|
34
|
+
return await get(knex2, insertedId);
|
|
35
|
+
};
|
|
36
|
+
const delete_ = async (knex, id) => {
|
|
37
|
+
return await getKnex(knex).where('id', id).delete();
|
|
38
|
+
};
|
|
39
|
+
const list = (0, list_1.KnexQueryList)(options);
|
|
40
|
+
return {
|
|
41
|
+
get,
|
|
42
|
+
update,
|
|
43
|
+
create,
|
|
44
|
+
delete: delete_,
|
|
45
|
+
list,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
exports.knexCrud = knexCrud;
|
|
49
|
+
//# sourceMappingURL=crud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/crud.ts"],"names":[],"mappings":";;;AAEA,iCAA6E;AAE7E,SAAS,OAAO,CAAC,CAAU;IACzB,OAAO,CAAS,CAAC;AACnB,CAAC;AAED,SAAgB,QAAQ,CAAC,OAA6B;IACpD,MAAM,GAAG,GAAG,KAAK,EAAE,IAAa,EAAE,EAAmB,EAAE,EAAE;QACvD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;aAC1B,MAAM,CAAC,GAAG,CAAC;aACX,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;aACf,IAAI,CAAC,CAAC,CAAC,EAAE;YACR,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEL,OAAO,CAAC,CAAC;IACX,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAa,EAAE,EAAmB,EAAE,KAAa,EAAE,EAAE;QACzE,MAAM,KAAK,GAAI,IAAyB,CAAC,KAAK,EAAE,CAAC;QAEjD,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAElD,OAAO,MAAM,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,KAAK,EAAE,IAAa,EAAE,OAAe,EAAE,EAAE;QACtD,MAAM,KAAK,GAAI,IAAyB,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,MAAM,GAAG;YACb,GAAG,OAAO;SACX,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;aAC/B,SAAS,CAAC,IAAI,CAAC;aACf,MAAM,CAAC;YACN,GAAG,MAAM;SACV,CAAC,CAAC;QAEL,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE7B,OAAO,MAAM,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,KAAK,EAAE,IAAa,EAAE,EAAmB,EAAE,EAAE;QAC3D,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,OAAO,CAAC,CAAC;IAEpC,OAAO;QACL,GAAG;QACH,MAAM;QACN,MAAM;QACN,MAAM,EAAE,OAAO;QACf,IAAI;KACL,CAAC;AACJ,CAAC;AAlDD,4BAkDC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const crud_1 = require("./crud");
|
|
18
|
+
exports.default = crud_1.knexCrud;
|
|
19
|
+
__exportStar(require("./list"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC,kBAAe,eAAQ,CAAC;AACxB,yCAAuB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IQueryListFunction } from '@juadz/core';
|
|
2
|
+
import { Knex } from 'knex';
|
|
3
|
+
export interface KnexQueryListOptions {
|
|
4
|
+
searchFields: Array<string>;
|
|
5
|
+
debug?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export interface KnexQueryBuilder {
|
|
8
|
+
clone: () => Knex;
|
|
9
|
+
}
|
|
10
|
+
export declare function KnexQueryList(options: KnexQueryListOptions): IQueryListFunction;
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KnexQueryList = void 0;
|
|
4
|
+
const knexCloneIQuery = (query) => {
|
|
5
|
+
const q = query;
|
|
6
|
+
return q.clone();
|
|
7
|
+
};
|
|
8
|
+
function KnexQueryList(options) {
|
|
9
|
+
const func = async (knexIQuery, params) => {
|
|
10
|
+
const query = knexIQuery;
|
|
11
|
+
query.where((query) => {
|
|
12
|
+
params.filter.forEach((f) => {
|
|
13
|
+
const { field, op, value } = f;
|
|
14
|
+
if ((field === 'q' || field === 'search') && op === '=') {
|
|
15
|
+
query.andWhere((query) => {
|
|
16
|
+
(options.searchFields || []).forEach(k => {
|
|
17
|
+
query.orWhere(k, 'LIKE', `%${`${value}`.replace(/(["'$%]+)/, '')}%`);
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
let values = [];
|
|
23
|
+
if (Array.isArray(value)) {
|
|
24
|
+
values = value;
|
|
25
|
+
}
|
|
26
|
+
switch (op) {
|
|
27
|
+
case '=':
|
|
28
|
+
query.where(field, value);
|
|
29
|
+
return;
|
|
30
|
+
case '!=':
|
|
31
|
+
query.whereNot(field, value);
|
|
32
|
+
return;
|
|
33
|
+
case '>':
|
|
34
|
+
case '>=':
|
|
35
|
+
case '<':
|
|
36
|
+
case '<=':
|
|
37
|
+
query.where(field, op, value);
|
|
38
|
+
return;
|
|
39
|
+
case 'in':
|
|
40
|
+
query.whereIn(field, values);
|
|
41
|
+
return;
|
|
42
|
+
case '!in':
|
|
43
|
+
query.whereNotIn(field, values);
|
|
44
|
+
return;
|
|
45
|
+
case 'contains':
|
|
46
|
+
query.whereILike(field, `%${value}%`);
|
|
47
|
+
return;
|
|
48
|
+
case '!contains':
|
|
49
|
+
query.whereRaw(`\`${field}\` NOT LIKE ?`, [`%${value}%`]);
|
|
50
|
+
return;
|
|
51
|
+
case 'between':
|
|
52
|
+
query.whereBetween(field, [values[0], values[1]]);
|
|
53
|
+
return;
|
|
54
|
+
case '!between':
|
|
55
|
+
query.whereNotBetween(field, [values[0], values[1]]);
|
|
56
|
+
return;
|
|
57
|
+
case 'null':
|
|
58
|
+
query.whereNull(field);
|
|
59
|
+
return;
|
|
60
|
+
case '!null':
|
|
61
|
+
query.whereNotNull(field);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
const data = await knexCloneIQuery(query)
|
|
67
|
+
.offset(params.range.offset)
|
|
68
|
+
.limit(params.range.limit)
|
|
69
|
+
.orderBy(params.sort.map(s => ({ column: s.field, order: s.direction })));
|
|
70
|
+
const totalRow = await knexCloneIQuery(query)
|
|
71
|
+
.clear('select')
|
|
72
|
+
.count('* AS T');
|
|
73
|
+
const total = totalRow && totalRow.length ? totalRow[0].T : 0;
|
|
74
|
+
let debug = null;
|
|
75
|
+
if (options.debug) {
|
|
76
|
+
debug = await knexCloneIQuery(query)
|
|
77
|
+
.offset(params.range.offset)
|
|
78
|
+
.limit(params.range.limit)
|
|
79
|
+
.orderBy(params.sort.map(s => ({ column: s.field, order: s.direction })))
|
|
80
|
+
.toString();
|
|
81
|
+
}
|
|
82
|
+
return {
|
|
83
|
+
total,
|
|
84
|
+
data,
|
|
85
|
+
...(debug ? { debug } : {}),
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
return func;
|
|
89
|
+
}
|
|
90
|
+
exports.KnexQueryList = KnexQueryList;
|
|
91
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const list_1 = require("./list");
|
|
7
|
+
const knex_1 = __importDefault(require("knex"));
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
let knex;
|
|
10
|
+
beforeAll(async () => {
|
|
11
|
+
knex = (0, knex_1.default)({
|
|
12
|
+
client: 'sqlite3',
|
|
13
|
+
connection: {
|
|
14
|
+
filename: ':memory:',
|
|
15
|
+
},
|
|
16
|
+
useNullAsDefault: true,
|
|
17
|
+
});
|
|
18
|
+
await knex.schema.createTable('users', (table) => {
|
|
19
|
+
table.increments();
|
|
20
|
+
table.string('name');
|
|
21
|
+
table.string('last_name');
|
|
22
|
+
table.integer('age');
|
|
23
|
+
table.string('tool');
|
|
24
|
+
});
|
|
25
|
+
await knex('users').insert([
|
|
26
|
+
{ name: 'Peter', last_name: 'Parker', age: 11, tool: 'ruler' },
|
|
27
|
+
{ name: 'Mark', last_name: 'Olivier', age: 18, tool: 'pencil' },
|
|
28
|
+
{ name: 'Andre', last_name: 'Hudson', age: 18, tool: 'pen' },
|
|
29
|
+
{ name: 'Tony', last_name: 'Oliver', age: 18, tool: 'pen' },
|
|
30
|
+
{ name: 'Bruce', last_name: 'Pedersen', age: 13, tool: 'crayon' },
|
|
31
|
+
]);
|
|
32
|
+
});
|
|
33
|
+
afterAll(() => {
|
|
34
|
+
(0, fs_1.unlink)('/tmp/test.sqlite', () => { });
|
|
35
|
+
});
|
|
36
|
+
test('KnexQueryList', async () => {
|
|
37
|
+
const func = (0, list_1.KnexQueryList)({
|
|
38
|
+
debug: true,
|
|
39
|
+
searchFields: ['name', 'last_name'],
|
|
40
|
+
});
|
|
41
|
+
const result = await func(knex('users'), {
|
|
42
|
+
resource: 'users',
|
|
43
|
+
range: { offset: 0, limit: 10 },
|
|
44
|
+
sort: [{ field: 'age', direction: 'ASC' }],
|
|
45
|
+
filter: [
|
|
46
|
+
{ field: 'q', op: '=', value: 'Pe' },
|
|
47
|
+
{ field: 'age', op: 'between', value: [8, 17] },
|
|
48
|
+
{ field: 'tool', op: '!in', value: ['pencil', 'pen'] },
|
|
49
|
+
],
|
|
50
|
+
});
|
|
51
|
+
expect(result.total).toBe(2);
|
|
52
|
+
expect(result.data[0]).toMatchObject({
|
|
53
|
+
name: 'Peter',
|
|
54
|
+
last_name: 'Parker',
|
|
55
|
+
age: 11,
|
|
56
|
+
tool: 'ruler',
|
|
57
|
+
});
|
|
58
|
+
expect(result.data[1]).toMatchObject({
|
|
59
|
+
name: 'Bruce',
|
|
60
|
+
last_name: 'Pedersen',
|
|
61
|
+
age: 13,
|
|
62
|
+
tool: 'crayon',
|
|
63
|
+
});
|
|
64
|
+
const r = result;
|
|
65
|
+
const { debug } = r;
|
|
66
|
+
expect(debug).toBe("select * from `users` where ((`name` like '%Pe%' or `last_name` like '%Pe%') and `age` between 8 and 17 and `tool` not in ('pencil', 'pen')) order by `age` ASC limit 10");
|
|
67
|
+
});
|
|
68
|
+
//# sourceMappingURL=list.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../src/list.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@juadz/knex",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "Use Knex as datalayer's for Juadz.",
|
|
5
|
+
"main": "build/src/index.js",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "jest .",
|
|
8
|
+
"lint": "gts lint",
|
|
9
|
+
"clean": "gts clean",
|
|
10
|
+
"compile": "tsc",
|
|
11
|
+
"fix": "gts fix",
|
|
12
|
+
"prepare": "yarn run compile",
|
|
13
|
+
"pretest": "yarn run compile",
|
|
14
|
+
"posttest": "yarn run lint"
|
|
15
|
+
},
|
|
16
|
+
"author": "Supasak Sutha",
|
|
17
|
+
"license": "MIT",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/hereblur/juadz-knex"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"build/**/*"
|
|
24
|
+
],
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"@juadz/core": "^0.0.3",
|
|
27
|
+
"knex": "^2.2.0"
|
|
28
|
+
},
|
|
29
|
+
"devDependencies": {
|
|
30
|
+
"@babel/core": "^7.18.10",
|
|
31
|
+
"@babel/preset-env": "^7.18.10",
|
|
32
|
+
"@babel/preset-typescript": "^7.18.6",
|
|
33
|
+
"@juadz/core": "^0.0.3",
|
|
34
|
+
"@types/jest": "^28.1.6",
|
|
35
|
+
"@types/jsonwebtoken": "^8.5.8",
|
|
36
|
+
"@types/memory-cache": "^0.2.2",
|
|
37
|
+
"@types/node": "^18.6.4",
|
|
38
|
+
"@types/rimraf": "^3.0.2",
|
|
39
|
+
"babel-jest": "^28.1.3",
|
|
40
|
+
"gts": "^3.1.0",
|
|
41
|
+
"jest": "^28.1.3",
|
|
42
|
+
"knex": "^2.2.0",
|
|
43
|
+
"redis": "^4.2.0",
|
|
44
|
+
"sqlite3": "^5.0.11",
|
|
45
|
+
"typescript": "^4.7.4"
|
|
46
|
+
}
|
|
47
|
+
}
|