first user promoted to admin
This commit is contained in:
parent
31e5084ea5
commit
de4e8486c4
3 changed files with 15 additions and 8 deletions
|
|
@ -16,6 +16,11 @@ module.exports = (pool, query) => {
|
|||
'SELECT * FROM users WHERE email = $1',
|
||||
[email]
|
||||
);
|
||||
const firstUserQuery = await query(
|
||||
'SELECT count(*) FROM (SELECT 1 FROM users LIMIT 1) AS t',
|
||||
[]
|
||||
);
|
||||
let isFirstUser = parseInt(firstUserQuery.rows[0]?.count) === 0;
|
||||
|
||||
if (userCheck.rows.length > 0) {
|
||||
return res.status(400).json({
|
||||
|
|
@ -30,6 +35,13 @@ module.exports = (pool, query) => {
|
|||
[email, firstName, lastName]
|
||||
);
|
||||
console.log("REGISTERED NEW USER ", email)
|
||||
if(isFirstUser){
|
||||
console.log("First User, promoting ", email, " to admin")
|
||||
await query(
|
||||
'UPDATE users SET is_admin = TRUE WHERE email = $1',
|
||||
[email]
|
||||
);
|
||||
}
|
||||
if(isSubscribed){
|
||||
let subResult = await query(
|
||||
`INSERT INTO subscribers (id, email, first_name, last_name, status)
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
-- Seed data for testing
|
||||
|
||||
-- Insert test users
|
||||
INSERT INTO users (email, first_name, last_name) VALUES
|
||||
('shaivkamat@2many.ca', 'Shaiv', 'Kamat'),
|
||||
('jane@example.com', 'Jane', 'Smith'),
|
||||
('bob@example.com', 'Bob', 'Johnson');
|
||||
|
||||
-- Note: Product categories are already inserted in the schema file, so we're skipping that step
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ ALTER TABLE users ADD COLUMN is_admin BOOLEAN DEFAULT FALSE;
|
|||
CREATE INDEX idx_user_is_admin ON users(is_admin);
|
||||
|
||||
-- Set the first user as admin for testing
|
||||
UPDATE users
|
||||
SET is_admin = TRUE
|
||||
WHERE email = 'shaivkamat@2many.ca';
|
||||
-- UPDATE users
|
||||
-- SET is_admin = TRUE
|
||||
-- WHERE email = 'shaivkamat@2many.ca';
|
||||
Loading…
Reference in a new issue