@volare.finance/nestjs.plugins 1.1.1 → 1.1.3

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 CHANGED
@@ -7,6 +7,7 @@ export * from './coingecko';
7
7
  export * from './config';
8
8
  export * from './exchanges';
9
9
  export * from './logger';
10
+ export * from './middlewares';
10
11
  export * from './mongo';
11
12
  export * from './pipes';
12
13
  export * from './viabtc';
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ tslib_1.__exportStar(require("./coingecko"), exports);
10
10
  tslib_1.__exportStar(require("./config"), exports);
11
11
  tslib_1.__exportStar(require("./exchanges"), exports);
12
12
  tslib_1.__exportStar(require("./logger"), exports);
13
+ tslib_1.__exportStar(require("./middlewares"), exports);
13
14
  tslib_1.__exportStar(require("./mongo"), exports);
14
15
  tslib_1.__exportStar(require("./pipes"), exports);
15
16
  tslib_1.__exportStar(require("./viabtc"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gDAAsB;AACtB,sDAA4B;AAC5B,mDAAyB;AACzB,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,kDAAwB;AACxB,mDAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,gDAAsB;AACtB,sDAA4B;AAC5B,mDAAyB;AACzB,sDAA4B;AAC5B,mDAAyB;AACzB,wDAA8B;AAC9B,kDAAwB;AACxB,kDAAwB;AACxB,mDAAyB"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @file index.ts
3
+ * @date 2024
4
+ */
5
+ export * from './ip.whitelist.middleware';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /**
3
+ * @file index.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const tslib_1 = require("tslib");
8
+ tslib_1.__exportStar(require("./ip.whitelist.middleware"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,oEAA0C"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @file ip.whitelist.middleware.ts
3
+ * @date 2024
4
+ */
5
+ import { NestMiddleware } from '@nestjs/common';
6
+ import { NextFunction, Request, Response } from 'express';
7
+ export declare class IpWhitelistMiddleware implements NestMiddleware {
8
+ use(req: Request, _res: Response, next: NextFunction): void;
9
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /**
3
+ * @file ip.whitelist.middleware.ts
4
+ * @date 2024
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.IpWhitelistMiddleware = void 0;
8
+ const tslib_1 = require("tslib");
9
+ const common_1 = require("@nestjs/common");
10
+ const dotenv_1 = require("dotenv");
11
+ (0, dotenv_1.config)({ path: '.env', encoding: 'utf8' });
12
+ const IP_WHITELIST = (process.env.IP_WHITELIST || '').split(',');
13
+ let IpWhitelistMiddleware = class IpWhitelistMiddleware {
14
+ use(req, _res, next) {
15
+ if (req.ip && !IP_WHITELIST.includes(req.ip)) {
16
+ throw new common_1.ForbiddenException('Not allowed IP');
17
+ }
18
+ next();
19
+ }
20
+ };
21
+ exports.IpWhitelistMiddleware = IpWhitelistMiddleware;
22
+ exports.IpWhitelistMiddleware = IpWhitelistMiddleware = tslib_1.__decorate([
23
+ (0, common_1.Injectable)()
24
+ ], IpWhitelistMiddleware);
25
+ //# sourceMappingURL=ip.whitelist.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.whitelist.middleware.js","sourceRoot":"","sources":["../../src/middlewares/ip.whitelist.middleware.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;AAEH,2CAAgF;AAChF,mCAAgC;AAGhC,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAE3C,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAG1D,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAChC,GAAG,CAAC,GAAY,EAAE,IAAc,EAAE,IAAkB;QAClD,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,2BAAkB,CAAC,gBAAgB,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,EAAE,CAAC;IACT,CAAC;CACF,CAAA;AAPY,sDAAqB;gCAArB,qBAAqB;IADjC,IAAA,mBAAU,GAAE;GACA,qBAAqB,CAOjC"}
@@ -3,6 +3,7 @@
3
3
  * @date 2023
4
4
  */
5
5
  import { FilterDto } from './filter.dto';
6
+ export declare const LIMIT_MAX: number;
6
7
  export declare const DEFAULT_PROJECTION = "-_id -__v";
7
8
  export declare const DEFAULT_PROJECTION_OBJECT: {
8
9
  _id: number;
@@ -4,7 +4,10 @@
4
4
  * @date 2023
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.MongoService = exports.DEFAULT_PROJECTION_OBJECT = exports.DEFAULT_PROJECTION = void 0;
7
+ exports.MongoService = exports.DEFAULT_PROJECTION_OBJECT = exports.DEFAULT_PROJECTION = exports.LIMIT_MAX = void 0;
8
+ const dotenv_1 = require("dotenv");
9
+ (0, dotenv_1.config)({ path: '.env', encoding: 'utf8' });
10
+ exports.LIMIT_MAX = Number(process.env.LIMIT_MAX) || 100;
8
11
  exports.DEFAULT_PROJECTION = '-_id -__v';
9
12
  exports.DEFAULT_PROJECTION_OBJECT = { _id: 0, __v: 0 };
10
13
  class MongoService {
@@ -18,7 +21,7 @@ class MongoService {
18
21
  if (filter.skip) {
19
22
  query.skip(filter.skip);
20
23
  }
21
- query.limit(filter.limit && filter.limit < 100 ? filter.limit : 100);
24
+ query.limit(filter.limit && filter.limit < exports.LIMIT_MAX ? filter.limit : exports.LIMIT_MAX);
22
25
  return query.select(filter.projection || exports.DEFAULT_PROJECTION).exec();
23
26
  }
24
27
  static aggregate(aggregate2, filter) {
@@ -31,7 +34,7 @@ class MongoService {
31
34
  if (filter.skip) {
32
35
  aggregate2.skip(filter.skip);
33
36
  }
34
- aggregate2.limit(filter.limit && filter.limit < 100 ? filter.limit : 100);
37
+ aggregate2.limit(filter.limit && filter.limit < exports.LIMIT_MAX ? filter.limit : exports.LIMIT_MAX);
35
38
  return aggregate2.project(filter.projection || exports.DEFAULT_PROJECTION);
36
39
  }
37
40
  static async count(query, filter) {
@@ -1 +1 @@
1
- {"version":3,"file":"mongo.service.js","sourceRoot":"","sources":["../../src/mongo/mongo.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAIU,QAAA,kBAAkB,GAAG,WAAW,CAAC;AAEjC,QAAA,yBAAyB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAE5D,MAAa,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAU,EAAE,MAAiB;QAC7C,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,0BAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,UAAe,EAAE,MAAiB;QACjD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACrD,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC1E,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,0BAAkB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAU,EAAE,MAAiB;QAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;CACF;AAnCD,oCAmCC"}
1
+ {"version":3,"file":"mongo.service.js","sourceRoot":"","sources":["../../src/mongo/mongo.service.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAGH,mCAAgC;AAEhC,IAAA,eAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;AAE9B,QAAA,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC;AAEjD,QAAA,kBAAkB,GAAG,WAAW,CAAC;AAEjC,QAAA,yBAAyB,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;AAE5D,MAAa,YAAY;IACvB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAU,EAAE,MAAiB;QAC7C,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACrD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAS,CAAC,CAAC;QACjF,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,0BAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;IACtE,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,UAAe,EAAE,MAAiB;QACjD,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YACrD,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,GAAG,iBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAS,CAAC,CAAC;QACtF,OAAO,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,IAAI,0BAAkB,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAU,EAAE,MAAiB;QAC9C,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;CACF;AAnCD,oCAmCC"}
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@volare.finance/nestjs.plugins",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "description": "@volare.finance/nestjs.plugins",
5
- "keywords": ["nest.js", "plugin"],
5
+ "keywords": [
6
+ "nest.js",
7
+ "plugin"
8
+ ],
6
9
  "author": "volare-dev",
7
10
  "license": "MIT",
8
11
  "main": "dist/index.js",
@@ -16,11 +19,14 @@
16
19
  "dependencies": {
17
20
  "@aws-sdk/client-s3": "^3.332.0",
18
21
  "@nestjs/common": "^10.2.0",
22
+ "@nestjs/platform-express": "^10.2.0",
19
23
  "@nestjs/swagger": "^7.1.10",
20
24
  "axios": "^1.6.1",
25
+ "dotenv": "^16.4.0",
21
26
  "winston": "^3.12.0"
22
27
  },
23
28
  "devDependencies": {
29
+ "@types/express": "^4.17.21",
24
30
  "@types/node": "^20.3.1",
25
31
  "@typescript-eslint/eslint-plugin": "^6.0.0",
26
32
  "@typescript-eslint/parser": "^6.0.0",