Unverified Commit 14367e6e authored by radhay-samagra's avatar radhay-samagra Committed by GitHub
Browse files

Merge pull request #22 from Samarth-HP/develop

fix: refactor fusionauth service
Showing with 17 additions and 13 deletions
+17 -13
......@@ -2,7 +2,7 @@ import { User } from '@fusionauth/typescript-client';
import { Body, Controller, Request, Get, Param, Patch, Post, Query, UseGuards } from '@nestjs/common';
import { AuthGuard } from '@nestjs/passport';
import { JwtAuthGuard } from '../auth/auth-jwt.guard';
import { SignupResponse, UsersResponse } from './admin.interface';
import { SignupResponse, UserRegistration, UsersResponse } from './admin.interface';
import { AdminService } from './admin.service';
import { Roles } from './roles.decorator';
......@@ -31,7 +31,7 @@ export class AdminController {
@Post('/createUser')
@Roles('Admin')
@UseGuards(JwtAuthGuard)
async createUser(@Body() data: User): Promise<SignupResponse> {
async createUser(@Body() data: UserRegistration): Promise<SignupResponse> {
const users: SignupResponse = await this.adminService.createUser(data);
return users;
}
......
import { User, UUID } from '@fusionauth/typescript-client';
import { RegistrationRequest, User, UUID } from '@fusionauth/typescript-client';
import { SignupResult } from 'src/user/user.interface';
import { v4 as uuidv4 } from 'uuid';
......@@ -116,4 +116,8 @@ export interface Admin {
throw new Error('Method not implemented.');
}
}
export class UserRegistration implements RegistrationRequest {
}
import { Error, User, UserRequest, UUID } from '@fusionauth/typescript-client';
import { Error, User, UUID } from '@fusionauth/typescript-client';
import { HttpService } from '@nestjs/axios';
import { HttpException, HttpStatus, Injectable } from '@nestjs/common';
import {
ResponseCode,
ResponseStatus,
SignupResponse,
UserRegistration,
UsersResponse,
} from './admin.interface';
import { FAStatus, FusionauthService } from './fusionauth/fusionauth.service';
......@@ -53,7 +54,6 @@ export class AdminService {
numberOfResults,
);
const response: UsersResponse = new UsersResponse().init(uuidv4());
console.log(response);
if (users != null) {
response.responseCode = ResponseCode.OK;
response.params.status = ResponseStatus.success;
......@@ -68,12 +68,12 @@ export class AdminService {
}
async updatePassword(data: {loginId: string, password: string}): Promise<any> {
return this.fusionAuthService.changePassword(data);
return this.fusionAuthService.upddatePasswordWithLoginId(data);
}
async createUser(data: User): Promise<SignupResponse> {
async createUser(data: UserRegistration): Promise<SignupResponse> {
const { userId, user, err }: { userId: UUID; user: User; err: Error } =
await this.fusionAuthService.createUser({user: data});
await this.fusionAuthService.createAndRegisterUser(data);
if (userId == null || user == null) {
throw new HttpException(err, HttpStatus.BAD_REQUEST);
}
......
......@@ -154,7 +154,7 @@ export class FusionauthService {
});
}
updatePassword(
updatePasswordWithUserId(
userId: UUID,
password: string,
): Promise<{ statusFA: FAStatus; userId: UUID }> {
......@@ -434,12 +434,12 @@ export class FusionauthService {
}
}
async createUser(user: UserRequest): Promise<{userId: UUID, user: User, err: Error}> {
async createAndRegisterUser(user: RegistrationRequest): Promise<{userId: UUID, user: User, err: Error}> {
return this.fusionauthClient
.createUser(null, user)
.register(null, user)
.then(
(
response: ClientResponse<UserResponse>,
response: ClientResponse<RegistrationResponse>,
): { userId: UUID; user: User, err: Error } => {
console.log('Found user');
return {
......@@ -484,7 +484,7 @@ export class FusionauthService {
});
}
async changePassword(data: {loginId: string, password: string}): Promise<any> {
async upddatePasswordWithLoginId(data: {loginId: string, password: string}): Promise<any> {
return this.httpService
.post(
process.env.FUSIONAUTH_BASE_URL + '/api/user/change-password',
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment