@nestlab/google-recaptcha 3.4.1 → 3.5.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  # Changelog
2
2
 
3
+ ## v3.5.0
4
+ - Added `global?: boolean` module option
5
+
3
6
  ## v3.4.1
4
7
  - Fixed import LiteralObject for NestJS 10
5
8
 
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @nestlab/google-recaptcha
1
+ # Google recaptcha module
2
2
 
3
3
  This package provides protection for endpoints using [reCAPTCHA](https://www.google.com/recaptcha/about/) for [NestJS](https://docs.nestjs.com/) REST and GraphQL applications. By integrating with reCAPTCHA, this package helps to prevent automated abuse such as spam and bots, improving the security and reliability of your application.
4
4
 
@@ -57,11 +57,12 @@ The list of changes made in the project can be found in the [CHANGELOG.md](./CHA
57
57
  | `debug` | Optional.<br> Type: `boolean` <br> Default: `false` <br> Enables logging requests, responses, errors and transformed results |
58
58
  | `logger` | Optional.<br> Type: `Logger` <br> Default: `new Logger()` <br> Instance of custom logger that extended from Logger (@nestjs/common) |
59
59
  | `skipIf` | Optional.<br> Type: `boolean` \| `(request) => boolean \| Promise<boolean>` <br> Function that returns true if you allow the request to skip the recaptcha verification. Useful for involing other check methods (e.g. custom privileged API key) or for development or testing |
60
- | `enterprise` | Optional.<br> Type: `GoogleRecaptchaEnterpriseOptions` <br> Options for using recCAPTCHA Enterprise API. Cannot using with `secretKey` option. |
60
+ | `enterprise` | Optional.<br> Type: `GoogleRecaptchaEnterpriseOptions` <br> Options for using reCAPTCHA Enterprise API. Cannot be used with `secretKey` option. |
61
61
  | `network` | Optional.<br> Type: `GoogleRecaptchaNetwork` \| `string`<br> Default: `GoogleRecaptchaNetwork.Google` <br> If your server has trouble connecting to https://google.com then you can set networks:<br> `GoogleRecaptchaNetwork.Google` = 'https://www.google.com/recaptcha/api/siteverify'<br>`GoogleRecaptchaNetwork.Recaptcha` = 'https://recaptcha.net/recaptcha/api/siteverify'<br> or set any api url |
62
62
  | `score` | Optional.<br> Type: `number` \| `(score: number) => boolean`<br> Score validator for reCAPTCHA v3 or enterprise. <br> `number` - minimum available score. <br> `(score: number) => boolean` - function with custom validation rules. |
63
63
  | `actions` | Optional.<br> Type: `string[]`<br> Available action list for reCAPTCHA v3 or enterprise. <br> You can make this check stricter by passing the action property parameter to `@Recaptcha(...)` decorator. |
64
64
  | `axiosConfig` | Optional.<br> Type: `AxiosRequestConfig`<br> Allows to setup proxy, response timeout, https agent etc... |
65
+ | `global` | Optional.<br> Type: `boolean` <br> Default: `false` Defines a module in the [global scope](https://docs.nestjs.com/modules#global-modules). |
65
66
 
66
67
  **GoogleRecaptchaEnterpriseOptions**
67
68
 
@@ -40,7 +40,7 @@ class GoogleRecaptchaModule {
40
40
  },
41
41
  ];
42
42
  return {
43
- global: true,
43
+ global: options.global != null ? options.global : true,
44
44
  module: GoogleRecaptchaModule,
45
45
  providers: providers.concat(internalProviders),
46
46
  exports: providers,
@@ -74,7 +74,7 @@ class GoogleRecaptchaModule {
74
74
  },
75
75
  ];
76
76
  return {
77
- global: true,
77
+ global: options.global != null ? options.global : true,
78
78
  module: GoogleRecaptchaModule,
79
79
  imports: options.imports,
80
80
  providers: providers.concat(internalProviders),
@@ -1 +1 @@
1
- {"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":";;;AAAA,2CAAiE;AACjE,4EAAuE;AACvE,iGAA4F;AAC5F,uHAAiH;AAMjH,mEAAwG;AACxG,sFAAiF;AACjF,uCAAyC;AACzC,iCAAiE;AACjE,iCAA8B;AAC9B,0FAAqF;AACrF,4FAAuF;AACvF,uCAAoC;AAEpC,MAAa,qBAAqB;IAMjC,MAAM,CAAC,OAAO,CAAC,OAAqC;QACnD,MAAM,SAAS,GAAe;YAC7B,gBAAS;YACT,6CAAoB;YACpB,qDAAwB;YACxB,0EAAkC;YAClC,qDAAwB;YACxB,yDAA0B;YAC1B,2DAA2B;YAC3B;gBACC,OAAO,EAAE,yCAAiB;gBAC1B,QAAQ,EAAE,OAAO;aACjB;YACD;gBACC,OAAO,EAAE,wCAAgB;gBACzB,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,eAAM,EAAE;aAChD;SACD,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAE9B,MAAM,iBAAiB,GAAe;YACrC;gBACC,OAAO,EAAE,gDAAwB;gBACjC,UAAU,EAAE,GAAkB,EAAE,CAAC,eAAK,CAAC,MAAM,CAC5C,IAAI,CAAC,oBAAoB,+CACrB,IAAI,CAAC,kBAAkB,GACvB,OAAO,CAAC,WAAW,KACtB,OAAO,EAAE,IAAI,IACZ,CACF;aACD;SACD,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,qBAAqB;YAC7B,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC9C,OAAO,EAAE,SAAS;SAClB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,OAA0C;QAC7D,MAAM,SAAS,GAAe;YAC7B,gBAAS;YACT;gBACC,OAAO,EAAE,wCAAgB;gBACzB,UAAU,EAAE,CAAC,OAAqC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,eAAM,EAAE;gBACrF,MAAM,EAAE,CAAC,yCAAiB,CAAC;aAC3B;YACD,6CAAoB;YACpB,qDAAwB;YACxB,0EAAkC;YAClC,qDAAwB;YACxB,yDAA0B;YAC1B,2DAA2B;YAC3B,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC;SACrC,CAAC;QAEF,MAAM,iBAAiB,GAAe;YACrC;gBACC,OAAO,EAAE,gDAAwB;gBACjC,UAAU,EAAE,CAAC,OAAqC,EAAiB,EAAE;oBACpE,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;oBAE9B,MAAM,sBAAsB,GAAG,IAAI,CAAC,oBAAoB,+CACpD,IAAI,CAAC,kBAAkB,GACvB,OAAO,CAAC,WAAW,KACtB,OAAO,EAAE,IAAI,IACZ,CAAC;oBACH,OAAO,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;gBAC7C,CAAC;gBACD,MAAM,EAAE,CAAC,yCAAiB,CAAC;aAC3B;SACD,CAAC;QAEF,OAAO;YACN,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,qBAAqB;YAC7B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;YAC9C,OAAO,EAAE,SAAS;SAClB,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,WAA+B;QAClE,MAAM,MAAM,qBAAQ,WAAW,CAAE,CAAC;QAElC,OAAO,MAAM,CAAC,OAAO,CAAC;QACtB,OAAO,MAAM,CAAC,GAAG,CAAC;QAClB,OAAO,MAAM,CAAC,YAAY,CAAC;QAC3B,OAAO,MAAM,CAAC,MAAM,CAAC;QACrB,OAAO,MAAM,CAAC,gBAAgB,CAAC;QAC/B,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAChC,OAAO,MAAM,CAAC,gBAAgB,CAAC;QAC/B,OAAO,MAAM,CAAC,cAAc,CAAC;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC;QACnB,OAAO,MAAM,CAAC,OAAO,CAAC;QAEtB,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,MAAM,CAAC,oBAAoB,CAAC,OAA0C;QAC7E,MAAM,SAAS,GAAe,CAAC,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC;QAEzE,IAAI,OAAO,CAAC,QAAQ,EAAE;YACrB,SAAS,CAAC,IAAI,CAAC;gBACd,OAAO,EAAE,OAAO,CAAC,QAAQ;gBACzB,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC1B,CAAC,CAAC;SACH;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAEO,MAAM,CAAC,0BAA0B,CAAC,OAA0C;QACnF,IAAI,OAAO,CAAC,UAAU,EAAE;YACvB,OAAO;gBACN,OAAO,EAAE,yCAAiB;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC;SACF;QAED,OAAO;YACN,OAAO,EAAE,yCAAiB;YAC1B,UAAU,EAAE,KAAK,EAAE,cAA6C,EAAyC,EAAE;gBAC1G,IAAI,CAAC,IAAI,CAAC,wBAAwB,CAAC,cAAc,CAAC,EAAE;oBACnD,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;iBACxF;gBACD,OAAO,cAAc,CAAC,4BAA4B,EAAE,CAAC;YACtD,CAAC;YACD,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;SACjD,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,eAAe,CAAC,OAAqC;QACnE,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5E,IAAI,CAAC,IAAA,SAAG,EAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE;YACpD,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;SAC3F;IACF,CAAC;IAEO,MAAM,CAAC,wBAAwB,CAAC,MAAsC;QAC7E,OAAO,CAAC,CAAC,MAAM,IAAI,OAAO,MAAM,CAAC,4BAA4B,KAAK,UAAU,CAAC;IAC9E,CAAC;;AAvJF,sDAwJC;AAvJe,wCAAkB,GAAuB;IACvD,OAAO,EAAE,KAAM;IACf,UAAU,EAAE,IAAI,aAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"google-recaptcha.module.js","sourceRoot":"","sources":["../src/google-recaptcha.module.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import { OptionalFactoryDependency } from '@nestjs/common/interfaces/modules/opt
7
7
  export interface GoogleRecaptchaModuleOptions extends GoogleRecaptchaValidatorOptions, GoogleRecaptchaGuardOptions {
8
8
  debug?: boolean;
9
9
  logger?: Logger;
10
+ global?: boolean;
10
11
  }
11
12
  export interface GoogleRecaptchaOptionsFactory {
12
13
  createGoogleRecaptchaOptions(): Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
@@ -15,5 +16,6 @@ export interface GoogleRecaptchaModuleAsyncOptions extends Pick<ModuleMetadata,
15
16
  inject?: Array<InjectionToken | OptionalFactoryDependency>;
16
17
  useClass?: Type<GoogleRecaptchaOptionsFactory>;
17
18
  useExisting?: Type<GoogleRecaptchaOptionsFactory>;
18
- useFactory?: (...args: any[]) => Promise<GoogleRecaptchaModuleOptions> | GoogleRecaptchaModuleOptions;
19
+ useFactory?: (...args: any[]) => Promise<Omit<GoogleRecaptchaModuleOptions, 'global'>> | Omit<GoogleRecaptchaModuleOptions, 'global'>;
20
+ global?: boolean;
19
21
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestlab/google-recaptcha",
3
- "version": "3.4.1",
3
+ "version": "3.5.0",
4
4
  "description": "Google recaptcha module for NestJS.",
5
5
  "keywords": [
6
6
  "nestjs",
package/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  import { ContextType } from '@nestjs/common';
2
- export declare type RecaptchaResponseProvider = (req: any) => string | Promise<string>;
3
- export declare type ScoreValidator = number | ((score: number) => boolean);
4
- export declare type RecaptchaContextType = ContextType | 'graphql';
2
+ export type RecaptchaResponseProvider = (req: any) => string | Promise<string>;
3
+ export type ScoreValidator = number | ((score: number) => boolean);
4
+ export type RecaptchaContextType = ContextType | 'graphql';