Files
mercadodevida/project/migrations/058_identity_email_confirmation.js
2026-08-24 07:23:55 +02:00

31 lines
977 B
JavaScript

/**
* FEAT-199: Adds email confirmation to user registration.
* - confirmation_token: random string sent in confirmation email (null after confirmed)
* - confirmed_at: timestamp when email was confirmed (null until confirmed)
* - confirmed users can login; unconfirmed cannot.
*/
export const up = (pgm) => {
pgm.addColumn('identity_users', 'confirmation_token', {
type: 'string',
notNull: false,
default: null,
});
pgm.addColumn('identity_users', 'confirmed_at', {
type: 'timestamp',
notNull: false,
default: null,
});
pgm.addColumn('identity_users', 'email_confirmed', {
type: 'boolean',
notNull: true,
default: false,
});
// FEAT-199: migrate existing users to confirmed (they already verified their email during signup)
pgm.sql('UPDATE identity_users SET email_confirmed = true');
};
export const down = (pgm) => {
pgm.dropColumns('identity_users', ['email_confirmed', 'confirmed_at', 'confirmation_token']);
};