import { BaseSchema } from '@adonisjs/lucid/schema'

/**
 * Étend l'enum natif Postgres `activity_event_kind` avec la valeur
 * `thanks_email_sent` (timeline de la facture lorsque l'email de
 * remerciement automatique part au client après confirmation de paiement).
 */
export default class extends BaseSchema {
  // Postgres interdit ALTER TYPE ... ADD VALUE à l'intérieur d'une transaction.
  // On désactive le wrap transactionnel pour cette migration spécifiquement.
  static disableTransactions = true

  async up() {
    this.schema.raw("ALTER TYPE activity_event_kind ADD VALUE IF NOT EXISTS 'thanks_email_sent'")
  }

  async down() {
    // Postgres ne supporte pas le retrait d'une valeur d'enum sans recréer
    // le type. On laisse la valeur en place côté DB — le code ne l'utilisera
    // simplement plus si on rollback. Suffisant pour cette migration.
  }
}
