chore: change the quota sync to the queue
This commit is contained in:
@@ -10,6 +10,7 @@ import { DomainAutomationService } from "../../domains/services/domain-automatio
|
||||
import { DomainsService } from "../../domains/services/domains.service";
|
||||
import { UpdateUserDto } from "../../mail-server/DTO";
|
||||
import { MailServerService } from "../../mail-server/services/mail-server.service";
|
||||
import { QuotaSyncService } from "../../quota-sync/services/quota-sync.service";
|
||||
import { Template } from "../../templates/entities/template.entity";
|
||||
import { PasswordService } from "../../utils/services/password.service";
|
||||
import { CreateEmailUserDto } from "../DTO/create-email-user.dto";
|
||||
@@ -31,6 +32,7 @@ export class UsersService {
|
||||
private readonly mailServerService: MailServerService,
|
||||
private readonly domainsService: DomainsService,
|
||||
private readonly domainAutomationService: DomainAutomationService,
|
||||
private readonly quotaSyncService: QuotaSyncService,
|
||||
) {}
|
||||
|
||||
async getUserEmailIdFromId(userId: string) {
|
||||
@@ -169,6 +171,11 @@ export class UsersService {
|
||||
|
||||
await this.em.flush();
|
||||
|
||||
//sync quota
|
||||
await this.quotaSyncService.scheduleUserQuotaSync(user.id, businessId, mailServerUser.id);
|
||||
//sync business quota
|
||||
await this.quotaSyncService.scheduleBusinessQuotaSync(businessId, business.name);
|
||||
|
||||
this.logger.log(`Email user created: ${emailAddress} for business ${businessId}`);
|
||||
|
||||
await this.domainAutomationService.createDefaultMailboxes(mailServerUser.id);
|
||||
@@ -221,6 +228,11 @@ export class UsersService {
|
||||
|
||||
await this.em.persistAndFlush(user);
|
||||
|
||||
//sync quota
|
||||
await this.quotaSyncService.scheduleUserQuotaSync(user.id, businessId, user.wildduckUserId);
|
||||
//sync business quota
|
||||
await this.quotaSyncService.scheduleBusinessQuotaSync(businessId, user.business.name);
|
||||
|
||||
this.logger.log(`Email user deleted: ${user.emailAddress} for business ${businessId}`);
|
||||
|
||||
return { message: UserMessage.EMAIL_USER_DELETED_SUCCESSFULLY };
|
||||
@@ -316,6 +328,14 @@ export class UsersService {
|
||||
|
||||
await this.em.flush();
|
||||
|
||||
//sync quota
|
||||
if (user.wildduckUserId) {
|
||||
await this.quotaSyncService.scheduleUserQuotaSync(user.id, businessId, user.wildduckUserId);
|
||||
}
|
||||
|
||||
//sync business quota
|
||||
await this.quotaSyncService.scheduleBusinessQuotaSync(businessId, user.business.name);
|
||||
|
||||
this.logger.log(`Email user updated: ${user.emailAddress} for business ${businessId}`);
|
||||
|
||||
return {
|
||||
@@ -372,6 +392,14 @@ export class UsersService {
|
||||
|
||||
await this.em.persistAndFlush([user, user.business]);
|
||||
|
||||
//sync quota
|
||||
if (user.wildduckUserId) {
|
||||
await this.quotaSyncService.scheduleUserQuotaSync(user.id, businessId, user.wildduckUserId);
|
||||
}
|
||||
|
||||
//sync business quota
|
||||
await this.quotaSyncService.scheduleBusinessQuotaSync(businessId, user.business.name);
|
||||
|
||||
this.logger.log(`Email user quota updated: ${user.emailAddress} to ${newQuota} bytes`);
|
||||
|
||||
return { message: UserMessage.EMAIL_USER_QUOTA_UPDATED_SUCCESSFULLY, user };
|
||||
|
||||
@@ -9,10 +9,11 @@ import { UsersController } from "./users.controller";
|
||||
import { BusinessesModule } from "../businesses/businesses.module";
|
||||
import { DomainsModule } from "../domains/domains.module";
|
||||
import { MailServerModule } from "../mail-server/mail-server.module";
|
||||
import { QuotaSyncModule } from "../quota-sync/quota-sync.module";
|
||||
import { UtilsModule } from "../utils/utils.module";
|
||||
|
||||
@Module({
|
||||
imports: [MikroOrmModule.forFeature([User, RefreshToken, Role]), UtilsModule, MailServerModule, DomainsModule, BusinessesModule],
|
||||
imports: [MikroOrmModule.forFeature([User, RefreshToken, Role]), UtilsModule, MailServerModule, DomainsModule, BusinessesModule, QuotaSyncModule],
|
||||
controllers: [UsersController],
|
||||
providers: [UsersService],
|
||||
exports: [UsersService],
|
||||
|
||||
Reference in New Issue
Block a user