fix create membership
This commit is contained in:
@@ -21,9 +21,9 @@ export class UsersService {
|
||||
private roleService: RoleService
|
||||
) {}
|
||||
|
||||
async create(createUserDto: CreateUserDto) {
|
||||
async create(createUserDto: CreateUserDto, currentUser: any) {
|
||||
const roles = await this.roleService.findOne(createUserDto.roleId);
|
||||
const superior = await this.findExist(createUserDto.superior);
|
||||
const superior = await this.findByUsername(currentUser.username);
|
||||
|
||||
const salt = randomStringGenerator();
|
||||
const result = await this.usersRepository.insert({
|
||||
@@ -39,19 +39,24 @@ export class UsersService {
|
||||
dataCoaWallet.balanceType = balanceType.CREDIT;
|
||||
dataCoaWallet.type = coaType.WALLET;
|
||||
|
||||
let dataCoaAR = new InputCoaDto();
|
||||
dataCoaAR.userId = result.identifiers[0].id;
|
||||
dataCoaAR.balanceType = balanceType.CREDIT;
|
||||
dataCoaAR.type = coaType.ACCOUNT_RECEIVABLE;
|
||||
if(createUserDto.superior){
|
||||
let dataCoaAP = new InputCoaDto();
|
||||
dataCoaAP.userId = result.identifiers[0].id;
|
||||
dataCoaAP.balanceType = balanceType.CREDIT;
|
||||
dataCoaAP.relatedUserId = superior.id;
|
||||
dataCoaAP.type = coaType.ACCOUNT_PAYABLE;
|
||||
|
||||
let dataCoaPayable = new InputCoaDto();
|
||||
dataCoaPayable.userId = result.identifiers[0].id;
|
||||
dataCoaPayable.balanceType = balanceType.CREDIT;
|
||||
dataCoaPayable.type = coaType.ACCOUNT_PAYABLE;
|
||||
let dataCoaAR = new InputCoaDto();
|
||||
dataCoaAR.userId = result.identifiers[0].id;
|
||||
dataCoaAR.balanceType = balanceType.DEBIT;
|
||||
dataCoaAR.relatedUserId = superior.id;
|
||||
dataCoaAR.type = coaType.ACCOUNT_RECEIVABLE;
|
||||
|
||||
await this.coaService.create(dataCoaAP);
|
||||
await this.coaService.create(dataCoaAR);
|
||||
}
|
||||
|
||||
await this.coaService.create(dataCoaWallet);
|
||||
await this.coaService.create(dataCoaAR);
|
||||
await this.coaService.create(dataCoaPayable);
|
||||
|
||||
return this.usersRepository.findOneOrFail(result.identifiers[0].id);
|
||||
}
|
||||
@@ -97,6 +102,26 @@ export class UsersService {
|
||||
}
|
||||
}
|
||||
|
||||
async findByUsername(username: string) {
|
||||
try {
|
||||
return await this.usersRepository.findOneOrFail({
|
||||
username:username
|
||||
});
|
||||
} catch (e) {
|
||||
if (e instanceof EntityNotFoundError) {
|
||||
throw new HttpException(
|
||||
{
|
||||
statusCode: HttpStatus.NOT_FOUND,
|
||||
error: 'Data not found',
|
||||
},
|
||||
HttpStatus.NOT_FOUND,
|
||||
);
|
||||
} else {
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async findOne(id: string) {
|
||||
const coa = await this.coaService.findByUser(id,coaType.WALLET);
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user