@furystack/sequelize-store 3.0.0 → 3.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/esm/index.js +3 -0
- package/esm/index.js.map +1 -0
- package/esm/sequelize-client-factory.js +75 -0
- package/esm/sequelize-client-factory.js.map +1 -0
- package/esm/sequelize-store.js +84 -0
- package/esm/sequelize-store.js.map +1 -0
- package/esm/store-manager-helpers.js +15 -0
- package/esm/store-manager-helpers.js.map +1 -0
- package/package.json +5 -5
package/esm/index.js
ADDED
package/esm/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Injectable } from '@furystack/inject';
|
|
8
|
+
import { Sequelize, Op } from 'sequelize';
|
|
9
|
+
const operatorsAliases = {
|
|
10
|
+
$eq: Op.eq,
|
|
11
|
+
$ne: Op.ne,
|
|
12
|
+
$gte: Op.gte,
|
|
13
|
+
$gt: Op.gt,
|
|
14
|
+
$lte: Op.lte,
|
|
15
|
+
$lt: Op.lt,
|
|
16
|
+
$not: Op.not,
|
|
17
|
+
$in: Op.in,
|
|
18
|
+
$nin: Op.notIn,
|
|
19
|
+
$notIn: Op.notIn,
|
|
20
|
+
$is: Op.is,
|
|
21
|
+
$like: Op.like,
|
|
22
|
+
$notLike: Op.notLike,
|
|
23
|
+
$iLike: Op.iLike,
|
|
24
|
+
$notILike: Op.notILike,
|
|
25
|
+
$regex: Op.regexp,
|
|
26
|
+
$regexp: Op.regexp,
|
|
27
|
+
$notRegexp: Op.notRegexp,
|
|
28
|
+
$iRegexp: Op.iRegexp,
|
|
29
|
+
$notIRegexp: Op.notIRegexp,
|
|
30
|
+
$startsWith: Op.startsWith,
|
|
31
|
+
$endsWith: Op.endsWith,
|
|
32
|
+
$between: Op.between,
|
|
33
|
+
$notBetween: Op.notBetween,
|
|
34
|
+
$overlap: Op.overlap,
|
|
35
|
+
$contains: Op.contains,
|
|
36
|
+
$contained: Op.contained,
|
|
37
|
+
$adjacent: Op.adjacent,
|
|
38
|
+
$strictLeft: Op.strictLeft,
|
|
39
|
+
$strictRight: Op.strictRight,
|
|
40
|
+
$noExtendRight: Op.noExtendRight,
|
|
41
|
+
$noExtendLeft: Op.noExtendLeft,
|
|
42
|
+
$and: Op.and,
|
|
43
|
+
$or: Op.or,
|
|
44
|
+
$any: Op.any,
|
|
45
|
+
$all: Op.all,
|
|
46
|
+
$values: Op.values,
|
|
47
|
+
$col: Op.col,
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Factory for instantiating Sequelize clients
|
|
51
|
+
*/
|
|
52
|
+
let SequelizeClientFactory = class SequelizeClientFactory {
|
|
53
|
+
constructor() {
|
|
54
|
+
this.connections = new Map();
|
|
55
|
+
}
|
|
56
|
+
async dispose() {
|
|
57
|
+
await Promise.all([...this.connections.values()].map((c) => c.close()));
|
|
58
|
+
this.connections.clear();
|
|
59
|
+
}
|
|
60
|
+
getSequelizeClient(options) {
|
|
61
|
+
const key = JSON.stringify(options);
|
|
62
|
+
const existing = this.connections.get(key);
|
|
63
|
+
if (existing) {
|
|
64
|
+
return existing;
|
|
65
|
+
}
|
|
66
|
+
const client = new Sequelize({ ...options, operatorsAliases });
|
|
67
|
+
this.connections.set(key, client);
|
|
68
|
+
return client;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
SequelizeClientFactory = __decorate([
|
|
72
|
+
Injectable({ lifetime: 'singleton' })
|
|
73
|
+
], SequelizeClientFactory);
|
|
74
|
+
export { SequelizeClientFactory };
|
|
75
|
+
//# sourceMappingURL=sequelize-client-factory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequelize-client-factory.js","sourceRoot":"","sources":["../src/sequelize-client-factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { Lock } from 'semaphore-async-await';
|
|
2
|
+
/**
|
|
3
|
+
* TypeORM Store implementation for FuryStack
|
|
4
|
+
*/
|
|
5
|
+
export class SequelizeStore {
|
|
6
|
+
async getModel() {
|
|
7
|
+
if (this.initializedModel) {
|
|
8
|
+
return this.initializedModel;
|
|
9
|
+
}
|
|
10
|
+
await this.initLock.acquire();
|
|
11
|
+
if (this.initializedModel) {
|
|
12
|
+
return this.initializedModel;
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
const client = this.options.getSequelizeClient();
|
|
16
|
+
if (this.options.initModel) {
|
|
17
|
+
await this.options.initModel(client);
|
|
18
|
+
await client.sync();
|
|
19
|
+
}
|
|
20
|
+
const model = client.model(this.options.sequelizeModel.name);
|
|
21
|
+
this.initializedModel = this.sequelizeModel;
|
|
22
|
+
return model;
|
|
23
|
+
}
|
|
24
|
+
finally {
|
|
25
|
+
this.initLock.release();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
constructor(options) {
|
|
29
|
+
this.options = options;
|
|
30
|
+
this.initLock = new Lock();
|
|
31
|
+
this.primaryKey = options.primaryKey;
|
|
32
|
+
this.model = options.model;
|
|
33
|
+
this.sequelizeModel = options.sequelizeModel;
|
|
34
|
+
}
|
|
35
|
+
async add(...entries) {
|
|
36
|
+
const model = await this.getModel();
|
|
37
|
+
const created = await model.bulkCreate(entries);
|
|
38
|
+
return {
|
|
39
|
+
created: created.map((c) => c.toJSON()),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
async update(id, data) {
|
|
43
|
+
const model = await this.getModel();
|
|
44
|
+
const result = await model.update(data, { where: { [this.primaryKey]: id } });
|
|
45
|
+
if (result[0] < 1) {
|
|
46
|
+
throw Error('Entity not found');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
async count(filter) {
|
|
50
|
+
const model = await this.getModel();
|
|
51
|
+
return await model.count({ where: filter });
|
|
52
|
+
}
|
|
53
|
+
async find(filter) {
|
|
54
|
+
const model = await this.getModel();
|
|
55
|
+
const order = filter.order
|
|
56
|
+
? [
|
|
57
|
+
...Object.keys(filter.order).map((key) => [
|
|
58
|
+
key,
|
|
59
|
+
filter.order[key] === 'ASC' ? 'ASC' : 'DESC',
|
|
60
|
+
]),
|
|
61
|
+
]
|
|
62
|
+
: [];
|
|
63
|
+
const result = await model.findAll({
|
|
64
|
+
where: filter.filter,
|
|
65
|
+
attributes: filter.select,
|
|
66
|
+
order,
|
|
67
|
+
limit: filter.top,
|
|
68
|
+
offset: filter.skip,
|
|
69
|
+
});
|
|
70
|
+
return result.map((r) => r.toJSON());
|
|
71
|
+
}
|
|
72
|
+
async get(key, select) {
|
|
73
|
+
const model = await this.getModel();
|
|
74
|
+
return (await (await model.findByPk(key, { attributes: select }))?.toJSON());
|
|
75
|
+
}
|
|
76
|
+
async remove(...keys) {
|
|
77
|
+
const model = await this.getModel();
|
|
78
|
+
await model.destroy({ where: { [this.primaryKey]: keys } });
|
|
79
|
+
}
|
|
80
|
+
async dispose() {
|
|
81
|
+
/** */
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=sequelize-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sequelize-store.js","sourceRoot":"","sources":["../src/sequelize-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { addStore } from '@furystack/core';
|
|
2
|
+
import { SequelizeClientFactory } from './sequelize-client-factory';
|
|
3
|
+
import { SequelizeStore } from './sequelize-store';
|
|
4
|
+
export const useSequelize = function ({ injector, model, sequelizeModel, primaryKey, options, initModel, }) {
|
|
5
|
+
const clientFactory = injector.getInstance(SequelizeClientFactory);
|
|
6
|
+
const store = new SequelizeStore({
|
|
7
|
+
model,
|
|
8
|
+
primaryKey,
|
|
9
|
+
getSequelizeClient: () => clientFactory.getSequelizeClient(options),
|
|
10
|
+
initModel,
|
|
11
|
+
sequelizeModel,
|
|
12
|
+
});
|
|
13
|
+
addStore(injector, store);
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=store-manager-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-manager-helpers.js","sourceRoot":"","sources":["../src/store-manager-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,CAAC,MAAM,YAAY,GAAG,UAAkF,EAC5G,QAAQ,EACR,KAAK,EACL,cAAc,EACd,UAAU,EACV,OAAO,EACP,SAAS,GA0BV;IACC,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAA;IAClE,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC;QAC/B,KAAK;QACL,UAAU;QACV,kBAAkB,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC;QACnE,SAAS;QACT,cAAc;KACf,CAAC,CAAA;IACF,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;AAC3B,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@furystack/sequelize-store",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Sequelize-based Store implementation for FuryStack",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
}
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
|
-
"
|
|
24
|
+
"esm",
|
|
25
25
|
"types",
|
|
26
26
|
"src"
|
|
27
27
|
],
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
},
|
|
45
45
|
"homepage": "https://github.com/furystack/furystack",
|
|
46
46
|
"dependencies": {
|
|
47
|
-
"@furystack/core": "^12.0.
|
|
48
|
-
"@furystack/inject": "^8.0.
|
|
49
|
-
"@furystack/utils": "^4.0.
|
|
47
|
+
"@furystack/core": "^12.0.1",
|
|
48
|
+
"@furystack/inject": "^8.0.1",
|
|
49
|
+
"@furystack/utils": "^4.0.1",
|
|
50
50
|
"semaphore-async-await": "^1.5.1",
|
|
51
51
|
"sequelize": "^6.31.0"
|
|
52
52
|
},
|