@tc-libs/service 0.9.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/README.md +11 -0
- package/package.json +11 -0
- package/src/abstracts/abstract.service.d.ts +42 -0
- package/src/abstracts/abstract.service.js +128 -0
- package/src/abstracts/abstract.service.js.map +1 -0
- package/src/abstracts/index.d.ts +1 -0
- package/src/abstracts/index.js +5 -0
- package/src/abstracts/index.js.map +1 -0
- package/src/index.d.ts +2 -0
- package/src/index.js +6 -0
- package/src/index.js.map +1 -0
- package/src/interfaces/service.interface.d.ts +36 -0
- package/src/interfaces/service.interface.js +3 -0
- package/src/interfaces/service.interface.js.map +1 -0
package/README.md
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { Types, ClientSession, Document } from 'mongoose';
|
|
3
|
+
import { DatabaseMongoRepositoryAbstract, IDatabaseCreateManyOptions, IDatabaseCreateOptions, IDatabaseDeleteManyOptions, IDatabaseExistOptions, IDatabaseFindAllOptions, IDatabaseFindOneAndUpdateOptions, IDatabaseFindOneOptions, IDatabaseManyOptions, IDatabaseOptions, IDatabaseSessionOption } from '@tc-libs/database';
|
|
4
|
+
import { IPaginationOrder, PaginationService } from '@tc-libs/pagination';
|
|
5
|
+
import { IResponsePagingPagination } from '@tc-libs/response';
|
|
6
|
+
import { IService } from '../interfaces/service.interface';
|
|
7
|
+
export declare abstract class AbstractService<Entity, EntityDocument> implements IService<EntityDocument> {
|
|
8
|
+
protected readonly _repo: DatabaseMongoRepositoryAbstract<Entity, EntityDocument>;
|
|
9
|
+
private readonly _pagination;
|
|
10
|
+
abstract readonly logger: Logger;
|
|
11
|
+
constructor(_repo: DatabaseMongoRepositoryAbstract<Entity, EntityDocument>, _pagination: PaginationService);
|
|
12
|
+
protected _sleep(ms: number): Promise<void>;
|
|
13
|
+
paginate(find: Record<string, any>, limit: number, offset: number, order: IPaginationOrder, options?: IDatabaseFindOneOptions<ClientSession>): Promise<{
|
|
14
|
+
_pagination: IResponsePagingPagination;
|
|
15
|
+
data: EntityDocument[];
|
|
16
|
+
}>;
|
|
17
|
+
findById(id: string, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
18
|
+
findByIds(ids: string[], options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
19
|
+
findOne(find: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
20
|
+
findAll(find?: Record<string, any>, options?: IDatabaseFindAllOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
21
|
+
exists(find: Record<string, any>, options?: IDatabaseExistOptions<ClientSession>): Promise<boolean>;
|
|
22
|
+
distinct(fieldDistinct: string, find?: Record<string, any>, options?: IDatabaseFindAllOptions<ClientSession>): Promise<string[]>;
|
|
23
|
+
similaritySearch(embedding: number[], field: string, k: number): import("mongoose").Aggregate<any[]>;
|
|
24
|
+
create<Dto = any>(data: Dto, options?: IDatabaseCreateOptions<ClientSession>): Promise<EntityDocument>;
|
|
25
|
+
save(repository: EntityDocument & Document<Types.ObjectId>): Promise<EntityDocument>;
|
|
26
|
+
delete(repository: EntityDocument & Document<Types.ObjectId>, options?: IDatabaseSessionOption<ClientSession>): Promise<EntityDocument>;
|
|
27
|
+
deleteMany(find: Record<string, any>, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
28
|
+
deleteById(id: string, options?: IDatabaseDeleteManyOptions<ClientSession>): Promise<any>;
|
|
29
|
+
deleteManyByIds(ids: string[], options?: IDatabaseDeleteManyOptions<ClientSession>): Promise<any>;
|
|
30
|
+
updateById<Dto>(id: string, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
31
|
+
updateOne<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
32
|
+
findOneAndUpdate<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseFindOneAndUpdateOptions<ClientSession>): Promise<any>;
|
|
33
|
+
upsertOne<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<boolean>;
|
|
34
|
+
updateMany<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
35
|
+
count(find?: Record<string, any>, options?: IDatabaseOptions<ClientSession>): Promise<number>;
|
|
36
|
+
createMany<Dto>(data: Dto[], options?: IDatabaseCreateManyOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
37
|
+
bulkCreate(data: any): Promise<EntityDocument[]>;
|
|
38
|
+
moveToPosition<EntityDocument extends {
|
|
39
|
+
pos: number;
|
|
40
|
+
}>(data: EntityDocument, pos: number, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
41
|
+
startTransaction(): Promise<ClientSession>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AbstractService = void 0;
|
|
4
|
+
class AbstractService {
|
|
5
|
+
constructor(_repo, _pagination) {
|
|
6
|
+
this._repo = _repo;
|
|
7
|
+
this._pagination = _pagination;
|
|
8
|
+
}
|
|
9
|
+
_sleep(ms) {
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
setTimeout(() => {
|
|
12
|
+
resolve();
|
|
13
|
+
}, ms);
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
async paginate(find, limit, offset, order, options) {
|
|
17
|
+
const p1 = this.findAll(find, {
|
|
18
|
+
paging: {
|
|
19
|
+
limit,
|
|
20
|
+
offset,
|
|
21
|
+
},
|
|
22
|
+
order,
|
|
23
|
+
returnPlain: true,
|
|
24
|
+
...options,
|
|
25
|
+
});
|
|
26
|
+
const p2 = this.count(find);
|
|
27
|
+
const [documents, total] = await Promise.all([p1, p2]);
|
|
28
|
+
const totalPages = this._pagination.totalPages(total, limit);
|
|
29
|
+
return {
|
|
30
|
+
_pagination: { total, totalPages },
|
|
31
|
+
data: documents,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
findById(id, options) {
|
|
35
|
+
return this._repo.findById(id, options);
|
|
36
|
+
}
|
|
37
|
+
findByIds(ids, options) {
|
|
38
|
+
return this._repo.findByIds(ids, options);
|
|
39
|
+
}
|
|
40
|
+
findOne(find, options) {
|
|
41
|
+
return this._repo.findOne(find, options);
|
|
42
|
+
}
|
|
43
|
+
findAll(find, options) {
|
|
44
|
+
return this._repo.findAll(find, options);
|
|
45
|
+
}
|
|
46
|
+
exists(find, options) {
|
|
47
|
+
return this._repo.exists(find, options);
|
|
48
|
+
}
|
|
49
|
+
distinct(fieldDistinct, find, options) {
|
|
50
|
+
return this._repo.distinct(fieldDistinct, find, options);
|
|
51
|
+
}
|
|
52
|
+
// distinctCount(filterQuery: FilterQuery<T>, field: string): Promise<number> {
|
|
53
|
+
// return this._repo.distinctCount(filterQuery, field);
|
|
54
|
+
// }
|
|
55
|
+
similaritySearch(embedding, field, k) {
|
|
56
|
+
return this._repo.similaritySearch(embedding, field, k);
|
|
57
|
+
}
|
|
58
|
+
create(data, options) {
|
|
59
|
+
return this._repo.create(data, options);
|
|
60
|
+
}
|
|
61
|
+
async save(repository) {
|
|
62
|
+
return this._repo.save(repository);
|
|
63
|
+
}
|
|
64
|
+
async delete(repository, options) {
|
|
65
|
+
return this._repo.delete(repository, options);
|
|
66
|
+
}
|
|
67
|
+
deleteMany(find, options) {
|
|
68
|
+
return this._repo.deleteMany(find, options);
|
|
69
|
+
}
|
|
70
|
+
deleteById(id, options) {
|
|
71
|
+
return this._repo.deleteManyByIds([id], options);
|
|
72
|
+
}
|
|
73
|
+
deleteManyByIds(ids, options) {
|
|
74
|
+
return this._repo.deleteManyByIds(ids, options);
|
|
75
|
+
}
|
|
76
|
+
updateById(id, data, options) {
|
|
77
|
+
return this._repo.updateById(id, data, options);
|
|
78
|
+
}
|
|
79
|
+
updateOne(find, data, options) {
|
|
80
|
+
return this._repo.updateOne(find, data, options);
|
|
81
|
+
}
|
|
82
|
+
findOneAndUpdate(find, data, options) {
|
|
83
|
+
return this._repo.findOneAndUpdate(find, data, options);
|
|
84
|
+
}
|
|
85
|
+
upsertOne(find, data, options) {
|
|
86
|
+
return this._repo.upsertOne(find, data, options);
|
|
87
|
+
}
|
|
88
|
+
updateMany(find, data, options) {
|
|
89
|
+
return this._repo.updateMany(find, data, options);
|
|
90
|
+
}
|
|
91
|
+
count(find, options) {
|
|
92
|
+
return this._repo.count(find, options);
|
|
93
|
+
}
|
|
94
|
+
createMany(data, options) {
|
|
95
|
+
return this._repo.createMany(data, options);
|
|
96
|
+
}
|
|
97
|
+
bulkCreate(data) {
|
|
98
|
+
return this._repo.bulkInsert(data);
|
|
99
|
+
}
|
|
100
|
+
async moveToPosition(data, pos, options) {
|
|
101
|
+
const previesPosition = data.pos;
|
|
102
|
+
if (pos < previesPosition)
|
|
103
|
+
await this._repo.updateMany({
|
|
104
|
+
pos: { $gte: pos, $lt: previesPosition },
|
|
105
|
+
}, {
|
|
106
|
+
$inc: { pos: 1 },
|
|
107
|
+
}, {
|
|
108
|
+
overrideSet: true,
|
|
109
|
+
...options,
|
|
110
|
+
});
|
|
111
|
+
if (pos > previesPosition)
|
|
112
|
+
await this._repo.updateMany({
|
|
113
|
+
pos: { $gte: previesPosition, $lte: pos },
|
|
114
|
+
}, {
|
|
115
|
+
$inc: { pos: -1 },
|
|
116
|
+
}, {
|
|
117
|
+
overrideSet: true,
|
|
118
|
+
...options,
|
|
119
|
+
});
|
|
120
|
+
data.pos = pos;
|
|
121
|
+
return data.save(options);
|
|
122
|
+
}
|
|
123
|
+
async startTransaction() {
|
|
124
|
+
return this._repo.startTransaction();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
exports.AbstractService = AbstractService;
|
|
128
|
+
//# sourceMappingURL=abstract.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract.service.js","sourceRoot":"","sources":["../../../../../packages/service/src/abstracts/abstract.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './abstract.service';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/service/src/abstracts/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC"}
|
package/src/index.d.ts
ADDED
package/src/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./abstracts"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./interfaces/service.interface"), exports);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
package/src/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/service/src/index.ts"],"names":[],"mappings":";;;AAAA,sDAA4B;AAC5B,yEAA+C"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Logger } from '@nestjs/common';
|
|
2
|
+
import { Types, ClientSession, Document } from 'mongoose';
|
|
3
|
+
import { IDatabaseCreateManyOptions, IDatabaseCreateOptions, IDatabaseDeleteManyOptions, IDatabaseExistOptions, IDatabaseFindAllOptions, IDatabaseFindOneAndUpdateOptions, IDatabaseFindOneOptions, IDatabaseManyOptions, IDatabaseOptions, IDatabaseSessionOption } from '@tc-libs/database';
|
|
4
|
+
import { IPaginationOrder } from '@tc-libs/pagination';
|
|
5
|
+
import { IResponsePagingPagination } from '@tc-libs/response';
|
|
6
|
+
export interface IService<EntityDocument> {
|
|
7
|
+
readonly logger: Logger;
|
|
8
|
+
paginate(find: Record<string, any>, limit: number, offset: number, order: IPaginationOrder, options?: IDatabaseFindOneOptions<ClientSession>): Promise<{
|
|
9
|
+
_pagination: IResponsePagingPagination;
|
|
10
|
+
data: EntityDocument[];
|
|
11
|
+
}>;
|
|
12
|
+
findById(id: string, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
13
|
+
findByIds(ids: string[], options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
14
|
+
findOne(find: Record<string, any>, options?: IDatabaseFindOneOptions<ClientSession>): Promise<EntityDocument>;
|
|
15
|
+
findAll(find?: Record<string, any>, options?: IDatabaseFindAllOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
16
|
+
exists(find: Record<string, any>, options?: IDatabaseExistOptions<ClientSession>): Promise<boolean>;
|
|
17
|
+
distinct(fieldDistinct: string, find?: Record<string, any>, options?: IDatabaseFindAllOptions<ClientSession>): Promise<string[]>;
|
|
18
|
+
create<Dto = any>(data: Dto, options?: IDatabaseCreateOptions<ClientSession>): Promise<EntityDocument>;
|
|
19
|
+
save(repository: EntityDocument & Document<Types.ObjectId>): Promise<EntityDocument>;
|
|
20
|
+
delete(repository: EntityDocument & Document<Types.ObjectId>, options?: IDatabaseSessionOption<ClientSession>): Promise<EntityDocument>;
|
|
21
|
+
deleteMany(find: Record<string, any>, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
22
|
+
deleteById(id: string, options?: IDatabaseDeleteManyOptions<ClientSession>): Promise<any>;
|
|
23
|
+
deleteManyByIds(ids: string[], options?: IDatabaseDeleteManyOptions<ClientSession>): Promise<any>;
|
|
24
|
+
updateById<Dto>(id: string, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
25
|
+
updateOne<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
26
|
+
findOneAndUpdate<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseFindOneAndUpdateOptions<ClientSession>): Promise<any>;
|
|
27
|
+
upsertOne<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<boolean>;
|
|
28
|
+
updateMany<Dto>(find: Record<string, any>, data: Dto, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
29
|
+
count(find?: Record<string, any>, options?: IDatabaseOptions<ClientSession>): Promise<number>;
|
|
30
|
+
createMany<Dto>(data: Dto[], options?: IDatabaseCreateManyOptions<ClientSession>): Promise<EntityDocument[]>;
|
|
31
|
+
bulkCreate(data: any): Promise<EntityDocument[]>;
|
|
32
|
+
moveToPosition<EntityDocument extends {
|
|
33
|
+
pos: number;
|
|
34
|
+
}>(data: EntityDocument, pos: number, options?: IDatabaseManyOptions<ClientSession>): Promise<any>;
|
|
35
|
+
startTransaction(): Promise<ClientSession>;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service.interface.js","sourceRoot":"","sources":["../../../../../packages/service/src/interfaces/service.interface.ts"],"names":[],"mappings":""}
|