@juadz/knex 0.1.1 → 0.1.3

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,5 @@
1
+ import { DatabaseConnectionGetter } from '@juadz/core';
2
+ import { Knex } from 'knex';
3
+ import { KnexQueryListOptions } from './list';
4
+ import { IConnectionProvider } from './types';
5
+ export declare function SimpleKnexConnection(connectionProvider: IConnectionProvider | Knex, options: KnexQueryListOptions): DatabaseConnectionGetter;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SimpleKnexConnection = void 0;
4
+ const list_1 = require("./list");
5
+ function SimpleKnexConnection(connectionProvider, options) {
6
+ return (resourceName, action) => {
7
+ const getKnex = (action) => {
8
+ if (typeof connectionProvider === 'function') {
9
+ return connectionProvider(resourceName, action);
10
+ }
11
+ return connectionProvider;
12
+ };
13
+ const get = async (id) => {
14
+ const c = await getKnex(action)
15
+ .select('*')
16
+ .where('id', id)
17
+ .then(t => {
18
+ return t[0];
19
+ });
20
+ return c;
21
+ };
22
+ const patch = async (id, patch) => {
23
+ await getKnex(action).where('id', id).update(patch);
24
+ return await get(id);
25
+ };
26
+ const create = async (params_) => {
27
+ const params = {
28
+ ...params_,
29
+ };
30
+ const result = await getKnex(action)
31
+ .returning('id')
32
+ .insert({
33
+ ...params,
34
+ });
35
+ const insertedId = result[0];
36
+ const insertedData = await get(insertedId);
37
+ return insertedData;
38
+ };
39
+ const replace = async (id, params_) => {
40
+ const params = {
41
+ id,
42
+ ...params_,
43
+ };
44
+ const fields = [];
45
+ const values = [];
46
+ Object.keys(params).forEach(f => {
47
+ fields.push(`\`${f}\`=?`);
48
+ values.push(params[f]);
49
+ });
50
+ // console.log(
51
+ // `REPLACE INTO ${resourceName}(${fields.join(', ')})`,
52
+ // values.join(' | ')
53
+ // );
54
+ await getKnex(action).raw(`REPLACE INTO ${resourceName}(${fields.join(', ')})`, values);
55
+ const insertedData = await get(id);
56
+ return insertedData;
57
+ };
58
+ const delete_ = async (id) => {
59
+ const result = await getKnex(action).where('id', id).delete();
60
+ return result;
61
+ };
62
+ const list = (0, list_1.KnexQueryList)(options, getKnex);
63
+ return {
64
+ get,
65
+ replace,
66
+ patch,
67
+ create,
68
+ delete: delete_,
69
+ list,
70
+ };
71
+ };
72
+ }
73
+ exports.SimpleKnexConnection = SimpleKnexConnection;
74
+ //# sourceMappingURL=basic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../src/basic.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { knexCrud } from './crud';
2
- export default knexCrud;
1
+ import { SimpleKnexConnection } from './basic';
2
+ export default SimpleKnexConnection;
3
3
  export * from './list';
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- const crud_1 = require("./crud");
18
- exports.default = crud_1.knexCrud;
17
+ const basic_1 = require("./basic");
18
+ exports.default = basic_1.SimpleKnexConnection;
19
19
  __exportStar(require("./list"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iCAAgC;AAEhC,kBAAe,eAAQ,CAAC;AACxB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mCAA6C;AAE7C,kBAAe,4BAAoB,CAAC;AACpC,yCAAuB"}
@@ -7,4 +7,4 @@ export interface KnexQueryListOptions {
7
7
  export interface KnexQueryBuilder {
8
8
  clone: () => Knex;
9
9
  }
10
- export declare function KnexQueryList(options: KnexQueryListOptions): IQueryListFunction;
10
+ export declare function KnexQueryList(options: KnexQueryListOptions, getConnection: Function): IQueryListFunction;
package/build/src/list.js CHANGED
@@ -5,9 +5,9 @@ const knexCloneIQuery = (query) => {
5
5
  const q = query;
6
6
  return q.clone();
7
7
  };
8
- function KnexQueryList(options) {
9
- const func = async (knexIQuery, params) => {
10
- const query = knexIQuery;
8
+ function KnexQueryList(options, getConnection) {
9
+ const func = async (params) => {
10
+ const query = getConnection();
11
11
  query.where((query) => {
12
12
  params.filter.forEach((f) => {
13
13
  const { field, op, value } = f;
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/list.ts"],"names":[],"mappings":"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"}
@@ -37,8 +37,8 @@ test('KnexQueryList', async () => {
37
37
  const func = (0, list_1.KnexQueryList)({
38
38
  debug: true,
39
39
  searchFields: ['name', 'last_name'],
40
- });
41
- const result = await func(knex('users'), {
40
+ }, () => knex('users'));
41
+ const result = await func({
42
42
  resource: 'users',
43
43
  range: { offset: 0, limit: 10 },
44
44
  sort: [{ field: 'age', direction: 'ASC' }],
@@ -1 +1 @@
1
- {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../src/list.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.test.js","sourceRoot":"","sources":["../../src/list.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Knex } from 'knex';
2
+ export interface PlainObject {
3
+ [key: string]: unknown;
4
+ }
5
+ export declare type IConnectionProvider = (_resourceName: string, _action: string) => Knex;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juadz/knex",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Use Knex as datalayer's for Juadz.",
5
5
  "main": "build/src/index.js",
6
6
  "scripts": {
@@ -45,6 +45,6 @@
45
45
  "typescript": "^4.7.4"
46
46
  },
47
47
  "dependencies": {
48
- "@juadz/core": "^0.1.2"
48
+ "@juadz/core": "^0.2.1"
49
49
  }
50
50
  }
@@ -1,3 +0,0 @@
1
- import { ICrudModel } from '@juadz/core';
2
- import { KnexQueryListOptions } from './list';
3
- export declare function knexCrud(options: KnexQueryListOptions): ICrudModel;
package/build/src/crud.js DELETED
@@ -1,69 +0,0 @@
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 patch = 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
- const insertedData = await get(knex2, insertedId);
35
- return insertedData;
36
- };
37
- const replace = async (knex, id, params_) => {
38
- const knex2 = knex.clone();
39
- const params = {
40
- id, ...params_,
41
- };
42
- const fields = [];
43
- const values = [];
44
- const table = "test";
45
- Object.keys(params).forEach((f) => {
46
- fields.push(`\`${f}\`=?`);
47
- values.push(params[f]);
48
- });
49
- console.log(`REPLACE INTO ${table}(${fields.join(', ')})`, values.join(' | '));
50
- await getKnex(knex).raw(`REPLACE INTO ${table}(${fields.join(', ')})`, values);
51
- const insertedData = await get(knex2, id);
52
- return insertedData;
53
- };
54
- const delete_ = async (knex, id) => {
55
- const result = await getKnex(knex).where('id', id).delete();
56
- return result;
57
- };
58
- const list = (0, list_1.KnexQueryList)(options);
59
- return {
60
- get,
61
- replace,
62
- patch,
63
- create,
64
- delete: delete_,
65
- list,
66
- };
67
- }
68
- exports.knexCrud = knexCrud;
69
- //# sourceMappingURL=crud.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"crud.js","sourceRoot":"","sources":["../../src/crud.ts"],"names":[],"mappings":"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"}