@mee4dy/crud-nestjs 1.0.11 → 1.0.13

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.
@@ -11,5 +11,5 @@ export declare class CrudService<T extends Model> {
11
11
  getItem(params: CrudParams): Promise<T>;
12
12
  create(data: object): Promise<T>;
13
13
  update(params: CrudParams, data: object, returning?: boolean): Promise<any>;
14
- delete(params: CrudParams): Promise<number>;
14
+ delete(params: CrudParams): Promise<void>;
15
15
  }
@@ -34,25 +34,23 @@ class CrudService {
34
34
  });
35
35
  }
36
36
  async update(params, data, returning = true) {
37
- const processedParams = this.paramsProcessor(params);
38
- const repository = this.getRepository(params);
39
- return repository
40
- .update(data, {
41
- where: processedParams.where,
42
- })
43
- .then((result) => {
37
+ const item = await this.getItem(params);
38
+ if (!item) {
39
+ return null;
40
+ }
41
+ return item.update(data).then((result) => {
44
42
  if (returning) {
45
43
  return this.getItem(params);
46
44
  }
47
45
  return result;
48
46
  });
49
47
  }
50
- delete(params) {
51
- const processedParams = this.paramsProcessor(params);
52
- const repository = this.getRepository(params);
53
- return repository.destroy({
54
- where: processedParams.where,
55
- });
48
+ async delete(params) {
49
+ const item = await this.getItem(params);
50
+ if (!item) {
51
+ return null;
52
+ }
53
+ return item.destroy();
56
54
  }
57
55
  }
58
56
  exports.CrudService = CrudService;
@@ -1 +1 @@
1
- {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../src/crud.service.ts"],"names":[],"mappings":";;;AAEA,wFAAkF;AAClF,6DAA6D;AAE7D,MAAa,WAAW;IACtB,YAAY,KAAqB,EAAE,KAAa,IAAI;QAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAKM,KAAK;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAEM,aAAa,CAAC,MAAmB;QACtC,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACpE,CAAC;IAEO,eAAe,CAAC,MAAkB;QACxC,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,sDAAwB,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC;IAEM,QAAQ,CAAC,MAAkB;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,MAAkB;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAW,EAAE;YACzC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAkB,EAAE,IAAY,EAAE,YAAqB,IAAI;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU;aACd,MAAM,CAAC,IAAI,EAAE;YACZ,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC;aACD,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YACpB,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,MAAM,CAAC,MAAkB;QAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC;YACxB,KAAK,EAAE,eAAe,CAAC,KAAK;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AA9DD,kCA8DC"}
1
+ {"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../src/crud.service.ts"],"names":[],"mappings":";;;AAEA,wFAAkF;AAClF,6DAA6D;AAE7D,MAAa,WAAW;IACtB,YAAY,KAAqB,EAAE,KAAa,IAAI;QAClD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAKM,KAAK;QACV,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAEM,aAAa,CAAC,MAAmB;QACtC,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,EAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACpE,CAAC;IAEO,eAAe,CAAC,MAAkB;QACxC,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5D,OAAO,IAAI,sDAAwB,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,CAAC;IAC/D,CAAC;IAEM,QAAQ,CAAC,MAAkB;QAChC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,OAAO,CAAC,MAAkB;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,CAAC;IAEM,MAAM,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAW,EAAE;YACzC,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAkB,EAAE,IAAY,EAAE,YAAqB,IAAI;QAC7E,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAW,EAAE,EAAE;YAC5C,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,MAAkB;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAExC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACxB,CAAC;CACF;AAjED,kCAiEC"}
@@ -0,0 +1 @@
1
+ export declare const CrudCtx: (...dataOrPipes: unknown[]) => ParameterDecorator;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrudCtx = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ exports.CrudCtx = (0, common_1.createParamDecorator)((data, ctx) => {
6
+ const request = ctx.switchToHttp().getRequest();
7
+ return Object.assign({
8
+ params: {},
9
+ }, request.crudCtx);
10
+ });
11
+ //# sourceMappingURL=crud-ctx.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-ctx.decorator.js","sourceRoot":"","sources":["../../src/decorators/crud-ctx.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AAG3D,QAAA,OAAO,GAAG,IAAA,6BAAoB,EAAC,CAAC,IAAa,EAAE,GAAqB,EAAe,EAAE;IAChG,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IAEhD,OAAO,MAAM,CAAC,MAAM,CAClB;QACE,MAAM,EAAE,EAAE;KACX,EACD,OAAO,CAAC,OAAO,CAChB,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -28,7 +28,9 @@ exports.CrudParamsDecorator = (0, common_1.createParamDecorator)((data, ctx) =>
28
28
  },
29
29
  });
