nest-mongoose-crud 1.0.3 → 1.0.5
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/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/apiFeatures.utils.d.ts.map +1 -1
- package/dist/utils/apiFeatures.utils.js +6 -0
- package/dist/utils/apiFeatures.utils.js.map +1 -1
- package/dist/utils/base-crud.service.d.ts +8 -7
- package/dist/utils/base-crud.service.d.ts.map +1 -1
- package/dist/utils/base-crud.service.js +22 -14
- package/dist/utils/base-crud.service.js.map +1 -1
- package/dist/utils/create-crud.controller.utils.d.ts.map +1 -1
- package/dist/utils/create-crud.controller.utils.js +10 -13
- package/dist/utils/create-crud.controller.utils.js.map +1 -1
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAElD,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAGA,+DAA4D;AAAnD,oHAAA,eAAe,OAAA;AACxB,qFAA4E;AAAnE,oIAAA,oBAAoB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiFeatures.utils.d.ts","sourceRoot":"","sources":["../../src/utils/apiFeatures.utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,8BAA8B,CAAC;AA2BlD,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhD,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,oBAAoB;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,wBAAwB,GACxB,oBAAoB,EAAE,GACtB,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC9B;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ;IAClC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAM;gBAErB,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM;IAKrD,MAAM;
|
|
1
|
+
{"version":3,"file":"apiFeatures.utils.d.ts","sourceRoot":"","sources":["../../src/utils/apiFeatures.utils.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,8BAA8B,CAAC;AA2BlD,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAGhD,UAAU,wBAAwB;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;IACZ,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,UAAU,oBAAoB;IAC5B,CAAC,KAAK,EAAE,MAAM,GAAG;QACf,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,UAAU,aAAa;IACrB,CAAC,GAAG,EAAE,MAAM,GACR,MAAM,GACN,MAAM,GACN,OAAO,GACP,wBAAwB,GACxB,oBAAoB,EAAE,GACtB,SAAS,CAAC;IACd,GAAG,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC9B;AAED,cAAM,WAAW,CAAC,CAAC,SAAS,QAAQ;IAClC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,aAAa,CAAM;gBAErB,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM;IAKrD,MAAM;IAoEN,IAAI;IAWJ,WAAW;IAWX,QAAQ;IAaR,MAAM;IA8BN,QAAQ;CAiBT;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -43,6 +43,12 @@ class APIFeatures {
|
|
|
43
43
|
acc[field][mongoOperator] = value;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
+
else if (key.includes('ne')) {
|
|
47
|
+
const match = key.match(/\[(.*?)\]/);
|
|
48
|
+
const operator = match ? match[1] : null;
|
|
49
|
+
const [field] = key.split(`[${operator}]`);
|
|
50
|
+
acc[field] = { $nin: value.split(',') };
|
|
51
|
+
}
|
|
46
52
|
else {
|
|
47
53
|
// Handle regular fields with $in operator
|
|
48
54
|
acc[key] = { $in: value.split(',') };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apiFeatures.utils.js","sourceRoot":"","sources":["../../src/utils/apiFeatures.utils.ts"],"names":[],"mappings":";;AA4DA,MAAM,WAAW;IAKf,YAAY,KAAoB,EAAE,WAAmB;QAFrD,iBAAY,GAAkB,EAAE,CAAC;QAG/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,MAAM,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAEzC,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,MAAM;YACN,OAAO;YACP,QAAQ;YACR,QAAQ;YACR,UAAU;SACX,CAAC;
|
|
1
|
+
{"version":3,"file":"apiFeatures.utils.js","sourceRoot":"","sources":["../../src/utils/apiFeatures.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Model, Document } from 'mongoose';
|
|
2
2
|
import IQuery from './interfaces/query.interface';
|
|
3
|
+
import { EndpointConfig } from './create-crud.controller.utils';
|
|
3
4
|
export declare abstract class BaseCrudService<T extends Document, CreateDto = any, // Make CreateDto optional with default 'any'
|
|
4
5
|
UpdateDto = any> {
|
|
5
6
|
protected readonly model: Model<T>;
|
|
@@ -7,7 +8,7 @@ UpdateDto = any> {
|
|
|
7
8
|
/**
|
|
8
9
|
* Get all documents with filtering, pagination, sorting
|
|
9
10
|
*/
|
|
10
|
-
findAll(query: IQuery): Promise<{
|
|
11
|
+
findAll(query: IQuery, config?: EndpointConfig): Promise<{
|
|
11
12
|
status: string;
|
|
12
13
|
total: number;
|
|
13
14
|
nextPage: number | null;
|
|
@@ -24,7 +25,7 @@ UpdateDto = any> {
|
|
|
24
25
|
/**
|
|
25
26
|
* Get a single document by ID
|
|
26
27
|
*/
|
|
27
|
-
findOne(id: string, query?: Partial<IQuery
|
|
28
|
+
findOne(id: string, query?: Partial<IQuery>, config?: EndpointConfig): Promise<{
|
|
28
29
|
status: string;
|
|
29
30
|
data: import("mongoose").IfAny<T, any, Document<unknown, {}, T, {}, {}> & (import("mongoose").Require_id<T> extends infer T_1 ? T_1 extends import("mongoose").Require_id<T> ? T_1 extends {
|
|
30
31
|
__v?: infer U;
|
|
@@ -35,7 +36,7 @@ UpdateDto = any> {
|
|
|
35
36
|
/**
|
|
36
37
|
* Create a new document using Create DTO (optional)
|
|
37
38
|
*/
|
|
38
|
-
createOne(createDto: CreateDto): Promise<{
|
|
39
|
+
createOne(createDto: CreateDto, config?: EndpointConfig): Promise<{
|
|
39
40
|
status: string;
|
|
40
41
|
data: import("mongoose").IfAny<T, any, Document<unknown, {}, T, {}, {}> & (import("mongoose").Require_id<T> extends infer T_1 ? T_1 extends import("mongoose").Require_id<T> ? T_1 extends {
|
|
41
42
|
__v?: infer U;
|
|
@@ -46,7 +47,7 @@ UpdateDto = any> {
|
|
|
46
47
|
/**
|
|
47
48
|
* Update a document by ID using Update DTO (optional)
|
|
48
49
|
*/
|
|
49
|
-
updateOne(id: string, updateDto: UpdateDto): Promise<{
|
|
50
|
+
updateOne(id: string, updateDto: UpdateDto, config?: EndpointConfig): Promise<{
|
|
50
51
|
status: string;
|
|
51
52
|
data: import("mongoose").IfAny<T, any, Document<unknown, {}, T, {}, {}> & (import("mongoose").Require_id<T> extends infer T_1 ? T_1 extends import("mongoose").Require_id<T> ? T_1 extends {
|
|
52
53
|
__v?: infer U;
|
|
@@ -57,13 +58,13 @@ UpdateDto = any> {
|
|
|
57
58
|
/**
|
|
58
59
|
* Delete a document by ID
|
|
59
60
|
*/
|
|
60
|
-
deleteOne(id: string): Promise<{
|
|
61
|
+
deleteOne(id: string, config?: EndpointConfig): Promise<{
|
|
61
62
|
status: string;
|
|
62
63
|
}>;
|
|
63
64
|
/**
|
|
64
65
|
* Find one document by custom filter
|
|
65
66
|
*/
|
|
66
|
-
findOneBy(filter?: any, query?: Partial<IQuery
|
|
67
|
+
findOneBy(filter?: any, query?: Partial<IQuery>, config?: EndpointConfig): Promise<import("mongoose").IfAny<T, any, Document<unknown, {}, T, {}, {}> & (import("mongoose").Require_id<T> extends infer T_1 ? T_1 extends import("mongoose").Require_id<T> ? T_1 extends {
|
|
67
68
|
__v?: infer U;
|
|
68
69
|
} ? T_1 : T_1 & {
|
|
69
70
|
__v: number;
|
|
@@ -71,7 +72,7 @@ UpdateDto = any> {
|
|
|
71
72
|
/**
|
|
72
73
|
* Find document by ID without any query processing
|
|
73
74
|
*/
|
|
74
|
-
findById(id: string, query: IQuery): Promise<{
|
|
75
|
+
findById(id: string, query: IQuery, config?: EndpointConfig): Promise<{
|
|
75
76
|
status: string;
|
|
76
77
|
data: import("mongoose").IfAny<T, any, Document<unknown, {}, T, {}, {}> & (import("mongoose").Require_id<T> extends infer T_1 ? T_1 extends import("mongoose").Require_id<T> ? T_1 extends {
|
|
77
78
|
__v?: infer U;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-crud.service.d.ts","sourceRoot":"","sources":["../../src/utils/base-crud.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,MAAM,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"base-crud.service.d.ts","sourceRoot":"","sources":["../../src/utils/base-crud.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAG3C,OAAO,MAAM,MAAM,8BAA8B,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAYhE,8BAAsB,eAAe,CACnC,CAAC,SAAS,QAAQ,EAClB,SAAS,GAAG,GAAG,EAAE,6CAA6C;AAC9D,SAAS,GAAG,GAAG;IAEH,SAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;gBAAf,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAE9C;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB;;;;;;;;;;;;;;IAgCxD;;OAEG;IACG,OAAO,CACX,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,OAAO,CAAC,MAAM,CAAM,EAC3B,MAAM,GAAE,cAAmB;;;;;;;;IAe7B;;OAEG;IACG,SAAS,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,GAAE,cAAmB;;;;;;;;IAKjE;;OAEG;IACG,SAAS,CACb,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,SAAS,EACpB,MAAM,GAAE,cAAmB;;;;;;;;IAc7B;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB;;;IAWvD;;OAEG;IACG,SAAS,CACb,MAAM,GAAE,GAAQ,EAChB,KAAK,GAAE,OAAO,CAAC,MAAM,CAAM,EAC3B,MAAM,GAAE,cAAmB;;;;;IAY7B;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,cAAmB;;;;;;;;IAerE;;OAEG;IACG,KAAK,CAAC,MAAM,GAAE,GAAQ;IAI5B;;OAEG;IACG,MAAM,CAAC,MAAM,GAAE,GAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;CAIjD"}
|
|
@@ -6,6 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.BaseCrudService = void 0;
|
|
7
7
|
const common_1 = require("@nestjs/common");
|
|
8
8
|
const apiFeatures_utils_1 = __importDefault(require("./apiFeatures.utils"));
|
|
9
|
+
function createNotFoundException(message) {
|
|
10
|
+
const exception = new common_1.NotFoundException(message);
|
|
11
|
+
// When this package is linked locally, it can resolve a different
|
|
12
|
+
// @nestjs/common instance than the host app. Nest then treats HttpException
|
|
13
|
+
// subclasses as unknown errors, but still recognizes http-errors shaped
|
|
14
|
+
// errors via a top-level statusCode.
|
|
15
|
+
return Object.assign(exception, { statusCode: exception.getStatus() });
|
|
16
|
+
}
|
|
9
17
|
class BaseCrudService {
|
|
10
18
|
constructor(model) {
|
|
11
19
|
this.model = model;
|
|
@@ -13,7 +21,10 @@ class BaseCrudService {
|
|
|
13
21
|
/**
|
|
14
22
|
* Get all documents with filtering, pagination, sorting
|
|
15
23
|
*/
|
|
16
|
-
async findAll(query) {
|
|
24
|
+
async findAll(query, config = {}) {
|
|
25
|
+
if (config.enabled === false) {
|
|
26
|
+
throw createNotFoundException('Endpoint disabled');
|
|
27
|
+
}
|
|
17
28
|
const payload = new apiFeatures_utils_1.default(this.model.find(), query)
|
|
18
29
|
.filter()
|
|
19
30
|
.search()
|
|
@@ -40,30 +51,30 @@ class BaseCrudService {
|
|
|
40
51
|
/**
|
|
41
52
|
* Get a single document by ID
|
|
42
53
|
*/
|
|
43
|
-
async findOne(id, query = {}) {
|
|
54
|
+
async findOne(id, query = {}, config = {}) {
|
|
44
55
|
const payload = new apiFeatures_utils_1.default(this.model.find({ _id: id }), query)
|
|
45
56
|
.filter()
|
|
46
57
|
.populate();
|
|
47
58
|
const [result] = await payload.query;
|
|
48
59
|
if (!result) {
|
|
49
|
-
throw
|
|
60
|
+
throw createNotFoundException(`Document with ID ${id} not found`);
|
|
50
61
|
}
|
|
51
62
|
return { status: 'success', data: result };
|
|
52
63
|
}
|
|
53
64
|
/**
|
|
54
65
|
* Create a new document using Create DTO (optional)
|
|
55
66
|
*/
|
|
56
|
-
async createOne(createDto) {
|
|
67
|
+
async createOne(createDto, config = {}) {
|
|
57
68
|
const result = await this.model.create(createDto);
|
|
58
69
|
return { status: 'success', data: result };
|
|
59
70
|
}
|
|
60
71
|
/**
|
|
61
72
|
* Update a document by ID using Update DTO (optional)
|
|
62
73
|
*/
|
|
63
|
-
async updateOne(id, updateDto) {
|
|
74
|
+
async updateOne(id, updateDto, config = {}) {
|
|
64
75
|
const data = await this.model.findById(id);
|
|
65
76
|
if (!data) {
|
|
66
|
-
throw
|
|
77
|
+
throw createNotFoundException(`Document with ID ${id} not found`);
|
|
67
78
|
}
|
|
68
79
|
await this.model.updateOne({ _id: id }, updateDto);
|
|
69
80
|
const saved = await this.model.findById(id);
|
|
@@ -72,10 +83,10 @@ class BaseCrudService {
|
|
|
72
83
|
/**
|
|
73
84
|
* Delete a document by ID
|
|
74
85
|
*/
|
|
75
|
-
async deleteOne(id) {
|
|
86
|
+
async deleteOne(id, config = {}) {
|
|
76
87
|
const data = await this.model.findById(id);
|
|
77
88
|
if (!data) {
|
|
78
|
-
throw
|
|
89
|
+
throw createNotFoundException(`Document with ID ${id} not found`);
|
|
79
90
|
}
|
|
80
91
|
await this.model.findByIdAndDelete(id);
|
|
81
92
|
return { status: 'delete successful' };
|
|
@@ -83,28 +94,25 @@ class BaseCrudService {
|
|
|
83
94
|
/**
|
|
84
95
|
* Find one document by custom filter
|
|
85
96
|
*/
|
|
86
|
-
async findOneBy(filter = {}, query = {}) {
|
|
97
|
+
async findOneBy(filter = {}, query = {}, config = {}) {
|
|
87
98
|
const payload = new apiFeatures_utils_1.default(this.model.find(filter), query)
|
|
88
99
|
.filter()
|
|
89
100
|
.populate()
|
|
90
101
|
.limitFields();
|
|
91
102
|
const result = await payload.query;
|
|
92
|
-
if (!result) {
|
|
93
|
-
throw new common_1.NotFoundException('Document not found with the given filter');
|
|
94
|
-
}
|
|
95
103
|
return result;
|
|
96
104
|
}
|
|
97
105
|
/**
|
|
98
106
|
* Find document by ID without any query processing
|
|
99
107
|
*/
|
|
100
|
-
async findById(id, query) {
|
|
108
|
+
async findById(id, query, config = {}) {
|
|
101
109
|
const payload = new apiFeatures_utils_1.default(this.model.find({ _id: id }), query)
|
|
102
110
|
.filter()
|
|
103
111
|
.populate()
|
|
104
112
|
.limitFields();
|
|
105
113
|
const [result] = await payload.query;
|
|
106
114
|
if (!result) {
|
|
107
|
-
throw
|
|
115
|
+
throw createNotFoundException('Document not found with that ID');
|
|
108
116
|
}
|
|
109
117
|
return { status: 'success', data: result };
|
|
110
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-crud.service.js","sourceRoot":"","sources":["../../src/utils/base-crud.service.ts"],"names":[],"mappings":";;;;;;AACA,2CAAmD;AACnD,4EAA8C;
|
|
1
|
+
{"version":3,"file":"base-crud.service.js","sourceRoot":"","sources":["../../src/utils/base-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-crud.controller.utils.d.ts","sourceRoot":"","sources":["../../src/utils/create-crud.controller.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,IAAI,EAQJ,UAAU,EAIX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;KACf,CAAC;CACH;
|
|
1
|
+
{"version":3,"file":"create-crud.controller.utils.d.ts","sourceRoot":"","sources":["../../src/utils/create-crud.controller.utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,IAAI,EAQJ,UAAU,EAIX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAChB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;KAChC,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,YAAY,CAAC,EAAE,GAAG,EAAE,CAAC;QACrB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;KACf,CAAC;CACH;AA+BD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EACrD,MAAM,GAAE,oBAAyB,GAChC,IAAI,CAAC,GAAG,CAAC,CA2EX"}
|
|
@@ -32,35 +32,32 @@ function applyEndpointDecorators(config) {
|
|
|
32
32
|
}
|
|
33
33
|
return decorators.length ? (0, common_1.applyDecorators)(...decorators) : () => { };
|
|
34
34
|
}
|
|
35
|
+
// endpoint enabled/disabled check is handled by the service; controller
|
|
36
|
+
// forwards the endpoint config to service methods so the service may throw
|
|
37
|
+
// a 404 when an endpoint is explicitly disabled.
|
|
35
38
|
function createCrudController(config = {}) {
|
|
36
39
|
class BaseController {
|
|
37
40
|
constructor(service) {
|
|
38
41
|
this.service = service;
|
|
39
42
|
}
|
|
40
43
|
async findAll(query) {
|
|
41
|
-
return this.service.findAll(query);
|
|
44
|
+
return this.service.findAll(query, config.getAll);
|
|
42
45
|
}
|
|
43
46
|
async getOne(id, query) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
console.log({ result });
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
catch (error) {
|
|
50
|
-
throw error;
|
|
51
|
-
}
|
|
47
|
+
const result = await this.service.findById(id, query, config.getOne);
|
|
48
|
+
return result;
|
|
52
49
|
}
|
|
53
50
|
async create(payload) {
|
|
54
|
-
return this.service.createOne(payload);
|
|
51
|
+
return this.service.createOne(payload, config.create);
|
|
55
52
|
}
|
|
56
53
|
async update(id, payload) {
|
|
57
|
-
return this.service.updateOne(id, payload);
|
|
54
|
+
return this.service.updateOne(id, payload, config.update);
|
|
58
55
|
}
|
|
59
56
|
async patch(id, payload) {
|
|
60
|
-
return this.service.updateOne(id, payload);
|
|
57
|
+
return this.service.updateOne(id, payload, config.update);
|
|
61
58
|
}
|
|
62
59
|
async delete(id) {
|
|
63
|
-
return this.service.deleteOne(id);
|
|
60
|
+
return this.service.deleteOne(id, config.delete);
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
63
|
__decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-crud.controller.utils.js","sourceRoot":"","sources":["../../src/utils/create-crud.controller.utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"create-crud.controller.utils.js","sourceRoot":"","sources":["../../src/utils/create-crud.controller.utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nest-mongoose-crud",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "A reusable handler factory utility for NestJS and Mongoose projects",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
14
|
"dev": "tsc --watch",
|
|
15
|
+
"link:test-project": "sh ./scripts/link-test-project.sh",
|
|
15
16
|
"test": "jest",
|
|
16
17
|
"prepare": "npm run build",
|
|
17
18
|
"prepublish": "npm run build"
|