diff --git a/backend/src/graphql/inputs/LoginUserInput.ts b/backend/src/graphql/inputs/LoginUserInput.ts index 7edc3089e..c93b934b6 100644 --- a/backend/src/graphql/inputs/LoginUserInput.ts +++ b/backend/src/graphql/inputs/LoginUserInput.ts @@ -25,3 +25,15 @@ export class UnsecureLoginArgs { @Field(() => String) password: string } + +@ArgsType() +export class ChangePasswordArgs { + @Field(() => Number) + sessionId: number + + @Field(() => String) + email: string + + @Field(() => String) + password: string +} diff --git a/backend/src/graphql/resolvers/UserResolver.ts b/backend/src/graphql/resolvers/UserResolver.ts index 34ceae7c7..f22d9c9b9 100644 --- a/backend/src/graphql/resolvers/UserResolver.ts +++ b/backend/src/graphql/resolvers/UserResolver.ts @@ -2,7 +2,7 @@ import { Resolver, Query, /* Mutation, */ Args, Arg } from 'type-graphql' import CONFIG from '../../config' import { LoginResponse, LoginViaVerificationCode } from '../models/User' -import { UnsecureLoginArgs } from '../inputs/LoginUserInput' +import { UnsecureLoginArgs, ChangePasswordArgs } from '../inputs/LoginUserInput' import { apiPost, apiGet } from '../../apis/loginAPI' @Resolver() @@ -84,4 +84,18 @@ export class UserResolver { } return result.result } + + @Query(() => String) + // eslint-disable-next-line @typescript-eslint/no-explicit-any + async changePassword(@Args() { sessionId, email, password }: ChangePasswordArgs): Promise { + const payload = { + session_id: sessionId, + email, + password, + } + const result = await apiPost(CONFIG.LOGIN_API_URL + 'resetPassword', payload) + console.log(result) + if (result.success) return result.result.data.state + return result.result + } }