max-nestjs 0.0.4 → 0.0.6

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.
Files changed (82) hide show
  1. package/dist/constants.d.ts +20 -0
  2. package/dist/constants.js +29 -0
  3. package/dist/constants.js.map +1 -0
  4. package/dist/{max-user.decorator.js → decorators/auth.js} +2 -2
  5. package/dist/decorators/auth.js.map +1 -0
  6. package/dist/decorators/common.d.ts +28 -0
  7. package/dist/decorators/common.js +42 -0
  8. package/dist/decorators/common.js.map +1 -0
  9. package/dist/decorators/index.d.ts +2 -0
  10. package/dist/decorators/index.js +19 -0
  11. package/dist/decorators/index.js.map +1 -0
  12. package/dist/execution-context.d.ts +20 -0
  13. package/dist/execution-context.js +43 -0
  14. package/dist/execution-context.js.map +1 -0
  15. package/dist/guards/auth.guard.d.ts +9 -0
  16. package/dist/guards/auth.guard.js +41 -0
  17. package/dist/guards/auth.guard.js.map +1 -0
  18. package/dist/index.d.ts +11 -7
  19. package/dist/index.js +24 -7
  20. package/dist/index.js.map +1 -1
  21. package/dist/interfaces.d.ts +44 -0
  22. package/dist/{max.interface.js → interfaces.js} +1 -1
  23. package/dist/interfaces.js.map +1 -0
  24. package/dist/max.module.d.ts +21 -3
  25. package/dist/max.module.js +151 -28
  26. package/dist/max.module.js.map +1 -1
  27. package/dist/params.factory.d.ts +7 -0
  28. package/dist/params.factory.js +31 -0
  29. package/dist/params.factory.js.map +1 -0
  30. package/dist/scenes/base-scene.d.ts +22 -0
  31. package/dist/scenes/base-scene.js +39 -0
  32. package/dist/scenes/base-scene.js.map +1 -0
  33. package/dist/scenes/context.d.ts +17 -0
  34. package/dist/scenes/context.js +16 -0
  35. package/dist/scenes/context.js.map +1 -0
  36. package/dist/scenes/index.d.ts +11 -0
  37. package/dist/scenes/index.js +21 -0
  38. package/dist/scenes/index.js.map +1 -0
  39. package/dist/scenes/scene-context.d.ts +38 -0
  40. package/dist/scenes/scene-context.js +95 -0
  41. package/dist/scenes/scene-context.js.map +1 -0
  42. package/dist/scenes/session.d.ts +36 -0
  43. package/dist/scenes/session.js +63 -0
  44. package/dist/scenes/session.js.map +1 -0
  45. package/dist/scenes/stage.d.ts +35 -0
  46. package/dist/scenes/stage.js +66 -0
  47. package/dist/scenes/stage.js.map +1 -0
  48. package/dist/scenes/wizard-context.d.ts +28 -0
  49. package/dist/scenes/wizard-context.js +36 -0
  50. package/dist/scenes/wizard-context.js.map +1 -0
  51. package/dist/scenes/wizard-scene.d.ts +19 -0
  52. package/dist/scenes/wizard-scene.js +49 -0
  53. package/dist/scenes/wizard-scene.js.map +1 -0
  54. package/dist/services/base-explorer.service.d.ts +7 -0
  55. package/dist/services/base-explorer.service.js +29 -0
  56. package/dist/services/base-explorer.service.js.map +1 -0
  57. package/dist/services/index.d.ts +3 -0
  58. package/dist/services/index.js +10 -0
  59. package/dist/services/index.js.map +1 -0
  60. package/dist/services/listeners-explorer.service.d.ts +33 -0
  61. package/dist/services/listeners-explorer.service.js +179 -0
  62. package/dist/services/listeners-explorer.service.js.map +1 -0
  63. package/dist/services/metadata-accessor.service.d.ts +12 -0
  64. package/dist/services/metadata-accessor.service.js +44 -0
  65. package/dist/services/metadata-accessor.service.js.map +1 -0
  66. package/dist/types.d.ts +0 -1
  67. package/dist/utils.d.ts +12 -0
  68. package/dist/utils.js +41 -0
  69. package/dist/utils.js.map +1 -0
  70. package/dist/validation.d.ts +9 -0
  71. package/dist/{max-auth.guard.js → validation.js} +11 -19
  72. package/dist/validation.js.map +1 -0
  73. package/package.json +4 -3
  74. package/dist/max-auth.guard.d.ts +0 -9
  75. package/dist/max-auth.guard.js.map +0 -1
  76. package/dist/max-user.decorator.js.map +0 -1
  77. package/dist/max.constants.d.ts +0 -3
  78. package/dist/max.constants.js +0 -7
  79. package/dist/max.constants.js.map +0 -1
  80. package/dist/max.interface.d.ts +0 -17
  81. package/dist/max.interface.js.map +0 -1
  82. /package/dist/{max-user.decorator.d.ts → decorators/auth.d.ts} +0 -0
