Active flag is more accurately called verified
This commit is contained in:
@@ -44,7 +44,7 @@ basic_auth.users (
|
|||||||
email text not null,
|
email text not null,
|
||||||
pass text not null,
|
pass text not null,
|
||||||
role name not null,
|
role name not null,
|
||||||
active boolean not null default false,
|
verified boolean not null default false,
|
||||||
-- If you like add more columns, or a json column
|
-- If you like add more columns, or a json column
|
||||||
constraint user_pkey primary key (email),
|
constraint user_pkey primary key (email),
|
||||||
constraint user_field_length_limits check (
|
constraint user_field_length_limits check (
|
||||||
@@ -244,7 +244,7 @@ begin
|
|||||||
if _role is null then
|
if _role is null then
|
||||||
raise invalid_password using message = 'invalid user or password';
|
raise invalid_password using message = 'invalid user or password';
|
||||||
end if;
|
end if;
|
||||||
-- TODO; check active flag if you care whether users
|
-- TODO; check verified flag if you care whether users
|
||||||
-- have validated their emails
|
-- have validated their emails
|
||||||
select _role as role, login.email as email into result;
|
select _role as role, login.email as email into result;
|
||||||
return result;
|
return result;
|
||||||
@@ -265,7 +265,7 @@ create or replace view users as
|
|||||||
select actual.role as role,
|
select actual.role as role,
|
||||||
'***'::text as pass,
|
'***'::text as pass,
|
||||||
actual.email as email,
|
actual.email as email,
|
||||||
actual.active as active
|
actual.verified as verified
|
||||||
from basic_auth.users as actual,
|
from basic_auth.users as actual,
|
||||||
(select rolname
|
(select rolname
|
||||||
from pg_authid
|
from pg_authid
|
||||||
@@ -286,9 +286,9 @@ begin
|
|||||||
perform basic_auth.clearance_for_role(new.role);
|
perform basic_auth.clearance_for_role(new.role);
|
||||||
|
|
||||||
insert into basic_auth.users
|
insert into basic_auth.users
|
||||||
(role, pass, email, active) values
|
(role, pass, email, verified) values
|
||||||
(coalesce(new.role, 'author'), new.pass,
|
(coalesce(new.role, 'author'), new.pass,
|
||||||
new.email, coalesce(new.active, false));
|
new.email, coalesce(new.verified, false));
|
||||||
return new;
|
return new;
|
||||||
elsif tg_op = 'UPDATE' then
|
elsif tg_op = 'UPDATE' then
|
||||||
-- no need to check clearance for old.role because
|
-- no need to check clearance for old.role because
|
||||||
@@ -299,7 +299,7 @@ begin
|
|||||||
email = new.email,
|
email = new.email,
|
||||||
role = new.role,
|
role = new.role,
|
||||||
pass = new.pass,
|
pass = new.pass,
|
||||||
active = coalesce(new.active, old.active, false)
|
verified = coalesce(new.verified, old.verified, false)
|
||||||
where email = old.email;
|
where email = old.email;
|
||||||
return new;
|
return new;
|
||||||
elsif tg_op = 'DELETE' then
|
elsif tg_op = 'DELETE' then
|
||||||
|
|||||||
Reference in New Issue
Block a user