parent
caeb17311b
commit
5aad581c2d
@ -1,4 +1,4 @@
|
|||||||
import { Body, CookieParam, JsonController, Post, Res } from 'routing-controllers';
|
import { Body, CookieParam, JsonController, Param, Post, Res } from 'routing-controllers';
|
||||||
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
|
import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
|
||||||
import { IllegalJWTError, InvalidCredentialsError, JwtNotProvidedError, PasswordNeededError, RefreshTokenCountInvalidError, UsernameOrEmailNeededError } from '../errors/AuthError';
|
import { IllegalJWTError, InvalidCredentialsError, JwtNotProvidedError, PasswordNeededError, RefreshTokenCountInvalidError, UsernameOrEmailNeededError } from '../errors/AuthError';
|
||||||
import { UserNotFoundError } from '../errors/UserErrors';
|
import { UserNotFoundError } from '../errors/UserErrors';
|
||||||
@ -6,6 +6,7 @@ import { CreateAuth } from '../models/actions/CreateAuth';
|
|||||||
import { CreateResetToken } from '../models/actions/CreateResetToken';
|
import { CreateResetToken } from '../models/actions/CreateResetToken';
|
||||||
import { HandleLogout } from '../models/actions/HandleLogout';
|
import { HandleLogout } from '../models/actions/HandleLogout';
|
||||||
import { RefreshAuth } from '../models/actions/RefreshAuth';
|
import { RefreshAuth } from '../models/actions/RefreshAuth';
|
||||||
|
import { ResetPassword } from '../models/actions/ResetPassword';
|
||||||
import { Auth } from '../models/responses/ResponseAuth';
|
import { Auth } from '../models/responses/ResponseAuth';
|
||||||
import { Logout } from '../models/responses/ResponseLogout';
|
import { Logout } from '../models/responses/ResponseLogout';
|
||||||
|
|
||||||
@ -86,6 +87,16 @@ export class AuthController {
|
|||||||
@ResponseSchema(UsernameOrEmailNeededError)
|
@ResponseSchema(UsernameOrEmailNeededError)
|
||||||
@OpenAPI({ description: "Request a password reset token" })
|
@OpenAPI({ description: "Request a password reset token" })
|
||||||
async getResetToken(@Body({ validate: true }) passwordReset: CreateResetToken) {
|
async getResetToken(@Body({ validate: true }) passwordReset: CreateResetToken) {
|
||||||
return await passwordReset.toResetToken();
|
return { "resetToken": await passwordReset.toResetToken() };
|
||||||
|
}
|
||||||
|
|
||||||
|
@Post("/reset/:token")
|
||||||
|
@ResponseSchema(Auth)
|
||||||
|
@ResponseSchema(UserNotFoundError)
|
||||||
|
@ResponseSchema(UsernameOrEmailNeededError)
|
||||||
|
@OpenAPI({ description: "Reset a user's password" })
|
||||||
|
async resetPassword(@Param("token") token: string, @Body({ validate: true }) passwordReset: ResetPassword) {
|
||||||
|
passwordReset.resetToken = token;
|
||||||
|
return await passwordReset.resetPassword();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user