// apps/web/src/server/invoicing/noop.ts
import { z } from 'zod';
import type { VendorInvoiceProvider, InvoiceCreateArgs, InvoiceCreateResult } from './types';

/** Self-handled: vendor issues invoice manually. Platform logs only. */
export class NoopProvider implements VendorInvoiceProvider {
  kind = 'self_handled' as const;
  credentialsSchema = z.object({});
  async validateCredentials() { return { ok: true as const }; }
  async createInvoice(_args: InvoiceCreateArgs): Promise<InvoiceCreateResult> {
    return { documentId: 'self_handled', documentNumber: '', documentUrl: '' };
  }
}
