refactor(nestjs): contacts module

This commit is contained in:
Ahmed Bouhuolia
2025-05-20 23:55:39 +02:00
parent 99fe5a6b0d
commit 0823bfc4e9
15 changed files with 195 additions and 9 deletions

View File

@@ -0,0 +1,28 @@
import { Inject, Injectable } from '@nestjs/common';
import { ServiceError } from '@/modules/Items/ServiceError';
import { Contact } from '../models/Contact';
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
import { ERRORS } from '../Contacts.constants';
@Injectable()
export class InactivateContactService {
constructor(
@Inject(Contact.name)
private readonly contactModel: TenantModelProxy<typeof Contact>,
) {}
async inactivateContact(contactId: number) {
const contact = await this.contactModel()
.query()
.findById(contactId)
.throwIfNotFound();
if (!contact.active) {
throw new ServiceError(ERRORS.CONTACT_ALREADY_INACTIVE);
}
await this.contactModel()
.query()
.findById(contactId)
.update({ active: false });
}
}