import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { MailService } from '../mail/mail.service';
import { CreateContactDto } from './dto/create-contact.dto';
import { ContactEntity } from './entities/contact.entity';
import { ContactRepository } from './repository/contact.repository';

@Injectable()
export class ContactService {
  constructor(
    @InjectRepository(ContactRepository)
    private readonly _contactRepository: ContactRepository,
    private readonly _mailService: MailService,
  ) {}

  async create(createContactDto: CreateContactDto): Promise<ContactEntity> {
    const contact = await this._contactRepository.registerContact(
      createContactDto,
    );
    if (contact) {
      await this._mailService.sendContact(contact);
    }
    return contact;
  }
}
