@strapi/email 5.51.1 → 5.51.2
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/server/middlewares/rateLimit.js +2 -6
- package/dist/server/middlewares/rateLimit.js.map +1 -1
- package/dist/server/middlewares/rateLimit.mjs +3 -3
- package/dist/server/middlewares/rateLimit.mjs.map +1 -1
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/middlewares/index.d.ts.map +1 -1
- package/package.json +6 -6
|
@@ -3,16 +3,12 @@
|
|
|
3
3
|
var utils = require('@strapi/utils');
|
|
4
4
|
var fp = require('lodash/fp');
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
var utils__default = /*#__PURE__*/_interopDefault(utils);
|
|
9
|
-
|
|
10
|
-
const { RateLimitError } = utils__default.default.errors;
|
|
6
|
+
const { RateLimitError } = utils.errors;
|
|
11
7
|
var rateLimit = ((config, { strapi })=>async (ctx, next)=>{
|
|
12
8
|
const pluginConfig = strapi.config.get('plugin::email');
|
|
13
9
|
const rateLimitConfig = {
|
|
14
10
|
enabled: true,
|
|
15
|
-
...pluginConfig.ratelimit
|
|
11
|
+
...pluginConfig.ratelimit
|
|
16
12
|
};
|
|
17
13
|
if (rateLimitConfig.enabled === true) {
|
|
18
14
|
// TODO: TS - Do the dynamic import
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.js","sources":["../../../server/src/middlewares/rateLimit.ts"],"sourcesContent":["import type { Context, Next } from 'koa';\nimport
|
|
1
|
+
{"version":3,"file":"rateLimit.js","sources":["../../../server/src/middlewares/rateLimit.ts"],"sourcesContent":["import type { Context, Next } from 'koa';\nimport { errors } from '@strapi/utils';\nimport { isString, get } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\nconst { RateLimitError } = errors;\n\nexport default (config: any, { strapi }: { strapi: Core.Strapi }) =>\n async (ctx: Context, next: Next) => {\n const pluginConfig = strapi.config.get('plugin::email') as any;\n const rateLimitConfig = {\n enabled: true,\n ...pluginConfig.ratelimit,\n };\n\n if (rateLimitConfig.enabled === true) {\n // TODO: TS - Do the dynamic import\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const requestEmail = get('request.body.email')(ctx);\n const userEmail = isString(requestEmail) ? requestEmail.toLowerCase() : 'unknownEmail';\n\n const loadConfig = {\n interval: { min: 5 },\n max: 5,\n prefixKey: `${userEmail}`,\n handler() {\n throw new RateLimitError();\n },\n ...rateLimitConfig,\n ...config,\n };\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n"],"names":["RateLimitError","errors","config","strapi","ctx","next","pluginConfig","get","rateLimitConfig","enabled","ratelimit","rateLimit","require","RateLimit","requestEmail","userEmail","isString","toLowerCase","loadConfig","interval","min","max","prefixKey","handler","middleware"],"mappings":";;;;;AAKA,MAAM,EAAEA,cAAc,EAAE,GAAGC,YAAAA;AAE3B,gBAAe,CAAA,CAACC,MAAAA,EAAa,EAAEC,MAAM,EAA2B,GAC9D,OAAOC,GAAAA,EAAcC,IAAAA,GAAAA;AACnB,QAAA,MAAMC,YAAAA,GAAeH,MAAAA,CAAOD,MAAM,CAACK,GAAG,CAAC,eAAA,CAAA;AACvC,QAAA,MAAMC,eAAAA,GAAkB;YACtBC,OAAAA,EAAS,IAAA;AACT,YAAA,GAAGH,aAAaI;AAClB,SAAA;QAEA,IAAIF,eAAAA,CAAgBC,OAAO,KAAK,IAAA,EAAM;;;YAGpC,MAAME,SAAAA,GAAYC,OAAAA,CAAQ,gBAAA,CAAA,CAAkBC,SAAS;YAErD,MAAMC,YAAAA,GAAeP,OAAI,oBAAA,CAAA,CAAsBH,GAAAA,CAAAA;AAC/C,YAAA,MAAMW,SAAAA,GAAYC,WAAAA,CAASF,YAAAA,CAAAA,GAAgBA,YAAAA,CAAaG,WAAW,EAAA,GAAK,cAAA;AAExE,YAAA,MAAMC,UAAAA,GAAa;gBACjBC,QAAAA,EAAU;oBAAEC,GAAAA,EAAK;AAAE,iBAAA;gBACnBC,GAAAA,EAAK,CAAA;AACLC,gBAAAA,SAAAA,EAAW,GAAGP,SAAAA,CAAAA,CAAW;AACzBQ,gBAAAA,OAAAA,CAAAA,GAAAA;AACE,oBAAA,MAAM,IAAIvB,cAAAA,EAAAA;AACZ,gBAAA,CAAA;AACA,gBAAA,GAAGQ,eAAe;AAClB,gBAAA,GAAGN;AACL,aAAA;AAEA,YAAA,OAAOS,SAAAA,CAAUa,UAAU,CAACN,UAAAA,CAAAA,CAAYd,GAAAA,EAAKC,IAAAA,CAAAA;AAC/C,QAAA;QAEA,OAAOA,IAAAA,EAAAA;AACT,IAAA,CAAA;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { errors } from '@strapi/utils';
|
|
2
2
|
import { get, isString } from 'lodash/fp';
|
|
3
3
|
|
|
4
|
-
const { RateLimitError } =
|
|
4
|
+
const { RateLimitError } = errors;
|
|
5
5
|
var rateLimit = ((config, { strapi })=>async (ctx, next)=>{
|
|
6
6
|
const pluginConfig = strapi.config.get('plugin::email');
|
|
7
7
|
const rateLimitConfig = {
|
|
8
8
|
enabled: true,
|
|
9
|
-
...pluginConfig.ratelimit
|
|
9
|
+
...pluginConfig.ratelimit
|
|
10
10
|
};
|
|
11
11
|
if (rateLimitConfig.enabled === true) {
|
|
12
12
|
// TODO: TS - Do the dynamic import
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rateLimit.mjs","sources":["../../../server/src/middlewares/rateLimit.ts"],"sourcesContent":["import type { Context, Next } from 'koa';\nimport
|
|
1
|
+
{"version":3,"file":"rateLimit.mjs","sources":["../../../server/src/middlewares/rateLimit.ts"],"sourcesContent":["import type { Context, Next } from 'koa';\nimport { errors } from '@strapi/utils';\nimport { isString, get } from 'lodash/fp';\nimport type { Core } from '@strapi/types';\n\nconst { RateLimitError } = errors;\n\nexport default (config: any, { strapi }: { strapi: Core.Strapi }) =>\n async (ctx: Context, next: Next) => {\n const pluginConfig = strapi.config.get('plugin::email') as any;\n const rateLimitConfig = {\n enabled: true,\n ...pluginConfig.ratelimit,\n };\n\n if (rateLimitConfig.enabled === true) {\n // TODO: TS - Do the dynamic import\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n const rateLimit = require('koa2-ratelimit').RateLimit;\n\n const requestEmail = get('request.body.email')(ctx);\n const userEmail = isString(requestEmail) ? requestEmail.toLowerCase() : 'unknownEmail';\n\n const loadConfig = {\n interval: { min: 5 },\n max: 5,\n prefixKey: `${userEmail}`,\n handler() {\n throw new RateLimitError();\n },\n ...rateLimitConfig,\n ...config,\n };\n\n return rateLimit.middleware(loadConfig)(ctx, next);\n }\n\n return next();\n };\n"],"names":["RateLimitError","errors","config","strapi","ctx","next","pluginConfig","get","rateLimitConfig","enabled","ratelimit","rateLimit","require","RateLimit","requestEmail","userEmail","isString","toLowerCase","loadConfig","interval","min","max","prefixKey","handler","middleware"],"mappings":";;;AAKA,MAAM,EAAEA,cAAc,EAAE,GAAGC,MAAAA;AAE3B,gBAAe,CAAA,CAACC,MAAAA,EAAa,EAAEC,MAAM,EAA2B,GAC9D,OAAOC,GAAAA,EAAcC,IAAAA,GAAAA;AACnB,QAAA,MAAMC,YAAAA,GAAeH,MAAAA,CAAOD,MAAM,CAACK,GAAG,CAAC,eAAA,CAAA;AACvC,QAAA,MAAMC,eAAAA,GAAkB;YACtBC,OAAAA,EAAS,IAAA;AACT,YAAA,GAAGH,aAAaI;AAClB,SAAA;QAEA,IAAIF,eAAAA,CAAgBC,OAAO,KAAK,IAAA,EAAM;;;YAGpC,MAAME,SAAAA,GAAYC,OAAAA,CAAQ,gBAAA,CAAA,CAAkBC,SAAS;YAErD,MAAMC,YAAAA,GAAeP,IAAI,oBAAA,CAAA,CAAsBH,GAAAA,CAAAA;AAC/C,YAAA,MAAMW,SAAAA,GAAYC,QAAAA,CAASF,YAAAA,CAAAA,GAAgBA,YAAAA,CAAaG,WAAW,EAAA,GAAK,cAAA;AAExE,YAAA,MAAMC,UAAAA,GAAa;gBACjBC,QAAAA,EAAU;oBAAEC,GAAAA,EAAK;AAAE,iBAAA;gBACnBC,GAAAA,EAAK,CAAA;AACLC,gBAAAA,SAAAA,EAAW,GAAGP,SAAAA,CAAAA,CAAW;AACzBQ,gBAAAA,OAAAA,CAAAA,GAAAA;AACE,oBAAA,MAAM,IAAIvB,cAAAA,EAAAA;AACZ,gBAAA,CAAA;AACA,gBAAA,GAAGQ,eAAe;AAClB,gBAAA,GAAGN;AACL,aAAA;AAEA,YAAA,OAAOS,SAAAA,CAAUa,UAAU,CAACN,UAAAA,CAAAA,CAAYd,GAAAA,EAAKC,IAAAA,CAAAA;AAC/C,QAAA;QAEA,OAAOA,IAAAA,EAAAA;AACT,IAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../server/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;eAUI,0BACE,EAAC,wBACJ;;;AALH,wBAOE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/middlewares/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../server/src/middlewares/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;;;;WAK4G,0BAAY,EAAC,wBAAW;;AAHvL,wBAEE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@strapi/email",
|
|
3
|
-
"version": "5.51.
|
|
3
|
+
"version": "5.51.2",
|
|
4
4
|
"description": "Easily configure your Strapi application to send emails.",
|
|
5
5
|
"homepage": "https://strapi.io",
|
|
6
6
|
"bugs": {
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@strapi/design-system": "2.2.3",
|
|
66
66
|
"@strapi/icons": "2.2.3",
|
|
67
|
-
"@strapi/provider-email-sendmail": "5.51.
|
|
68
|
-
"@strapi/utils": "5.51.
|
|
67
|
+
"@strapi/provider-email-sendmail": "5.51.2",
|
|
68
|
+
"@strapi/utils": "5.51.2",
|
|
69
69
|
"koa2-ratelimit": "^1.1.3",
|
|
70
70
|
"lodash": "4.18.1",
|
|
71
71
|
"react-intl": "6.6.2",
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
"zod": "3.25.76"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"@strapi/admin": "5.51.
|
|
78
|
-
"@strapi/types": "5.51.
|
|
77
|
+
"@strapi/admin": "5.51.2",
|
|
78
|
+
"@strapi/types": "5.51.2",
|
|
79
79
|
"@testing-library/dom": "10.4.1",
|
|
80
80
|
"@testing-library/jest-dom": "6.9.1",
|
|
81
81
|
"@testing-library/react": "16.3.2",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"koa-body": "6.0.1",
|
|
89
89
|
"react": "18.3.1",
|
|
90
90
|
"react-dom": "18.3.1",
|
|
91
|
-
"react-router-dom": "6.30.
|
|
91
|
+
"react-router-dom": "6.30.4",
|
|
92
92
|
"styled-components": "6.4.1"
|
|
93
93
|
},
|
|
94
94
|
"peerDependencies": {
|