Bug 28786: Add tests for checkauth
[koha-ffzg.git] / installer / data / mysql / atomicupdate / two-fa.perl
1 $DBversion = 'XXX'; # will be replaced by the RM
2 if( CheckVersion( $DBversion ) ) {
3
4     $dbh->do(q{
5         INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
6         ('TwoFactorAuthentication', '0', 'NULL', 'Enables two-factor authentication', 'YesNo')
7     });
8
9     if( !column_exists( 'borrowers', 'secret' ) ) {
10       $dbh->do(q{
11           ALTER TABLE borrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password`
12       });
13     }
14
15     if( !column_exists( 'deletedborrowers', 'secret' ) ) {
16       $dbh->do(q{
17           ALTER TABLE deletedborrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password`
18         });
19     }
20
21     if( !column_exists( 'borrowers', 'auth_method' ) ) {
22       $dbh->do(q{
23           ALTER TABLE borrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret`
24       });
25     }
26
27     if( !column_exists( 'deletedborrowers', 'auth_method' ) ) {
28       $dbh->do(q{
29           ALTER TABLE deletedborrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret`
30       });
31     }
32
33     NewVersion( $DBversion, 28786, "Add new syspref TwoFactorAuthentication");
34 }