OLD | NEW |
(Empty) | |
| 1 define discourse::admin( |
| 2 $email = $title, |
| 3 $ensure = 'present' |
| 4 ) { |
| 5 # Attempt some escaping |
| 6 $escaped_email = regsubst($email, '[\'\\]', '\\\1', 'G') |
| 7 |
| 8 case $ensure { |
| 9 default: { |
| 10 err("unknown ensure value ${ensure}") |
| 11 } |
| 12 present: { |
| 13 # Only confirmed accounts should be made admins |
| 14 postgresql_psql {"UPDATE users SET admin = true WHERE email = '$escaped_em
ail' AND EXISTS (SELECT * FROM email_tokens WHERE email_tokens.user_id = users.i
d AND email_tokens.email = users.email AND email_tokens.confirmed)": |
| 15 db => 'discourse', |
| 16 psql_user => 'discourse', |
| 17 unless => 'SELECT false' |
| 18 } |
| 19 } |
| 20 absent: { |
| 21 postgresql_psql {"UPDATE users SET admin = false WHERE email = '$escaped_e
mail'": |
| 22 db => 'discourse', |
| 23 psql_user => 'discourse', |
| 24 unless => 'SELECT false' |
| 25 } |
| 26 } |
| 27 } |
| 28 } |
OLD | NEW |