pangea-server 1.0.33 → 1.0.34
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/dist/database/db.class.d.ts +2 -5
- package/dist/database/db.class.js +20 -16
- package/package.json +2 -1
|
@@ -31,10 +31,6 @@ type FindManyOptions<BM extends BaseModel> = {
|
|
|
31
31
|
pageSize?: number | null;
|
|
32
32
|
paranoid?: 'active' | 'all' | 'deleted';
|
|
33
33
|
};
|
|
34
|
-
type InsertManyOptions<BM extends BaseModel> = {
|
|
35
|
-
ignoreDuplicates?: boolean;
|
|
36
|
-
updateOnDuplicate?: (keyof BM)[];
|
|
37
|
-
};
|
|
38
34
|
type Target<BM extends BaseModel> = Filters<BM> | BM;
|
|
39
35
|
export declare class Db {
|
|
40
36
|
private __tx?;
|
|
@@ -46,7 +42,8 @@ export declare class Db {
|
|
|
46
42
|
totalCount: number;
|
|
47
43
|
}>;
|
|
48
44
|
insertOne<BM extends BaseModel>(model: BaseModelCtor<BM>, params: InsertParams<BM>): Promise<BM>;
|
|
49
|
-
insertMany<BM extends BaseModel>(model: BaseModelCtor<BM>, data: InsertParams<BM>[]
|
|
45
|
+
insertMany<BM extends BaseModel>(model: BaseModelCtor<BM>, data: InsertParams<BM>[]): Promise<number>;
|
|
46
|
+
UpsertMany<BM extends BaseModel>(model: BaseModelCtor<BM>, fieldsToUpdate: (keyof BM)[], data: InsertParams<BM>[]): Promise<number>;
|
|
50
47
|
updateOne<BM extends BaseModel>(model: BaseModelCtor<BM>, target: Target<BM>, params: UpdateParams<BM>): Promise<BM>;
|
|
51
48
|
updateMany<BM extends BaseModel>(model: BaseModelCtor<BM>, where: Where<BM>, params: UpdateParams<BM>): Promise<number>;
|
|
52
49
|
deleteOne<BM extends BaseModel>(model: BaseModelCtor<BM>, target: Target<BM>): Promise<BM | null>;
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.Db = void 0;
|
|
7
4
|
const sequelize_1 = require("sequelize");
|
|
@@ -10,7 +7,6 @@ const _1 = require(".");
|
|
|
10
7
|
// helpers
|
|
11
8
|
const helpers_1 = require("../helpers");
|
|
12
9
|
const pangea_helpers_1 = require("pangea-helpers");
|
|
13
|
-
const util_1 = __importDefault(require("util"));
|
|
14
10
|
class Db {
|
|
15
11
|
constructor(tx) {
|
|
16
12
|
this.__tx = tx;
|
|
@@ -19,21 +15,19 @@ class Db {
|
|
|
19
15
|
findOneOrNull(model, filters, options = {}) {
|
|
20
16
|
const { scopes = [], attributes, include = [], order, paranoid = true } = options;
|
|
21
17
|
const scopedModel = scopes.length ? model.scope(...scopes) : model;
|
|
22
|
-
const baseOptions = {
|
|
18
|
+
const baseOptions = {
|
|
19
|
+
attributes: getFinalAttributes(attributes),
|
|
20
|
+
paranoid,
|
|
21
|
+
subQuery: false,
|
|
22
|
+
transaction: this.__tx,
|
|
23
|
+
};
|
|
23
24
|
if (typeof filters === 'number') {
|
|
24
|
-
return scopedModel.findByPk(filters, { ...getIncludeAndWhere(model, include)
|
|
25
|
+
return scopedModel.findByPk(filters, { ...baseOptions, ...getIncludeAndWhere(model, include) });
|
|
25
26
|
}
|
|
26
|
-
console.log(util_1.default.inspect(getIncludeAndWhere(model, include, filters), {
|
|
27
|
-
depth: null,
|
|
28
|
-
colors: true,
|
|
29
|
-
compact: false,
|
|
30
|
-
showHidden: false, // muestra solo propiedades normales
|
|
31
|
-
}));
|
|
32
27
|
return scopedModel.findOne({
|
|
28
|
+
...baseOptions,
|
|
33
29
|
...getIncludeAndWhere(model, include, filters),
|
|
34
30
|
order: getFinalOrder(order),
|
|
35
|
-
...baseOptions,
|
|
36
|
-
subQuery: false,
|
|
37
31
|
});
|
|
38
32
|
}
|
|
39
33
|
async findOne(model, filters, options = {}) {
|
|
@@ -94,9 +88,19 @@ class Db {
|
|
|
94
88
|
return this.findOne(model, newInstance.id);
|
|
95
89
|
});
|
|
96
90
|
}
|
|
97
|
-
insertMany(model, data
|
|
91
|
+
insertMany(model, data) {
|
|
92
|
+
return handleDbError(async () => {
|
|
93
|
+
const newInstances = await model.bulkCreate(data, { validate: true, transaction: this.__tx });
|
|
94
|
+
return newInstances.length;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
UpsertMany(model, fieldsToUpdate, data) {
|
|
98
98
|
return handleDbError(async () => {
|
|
99
|
-
const newInstances = await model.bulkCreate(data, {
|
|
99
|
+
const newInstances = await model.bulkCreate(data, {
|
|
100
|
+
updateOnDuplicate: fieldsToUpdate,
|
|
101
|
+
validate: true,
|
|
102
|
+
transaction: this.__tx,
|
|
103
|
+
});
|
|
100
104
|
return newInstances.length;
|
|
101
105
|
});
|
|
102
106
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pangea-server",
|
|
3
3
|
"description": "",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.34",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
7
7
|
],
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"mysql2": "3.14.0",
|
|
52
52
|
"nodemailer": "6.10.0",
|
|
53
53
|
"pangea-helpers": "1.3.85",
|
|
54
|
+
"reflect-metadata": "0.2.2",
|
|
54
55
|
"sequelize": "6.37.7",
|
|
55
56
|
"sequelize-typescript": "2.1.6",
|
|
56
57
|
"sharp": "0.34.1",
|