fix: profile
This commit is contained in:
parent
de7f9c059b
commit
412874a057
|
@ -1,4 +1,10 @@
|
|||
import { forwardRef, HttpException, HttpStatus, Inject, Injectable } from '@nestjs/common';
|
||||
import {
|
||||
forwardRef,
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
Inject,
|
||||
Injectable,
|
||||
} from '@nestjs/common';
|
||||
import { CreateUserDto } from './dto/create-user.dto';
|
||||
import { UpdateUserDto } from './dto/update-user.dto';
|
||||
import { Connection, EntityNotFoundError, Not, Repository } from 'typeorm';
|
||||
|
@ -58,24 +64,29 @@ export class UsersService {
|
|||
userData.username = createUserDto.username;
|
||||
userData.password = await hashPassword(createUserDto.password, salt);
|
||||
userData.salt = salt;
|
||||
|
||||
if (createUserDto.superior) {
|
||||
userData.superior = superior;
|
||||
} else {
|
||||
userData.superior = null;
|
||||
userData.partner = createUserDto.partner;
|
||||
}
|
||||
|
||||
userData.roles = roles;
|
||||
|
||||
await this.connection.transaction(async (manager) => {
|
||||
const result = await manager.insert(User, userData);
|
||||
|
||||
const userDetailData = new UserDetail();
|
||||
|
||||
userDetailData.name = createUserDto.name;
|
||||
userDetailData.phone_number = createUserDto.phone_number;
|
||||
userDetailData.user = userData;
|
||||
|
||||
const user_detail = await manager.insert(UserDetail, userDetailData);
|
||||
|
||||
const dataCoaWallet = new InputCoaDto();
|
||||
|
||||
dataCoaWallet.user = userData;
|
||||
dataCoaWallet.balanceType = balanceType.CREDIT;
|
||||
dataCoaWallet.type = coaType.WALLET;
|
||||
|
@ -83,6 +94,7 @@ export class UsersService {
|
|||
await this.coaService.create(dataCoaWallet);
|
||||
|
||||
const dataCoaAR = new InputCoaDto();
|
||||
|
||||
dataCoaAR.user = userData;
|
||||
dataCoaAR.balanceType = balanceType.DEBIT;
|
||||
dataCoaAR.relatedUserId = superior.id;
|
||||
|
@ -92,6 +104,7 @@ export class UsersService {
|
|||
|
||||
if (roles.name == 'Supervisor' || roles.name == 'Sales') {
|
||||
const dataCOAProfit = new InputCoaDto();
|
||||
|
||||
dataCOAProfit.user = userData;
|
||||
dataCOAProfit.balanceType = balanceType.CREDIT;
|
||||
dataCOAProfit.type = coaType.PROFIT;
|
||||
|
@ -101,6 +114,7 @@ export class UsersService {
|
|||
|
||||
if (createUserDto.superior) {
|
||||
const dataCoaAP = new InputCoaDto();
|
||||
|
||||
dataCoaAP.user = userData;
|
||||
dataCoaAP.balanceType = balanceType.CREDIT;
|
||||
dataCoaAP.relatedUserId = superior.id;
|
||||
|
@ -180,29 +194,38 @@ export class UsersService {
|
|||
superior: id,
|
||||
},
|
||||
});
|
||||
const listId = baseQuery.map((x) => x.id);
|
||||
const listId = baseQuery.map((x) => {
|
||||
return x.id;
|
||||
});
|
||||
|
||||
listUser = listUser.concat(listId);
|
||||
listToFind = listId;
|
||||
|
||||
if (role == 1) {
|
||||
return listUser;
|
||||
} else {
|
||||
}
|
||||
|
||||
for (let it = 2; it <= role; it++) {
|
||||
let newListToFind = [];
|
||||
|
||||
await mapSeries(listToFind, async (ltf) => {
|
||||
const getListUser = await this.usersRepository.find({
|
||||
where: {
|
||||
superior: ltf,
|
||||
},
|
||||
});
|
||||
|
||||
if (getListUser.length > 0) {
|
||||
const listId = getListUser.map((x) => x.id);
|
||||
const listId = getListUser.map((x) => {
|
||||
return x.id;
|
||||
});
|
||||
|
||||
newListToFind = newListToFind.concat(listId);
|
||||
listUser = listUser.concat(listId);
|
||||
}
|
||||
});
|
||||
listToFind = newListToFind;
|
||||
}
|
||||
}
|
||||
|
||||
return listUser;
|
||||
}
|
||||
|
@ -335,10 +358,13 @@ export class UsersService {
|
|||
.getOne();
|
||||
const coa = await this.coaService.findByUser(id, coaType.WALLET);
|
||||
let coaProfit;
|
||||
if(userData.roles.id != 'e4dfb6a3-2338-464a-8fb8-5cbc089d4209'){
|
||||
coaProfit = await this.coaService.findByUser(id, coaType.PROFIT);
|
||||
};
|
||||
|
||||
if (
|
||||
userData.roles.id != 'e4dfb6a3-2338-464a-8fb8-5cbc089d4209' &&
|
||||
userData.roles.id != '21dceea2-416e-4b55-b74c-12605e1f8d1b'
|
||||
) {
|
||||
coaProfit = await this.coaService.findByUser(id, coaType.PROFIT);
|
||||
}
|
||||
|
||||
return {
|
||||
...userData,
|
||||
|
@ -416,11 +442,14 @@ export class UsersService {
|
|||
async updatePassword(id: string, updateUserDto: UpdateUserDto) {
|
||||
try {
|
||||
const dataUser = await this.usersRepository.findOneOrFail(id);
|
||||
|
||||
dataUser.password = await hashPassword(
|
||||
updateUserDto.password,
|
||||
dataUser.salt,
|
||||
);
|
||||
|
||||
const result = await this.usersRepository.save(dataUser);
|
||||
|
||||
return dataUser;
|
||||
} catch (e) {
|
||||
if (e instanceof EntityNotFoundError) {
|
||||
|
@ -444,11 +473,14 @@ export class UsersService {
|
|||
partner: id,
|
||||
},
|
||||
});
|
||||
|
||||
dataUser.password = await hashPassword(
|
||||
updateUserDto.password,
|
||||
dataUser.salt,
|
||||
);
|
||||
|
||||
const result = await this.usersRepository.save(dataUser);
|
||||
|
||||
return dataUser;
|
||||
} catch (e) {
|
||||
if (e instanceof EntityNotFoundError) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user