summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-08-24 20:53:08 +0000
committerdakkar <dakkar@thenautilus.net>2024-08-24 20:53:08 +0000
commit9cf40ef4528a2a61d3d61d3a32abc7b787d05eca (patch)
tree8e2e76ae2b15ca5309354d5e494383c707aa1b75 /packages/backend/src/server/api
parentmerge: log deletion of user files from admin -- fixes #631 (!607) (diff)
parenttell the linter to shut up, this time (diff)
downloadsharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.tar.gz
sharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.tar.bz2
sharkey-9cf40ef4528a2a61d3d61d3a32abc7b787d05eca.zip
merge: thunk the min/max promises (!603)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/603 Approved-by: Marie <github@yuugi.dev> Approved-by: fEmber <acomputerdog@gmail.com>
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/RateLimiterService.ts22
1 files changed, 15 insertions, 7 deletions
diff --git a/packages/backend/src/server/api/RateLimiterService.ts b/packages/backend/src/server/api/RateLimiterService.ts
index 52d73baa0a..e94160a657 100644
--- a/packages/backend/src/server/api/RateLimiterService.ts
+++ b/packages/backend/src/server/api/RateLimiterService.ts
@@ -37,8 +37,13 @@ export class RateLimiterService {
return Promise.resolve();
}
+ // those lines with the "wrong" brace style / indentation are
+ // done that way so that the *other* lines stay identical to
+ // Misskey, simplifying merges
+
// Short-term limit
- const min = new Promise<void>((ok, reject) => {
+ // eslint-disable-next-line brace-style
+ const minP = () => { return new Promise<void>((ok, reject) => {
const minIntervalLimiter = new Limiter({
id: `${actor}:${limitation.key}:min`,
duration: limitation.minInterval! * factor,
@@ -57,16 +62,18 @@ export class RateLimiterService {
return reject({ code: 'BRIEF_REQUEST_INTERVAL', info });
} else {
if (hasLongTermLimit) {
- return max.then(ok, reject);
+ return maxP().then(ok, reject);
} else {
return ok();
}
}
});
- });
+ // eslint-disable-next-line brace-style
+ }); };
// Long term limit
- const max = new Promise<void>((ok, reject) => {
+ // eslint-disable-next-line brace-style
+ const maxP = () => { return new Promise<void>((ok, reject) => {
const limiter = new Limiter({
id: `${actor}:${limitation.key}`,
duration: limitation.duration! * factor,
@@ -87,7 +94,8 @@ export class RateLimiterService {
return ok();
}
});
- });
+ // eslint-disable-next-line brace-style
+ }); };
const hasShortTermLimit = typeof limitation.minInterval === 'number';
@@ -96,9 +104,9 @@ export class RateLimiterService {
typeof limitation.max === 'number';
if (hasShortTermLimit) {
- return min;
+ return minP();
} else if (hasLongTermLimit) {
- return max;
+ return maxP();
} else {
return Promise.resolve();
}