@mondart/nestjs-common-module-google-recaptcha 3.0.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.
Files changed (133) hide show
  1. package/dist/decorators/recaptcha-result.d.ts +2 -0
  2. package/dist/decorators/recaptcha-result.d.ts.map +1 -0
  3. package/dist/decorators/recaptcha-result.js +17 -0
  4. package/dist/decorators/recaptcha-result.js.map +1 -0
  5. package/dist/decorators/recaptcha.d.ts +3 -0
  6. package/dist/decorators/recaptcha.d.ts.map +1 -0
  7. package/dist/decorators/recaptcha.js +10 -0
  8. package/dist/decorators/recaptcha.js.map +1 -0
  9. package/dist/decorators/set-recaptcha-options.d.ts +3 -0
  10. package/dist/decorators/set-recaptcha-options.d.ts.map +1 -0
  11. package/dist/decorators/set-recaptcha-options.js +9 -0
  12. package/dist/decorators/set-recaptcha-options.js.map +1 -0
  13. package/dist/enums/classification-reason.d.ts +9 -0
  14. package/dist/enums/classification-reason.d.ts.map +1 -0
  15. package/dist/enums/classification-reason.js +13 -0
  16. package/dist/enums/classification-reason.js.map +1 -0
  17. package/dist/enums/error-code.d.ts +17 -0
  18. package/dist/enums/error-code.d.ts.map +1 -0
  19. package/dist/enums/error-code.js +21 -0
  20. package/dist/enums/error-code.js.map +1 -0
  21. package/dist/enums/google-recaptcha-context.d.ts +5 -0
  22. package/dist/enums/google-recaptcha-context.d.ts.map +1 -0
  23. package/dist/enums/google-recaptcha-context.js +9 -0
  24. package/dist/enums/google-recaptcha-context.js.map +1 -0
  25. package/dist/enums/google-recaptcha-enterprise-reason.d.ts +11 -0
  26. package/dist/enums/google-recaptcha-enterprise-reason.d.ts.map +1 -0
  27. package/dist/enums/google-recaptcha-enterprise-reason.js +15 -0
  28. package/dist/enums/google-recaptcha-enterprise-reason.js.map +1 -0
  29. package/dist/enums/google-recaptcha-network.d.ts +5 -0
  30. package/dist/enums/google-recaptcha-network.d.ts.map +1 -0
  31. package/dist/enums/google-recaptcha-network.js +9 -0
  32. package/dist/enums/google-recaptcha-network.js.map +1 -0
  33. package/dist/exceptions/google-recaptcha-network.exception.d.ts +6 -0
  34. package/dist/exceptions/google-recaptcha-network.exception.d.ts.map +1 -0
  35. package/dist/exceptions/google-recaptcha-network.exception.js +15 -0
  36. package/dist/exceptions/google-recaptcha-network.exception.js.map +1 -0
  37. package/dist/exceptions/google-recaptcha.exception.d.ts +9 -0
  38. package/dist/exceptions/google-recaptcha.exception.d.ts.map +1 -0
  39. package/dist/exceptions/google-recaptcha.exception.js +55 -0
  40. package/dist/exceptions/google-recaptcha.exception.js.map +1 -0
  41. package/dist/google-recaptcha.module.d.ts +13 -0
  42. package/dist/google-recaptcha.module.d.ts.map +1 -0
  43. package/dist/google-recaptcha.module.js +162 -0
  44. package/dist/google-recaptcha.module.js.map +1 -0
  45. package/dist/guards/google-recaptcha.guard.d.ts +16 -0
  46. package/dist/guards/google-recaptcha.guard.d.ts.map +1 -0
  47. package/dist/guards/google-recaptcha.guard.js +90 -0
  48. package/dist/guards/google-recaptcha.guard.js.map +1 -0
  49. package/dist/helpers/get-error-info.d.ts +5 -0
  50. package/dist/helpers/get-error-info.d.ts.map +1 -0
  51. package/dist/helpers/get-error-info.js +14 -0
  52. package/dist/helpers/get-error-info.js.map +1 -0
  53. package/dist/helpers/load-module.d.ts +3 -0
  54. package/dist/helpers/load-module.d.ts.map +1 -0
  55. package/dist/helpers/load-module.js +16 -0
  56. package/dist/helpers/load-module.js.map +1 -0
  57. package/dist/index.d.ts +16 -0
  58. package/dist/index.d.ts.map +1 -0
  59. package/dist/index.js +32 -0
  60. package/dist/index.js.map +1 -0
  61. package/dist/interfaces/google-recaptcha-enterprise-options.d.ts +6 -0
  62. package/dist/interfaces/google-recaptcha-enterprise-options.d.ts.map +1 -0
  63. package/dist/interfaces/google-recaptcha-enterprise-options.js +3 -0
  64. package/dist/interfaces/google-recaptcha-enterprise-options.js.map +1 -0
  65. package/dist/interfaces/google-recaptcha-guard-options.d.ts +8 -0
  66. package/dist/interfaces/google-recaptcha-guard-options.d.ts.map +1 -0
  67. package/dist/interfaces/google-recaptcha-guard-options.js +3 -0
  68. package/dist/interfaces/google-recaptcha-guard-options.js.map +1 -0
  69. package/dist/interfaces/google-recaptcha-module-options.d.ts +22 -0
  70. package/dist/interfaces/google-recaptcha-module-options.d.ts.map +1 -0
  71. package/dist/interfaces/google-recaptcha-module-options.js +3 -0
  72. package/dist/interfaces/google-recaptcha-module-options.js.map +1 -0
  73. package/dist/interfaces/google-recaptcha-validator-options.d.ts +13 -0
  74. package/dist/interfaces/google-recaptcha-validator-options.d.ts.map +1 -0
  75. package/dist/interfaces/google-recaptcha-validator-options.js +3 -0
  76. package/dist/interfaces/google-recaptcha-validator-options.js.map +1 -0
  77. package/dist/interfaces/literal-object.d.ts +4 -0
  78. package/dist/interfaces/literal-object.d.ts.map +1 -0
  79. package/dist/interfaces/literal-object.js +3 -0
  80. package/dist/interfaces/literal-object.js.map +1 -0
  81. package/dist/interfaces/verify-response-decorator-options.d.ts +14 -0
  82. package/dist/interfaces/verify-response-decorator-options.d.ts.map +1 -0
  83. package/dist/interfaces/verify-response-decorator-options.js +3 -0
  84. package/dist/interfaces/verify-response-decorator-options.js.map +1 -0
  85. package/dist/interfaces/verify-response-enterprise.d.ts +31 -0
  86. package/dist/interfaces/verify-response-enterprise.d.ts.map +1 -0
  87. package/dist/interfaces/verify-response-enterprise.js +3 -0
  88. package/dist/interfaces/verify-response-enterprise.js.map +1 -0
  89. package/dist/interfaces/verify-response.d.ts +12 -0
  90. package/dist/interfaces/verify-response.d.ts.map +1 -0
  91. package/dist/interfaces/verify-response.js +3 -0
  92. package/dist/interfaces/verify-response.js.map +1 -0
  93. package/dist/models/recaptcha-config-ref.d.ts +13 -0
  94. package/dist/models/recaptcha-config-ref.d.ts.map +1 -0
  95. package/dist/models/recaptcha-config-ref.js +31 -0
  96. package/dist/models/recaptcha-config-ref.js.map +1 -0
  97. package/dist/models/recaptcha-verification-result.d.ts +27 -0
  98. package/dist/models/recaptcha-verification-result.d.ts.map +1 -0
  99. package/dist/models/recaptcha-verification-result.js +35 -0
  100. package/dist/models/recaptcha-verification-result.js.map +1 -0
  101. package/dist/provider.declarations.d.ts +5 -0
  102. package/dist/provider.declarations.d.ts.map +1 -0
  103. package/dist/provider.declarations.js +8 -0
  104. package/dist/provider.declarations.js.map +1 -0
  105. package/dist/services/enterprise-reason.transformer.d.ts +6 -0
  106. package/dist/services/enterprise-reason.transformer.d.ts.map +1 -0
  107. package/dist/services/enterprise-reason.transformer.js +39 -0
  108. package/dist/services/enterprise-reason.transformer.js.map +1 -0
  109. package/dist/services/recaptcha-request.resolver.d.ts +5 -0
  110. package/dist/services/recaptcha-request.resolver.d.ts.map +1 -0
  111. package/dist/services/recaptcha-request.resolver.js +33 -0
  112. package/dist/services/recaptcha-request.resolver.js.map +1 -0
  113. package/dist/services/recaptcha-validator.resolver.d.ts +12 -0
  114. package/dist/services/recaptcha-validator.resolver.d.ts.map +1 -0
  115. package/dist/services/recaptcha-validator.resolver.js +41 -0
  116. package/dist/services/recaptcha-validator.resolver.js.map +1 -0
  117. package/dist/services/validators/abstract-google-recaptcha-validator.d.ts +12 -0
  118. package/dist/services/validators/abstract-google-recaptcha-validator.d.ts.map +1 -0
  119. package/dist/services/validators/abstract-google-recaptcha-validator.js +28 -0
  120. package/dist/services/validators/abstract-google-recaptcha-validator.js.map +1 -0
  121. package/dist/services/validators/google-recaptcha-enterprise.validator.d.ts +18 -0
  122. package/dist/services/validators/google-recaptcha-enterprise.validator.d.ts.map +1 -0
  123. package/dist/services/validators/google-recaptcha-enterprise.validator.js +127 -0
  124. package/dist/services/validators/google-recaptcha-enterprise.validator.js.map +1 -0
  125. package/dist/services/validators/google-recaptcha.validator.d.ts +18 -0
  126. package/dist/services/validators/google-recaptcha.validator.d.ts.map +1 -0
  127. package/dist/services/validators/google-recaptcha.validator.js +162 -0
  128. package/dist/services/validators/google-recaptcha.validator.js.map +1 -0
  129. package/dist/types.d.ts +7 -0
  130. package/dist/types.d.ts.map +1 -0
  131. package/dist/types.js +3 -0
  132. package/dist/types.js.map +1 -0
  133. package/package.json +33 -0
