@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.
@@ -0,0 +1,3 @@
1
+ import { ICrudModel } from '@juadz/core';
2
+ import { KnexQueryListOptions } from './list';
3
+ export declare function knexCrud(options: KnexQueryListOptions): ICrudModel;
@@ -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,3 @@
1
+ import { knexCrud } from './crud';
2
+ export default knexCrud;
3
+ export * from './list';
@@ -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
+ }