import { Injectable, Logger } from '@nestjs/common';
import { PushSender, ResultadoPush } from './push.port';

/**
 * Adaptador de push desativado.
 *
 * Android (FCM) é gratuito mas precisa de projeto Firebase configurado; iOS
 * (APNs) exige conta Apple Developer paga. Sem credencial, este adaptador
 * apenas registra — e o aviso no banco continua sendo a entrega efetiva.
 */
@Injectable()
export class PushDesativadoAdapter implements PushSender {
  private readonly log = new Logger(PushDesativadoAdapter.name);

  enviar(userId: string, titulo: string): Promise<ResultadoPush> {
    this.log.debug(
      `push NÃO enviado (sem credencial) para ${userId}: "${titulo}". O aviso está no banco.`,
    );
    return Promise.resolve({
      entregue: false,
      motivo: 'push desativado: sem credencial de FCM/APNs nesta versão',
    });
  }
}