@@ -0,0 +1,2 @@
1
+ export declare const RecaptchaResult: (...dataOrPipes: any[]) => ParameterDecorator;
2
+ //# sourceMappingURL=recaptcha-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recaptcha-result.d.ts","sourceRoot":"","sources":["../../src/decorators/recaptcha-result.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,eAAe,+CAY3B,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecaptchaResult = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const load_module_1 = require("../helpers/load-module");
6
+ exports.RecaptchaResult = (0, common_1.createParamDecorator)((data, context) => {
7
+ switch (context.getType()) {
8
+ case 'http':
9
+ return context.switchToHttp().getRequest().recaptchaValidationResult;
10
+ case 'graphql':
11
+ return (0, load_module_1.loadModule)('@nestjs/graphql', true)
12
+ .GqlExecutionContext.create(context)
13
+ .getContext().req?.connection?._httpMessage?.req
14
+ ?.recaptchaValidationResult;
15
+ }
16
+ });
17
+ //# sourceMappingURL=recaptcha-result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recaptcha-result.js","sourceRoot":"","sources":["../../src/decorators/recaptcha-result.ts"],"names":[],"mappings":";;;AAAA,2CAAwE;AACxE,wDAAoD;AAEvC,QAAA,eAAe,GAAG,IAAA,6BAAoB,EACjD,CAAC,IAAI,EAAE,OAAyB,EAAE,EAAE;IAClC,QAAQ,OAAO,CAAC,OAAO,EAAsB,EAAE,CAAC;QAC9C,KAAK,MAAM;YACT,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAE,CAAC,yBAAyB,CAAC;QACvE,KAAK,SAAS;YACZ,OAAO,IAAA,wBAAU,EAAC,iBAAiB,EAAE,IAAI,CAAC;iBACvC,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC;iBACnC,UAAU,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG;gBAChD,EAAE,yBAAyB,CAAC;IAClC,CAAC;AACH,CAAC,CACF,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { VerifyResponseDecoratorOptions } from '../interfaces/verify-response-decorator-options';
2
+ export declare function Recaptcha(options?: VerifyResponseDecoratorOptions): MethodDecorator & ClassDecorator;
3
+ //# sourceMappingURL=recaptcha.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recaptcha.d.ts","sourceRoot":"","sources":["../../src/decorators/recaptcha.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAGjG,wBAAgB,SAAS,CACvB,OAAO,CAAC,EAAE,8BAA8B,GACvC,eAAe,GAAG,cAAc,CAKlC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Recaptcha = Recaptcha;
4
+ const common_1 = require("@nestjs/common");
5
+ const google_recaptcha_guard_1 = require("../guards/google-recaptcha.guard");
6
+ const set_recaptcha_options_1 = require("./set-recaptcha-options");
7
+ function Recaptcha(options) {
8
+ return (0, common_1.applyDecorators)((0, set_recaptcha_options_1.SetRecaptchaOptions)(options), (0, common_1.UseGuards)(google_recaptcha_guard_1.GoogleRecaptchaGuard));
9
+ }
10
+ //# sourceMappingURL=recaptcha.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recaptcha.js","sourceRoot":"","sources":["../../src/decorators/recaptcha.ts"],"names":[],"mappings":";;AAKA,8BAOC;AAZD,2CAA4D;AAC5D,6EAAwE;AAExE,mEAA8D;AAE9D,SAAgB,SAAS,CACvB,OAAwC;IAExC,OAAO,IAAA,wBAAe,EACpB,IAAA,2CAAmB,EAAC,OAAO,CAAC,EAC5B,IAAA,kBAAS,EAAC,6CAAoB,CAAC,CAChC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { VerifyResponseDecoratorOptions } from '../interfaces/verify-response-decorator-options';
2
+ export declare function SetRecaptchaOptions(options?: VerifyResponseDecoratorOptions): MethodDecorator & ClassDecorator;
3
+ //# sourceMappingURL=set-recaptcha-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-recaptcha-options.d.ts","sourceRoot":"","sources":["../../src/decorators/set-recaptcha-options.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AAGjG,wBAAgB,mBAAmB,CACjC,OAAO,CAAC,EAAE,8BAA8B,GACvC,eAAe,GAAG,cAAc,CAElC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SetRecaptchaOptions = SetRecaptchaOptions;
4
+ const common_1 = require("@nestjs/common");
5
+ const provider_declarations_1 = require("../provider.declarations");
6
+ function SetRecaptchaOptions(options) {
7
+ return (0, common_1.SetMetadata)(provider_declarations_1.RECAPTCHA_VALIDATION_OPTIONS, options);
8
+ }
9
+ //# sourceMappingURL=set-recaptcha-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-recaptcha-options.js","sourceRoot":"","sources":["../../src/decorators/set-recaptcha-options.ts"],"names":[],"mappings":";;AAIA,kDAIC;AARD,2CAA6C;AAE7C,oEAAwE;AAExE,SAAgB,mBAAmB,CACjC,OAAwC;IAExC,OAAO,IAAA,oBAAW,EAAC,oDAA4B,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare enum ClassificationReason {
2
+ CLASSIFICATION_REASON_UNSPECIFIED = "CLASSIFICATION_REASON_UNSPECIFIED",
3
+ AUTOMATION = "AUTOMATION",
4
+ UNEXPECTED_ENVIRONMENT = "UNEXPECTED_ENVIRONMENT",
5
+ TOO_MUCH_TRAFFIC = "TOO_MUCH_TRAFFIC",
6
+ UNEXPECTED_USAGE_PATTERNS = "UNEXPECTED_USAGE_PATTERNS",
7
+ LOW_CONFIDENCE_SCORE = "LOW_CONFIDENCE_SCORE"
8
+ }
9
+ //# sourceMappingURL=classification-reason.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-reason.d.ts","sourceRoot":"","sources":["../../src/enums/classification-reason.ts"],"names":[],"mappings":"AAAA,oBAAY,oBAAoB;IAC9B,iCAAiC,sCAAsC;IACvE,UAAU,eAAe;IACzB,sBAAsB,2BAA2B;IACjD,gBAAgB,qBAAqB;IACrC,yBAAyB,8BAA8B;IACvD,oBAAoB,yBAAyB;CAC9C"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClassificationReason = void 0;
4
+ var ClassificationReason;
5
+ (function (ClassificationReason) {
6
+ ClassificationReason["CLASSIFICATION_REASON_UNSPECIFIED"] = "CLASSIFICATION_REASON_UNSPECIFIED";
7
+ ClassificationReason["AUTOMATION"] = "AUTOMATION";
8
+ ClassificationReason["UNEXPECTED_ENVIRONMENT"] = "UNEXPECTED_ENVIRONMENT";
9
+ ClassificationReason["TOO_MUCH_TRAFFIC"] = "TOO_MUCH_TRAFFIC";
10
+ ClassificationReason["UNEXPECTED_USAGE_PATTERNS"] = "UNEXPECTED_USAGE_PATTERNS";
11
+ ClassificationReason["LOW_CONFIDENCE_SCORE"] = "LOW_CONFIDENCE_SCORE";
12
+ })(ClassificationReason || (exports.ClassificationReason = ClassificationReason = {}));
13
+ //# sourceMappingURL=classification-reason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"classification-reason.js","sourceRoot":"","sources":["../../src/enums/classification-reason.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,+FAAuE,CAAA;IACvE,iDAAyB,CAAA;IACzB,yEAAiD,CAAA;IACjD,6DAAqC,CAAA;IACrC,+EAAuD,CAAA;IACvD,qEAA6C,CAAA;AAC/C,CAAC,EAPW,oBAAoB,oCAApB,oBAAoB,QAO/B"}
@@ -0,0 +1,17 @@
1
+ export declare enum ErrorCode {
2
+ MissingInputSecret = "missing-input-secret",
3
+ InvalidInputSecret = "invalid-input-secret",
4
+ MissingInputResponse = "missing-input-response",
5
+ InvalidInputResponse = "invalid-input-response",
6
+ BadRequest = "bad-request",
7
+ TimeoutOrDuplicate = "timeout-or-duplicate",
8
+ UnknownError = "unknown-error",
9
+ ForbiddenAction = "forbidden-action",
10
+ LowScore = "low-score",
11
+ InvalidKeys = "invalid-keys",
12
+ IncorrectCaptchaSol = "incorrect-captcha-sol",
13
+ NetworkError = "network-error",
14
+ SiteMismatch = "site-mismatch",
15
+ BrowserError = "browser-error"
16
+ }
17
+ //# sourceMappingURL=error-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-code.d.ts","sourceRoot":"","sources":["../../src/enums/error-code.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,kBAAkB,yBAAyB;IAC3C,kBAAkB,yBAAyB;IAC3C,oBAAoB,2BAA2B;IAC/C,oBAAoB,2BAA2B;IAC/C,UAAU,gBAAgB;IAC1B,kBAAkB,yBAAyB;IAC3C,YAAY,kBAAkB;IAC9B,eAAe,qBAAqB;IACpC,QAAQ,cAAc;IACtB,WAAW,iBAAiB;IAC5B,mBAAmB,0BAA0B;IAC7C,YAAY,kBAAkB;IAE9B,YAAY,kBAAkB;IAC9B,YAAY,kBAAkB;CAC/B"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCode = void 0;
4
+ var ErrorCode;
5
+ (function (ErrorCode) {
6
+ ErrorCode["MissingInputSecret"] = "missing-input-secret";
7
+ ErrorCode["InvalidInputSecret"] = "invalid-input-secret";
8
+ ErrorCode["MissingInputResponse"] = "missing-input-response";
9
+ ErrorCode["InvalidInputResponse"] = "invalid-input-response";
10
+ ErrorCode["BadRequest"] = "bad-request";
11
+ ErrorCode["TimeoutOrDuplicate"] = "timeout-or-duplicate";
12
+ ErrorCode["UnknownError"] = "unknown-error";
13
+ ErrorCode["ForbiddenAction"] = "forbidden-action";
14
+ ErrorCode["LowScore"] = "low-score";
15
+ ErrorCode["InvalidKeys"] = "invalid-keys";
16
+ ErrorCode["IncorrectCaptchaSol"] = "incorrect-captcha-sol";
17
+ ErrorCode["NetworkError"] = "network-error";
18
+ ErrorCode["SiteMismatch"] = "site-mismatch";
19
+ ErrorCode["BrowserError"] = "browser-error";
20
+ })(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
21
+ //# sourceMappingURL=error-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error-code.js","sourceRoot":"","sources":["../../src/enums/error-code.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAgBX;AAhBD,WAAY,SAAS;IACnB,wDAA2C,CAAA;IAC3C,wDAA2C,CAAA;IAC3C,4DAA+C,CAAA;IAC/C,4DAA+C,CAAA;IAC/C,uCAA0B,CAAA;IAC1B,wDAA2C,CAAA;IAC3C,2CAA8B,CAAA;IAC9B,iDAAoC,CAAA;IACpC,mCAAsB,CAAA;IACtB,yCAA4B,CAAA;IAC5B,0DAA6C,CAAA;IAC7C,2CAA8B,CAAA;IAE9B,2CAA8B,CAAA;IAC9B,2CAA8B,CAAA;AAChC,CAAC,EAhBW,SAAS,yBAAT,SAAS,QAgBpB"}
@@ -0,0 +1,5 @@
1
+ export declare enum GoogleRecaptchaContext {
2
+ GoogleRecaptcha = "GoogleRecaptcha",
3
+ GoogleRecaptchaEnterprise = "GoogleRecaptchaEnterprise"
4
+ }
5
+ //# sourceMappingURL=google-recaptcha-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-context.d.ts","sourceRoot":"","sources":["../../src/enums/google-recaptcha-context.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC,eAAe,oBAAoB;IACnC,yBAAyB,8BAA8B;CACxD"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleRecaptchaContext = void 0;
4
+ var GoogleRecaptchaContext;
5
+ (function (GoogleRecaptchaContext) {
6
+ GoogleRecaptchaContext["GoogleRecaptcha"] = "GoogleRecaptcha";
7
+ GoogleRecaptchaContext["GoogleRecaptchaEnterprise"] = "GoogleRecaptchaEnterprise";
8
+ })(GoogleRecaptchaContext || (exports.GoogleRecaptchaContext = GoogleRecaptchaContext = {}));
9
+ //# sourceMappingURL=google-recaptcha-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-context.js","sourceRoot":"","sources":["../../src/enums/google-recaptcha-context.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,6DAAmC,CAAA;IACnC,iFAAuD,CAAA;AACzD,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
@@ -0,0 +1,11 @@
1
+ export declare enum GoogleRecaptchaEnterpriseReason {
2
+ InvalidReasonUnspecified = "INVALID_REASON_UNSPECIFIED",
3
+ UnknownInvalidReason = "UNKNOWN_INVALID_REASON",
4
+ Malformed = "MALFORMED",
5
+ Expired = "EXPIRED",
6
+ Dupe = "DUPE",
7
+ SiteMismatch = "SITE_MISMATCH",
8
+ Missing = "MISSING",
9
+ BrowserError = "BROWSER_ERROR"
10
+ }
11
+ //# sourceMappingURL=google-recaptcha-enterprise-reason.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-enterprise-reason.d.ts","sourceRoot":"","sources":["../../src/enums/google-recaptcha-enterprise-reason.ts"],"names":[],"mappings":"AAAA,oBAAY,+BAA+B;IACzC,wBAAwB,+BAA+B;IACvD,oBAAoB,2BAA2B;IAC/C,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,YAAY,kBAAkB;IAC9B,OAAO,YAAY;IACnB,YAAY,kBAAkB;CAC/B"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleRecaptchaEnterpriseReason = void 0;
4
+ var GoogleRecaptchaEnterpriseReason;
5
+ (function (GoogleRecaptchaEnterpriseReason) {
6
+ GoogleRecaptchaEnterpriseReason["InvalidReasonUnspecified"] = "INVALID_REASON_UNSPECIFIED";
7
+ GoogleRecaptchaEnterpriseReason["UnknownInvalidReason"] = "UNKNOWN_INVALID_REASON";
8
+ GoogleRecaptchaEnterpriseReason["Malformed"] = "MALFORMED";
9
+ GoogleRecaptchaEnterpriseReason["Expired"] = "EXPIRED";
10
+ GoogleRecaptchaEnterpriseReason["Dupe"] = "DUPE";
11
+ GoogleRecaptchaEnterpriseReason["SiteMismatch"] = "SITE_MISMATCH";
12
+ GoogleRecaptchaEnterpriseReason["Missing"] = "MISSING";
13
+ GoogleRecaptchaEnterpriseReason["BrowserError"] = "BROWSER_ERROR";
14
+ })(GoogleRecaptchaEnterpriseReason || (exports.GoogleRecaptchaEnterpriseReason = GoogleRecaptchaEnterpriseReason = {}));
15
+ //# sourceMappingURL=google-recaptcha-enterprise-reason.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-enterprise-reason.js","sourceRoot":"","sources":["../../src/enums/google-recaptcha-enterprise-reason.ts"],"names":[],"mappings":";;;AAAA,IAAY,+BASX;AATD,WAAY,+BAA+B;IACzC,0FAAuD,CAAA;IACvD,kFAA+C,CAAA;IAC/C,0DAAuB,CAAA;IACvB,sDAAmB,CAAA;IACnB,gDAAa,CAAA;IACb,iEAA8B,CAAA;IAC9B,sDAAmB,CAAA;IACnB,iEAA8B,CAAA;AAChC,CAAC,EATW,+BAA+B,+CAA/B,+BAA+B,QAS1C"}
@@ -0,0 +1,5 @@
1
+ export declare enum GoogleRecaptchaNetwork {
2
+ Google = "https://www.google.com/recaptcha/api/siteverify",
3
+ Recaptcha = "https://recaptcha.net/recaptcha/api/siteverify"
4
+ }
5
+ //# sourceMappingURL=google-recaptcha-network.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-network.d.ts","sourceRoot":"","sources":["../../src/enums/google-recaptcha-network.ts"],"names":[],"mappings":"AAAA,oBAAY,sBAAsB;IAChC,MAAM,oDAAoD;IAC1D,SAAS,mDAAmD;CAC7D"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleRecaptchaNetwork = void 0;
4
+ var GoogleRecaptchaNetwork;
5
+ (function (GoogleRecaptchaNetwork) {
6
+ GoogleRecaptchaNetwork["Google"] = "https://www.google.com/recaptcha/api/siteverify";
7
+ GoogleRecaptchaNetwork["Recaptcha"] = "https://recaptcha.net/recaptcha/api/siteverify";
8
+ })(GoogleRecaptchaNetwork || (exports.GoogleRecaptchaNetwork = GoogleRecaptchaNetwork = {}));
9
+ //# sourceMappingURL=google-recaptcha-network.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-network.js","sourceRoot":"","sources":["../../src/enums/google-recaptcha-network.ts"],"names":[],"mappings":";;;AAAA,IAAY,sBAGX;AAHD,WAAY,sBAAsB;IAChC,oFAA0D,CAAA;IAC1D,sFAA4D,CAAA;AAC9D,CAAC,EAHW,sBAAsB,sCAAtB,sBAAsB,QAGjC"}
@@ -0,0 +1,6 @@
1
+ import { GoogleRecaptchaException } from './google-recaptcha.exception';
2
+ export declare class GoogleRecaptchaNetworkException extends GoogleRecaptchaException {
3
+ readonly networkErrorCode?: string;
4
+ constructor(networkErrorCode?: string);
5
+ }
6
+ //# sourceMappingURL=google-recaptcha-network.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-network.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha-network.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,qBAAa,+BAAgC,SAAQ,wBAAwB;aAC/C,gBAAgB,CAAC,EAAE,MAAM;gBAAzB,gBAAgB,CAAC,EAAE,MAAM;CAQtD"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleRecaptchaNetworkException = void 0;
4
+ const google_recaptcha_exception_1 = require("./google-recaptcha.exception");
5
+ const error_code_1 = require("../enums/error-code");
6
+ class GoogleRecaptchaNetworkException extends google_recaptcha_exception_1.GoogleRecaptchaException {
7
+ constructor(networkErrorCode) {
8
+ super([error_code_1.ErrorCode.NetworkError], networkErrorCode
9
+ ? `Network error '${networkErrorCode}'.`
10
+ : 'Unknown network error.');
11
+ this.networkErrorCode = networkErrorCode;
12
+ }
13
+ }
14
+ exports.GoogleRecaptchaNetworkException = GoogleRecaptchaNetworkException;
15
+ //# sourceMappingURL=google-recaptcha-network.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha-network.exception.js","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha-network.exception.ts"],"names":[],"mappings":";;;AAAA,6EAAwE;AACxE,oDAAgD;AAEhD,MAAa,+BAAgC,SAAQ,qDAAwB;IAC3E,YAA4B,gBAAyB;QACnD,KAAK,CACH,CAAC,sBAAS,CAAC,YAAY,CAAC,EACxB,gBAAgB;YACd,CAAC,CAAC,kBAAkB,gBAAgB,IAAI;YACxC,CAAC,CAAC,wBAAwB,CAC7B,CAAC;QANwB,qBAAgB,GAAhB,gBAAgB,CAAS;IAOrD,CAAC;CACF;AATD,0EASC"}
@@ -0,0 +1,9 @@
1
+ import { HttpException } from '@nestjs/common';
2
+ import { ErrorCode } from '../enums/error-code';
3
+ export declare class GoogleRecaptchaException extends HttpException {
4
+ readonly errorCodes: ErrorCode[];
5
+ constructor(errorCodes: ErrorCode[], errorMessage?: string);
6
+ private static getErrorMessage;
7
+ private static getErrorStatus;
8
+ }
9
+ //# sourceMappingURL=google-recaptcha.exception.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha.exception.d.ts","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,qBAAa,wBAAyB,SAAQ,aAAa;aAEvC,UAAU,EAAE,SAAS,EAAE;gBAAvB,UAAU,EAAE,SAAS,EAAE,EACvC,YAAY,CAAC,EAAE,MAAM;IAQvB,OAAO,CAAC,MAAM,CAAC,eAAe;IAuC9B,OAAO,CAAC,MAAM,CAAC,cAAc;CAa9B"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GoogleRecaptchaException = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const error_code_1 = require("../enums/error-code");
6
+ class GoogleRecaptchaException extends common_1.HttpException {
7
+ constructor(errorCodes, errorMessage) {
8
+ super(errorMessage || GoogleRecaptchaException.getErrorMessage(errorCodes[0]), GoogleRecaptchaException.getErrorStatus(errorCodes[0]));
9
+ this.errorCodes = errorCodes;
10
+ }
11
+ static getErrorMessage(errorCode) {
12
+ switch (errorCode) {
13
+ case error_code_1.ErrorCode.InvalidInputResponse:
14
+ return 'The response parameter is invalid or malformed.';
15
+ case error_code_1.ErrorCode.MissingInputResponse:
16
+ return 'The response parameter is missing.';
17
+ case error_code_1.ErrorCode.TimeoutOrDuplicate:
18
+ return 'The response is no longer valid: either is too old or has been used previously.';
19
+ case error_code_1.ErrorCode.InvalidInputSecret:
20
+ case error_code_1.ErrorCode.MissingInputSecret:
21
+ return 'Invalid module configuration. Please check public-secret keys.';
22
+ case error_code_1.ErrorCode.InvalidKeys:
23
+ return 'Recaptcha token was signed by invalid api key.';
24
+ case error_code_1.ErrorCode.LowScore:
25
+ return 'Low recaptcha score.';
26
+ case error_code_1.ErrorCode.ForbiddenAction:
27
+ return 'Forbidden recaptcha action.';
28
+ case error_code_1.ErrorCode.SiteMismatch:
29
+ return 'The user verification token did not match the provided site key.';
30
+ case error_code_1.ErrorCode.BrowserError:
31
+ return 'Retriable error (such as network failure) occurred on the browser.';
32
+ case error_code_1.ErrorCode.IncorrectCaptchaSol:
33
+ return 'incorrect-google-recaptcha-sol';
34
+ case error_code_1.ErrorCode.UnknownError:
35
+ case error_code_1.ErrorCode.BadRequest:
36
+ default:
37
+ return 'Unexpected error.';
38
+ }
39
+ }
40
+ static getErrorStatus(errorCode) {
41
+ return errorCode === error_code_1.ErrorCode.InvalidInputResponse ||
42
+ errorCode === error_code_1.ErrorCode.MissingInputResponse ||
43
+ errorCode === error_code_1.ErrorCode.TimeoutOrDuplicate ||
44
+ errorCode === error_code_1.ErrorCode.ForbiddenAction ||
45
+ errorCode === error_code_1.ErrorCode.SiteMismatch ||
46
+ errorCode === error_code_1.ErrorCode.BrowserError ||
47
+ errorCode === error_code_1.ErrorCode.IncorrectCaptchaSol ||
48
+ errorCode === error_code_1.ErrorCode.LowScore ||
49
+ errorCode === error_code_1.ErrorCode.InvalidKeys
50
+ ? common_1.HttpStatus.BAD_REQUEST
51
+ : common_1.HttpStatus.INTERNAL_SERVER_ERROR;
52
+ }
53
+ }
54
+ exports.GoogleRecaptchaException = GoogleRecaptchaException;
55
+ //# sourceMappingURL=google-recaptcha.exception.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha.exception.js","sourceRoot":"","sources":["../../src/exceptions/google-recaptcha.exception.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAC3D,oDAAgD;AAEhD,MAAa,wBAAyB,SAAQ,sBAAa;IACzD,YACkB,UAAuB,EACvC,YAAqB;QAErB,KAAK,CACH,YAAY,IAAI,wBAAwB,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EACvE,wBAAwB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACvD,CAAC;QANc,eAAU,GAAV,UAAU,CAAa;IAOzC,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,SAAoB;QACjD,QAAQ,SAAS,EAAE,CAAC;YAClB,KAAK,sBAAS,CAAC,oBAAoB;gBACjC,OAAO,iDAAiD,CAAC;YAE3D,KAAK,sBAAS,CAAC,oBAAoB;gBACjC,OAAO,oCAAoC,CAAC;YAC9C,KAAK,sBAAS,CAAC,kBAAkB;gBAC/B,OAAO,iFAAiF,CAAC;YAE3F,KAAK,sBAAS,CAAC,kBAAkB,CAAC;YAClC,KAAK,sBAAS,CAAC,kBAAkB;gBAC/B,OAAO,gEAAgE,CAAC;YAE1E,KAAK,sBAAS,CAAC,WAAW;gBACxB,OAAO,gDAAgD,CAAC;YAE1D,KAAK,sBAAS,CAAC,QAAQ;gBACrB,OAAO,sBAAsB,CAAC;YAEhC,KAAK,sBAAS,CAAC,eAAe;gBAC5B,OAAO,6BAA6B,CAAC;YAEvC,KAAK,sBAAS,CAAC,YAAY;gBACzB,OAAO,kEAAkE,CAAC;YAE5E,KAAK,sBAAS,CAAC,YAAY;gBACzB,OAAO,oEAAoE,CAAC;YAE9E,KAAK,sBAAS,CAAC,mBAAmB;gBAChC,OAAO,gCAAgC,CAAC;YAE1C,KAAK,sBAAS,CAAC,YAAY,CAAC;YAC5B,KAAK,sBAAS,CAAC,UAAU,CAAC;YAC1B;gBACE,OAAO,mBAAmB,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,cAAc,CAAC,SAAoB;QAChD,OAAO,SAAS,KAAK,sBAAS,CAAC,oBAAoB;YACjD,SAAS,KAAK,sBAAS,CAAC,oBAAoB;YAC5C,SAAS,KAAK,sBAAS,CAAC,kBAAkB;YAC1C,SAAS,KAAK,sBAAS,CAAC,eAAe;YACvC,SAAS,KAAK,sBAAS,CAAC,YAAY;YACpC,SAAS,KAAK,sBAAS,CAAC,YAAY;YACpC,SAAS,KAAK,sBAAS,CAAC,mBAAmB;YAC3C,SAAS,KAAK,sBAAS,CAAC,QAAQ;YAChC,SAAS,KAAK,sBAAS,CAAC,WAAW;YACnC,CAAC,CAAC,mBAAU,CAAC,WAAW;YACxB,CAAC,CAAC,mBAAU,CAAC,qBAAqB,CAAC;IACvC,CAAC;CACF;AA/DD,4DA+DC"}
@@ -0,0 +1,13 @@
1
+ import { DynamicModule } from '@nestjs/common';
2
+ import { GoogleRecaptchaModuleAsyncOptions, GoogleRecaptchaModuleOptions } from './interfaces/google-recaptcha-module-options';
3
+ export declare class GoogleRecaptchaModule {
4
+ private static axiosDefaultConfig;
5
+ static forRoot(options: GoogleRecaptchaModuleOptions): DynamicModule;
6
+ static forRootAsync(options: GoogleRecaptchaModuleAsyncOptions): DynamicModule;
7
+ private static transformAxiosConfig;
8
+ private static createAsyncProviders;
9
+ private static createAsyncOptionsProvider;
10
+ private static validateOptions;
11
+ private static isGoogleRecaptchaFactory;
12
+ }
13
+ //# sourceMappingURL=google-recaptcha.module.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha.module.d.ts","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAoB,MAAM,gBAAgB,CAAC;AAIjE,OAAO,EACL,iCAAiC,EACjC,4BAA4B,EAE7B,MAAM,8CAA8C,CAAC;AActD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAG/B;IAEF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,4BAA4B,GAAG,aAAa;IA+CpE,MAAM,CAAC,YAAY,CACjB,OAAO,EAAE,iCAAiC,GACzC,aAAa;IAkDhB,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAmBnC,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAenC,OAAO,CAAC,MAAM,CAAC,0BAA0B;IA2BzC,OAAO,CAAC,MAAM,CAAC,eAAe;IAW9B,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAOxC"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GoogleRecaptchaModule = void 0;
7
+ const common_1 = require("@nestjs/common");
8
+ const google_recaptcha_guard_1 = require("./guards/google-recaptcha.guard");
9
+ const google_recaptcha_validator_1 = require("./services/validators/google-recaptcha.validator");
10
+ const google_recaptcha_enterprise_validator_1 = require("./services/validators/google-recaptcha-enterprise.validator");
11
+ const provider_declarations_1 = require("./provider.declarations");
12
+ const recaptcha_request_resolver_1 = require("./services/recaptcha-request.resolver");
13
+ const core_1 = require("@nestjs/core");
14
+ const axios_1 = __importDefault(require("axios"));
15
+ const https_1 = require("https");
16
+ const recaptcha_validator_resolver_1 = require("./services/recaptcha-validator.resolver");
17
+ const enterprise_reason_transformer_1 = require("./services/enterprise-reason.transformer");
18
+ const recaptcha_config_ref_1 = require("./models/recaptcha-config-ref");
19
+ class GoogleRecaptchaModule {
20
+ static forRoot(options) {
21
+ const providers = [
22
+ core_1.Reflector,
23
+ google_recaptcha_guard_1.GoogleRecaptchaGuard,
24
+ google_recaptcha_validator_1.GoogleRecaptchaValidator,
25
+ google_recaptcha_enterprise_validator_1.GoogleRecaptchaEnterpriseValidator,
26
+ recaptcha_request_resolver_1.RecaptchaRequestResolver,
27
+ recaptcha_validator_resolver_1.RecaptchaValidatorResolver,
28
+ enterprise_reason_transformer_1.EnterpriseReasonTransformer,
29
+ {
30
+ provide: provider_declarations_1.RECAPTCHA_OPTIONS,
31
+ useValue: options,
32
+ },
33
+ {
34
+ provide: provider_declarations_1.RECAPTCHA_LOGGER,
35
+ useFactory: () => options.logger || new common_1.Logger(),
36
+ },
37
+ {
38
+ provide: recaptcha_config_ref_1.RecaptchaConfigRef,
39
+ useFactory: () => new recaptcha_config_ref_1.RecaptchaConfigRef(options),
40
+ },
41
+ ];
42
+ this.validateOptions(options);
43
+ const internalProviders = [
44
+ {
45
+ provide: provider_declarations_1.RECAPTCHA_AXIOS_INSTANCE,
46
+ useFactory: () => axios_1.default.create(this.transformAxiosConfig({
47
+ ...this.axiosDefaultConfig,
48
+ ...options.axiosConfig,
49
+ headers: null,
50
+ })),
51
+ },
52
+ ];
53
+ return {
54
+ global: options.global != null ? options.global : true,
55
+ module: GoogleRecaptchaModule,
56
+ providers: providers.concat(internalProviders),
57
+ exports: providers,
58
+ };
59
+ }
60
+ static forRootAsync(options) {
61
+ const providers = [
62
+ core_1.Reflector,
63
+ {
64
+ provide: provider_declarations_1.RECAPTCHA_LOGGER,
65
+ useFactory: (options) => options.logger || new common_1.Logger(),
66
+ inject: [provider_declarations_1.RECAPTCHA_OPTIONS],
67
+ },
68
+ {
69
+ provide: recaptcha_config_ref_1.RecaptchaConfigRef,
70
+ useFactory: (opts) => new recaptcha_config_ref_1.RecaptchaConfigRef(opts),
71
+ inject: [provider_declarations_1.RECAPTCHA_OPTIONS],
72
+ },
73
+ google_recaptcha_guard_1.GoogleRecaptchaGuard,
74
+ google_recaptcha_validator_1.GoogleRecaptchaValidator,
75
+ google_recaptcha_enterprise_validator_1.GoogleRecaptchaEnterpriseValidator,
76
+ recaptcha_request_resolver_1.RecaptchaRequestResolver,
77
+ recaptcha_validator_resolver_1.RecaptchaValidatorResolver,
78
+ enterprise_reason_transformer_1.EnterpriseReasonTransformer,
79
+ ...this.createAsyncProviders(options),
80
+ ];
81
+ const internalProviders = [
82
+ {
83
+ provide: provider_declarations_1.RECAPTCHA_AXIOS_INSTANCE,
84
+ useFactory: (options) => {
85
+ this.validateOptions(options);
86
+ const transformedAxiosConfig = this.transformAxiosConfig({
87
+ ...this.axiosDefaultConfig,
88
+ ...options.axiosConfig,
89
+ headers: null,
90
+ });
91
+ return axios_1.default.create(transformedAxiosConfig);
92
+ },
93
+ inject: [provider_declarations_1.RECAPTCHA_OPTIONS],
94
+ },
95
+ ];
96
+ return {
97
+ global: options.global != null ? options.global : true,
98
+ module: GoogleRecaptchaModule,
99
+ imports: options.imports,
100
+ providers: providers.concat(internalProviders),
101
+ exports: providers,
102
+ };
103
+ }
104
+ static transformAxiosConfig(axiosConfig) {
105
+ const config = { ...axiosConfig };
106
+ delete config.baseURL;
107
+ delete config.url;
108
+ delete config.responseType;
109
+ delete config.method;
110
+ delete config.transformRequest;
111
+ delete config.transformResponse;
112
+ delete config.paramsSerializer;
113
+ delete config.validateStatus;
114
+ delete config.data;
115
+ delete config.adapter;
116
+ return config;
117
+ }
118
+ static createAsyncProviders(options) {
119
+ const providers = [this.createAsyncOptionsProvider(options)];
120
+ if (options.useClass) {
121
+ providers.push({
122
+ provide: options.useClass,
123
+ useClass: options.useClass,
124
+ });
125
+ }
126
+ return providers;
127
+ }
128
+ static createAsyncOptionsProvider(options) {
129
+ if (options.useFactory) {
130
+ return {
131
+ provide: provider_declarations_1.RECAPTCHA_OPTIONS,
132
+ useFactory: options.useFactory,
133
+ inject: options.inject,
134
+ };
135
+ }
136
+ return {
137
+ provide: provider_declarations_1.RECAPTCHA_OPTIONS,
138
+ useFactory: async (optionsFactory) => {
139
+ if (!this.isGoogleRecaptchaFactory(optionsFactory)) {
140
+ throw new Error("Factory must be implement 'GoogleRecaptchaOptionsFactory' interface.");
141
+ }
142
+ return optionsFactory.createGoogleRecaptchaOptions();
143
+ },
144
+ inject: [options.useExisting || options.useClass],
145
+ };
146
+ }
147
+ static validateOptions(options) {
148
+ const hasEnterpriseOptions = !!Object.keys(options.enterprise || {}).length;
149
+ if (!options.disable && !(!!options.secretKey || hasEnterpriseOptions)) {
150
+ throw new Error('Google recaptcha options must be contains "secretKey" xor "enterprise".');
151
+ }
152
+ }
153
+ static isGoogleRecaptchaFactory(object) {
154
+ return (!!object && typeof object.createGoogleRecaptchaOptions === 'function');
155
+ }
156
+ }
157
+ exports.GoogleRecaptchaModule = GoogleRecaptchaModule;
158
+ GoogleRecaptchaModule.axiosDefaultConfig = {
159
+ timeout: 60_000,
160
+ httpsAgent: new https_1.Agent({ keepAlive: true }),
161
+ };
162
+ //# sourceMappingURL=google-recaptcha.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { CanActivate, ExecutionContext, Logger } from '@nestjs/common';
2
+ import { Reflector } from '@nestjs/core';
3
+ import { RecaptchaRequestResolver } from '../services/recaptcha-request.resolver';
4
+ import { RecaptchaValidatorResolver } from '../services/recaptcha-validator.resolver';
5
+ import { RecaptchaConfigRef } from '../models/recaptcha-config-ref';
6
+ export declare class GoogleRecaptchaGuard implements CanActivate {
7
+ private readonly reflector;
8
+ private readonly requestResolver;
9
+ private readonly validatorResolver;
10
+ private readonly logger;
11
+ private readonly configRef;
12
+ constructor(reflector: Reflector, requestResolver: RecaptchaRequestResolver, validatorResolver: RecaptchaValidatorResolver, logger: Logger, configRef: RecaptchaConfigRef);
13
+ canActivate(context: ExecutionContext): Promise<true | never>;
14
+ private resolveLogContext;
15
+ }
16
+ //# sourceMappingURL=google-recaptcha.guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-recaptcha.guard.d.ts","sourceRoot":"","sources":["../../src/guards/google-recaptcha.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,gBAAgB,EAGhB,MAAM,EACP,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AAKtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAEpE,qBACa,oBAAqB,YAAW,WAAW;IAEpD,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;IACjD,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAJT,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,wBAAwB,EACzC,iBAAiB,EAAE,0BAA0B,EACnB,MAAM,EAAE,MAAM,EACxC,SAAS,EAAE,kBAAkB;IAG1C,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC;IA8DnE,OAAO,CAAC,iBAAiB;CAO1B"}