parent
e7f0cb45c9
commit
e26b7d4923
@ -4,7 +4,8 @@ import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
|
|||||||
import { getConnectionManager, Repository } from 'typeorm';
|
import { getConnectionManager, Repository } from 'typeorm';
|
||||||
import { config } from '../config';
|
import { config } from '../config';
|
||||||
import { InvalidCredentialsError, JwtNotProvidedError } from '../errors/AuthError';
|
import { InvalidCredentialsError, JwtNotProvidedError } from '../errors/AuthError';
|
||||||
import { RunnerEmailNeededError, RunnerNotFoundError } from '../errors/RunnerErrors';
|
import { MailSendingError } from '../errors/MailErrors';
|
||||||
|
import { RunnerEmailNeededError, RunnerNotFoundError, RunnerSelfserviceTimeoutError } from '../errors/RunnerErrors';
|
||||||
import { RunnerOrganizationNotFoundError } from '../errors/RunnerOrganizationErrors';
|
import { RunnerOrganizationNotFoundError } from '../errors/RunnerOrganizationErrors';
|
||||||
import { JwtCreator } from '../jwtcreator';
|
import { JwtCreator } from '../jwtcreator';
|
||||||
import { CreateSelfServiceCitizenRunner } from '../models/actions/create/CreateSelfServiceCitizenRunner';
|
import { CreateSelfServiceCitizenRunner } from '../models/actions/create/CreateSelfServiceCitizenRunner';
|
||||||
@ -62,13 +63,13 @@ export class RunnerSelfServiceController {
|
|||||||
const runner = await this.runnerRepository.findOne({ email: mail });
|
const runner = await this.runnerRepository.findOne({ email: mail });
|
||||||
if (!runner) { throw new RunnerNotFoundError(); }
|
if (!runner) { throw new RunnerNotFoundError(); }
|
||||||
|
|
||||||
if (runner.resetRequestedTimestamp > (Math.floor(Date.now() / 1000) - 60 * 60 * 24)) { throw new Error("timeout!") }
|
if (runner.resetRequestedTimestamp > (Math.floor(Date.now() / 1000) - 60 * 60 * 24)) { throw new RunnerSelfserviceTimeoutError(); }
|
||||||
const token = JwtCreator.createSelfService(runner);
|
const token = JwtCreator.createSelfService(runner);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
//await Mailer.sendForgottenMail();
|
//await Mailer.sendForgottenMail();
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
throw new Error("Mail fucked up");
|
throw new MailSendingError();
|
||||||
}
|
}
|
||||||
|
|
||||||
runner.resetRequestedTimestamp = Math.floor(Date.now() / 1000);
|
runner.resetRequestedTimestamp = Math.floor(Date.now() / 1000);
|
||||||
|
@ -46,6 +46,17 @@ export class RunnerEmailNeededError extends NotAcceptableError {
|
|||||||
message = "Citizenrunners have to provide an email address for verification and contacting."
|
message = "Citizenrunners have to provide an email address for verification and contacting."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Error to throw when a runner already requested a new selfservice link in the last 24hrs.
|
||||||
|
*/
|
||||||
|
export class RunnerSelfserviceTimeoutError extends NotAcceptableError {
|
||||||
|
@IsString()
|
||||||
|
name = "RunnerSelfserviceTimeoutError"
|
||||||
|
|
||||||
|
@IsString()
|
||||||
|
message = "You can only reqest a new token every 24hrs."
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Error to throw when a runner still has distance donations associated.
|
* Error to throw when a runner still has distance donations associated.
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user