package/dist/utils.js ADDED
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createParamDecorator = exports.getBotToken = void 0;
4
+ exports.createListenerDecorator = createListenerDecorator;
5
+ const common_1 = require("@nestjs/common");
6
+ const constants_1 = require("./constants");
7
+ /** DI-токен бота по имени (`undefined` → дефолтный бот). */
8
+ const getBotToken = (name) => {
9
+ return name ? `${name}_MaxBot` : constants_1.DEFAULT_BOT_NAME;
10
+ };
11
+ exports.getBotToken = getBotToken;
12
+ /**
13
+ * Фабрика декораторов-слушателей методов (`@Command`, `@On`, ...). Складывает в
14
+ * метаданные метода список `{ method, args }`, который explorer применяет к
15
+ * composer'у: `composer[method](...args, handler)`. Порт nestjs-telegraf.
16
+ */
17
+ function createListenerDecorator(method) {
18
+ return (...args) => {
19
+ return (target, _key, descriptor) => {
20
+ const metadata = [{ method, args }];
21
+ if (descriptor) {
22
+ const previous = Reflect.getMetadata(constants_1.LISTENERS_METADATA, descriptor.value) || [];
23
+ Reflect.defineMetadata(constants_1.LISTENERS_METADATA, [...previous, ...metadata], descriptor.value);
24
+ return descriptor;
25
+ }
26
+ Reflect.defineMetadata(constants_1.LISTENERS_METADATA, metadata, target);
27
+ return target;
28
+ };
29
+ };
30
+ }
31
+ /** Фабрика параметр-декораторов (`@Ctx`, `@Message`, ...). Порт nestjs-telegraf. */
32
+ const createParamDecorator = (paramtype) => {
33
+ return (data) => {
34
+ return (target, key, index) => {
35
+ const args = Reflect.getMetadata(constants_1.PARAM_ARGS_METADATA, target.constructor, key) || {};
36
+ Reflect.defineMetadata(constants_1.PARAM_ARGS_METADATA, (0, common_1.assignMetadata)(args, paramtype, index, data), target.constructor, key);
37
+ };
38
+ };
39
+ };
40
+ exports.createParamDecorator = createParamDecorator;
41
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;AAcA,0DAgBC;AA9BD,2CAA+C;AAC/C,2CAAqG;AAGrG,4DAA4D;AACrD,MAAM,WAAW,GAAG,CAAC,IAAa,EAAU,EAAE;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,4BAAgB,CAAA;AACnD,CAAC,CAAA;AAFY,QAAA,WAAW,eAEvB;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAc,MAAkC;IACrF,OAAO,CAAC,GAAG,IAAS,EAAmB,EAAE;QACvC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,UAAyC,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAuB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAA;YAEvD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,QAAQ,GACZ,OAAO,CAAC,WAAW,CAAC,8BAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;gBACjE,OAAO,CAAC,cAAc,CAAC,8BAAkB,EAAE,CAAC,GAAG,QAAQ,EAAE,GAAG,QAAQ,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAA;gBACxF,OAAO,UAAU,CAAA;YACnB,CAAC;YAED,OAAO,CAAC,cAAc,CAAC,8BAAkB,EAAE,QAAQ,EAAE,MAAgB,CAAC,CAAA;YACtE,OAAO,MAAM,CAAA;QACf,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED,oFAAoF;AAC7E,MAAM,oBAAoB,GAAG,CAAC,SAAuB,EAAE,EAAE;IAC9D,OAAO,CAAC,IAAa,EAAsB,EAAE;QAC3C,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,+BAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,GAAI,CAAC,IAAI,EAAE,CAAA;YACrF,OAAO,CAAC,cAAc,CACpB,+BAAmB,EACnB,IAAA,uBAAc,EAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,EAC5C,MAAM,CAAC,WAAW,EAClB,GAAI,CACL,CAAA;QACH,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC,CAAA;AAZY,QAAA,oBAAoB,wBAYhC"}
@@ -0,0 +1,9 @@
1
+ import type { MaxInitData } from './types';
2
+ import { MaxModuleOptions } from './interfaces';
3
+ export declare class MaxValidationService {
4
+ private readonly options;
5
+ constructor(options: MaxModuleOptions);
6
+ verify(rawInitData: string): MaxInitData;
7
+ private validateInitData;
8
+ private parseInitData;
9
+ }
@@ -12,30 +12,22 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.MaxAuthGuard = void 0;
15
+ exports.MaxValidationService = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
- const max_constants_1 = require("./max.constants");
18
17
  const crypto_1 = require("crypto");
