diff --git a/src/controllers/RunnerSelfServiceController.ts b/src/controllers/RunnerSelfServiceController.ts index 8caeb6b..8e72c3e 100644 --- a/src/controllers/RunnerSelfServiceController.ts +++ b/src/controllers/RunnerSelfServiceController.ts @@ -55,12 +55,13 @@ export class RunnerSelfServiceController { } @Post('/runners/me/forgot') - @ResponseSchema(ResponseSelfServiceRunner, { isArray: true }) @ResponseSchema(RunnerNotFoundError, { statusCode: 404 }) @OnUndefined(ResponseEmpty) @OpenAPI({ description: 'TODO' }) async requestNewToken(@QueryParam('mail') mail: string) { const runner = await this.runnerRepository.findOne({ email: mail }); + if (!runner) { throw new RunnerNotFoundError(); } + if (runner.resetRequestedTimestamp > (Math.floor(Date.now() / 1000) - 60 * 60 * 24)) { throw new Error("timeout!") } const token = JwtCreator.createSelfService(runner);