49 lines
2.1 KiB
SQL
49 lines
2.1 KiB
SQL
-- Ensure baseline ACS test accounts exist in the Node/PostgreSQL deployment.
|
|
-- Passwords:
|
|
-- admin/security/host = ChangeMe123!
|
|
-- a/s/h = 1
|
|
|
|
WITH upserted AS (
|
|
INSERT INTO users (
|
|
created_at,
|
|
updated_at,
|
|
username,
|
|
password_hash,
|
|
full_name,
|
|
email,
|
|
department,
|
|
must_change_password,
|
|
enabled,
|
|
locked
|
|
)
|
|
VALUES
|
|
(now(), now(), 'admin', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Admin', 'admin@itcenter.local', 'IT Ops', TRUE, TRUE, FALSE),
|
|
(now(), now(), 'security', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Security', 'security@itcenter.local', 'Security', TRUE, TRUE, FALSE),
|
|
(now(), now(), 'host', '$2a$12$7FBM5I4IOmKQHmBbAm2AAu3HQ3FvOkazzuBk1Hnd.gr68UekEusEa', 'Host', 'host@itcenter.local', 'Dev Team', TRUE, TRUE, FALSE),
|
|
(now(), now(), 'a', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Admin', 'a@itcenter.local', 'IT Ops', FALSE, TRUE, FALSE),
|
|
(now(), now(), 's', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Security', 's@itcenter.local', 'Security', FALSE, TRUE, FALSE),
|
|
(now(), now(), 'h', '$2a$12$aQ84.8Z4w/9GLG4gJkBu7OAHU3v9/BR5ESLimxpnETZ.pxnzylgkW', 'Host', 'h@itcenter.local', 'Dev Team', FALSE, TRUE, FALSE)
|
|
ON CONFLICT (username) DO UPDATE
|
|
SET updated_at = now(),
|
|
password_hash = EXCLUDED.password_hash,
|
|
full_name = EXCLUDED.full_name,
|
|
email = EXCLUDED.email,
|
|
department = EXCLUDED.department,
|
|
must_change_password = EXCLUDED.must_change_password,
|
|
enabled = TRUE,
|
|
locked = FALSE
|
|
RETURNING id, username
|
|
)
|
|
DELETE FROM user_roles
|
|
WHERE user_id IN (SELECT id FROM upserted);
|
|
|
|
INSERT INTO user_roles (user_id, role)
|
|
SELECT id, role
|
|
FROM (
|
|
SELECT id, 'ADMIN' AS role FROM users WHERE username IN ('admin', 'a')
|
|
UNION ALL
|
|
SELECT id, 'SECURITY' AS role FROM users WHERE username IN ('security', 's')
|
|
UNION ALL
|
|
SELECT id, 'HOST' AS role FROM users WHERE username IN ('host', 'h')
|
|
) seeded_roles;
|