mirror of
https://github.com/ajayyy/SponsorBlockServer.git
synced 2024-11-10 01:02:30 +01:00
Require time when generating key
This commit is contained in:
parent
48fa55cc7a
commit
e9e1fd5228
1 changed files with 6 additions and 1 deletions
|
@ -8,6 +8,7 @@ interface GenerateTokenRequest extends Request {
|
||||||
code: string;
|
code: string;
|
||||||
adminUserID?: string;
|
adminUserID?: string;
|
||||||
total?: string;
|
total?: string;
|
||||||
|
key?: string;
|
||||||
},
|
},
|
||||||
params: {
|
params: {
|
||||||
type: TokenType;
|
type: TokenType;
|
||||||
|
@ -15,13 +16,17 @@ interface GenerateTokenRequest extends Request {
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function generateTokenRequest(req: GenerateTokenRequest, res: Response): Promise<Response> {
|
export async function generateTokenRequest(req: GenerateTokenRequest, res: Response): Promise<Response> {
|
||||||
const { query: { code, adminUserID, total }, params: { type } } = req;
|
const { query: { code, adminUserID, total, key }, params: { type } } = req;
|
||||||
const adminUserIDHash = adminUserID ? (await getHashCache(adminUserID)) : null;
|
const adminUserIDHash = adminUserID ? (await getHashCache(adminUserID)) : null;
|
||||||
|
|
||||||
if (!type || (!code && type === TokenType.patreon)) {
|
if (!type || (!code && type === TokenType.patreon)) {
|
||||||
return res.status(400).send("Invalid request");
|
return res.status(400).send("Invalid request");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (type === TokenType.free && (!key || Math.abs(Date.now() - parseInt(key)) > 1000 * 60 * 60 * 24)) {
|
||||||
|
return res.status(400).send("Invalid request");
|
||||||
|
}
|
||||||
|
|
||||||
if (type === TokenType.patreon
|
if (type === TokenType.patreon
|
||||||
|| ([TokenType.local, TokenType.gift].includes(type) && adminUserIDHash === config.adminUserID)
|
|| ([TokenType.local, TokenType.gift].includes(type) && adminUserIDHash === config.adminUserID)
|
||||||
|| type === TokenType.free) {
|
|| type === TokenType.free) {
|
||||||
|
|
Loading…
Reference in a new issue