@6thbridge/utils 0.3.0 → 0.3.1-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/lib/database/MongoDBRepository.d.ts +1 -1
- package/lib/database/MongoDBRepository.js +6 -0
- package/lib/database/MongoDBRepository.js.map +1 -1
- package/lib/database/MongoDBTypeRepository.d.ts +63 -15
- package/lib/database/MongoDBTypeRepository.js +27 -38
- package/lib/database/MongoDBTypeRepository.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
|
@@ -8,7 +8,7 @@ export declare class MongoDBRepository {
|
|
|
8
8
|
private readonly Model;
|
|
9
9
|
constructor(Model: any);
|
|
10
10
|
getModel(): any;
|
|
11
|
-
create(payload: any): any;
|
|
11
|
+
create(payload: Record<string, any>): any;
|
|
12
12
|
findById(id: string): any;
|
|
13
13
|
findOne(condition?: any, sort?: any, options?: FindOptions): any;
|
|
14
14
|
find(condition: any, sort?: any, options?: FindOptions): any;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.MongoDBRepository = exports.FindOptions = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
4
8
|
class FindOptions {
|
|
5
9
|
constructor() {
|
|
6
10
|
this.limit = 100;
|
|
@@ -16,6 +20,8 @@ class MongoDBRepository {
|
|
|
16
20
|
return this.Model;
|
|
17
21
|
}
|
|
18
22
|
create(payload) {
|
|
23
|
+
payload._id = payload._id || new mongoose_1.default.Types.ObjectId();
|
|
24
|
+
payload.id = payload._id.toString();
|
|
19
25
|
return this.Model.create(payload);
|
|
20
26
|
}
|
|
21
27
|
findById(id) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoDBRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MongoDBRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBRepository.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAyC;AACzC,MAAa,WAAW;IAAxB;QAGE,UAAK,GAAY,GAAG,CAAC;QACrB,SAAI,GAAa,KAAK,CAAC;IACzB,CAAC;CAAA;AALD,kCAKC;AAGD,MAAa,iBAAiB;IAC5B,YAA6B,KAAU;QAAV,UAAK,GAAL,KAAK,CAAK;IAAG,CAAC;IAE3C,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAID,MAAM,CAAC,OAA4B;QACjC,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,kBAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3D,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,EAAU;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,CAAC,YAAiB,EAAE,EAAE,IAAU,EAAE,OAAqB;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExD,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QAExC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,SAAc,EAAE,IAAU,EAAE,OAAqB;QACpD,IAAI,CAAC;YACH,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE,CAAC;gBAClB,OAAO,SAAS,CAAC,IAAI,CAAC;gBACtB,OAAO,SAAS,CAAC,KAAK,CAAC;gBACvB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;wBACpC,IAAI;wBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;qBACrB,CAAC,CAAC,IAAI,EAAE,CAAC;gBACZ,CAAC;gBAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE;oBACpC,IAAI;oBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;oBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;gBAEvE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEf,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,UAAU,CAAC,YAAiB,EAAE;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,UAAU,CAAC,OAAc,EAAE;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,YAAiB,EAAE;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC;IACD,SAAS,CAAC,QAAa,EAAE,EAAE,SAAc,EAAE;QACzC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,UAAU,CAAC,QAAa,EAAE,EAAE,SAAc,EAAE;QAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,CAAC,QAAa,EAAE,EAAE,SAAc,EAAE;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE;YACzC,MAAM,EAAE,IAAI;YACZ,mBAAmB,EAAE,IAAI;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB,CAAC,MAAW,EAAE,MAAW,EAAE,UAAe,EAAE;QAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,kBAC/C,GAAG,EAAE,IAAI,IACN,OAAO,EACV,CAAC;IACL,CAAC;IAED,SAAS,CAAC,gBAAqB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAChD,CAAC;CACF;AA/FD,8CA+FC"}
|
|
@@ -1,3 +1,35 @@
|
|
|
1
|
+
/// <reference types="mongoose/types/aggregate" />
|
|
2
|
+
/// <reference types="mongoose/types/callback" />
|
|
3
|
+
/// <reference types="mongoose/types/collection" />
|
|
4
|
+
/// <reference types="mongoose/types/connection" />
|
|
5
|
+
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
|
+
/// <reference types="mongoose/types/error" />
|
|
8
|
+
/// <reference types="mongoose/types/expressions" />
|
|
9
|
+
/// <reference types="mongoose/types/helpers" />
|
|
10
|
+
/// <reference types="mongoose/types/middlewares" />
|
|
11
|
+
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
13
|
+
/// <reference types="mongoose/types/mongooseoptions" />
|
|
14
|
+
/// <reference types="mongoose/types/pipelinestage" />
|
|
15
|
+
/// <reference types="mongoose/types/populate" />
|
|
16
|
+
/// <reference types="mongoose/types/query" />
|
|
17
|
+
/// <reference types="mongoose/types/schemaoptions" />
|
|
18
|
+
/// <reference types="mongoose/types/schematypes" />
|
|
19
|
+
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
|
+
/// <reference types="mongoose/types/utility" />
|
|
22
|
+
/// <reference types="mongoose/types/validation" />
|
|
23
|
+
/// <reference types="mongoose/types/virtuals" />
|
|
24
|
+
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
+
/// <reference types="mongoose/types/inferrawdoctype" />
|
|
26
|
+
/// <reference types="mongoose-paginate-v2" />
|
|
27
|
+
import mongoose, { Document, FilterQuery, PaginateModel, SortOrder, UpdateQuery } from 'mongoose';
|
|
28
|
+
export interface BaseDocument extends Document {
|
|
29
|
+
_id: mongoose.Types.ObjectId;
|
|
30
|
+
id?: string;
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
}
|
|
1
33
|
export declare class FindOptions {
|
|
2
34
|
[x: string]: any;
|
|
3
35
|
page?: number;
|
|
@@ -5,23 +37,39 @@ export declare class FindOptions {
|
|
|
5
37
|
lean?: boolean;
|
|
6
38
|
select?: string[];
|
|
7
39
|
}
|
|
8
|
-
export declare class
|
|
40
|
+
export declare class MongoDBTypedRepository<T extends BaseDocument> {
|
|
9
41
|
private readonly Model;
|
|
10
|
-
constructor(Model:
|
|
11
|
-
getModel():
|
|
12
|
-
create(payload:
|
|
13
|
-
findById(id: string): Promise<T>;
|
|
14
|
-
findOne(condition?:
|
|
15
|
-
|
|
42
|
+
constructor(Model: PaginateModel<T>);
|
|
43
|
+
getModel(): PaginateModel<T>;
|
|
44
|
+
create(payload: Partial<T>): Promise<T>;
|
|
45
|
+
findById(id: string): Promise<T | null>;
|
|
46
|
+
findOne(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>): Promise<T | null>;
|
|
47
|
+
paginate(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>, options?: FindOptions): Promise<{
|
|
16
48
|
docs: T[];
|
|
17
49
|
[x: string]: any;
|
|
18
50
|
}>;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
51
|
+
find(condition?: FilterQuery<T>, sort?: Record<string, SortOrder>): Promise<T[]>;
|
|
52
|
+
deleteMany(condition?: FilterQuery<T>): Promise<{
|
|
53
|
+
deletedCount: number;
|
|
54
|
+
}>;
|
|
55
|
+
insertMany(data?: Partial<T>[]): Promise<mongoose.MergeType<mongoose.IfAny<T, any, mongoose.Document<unknown, {}, T, {}> & mongoose.Default__v<mongoose.Require_id<T>>>, Omit<Partial<T>, "_id">>[]>;
|
|
56
|
+
countDocuments(condition?: FilterQuery<T>): Promise<number>;
|
|
57
|
+
updateMany(query?: FilterQuery<T>, update?: UpdateQuery<T>): Promise<{
|
|
58
|
+
matchedCount: number;
|
|
59
|
+
modifiedCount: number;
|
|
60
|
+
}>;
|
|
61
|
+
updateOne(query?: FilterQuery<T>, update?: UpdateQuery<T>): Promise<{
|
|
62
|
+
matchedCount: number;
|
|
63
|
+
modifiedCount: number;
|
|
64
|
+
}>;
|
|
65
|
+
upsert(query?: FilterQuery<T>, update?: UpdateQuery<T>): Promise<{
|
|
66
|
+
matchedCount: number;
|
|
67
|
+
modifiedCount: number;
|
|
68
|
+
upsertedCount?: number;
|
|
69
|
+
}>;
|
|
70
|
+
findOneAndUpdate(filter: FilterQuery<T>, update: UpdateQuery<T>, options?: {
|
|
71
|
+
new?: boolean;
|
|
72
|
+
[key: string]: any;
|
|
73
|
+
}): Promise<T | null>;
|
|
74
|
+
bulkWrite(bulkWritePayload: mongoose.AnyBulkWriteOperation<T>[]): Promise<any>;
|
|
27
75
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
6
|
+
exports.MongoDBTypedRepository = exports.FindOptions = void 0;
|
|
7
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
4
8
|
class FindOptions {
|
|
5
9
|
constructor() {
|
|
6
10
|
this.limit = 100;
|
|
@@ -8,7 +12,7 @@ class FindOptions {
|
|
|
8
12
|
}
|
|
9
13
|
}
|
|
10
14
|
exports.FindOptions = FindOptions;
|
|
11
|
-
class
|
|
15
|
+
class MongoDBTypedRepository {
|
|
12
16
|
constructor(Model) {
|
|
13
17
|
this.Model = Model;
|
|
14
18
|
}
|
|
@@ -16,52 +20,37 @@ class MongoDBRepository {
|
|
|
16
20
|
return this.Model;
|
|
17
21
|
}
|
|
18
22
|
create(payload) {
|
|
23
|
+
payload._id = payload._id || new mongoose_1.default.Types.ObjectId();
|
|
24
|
+
payload.id = payload._id.toString();
|
|
19
25
|
return this.Model.create(payload);
|
|
20
26
|
}
|
|
21
27
|
findById(id) {
|
|
22
28
|
return this.Model.findOne({ _id: id });
|
|
23
29
|
}
|
|
24
|
-
findOne(condition = {}, sort
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return this.Model.paginate(condition, {
|
|
37
|
-
sort,
|
|
38
|
-
page: options.page,
|
|
39
|
-
limit: options.limit,
|
|
40
|
-
}).lean();
|
|
41
|
-
}
|
|
42
|
-
return this.Model.paginate(condition, {
|
|
43
|
-
sort,
|
|
44
|
-
page: options.page,
|
|
45
|
-
limit: options.limit,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
if (options === null || options === void 0 ? void 0 : options.lean)
|
|
50
|
-
return this.Model.find(condition).sort(sort).lean();
|
|
51
|
-
return this.Model.find(condition).sort(sort);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
console.log(e);
|
|
56
|
-
return this.Model.find(condition).sort(sort);
|
|
57
|
-
}
|
|
30
|
+
findOne(condition = {}, sort) {
|
|
31
|
+
return this.Model.findOne(condition).sort(sort);
|
|
32
|
+
}
|
|
33
|
+
paginate(condition = {}, sort, options) {
|
|
34
|
+
return this.Model.paginate(condition, {
|
|
35
|
+
sort,
|
|
36
|
+
page: (options === null || options === void 0 ? void 0 : options.page) || 1,
|
|
37
|
+
limit: (options === null || options === void 0 ? void 0 : options.limit) || 50,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
find(condition = {}, sort) {
|
|
41
|
+
return this.Model.find(condition).sort(sort);
|
|
58
42
|
}
|
|
59
43
|
deleteMany(condition = {}) {
|
|
60
44
|
return this.Model.deleteMany(condition);
|
|
61
45
|
}
|
|
62
46
|
insertMany(data = []) {
|
|
63
47
|
if (data.length === 0)
|
|
64
|
-
return [];
|
|
48
|
+
return Promise.resolve([]);
|
|
49
|
+
data = data.map((item) => {
|
|
50
|
+
item._id = item._id || new mongoose_1.default.Types.ObjectId();
|
|
51
|
+
item.id = item._id.toString();
|
|
52
|
+
return item;
|
|
53
|
+
});
|
|
65
54
|
return this.Model.insertMany(data);
|
|
66
55
|
}
|
|
67
56
|
countDocuments(condition = {}) {
|
|
@@ -86,5 +75,5 @@ class MongoDBRepository {
|
|
|
86
75
|
return this.Model.bulkWrite(bulkWritePayload);
|
|
87
76
|
}
|
|
88
77
|
}
|
|
89
|
-
exports.
|
|
78
|
+
exports.MongoDBTypedRepository = MongoDBTypedRepository;
|
|
90
79
|
//# sourceMappingURL=MongoDBTypeRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MongoDBTypeRepository.js","sourceRoot":"","sources":["../../src/database/MongoDBTypeRepository.ts"],"names":[],"mappings":"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"}
|