@@ -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 { IllegalJWTError, InvalidCredentialsError, JwtNotProvidedError, PasswordNeededError, RefreshTokenCountInvalidError, UsernameOrEmailNeededError } from '../errors/AuthError';
 | 
			
		||||
import { UserNotFoundError } from '../errors/UserErrors';
 | 
			
		||||
@@ -6,6 +6,7 @@ import { CreateAuth } from '../models/actions/CreateAuth';
 | 
			
		||||
import { CreateResetToken } from '../models/actions/CreateResetToken';
 | 
			
		||||
import { HandleLogout } from '../models/actions/HandleLogout';
 | 
			
		||||
import { RefreshAuth } from '../models/actions/RefreshAuth';
 | 
			
		||||
import { ResetPassword } from '../models/actions/ResetPassword';
 | 
			
		||||
import { Auth } from '../models/responses/ResponseAuth';
 | 
			
		||||
import { Logout } from '../models/responses/ResponseLogout';
 | 
			
		||||
 | 
			
		||||
@@ -86,6 +87,16 @@ export class AuthController {
 | 
			
		||||
	@ResponseSchema(UsernameOrEmailNeededError)
 | 
			
		||||
	@OpenAPI({ description: "Request a password reset token" })
 | 
			
		||||
	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();
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user