30
30
  }
31
- const query = qs_1.default.parse(request.query);
31
+ const query = qs_1.default.parse(request.query, {
32
+ arrayFormat: 'indices',
33
+ });
32
34
  const queryAllowedParams = ((_c = config === null || config === void 0 ? void 0 : config.query) === null || _c === void 0 ? void 0 : _c.allowedParams) || {};
33
35
  const extractor = new query_params_extractor_service_1.QueryParamsExtractorService((0, replace_pk_util_1.replacePkRecursive)(query, pk), (0, replace_pk_util_1.replacePkRecursive)(queryAllowedParams, pk));
34
36
  const queryParams = extractor.extract();
@@ -1 +1 @@
1
- {"version":3,"file":"crud-params.decorator.js","sourceRoot":"","sources":["../../src/decorators/crud-params.decorator.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAwE;AAExE,+FAAyF;AACzF,oDAA4C;AAC5C,4CAAoB;AACpB,4BAA0B;AAC1B,8DAA8D;AAC9D,4CAAkC;AAGrB,QAAA,mBAAmB,GAAG,IAAA,6BAAoB,EACrD,CAAC,IAAgD,EAAE,GAAqB,EAAE,EAAE;;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAG,cAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IAErB,MAAM,aAAa,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,OAAO,KAAI,EAAE,CAAC;IACpD,IAAI,MAAM,GAAe;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,IAAA,kBAAK,EAAC,MAAM,EAAE;YACrB,OAAO,EAAE;gBACP,CAAC,cAAE,CAAC,EAAE,OAAO;aACd;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,YAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,kBAAkB,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,aAAa,KAAI,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,4DAA2B,CAC/C,IAAA,oCAAkB,EAAC,KAAK,EAAE,EAAE,CAAC,EAC7B,IAAA,oCAAkB,EAAC,kBAAkB,EAAE,EAAE,CAAC,CAC3C,CAAC;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,EAAE,CAAC;IACpC,IAAI,YAAY,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IAEzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,YAAY,GAAG,IAAA,kBAAK,EAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,YAAY,GAAG,IAAA,kBAAK,EAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,IAAA,kBAAK,EACV;QACE,GAAG,IAAA,oCAAkB,EAAC,aAAa,EAAE,EAAE,CAAC;QACxC,GAAG,IAAA,kBAAK,EAAC,IAAA,oCAAkB,EAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAA,oCAAkB,EAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KAC/E,EACD,IAAA,oCAAkB,EAAC,WAAW,EAAE,EAAE,CAAC,CACpC,CAAC;AACJ,CAAC,CACF,CAAC"}
1
+ {"version":3,"file":"crud-params.decorator.js","sourceRoot":"","sources":["../../src/decorators/crud-params.decorator.ts"],"names":[],"mappings":";;;;;;AAAA,2CAAwE;AAExE,+FAAyF;AACzF,oDAA4C;AAC5C,4CAAoB;AACpB,4BAA0B;AAC1B,8DAA8D;AAC9D,4CAAkC;AAGrB,QAAA,mBAAmB,GAAG,IAAA,6BAAoB,EACrD,CAAC,IAAgD,EAAE,GAAqB,EAAE,EAAE;;IAC1E,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;IAChD,MAAM,OAAO,GAAG,MAAA,OAAO,CAAC,MAAM,0CAAG,cAAE,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,MAAM,CAAC,EAAE,CAAC;IAErB,MAAM,aAAa,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,0CAAE,OAAO,KAAI,EAAE,CAAC;IACpD,IAAI,MAAM,GAAe;QACvB,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;IAEF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,IAAA,kBAAK,EAAC,MAAM,EAAE;YACrB,OAAO,EAAE;gBACP,CAAC,cAAE,CAAC,EAAE,OAAO;aACd;SACF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,YAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;QACpC,WAAW,EAAE,SAAS;KACvB,CAAC,CAAC;IACH,MAAM,kBAAkB,GAAG,CAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,0CAAE,aAAa,KAAI,EAAE,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAI,4DAA2B,CAC/C,IAAA,oCAAkB,EAAC,KAAK,EAAE,EAAE,CAAC,EAC7B,IAAA,oCAAkB,EAAC,kBAAkB,EAAE,EAAE,CAAC,CAC3C,CAAC;IACF,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IAExC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,MAAM,MAAM,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,EAAE,CAAC;IACpC,IAAI,YAAY,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IAEzC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC3C,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,YAAY,GAAG,IAAA,kBAAK,EAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,IAAI,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;YACtC,YAAY,GAAG,IAAA,kBAAK,EAAC,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,OAAO,IAAA,kBAAK,EACV;QACE,GAAG,IAAA,oCAAkB,EAAC,aAAa,EAAE,EAAE,CAAC;QACxC,GAAG,IAAA,kBAAK,EAAC,IAAA,oCAAkB,EAAC,MAAM,EAAE,EAAE,CAAC,EAAE,IAAA,oCAAkB,EAAC,YAAY,EAAE,EAAE,CAAC,CAAC;KAC/E,EACD,IAAA,oCAAkB,EAAC,WAAW,EAAE,EAAE,CAAC,CACpC,CAAC;AACJ,CAAC,CACF,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const UseCrudCtx: (callback: any) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseCrudCtx = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const use_middleware_decorator_1 = require("./use-middleware.decorator");
6
+ const UseCrudCtx = (callback) => {
7
+ const middlewareDecorator = (0, use_middleware_decorator_1.UseMiddleware)((req) => {
8
+ const crudCtx = callback(req);
9
+ if (!req.crudCtx) {
10
+ req.crudCtx = {};
11
+ }
12
+ req.crudCtx = {
13
+ ...req.crudCtx,
14
+ ...crudCtx,
15
+ };
16
+ });
17
+ return (0, common_1.applyDecorators)(middlewareDecorator);
18
+ };
19
+ exports.UseCrudCtx = UseCrudCtx;
20
+ //# sourceMappingURL=use-crud-ctx.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-crud-ctx.decorator.js","sourceRoot":"","sources":["../../src/decorators/use-crud-ctx.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,yEAA2D;AAEpD,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,EAAE;IACrC,MAAM,mBAAmB,GAAG,IAAA,wCAAa,EAAC,CAAC,GAAG,EAAE,EAAE;QAChD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,GAAG,CAAC,OAAO,GAAG;YACZ,GAAG,GAAG,CAAC,OAAO;YACd,GAAG,OAAO;SACX,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,wBAAe,EAAC,mBAAmB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAfW,QAAA,UAAU,cAerB"}
@@ -0,0 +1 @@
1
+ export declare const UseCrudScope: (callback: any) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseCrudScope = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const use_middleware_decorator_1 = require("./use-middleware.decorator");
6
+ const UseCrudScope = (callback) => {
7
+ const middlewareDecorator = (0, use_middleware_decorator_1.UseMiddleware)((req) => {
8
+ const crudScope = callback(req);
9
+ if (!req.crudCtx) {
10
+ req.crudCtx = {};
11
+ }
12
+ req.crudCtx.params = {
13
+ ...req.crudCtx.params,
14
+ ...crudScope,
15
+ };
16
+ });
17
+ return (0, common_1.applyDecorators)(middlewareDecorator);
18
+ };
19
+ exports.UseCrudScope = UseCrudScope;
20
+ //# sourceMappingURL=use-crud-scope.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-crud-scope.decorator.js","sourceRoot":"","sources":["../../src/decorators/use-crud-scope.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAiD;AACjD,yEAA2D;AAEpD,MAAM,YAAY,GAAG,CAAC,QAAQ,EAAE,EAAE;IACvC,MAAM,mBAAmB,GAAG,IAAA,wCAAa,EAAC,CAAC,GAAG,EAAE,EAAE;QAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC;QAEhC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;YACjB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG;YACnB,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM;YACrB,GAAG,SAAS;SACb,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,IAAA,wBAAe,EAAC,mBAAmB,CAAC,CAAC;AAC9C,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}
@@ -0,0 +1 @@
1
+ export declare const UseMiddleware: (middleware: any) => <TFunction extends Function, Y>(target: TFunction | object, propertyKey?: string | symbol, descriptor?: TypedPropertyDescriptor<Y>) => void;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UseMiddleware = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ class CrudInterceptor {
6
+ constructor(middleware) {
7
+ this.middleware = middleware;
8
+ }
9
+ intercept(context, next) {
10
+ const req = context.switchToHttp().getRequest();
11
+ if (this.middleware) {
12
+ this.middleware(req);
13
+ }
14
+ return next.handle();
15
+ }
16
+ }
17
+ const UseMiddleware = (middleware) => {
18
+ const crudInterceptor = new CrudInterceptor(middleware);
19
+ const interceptorDecorator = (0, common_1.UseInterceptors)(crudInterceptor);
20
+ return (0, common_1.applyDecorators)(interceptorDecorator);
21
+ };
22
+ exports.UseMiddleware = UseMiddleware;
23
+ //# sourceMappingURL=use-middleware.decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-middleware.decorator.js","sourceRoot":"","sources":["../../src/decorators/use-middleware.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAAkH;AAGlH,MAAM,eAAe;IACnB,YAAY,UAAU;QACpB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAID,SAAS,CAAC,OAAyB,EAAE,IAAiB;QACpD,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;CACF;AAEM,MAAM,aAAa,GAAG,CAAC,UAAe,EAAE,EAAE;IAC/C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,IAAA,wBAAe,EAAC,eAAe,CAAC,CAAC;IAE9D,OAAO,IAAA,wBAAe,EAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
@@ -0,0 +1,3 @@
1
+ export interface CrudCtx {
2
+ findParams?: object;
3
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=crud-ctx.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crud-ctx.interface.js","sourceRoot":"","sources":["../../src/interfaces/crud-ctx.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,13 @@
1
+ export interface FindParams {
2
+ attributes?: {
3
+ include?: any;
4
+ exclude?: any;
5
+ };
6
+ include?: any;
7
+ scope?: string | string[];
8
+ limit?: number;
9
+ offset?: number;
10
+ where?: any;
11
+ order?: any;
12
+ group?: any;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=find-params.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-params.interface.js","sourceRoot":"","sources":["../../src/interfaces/find-params.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ import { PipeTransform } from '@nestjs/common';
2
+ export declare class QueryParsePipe implements PipeTransform {
3
+ transform(value: any, metadata: any): any;
4
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.QueryParsePipe = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const qs_1 = __importDefault(require("qs"));
15
+ let QueryParsePipe = class QueryParsePipe {
16
+ transform(value, metadata) {
17
+ if (metadata.type === 'query') {
18
+ return qs_1.default.parse(value);
19
+ }
20
+ return value;
21
+ }
22
+ };
23
+ exports.QueryParsePipe = QueryParsePipe;
24
+ exports.QueryParsePipe = QueryParsePipe = __decorate([
25
+ (0, common_1.Injectable)()
26
+ ], QueryParsePipe);
27
+ //# sourceMappingURL=query.parse.pipe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.parse.pipe.js","sourceRoot":"","sources":["../../src/pipes/query.parse.pipe.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA2D;AAC3D,4CAAoB;AAGb,IAAM,cAAc,GAApB,MAAM,cAAc;IACzB,SAAS,CAAC,KAAU,EAAE,QAAQ;QAC5B,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC9B,OAAO,YAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AARY,wCAAc;yBAAd,cAAc;IAD1B,IAAA,mBAAU,GAAE;GACA,cAAc,CAQ1B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mee4dy/crud-nestjs",
3
- "version": "1.0.11",
3
+ "version": "1.0.13",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "scripts": {