chore: add forwarder address for users
This commit is contained in:
@@ -71,6 +71,7 @@ export class UsersService {
|
||||
remainingInGB: Math.round(Number(user.emailQuota - user.emailQuotaUsed) / (1024 * 1024 * 1024)),
|
||||
usagePercentage: Math.round((Number(user.emailQuotaUsed) / Number(user.emailQuota)) * 100),
|
||||
},
|
||||
forwarders: user.forwarders || [],
|
||||
};
|
||||
}
|
||||
/*******************************/
|
||||
@@ -83,7 +84,7 @@ export class UsersService {
|
||||
|
||||
/*******************************/
|
||||
async createEmailUser(createEmailUserDto: CreateEmailUserDto, businessId: string) {
|
||||
const { username, password, domainId, displayName, quota, aliases, title, templateId } = createEmailUserDto;
|
||||
const { username, password, domainId, displayName, quota, aliases, title, templateId, forwarders } = createEmailUserDto;
|
||||
|
||||
const business = await this.em.findOne(Business, { id: businessId });
|
||||
if (!business) throw new BadRequestException(BusinessMessage.NOT_FOUND);
|
||||
@@ -122,6 +123,7 @@ export class UsersService {
|
||||
address: emailAddress,
|
||||
name: displayName || username,
|
||||
quota: userQuota,
|
||||
targets: forwarders || [],
|
||||
}),
|
||||
);
|
||||
|
||||
@@ -140,6 +142,7 @@ export class UsersService {
|
||||
business,
|
||||
domain,
|
||||
role: userRole,
|
||||
forwarders: forwarders || [],
|
||||
});
|
||||
|
||||
// Update business quota after successful user creation
|
||||
@@ -189,6 +192,7 @@ export class UsersService {
|
||||
emailQuota: user.emailQuota!,
|
||||
emailEnabled: user.emailEnabled,
|
||||
domain: domain.name,
|
||||
forwarders: user.forwarders || [],
|
||||
createdAt: user.createdAt,
|
||||
isActive: user.isActive,
|
||||
},
|
||||
@@ -245,7 +249,7 @@ export class UsersService {
|
||||
/*******************************/
|
||||
|
||||
async updateEmailUser(userId: string, businessId: string, updateEmailUserDto: UpdateEmailUserDto) {
|
||||
const { password, displayName, quota, aliases, title, templateId } = updateEmailUserDto;
|
||||
const { password, displayName, quota, aliases, title, templateId, forwarders } = updateEmailUserDto;
|
||||
|
||||
const user = await this.userRepository.findOne(
|
||||
{
|
||||
@@ -283,6 +287,11 @@ export class UsersService {
|
||||
|
||||
if (quota) updateData.quota = quota;
|
||||
|
||||
if (forwarders !== undefined) {
|
||||
updateData.forward = forwarders;
|
||||
user.forwarders = forwarders;
|
||||
}
|
||||
|
||||
if (Object.keys(updateData).length > 0) {
|
||||
await firstValueFrom(this.mailServerService.users.updateUser(user.wildduckUserId!, updateData));
|
||||
}
|
||||
@@ -347,6 +356,7 @@ export class UsersService {
|
||||
title: user.title,
|
||||
emailQuota: user.emailQuota!,
|
||||
emailEnabled: user.emailEnabled,
|
||||
forwarders: user.forwarders || [],
|
||||
isActive: user.isActive,
|
||||
updatedAt: user.updatedAt,
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user