19
- const max_constants_2 = require("./max.constants");
20
18
  const utils_nodejs_1 = require("@companix/utils-nodejs");
21
- let MaxAuthGuard = class MaxAuthGuard {
19
+ const constants_1 = require("./constants");
20
+ let MaxValidationService = class MaxValidationService {
22
21
  constructor(options) {
23
22
  this.options = options;
24
23
  }
25
- canActivate(context) {
26
- const request = context.switchToHttp().getRequest();
27
- const rawInitData = request.headers[this.options.headerName];
28
- if (!rawInitData || typeof rawInitData !== 'string') {
29
- throw new common_1.UnauthorizedException('MAX init data is missing');
30
- }
24
+ verify(rawInitData) {
31
25
  try {
32
26
  const { initData, entities } = this.parseInitData(rawInitData);
33
27
  if (!this.validateInitData(entities, initData.hash)) {
34
28
  throw new common_1.UnauthorizedException('Invalid MAX init data signature');
35
29
  }
36
- request.maxInitData = initData;
37
- request.maxUser = initData.user;
38
- return true;
30
+ return initData;
39
31
  }
40
32
  catch (error) {
41
33
  if (error instanceof common_1.HttpException) {
@@ -50,7 +42,7 @@ let MaxAuthGuard = class MaxAuthGuard {
50
42
  .sort(([leftKey], [rightKey]) => leftKey.localeCompare(rightKey))
51
43
  .map(([key, value]) => `${key}=${value}`)
52
44
  .join('\n');
53
- const secretKey = (0, crypto_1.createHmac)('sha256', max_constants_2.MAX_WEB_APP_DATA_KEY).update(this.options.botToken).digest();
45
+ const secretKey = (0, crypto_1.createHmac)('sha256', constants_1.MAX_WEB_APP_DATA_KEY).update(this.options.token).digest();
54
46
  const calculatedHash = (0, crypto_1.createHmac)('sha256', secretKey).update(dataCheckString).digest('hex');
55
47
  return (0, utils_nodejs_1.safeEqual)(calculatedHash, hash);
56
48
  }
@@ -92,12 +84,12 @@ let MaxAuthGuard = class MaxAuthGuard {
92
84
  };
93
85
  }
94
86
  };
95
- exports.MaxAuthGuard = MaxAuthGuard;
96
- exports.MaxAuthGuard = MaxAuthGuard = __decorate([
87
+ exports.MaxValidationService = MaxValidationService;
88
+ exports.MaxValidationService = MaxValidationService = __decorate([
97
89
  (0, common_1.Injectable)(),
98
- __param(0, (0, common_1.Inject)(max_constants_1.MAX_OPTIONS_SYMBOL)),
90
+ __param(0, (0, common_1.Inject)(constants_1.MAX_MODULE_OPTIONS)),
99
91
  __metadata("design:paramtypes", [Object])
100
- ], MaxAuthGuard);
92
+ ], MaxValidationService);
101
93
  const parseRequiredInteger = (key, value) => {
102
94
  const parsed = Number.parseInt(value, 10);
103
95
  if (!Number.isFinite(parsed)) {
@@ -113,4 +105,4 @@ const parseJsonValue = (key, value) => {
113
105
  throw new common_1.BadRequestException(`Invalid MAX init data JSON value for "${key}"`);
114
106
  }
115
107
  };
116
- //# sourceMappingURL=max-auth.guard.js.map
108
+ //# sourceMappingURL=validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "max-nestjs",
3
- "version": "0.0.4",
3
+ "version": "0.0.6",
4
4
  "description": "NestJS helpers for validating MAX Mini App init data.",
5
5
  "files": [
6
6
  "dist",
@@ -22,8 +22,9 @@
22
22
  "build": "rm -rf dist && tsc -p tsconfig.json"
23
23
  },
24
24
  "dependencies": {
25
- "max-bridge": "*",
26
- "@companix/utils-nodejs": "*"
25
+ "@companix/utils-nodejs": "*",
26
+ "@maxhub/max-bot-api": "^0.2.2",
27
+ "max-bridge": "*"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@nestjs/common": "^11.1.17",
@@ -1,9 +0,0 @@
1
- import { CanActivate, type ExecutionContext } from '@nestjs/common';
2
- import type { MaxResolvedModuleOptions } from './max.interface';
3
- export declare class MaxAuthGuard implements CanActivate {
4
- private readonly options;
5
- constructor(options: MaxResolvedModuleOptions);
6
- canActivate(context: ExecutionContext): boolean;
7
- private validateInitData;
8
- private parseInitData;
9
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"max-auth.guard.js","sourceRoot":"","sources":["../src/max-auth.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAQuB;AACvB,mDAAoD;AAGpD,mCAAmC;AACnC,mDAAsD;AAEtD,yDAAkD;AAG3C,IAAM,YAAY,GAAlB,MAAM,YAAY;IACvB,YAEmB,OAAiC;QAAjC,YAAO,GAAP,OAAO,CAA0B;IACjD,CAAC;IAEG,WAAW,CAAC,OAAyB;QAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAc,CAAA;QAC/D,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAE5D,IAAI,CAAC,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,IAAI,8BAAqB,CAAC,0BAA0B,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAA;YAE9D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,IAAI,8BAAqB,CAAC,iCAAiC,CAAC,CAAA;YACpE,CAAC;YAED,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAA;YAC9B,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAA;YAE/B,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,sBAAa,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAA;YACb,CAAC;YAED,MAAM,IAAI,8BAAqB,CAAC,kCAAkC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,QAA4B,EAAE,IAAY;QACjE,MAAM,eAAe,GAAG,QAAQ;aAC7B,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aAChE,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,MAAM,SAAS,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,oCAAoB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;QACnG,MAAM,cAAc,GAAG,IAAA,mBAAU,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QAE5F,OAAO,IAAA,wBAAS,EAAC,cAAc,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAEO,aAAa,CAAC,WAAmB;QACvC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;QAC7C,MAAM,QAAQ,GAAyB,EAAE,CAAA;QAEzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,QAAQ,EAAE,CAAC;YACpC,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,WAAW;oBACd,QAAQ,CAAC,SAAS,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBACrD,MAAK;gBACP,KAAK,MAAM;oBACT,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAA;oBACrB,MAAK;gBACP,KAAK,IAAI;oBACP,QAAQ,CAAC,EAAE,GAAG,KAAK,CAAA;oBACnB,MAAK;gBACP,KAAK,UAAU;oBACb,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACzB,MAAK;gBACP,KAAK,aAAa;oBAChB,QAAQ,CAAC,WAAW,GAAG,KAAK,CAAA;oBAC5B,MAAK;gBACP,KAAK,MAAM;oBACT,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBAC1C,MAAK;gBACP,KAAK,MAAM;oBACT,QAAQ,CAAC,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBAC1C,MAAK;YACT,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,IAAI,4BAAmB,CAAC,0BAA0B,CAAC,CAAA;QAC3D,CAAC;QAED,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,QAAuB;SAClC,CAAA;IACH,CAAC;CACF,CAAA;AAvFY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,kCAAkB,CAAC,CAAA;;GAFlB,YAAY,CAuFxB;AAED,MAAM,oBAAoB,GAAG,CAAC,GAAW,EAAE,KAAa,EAAU,EAAE;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;IAEzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,4BAAmB,CAAC,4CAA4C,GAAG,GAAG,CAAC,CAAA;IACnF,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAED,MAAM,cAAc,GAAG,CAAI,GAAW,EAAE,KAAa,EAAK,EAAE;IAC1D,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAA;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,4BAAmB,CAAC,yCAAyC,GAAG,GAAG,CAAC,CAAA;IAChF,CAAC;AACH,CAAC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"max-user.decorator.js","sourceRoot":"","sources":["../src/max-user.decorator.ts"],"names":[],"mappings":";;;AAAA,2CAA4E;AAG/D,QAAA,OAAO,GAAG,IAAA,6BAAoB,EACzC,CAAC,OAAiC,IAAI,EAAE,GAAqB,EAAE,EAAE;IAC/D,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC,UAAU,EAAc,CAAA;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAA;IAE5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACjC,CAAC,CACF,CAAA"}
@@ -1,3 +0,0 @@
1
- export declare const MAX_OPTIONS_SYMBOL: unique symbol;
2
- export declare const MAX_WEB_APP_DATA_KEY = "WebAppData";
3
- export declare const DEFAULT_MAX_INIT_DATA_HEADER = "x-max-init-data";
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_MAX_INIT_DATA_HEADER = exports.MAX_WEB_APP_DATA_KEY = exports.MAX_OPTIONS_SYMBOL = void 0;
4
- exports.MAX_OPTIONS_SYMBOL = Symbol('MaxOptionsSymbol');
5
- exports.MAX_WEB_APP_DATA_KEY = 'WebAppData';
6
- exports.DEFAULT_MAX_INIT_DATA_HEADER = 'x-max-init-data';
7
- //# sourceMappingURL=max.constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"max.constants.js","sourceRoot":"","sources":["../src/max.constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAA;AAE/C,QAAA,oBAAoB,GAAG,YAAY,CAAA;AACnC,QAAA,4BAA4B,GAAG,iBAAiB,CAAA"}
@@ -1,17 +0,0 @@
1
- import type { FactoryProvider, ModuleMetadata } from '@nestjs/common';
2
- export type MaxModuleOptions = {
3
- /**
4
- * Токен бота MAX, используемый для проверки подписи init data.
5
- */
6
- botToken: string;
7
- /**
8
- * Имя HTTP-заголовка, из которого guard читает raw init data.
9
- * По умолчанию: `x-max-init-data`.
10
- */
11
- headerName?: string;
12
- };
13
- export type MaxResolvedModuleOptions = {
14
- botToken: string;
15
- headerName: string;
16
- };
17
- export type MaxModuleAsyncOptions = Pick<ModuleMetadata, 'imports'> & Pick<FactoryProvider<MaxModuleOptions>, 'useFactory' | 'inject'>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"max.interface.js","sourceRoot":"","sources":["../src/max.interface.ts"],"names":[],"mappings":""}