@tc-libs/service 1.5.0 → 1.7.0
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/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tc-libs/service",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@tc-libs/database": "1.
|
|
6
|
-
"@tc-libs/pagination": "1.
|
|
5
|
+
"@tc-libs/database": "1.7.0",
|
|
6
|
+
"@tc-libs/pagination": "1.7.0"
|
|
7
7
|
},
|
|
8
8
|
"type": "commonjs",
|
|
9
9
|
"main": "./src/index.js",
|
|
@@ -34,6 +34,8 @@ export declare abstract class AbstractService<Entity, EntityDocument> implements
|
|
|
34
34
|
count(find?: Record<string, any>, options?: IDatabaseOptions<ClientSession>): Promise<number>;
|
|
35
35
|
createMany<Dto>(data: Dto[], options?: IDatabaseCreateManyOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
36
36
|
bulkCreate(data: any): Promise<EntityDocument[]>;
|
|
37
|
+
findMaxPosition(find: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<number>;
|
|
38
|
+
fillMissingPosition(position: number, find?: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<boolean>;
|
|
37
39
|
moveToPosition<EntityDocument extends {
|
|
38
40
|
pos: number;
|
|
39
41
|
}>(data: EntityDocument, pos: number, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AbstractService = void 0;
|
|
4
|
+
const pagination_1 = require("@tc-libs/pagination");
|
|
4
5
|
class AbstractService {
|
|
5
6
|
constructor(_repo, _pagination) {
|
|
6
7
|
this._repo = _repo;
|
|
@@ -97,6 +98,26 @@ class AbstractService {
|
|
|
97
98
|
bulkCreate(data) {
|
|
98
99
|
return this._repo.bulkInsert(data);
|
|
99
100
|
}
|
|
101
|
+
findMaxPosition(find, options) {
|
|
102
|
+
return this._repo
|
|
103
|
+
.findAll(find, {
|
|
104
|
+
...options,
|
|
105
|
+
order: { pos: pagination_1.ENUM_PAGINATION_ORDER_DIRECTION_TYPE.DESC },
|
|
106
|
+
paging: { limit: 1 },
|
|
107
|
+
})
|
|
108
|
+
.then((elements) => elements.length ? elements[0].pos : -1);
|
|
109
|
+
}
|
|
110
|
+
fillMissingPosition(position, find, options) {
|
|
111
|
+
// shift all brands after deleted brand
|
|
112
|
+
return this._repo.updateMany(find ?? {
|
|
113
|
+
pos: { $gt: position },
|
|
114
|
+
}, {
|
|
115
|
+
$inc: { pos: -1 },
|
|
116
|
+
}, {
|
|
117
|
+
...options,
|
|
118
|
+
overrideSet: true,
|
|
119
|
+
});
|
|
120
|
+
}
|
|
100
121
|
async moveToPosition(data, pos, options) {
|
|
101
122
|
const previesPosition = data.pos;
|
|
102
123
|
if (pos < previesPosition)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abstract.service.js","sourceRoot":"","sources":["../../../../../packages/service/src/abstracts/abstract.service.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"abstract.service.js","sourceRoot":"","sources":["../../../../../packages/service/src/abstracts/abstract.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,8 @@ export interface IService<EntityDocument> {
|
|
|
9
9
|
data: EntityDocument[];
|
|
10
10
|
}>;
|
|
11
11
|
findById(id: string, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
12
|
+
findMaxPosition(find: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<number>;
|
|
13
|
+
fillMissingPosition(position: number, find?: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<any>;
|
|
12
14
|
findByIds(ids: string[], options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
13
15
|
findOne(find: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
14
16
|
findAll(find?: Record<string, any>, options?: IDatabaseFindAllOptions<ClientSession>): Promise<EntityDocument[]>;
|