twitch-clone/backend/src/module/auth/password-recovery/password-recovery.resolver.ts
2025-07-29 05:30:29 +03:00

30 lines
1.1 KiB
TypeScript

import {
Args, Context, Mutation, Resolver,
} from '@nestjs/graphql';
import { NewPasswordInput } from '@/src/module/auth/password-recovery/inputs/new-password.input';
import { ResetPasswordInput } from '@/src/module/auth/password-recovery/inputs/reset-password.input';
import { UserAgent } from '@/src/shared/decorators/user-agent.decorator';
import { GqlContext } from '@/src/shared/types/gql-context.types';
import { PasswordRecoveryService } from './password-recovery.service';
@Resolver('PasswordRecovery')
export class PasswordRecoveryResolver {
constructor(private readonly passwordRecoveryService: PasswordRecoveryService) {}
@Mutation(() => Boolean, { name: 'resetPassword' })
public async resetPassword(
@Context() { req }: GqlContext,
@Args('data') input: ResetPasswordInput,
@UserAgent() userAgent: string,
) {
return this.passwordRecoveryService.resetPassword(req, input, userAgent);
}
@Mutation(() => Boolean, { name: 'setNewPassword' })
public async setNewPassword(@Args('data') input: NewPasswordInput) {
return this.passwordRecoveryService.setNewPassword(input);
}
}