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

/**
 * Ajoute `microsoft_id` (sub OAuth Microsoft Identity, stable, unique).
 * Match prioritaire sur cet ID, fallback email pour lier un compte existant.
 *
 * Mêmes principes que google_id (cf. migration 1300) :
 *  - Nullable (un user peut n'avoir que Google ou que email/password)
 *  - Unique pour éviter les collisions
 */
export default class extends BaseSchema {
  protected tableName = 'users'

  async up() {
    this.schema.alterTable(this.tableName, (table) => {
      table.string('microsoft_id', 64).nullable().unique()
    })
  }

  async down() {
    this.schema.alterTable(this.tableName, (table) => {
      table.dropColumn('microsoft_id')
    })
  }
}
