mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-14 11:50:31 +00:00
29 lines
818 B
TypeScript
29 lines
818 B
TypeScript
import { ServiceError } from '@/modules/Items/ServiceError';
|
|
import { Contact } from '../models/Contact';
|
|
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
|
|
import { Inject, Injectable } from '@nestjs/common';
|
|
import { ERRORS } from '../Contacts.constants';
|
|
|
|
@Injectable()
|
|
export class ActivateContactService {
|
|
constructor(
|
|
@Inject(Contact.name)
|
|
private readonly contactModel: TenantModelProxy<typeof Contact>,
|
|
) {}
|
|
|
|
async activateContact(contactId: number) {
|
|
const contact = await this.contactModel()
|
|
.query()
|
|
.findById(contactId)
|
|
.throwIfNotFound();
|
|
|
|
if (contact.active) {
|
|
throw new ServiceError(ERRORS.CONTACT_ALREADY_ACTIVE);
|
|
}
|
|
await this.contactModel()
|
|
.query()
|
|
.findById(contactId)
|
|
.update({ active: true });
|
|
}
|
|
}
|