./migrations/7a4d728_to_c19a46b.sql
This commit is contained in:
parent
fa5869f986
commit
476b6bb850
59
7a4d728_to_c19a46b.sql
Normal file
59
7a4d728_to_c19a46b.sql
Normal file
@ -0,0 +1,59 @@
|
||||
drop function if exists "public"."hashed_text_string"(hashed hashed_text);
|
||||
|
||||
drop type "public"."email";
|
||||
|
||||
drop type "public"."hashed_text";
|
||||
|
||||
set check_function_bodies = off;
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.email_of_string(val text)
|
||||
RETURNS email
|
||||
LANGUAGE sql
|
||||
AS $function$select row(val);$function$
|
||||
;
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.email_to_string(val email)
|
||||
RETURNS text
|
||||
LANGUAGE sql
|
||||
AS $function$select (val.str);$function$
|
||||
;
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.hashed_text_of_string(val text)
|
||||
RETURNS hashed_text
|
||||
LANGUAGE sql
|
||||
AS $function$select row(val);$function$
|
||||
;
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.hashed_text_to_string(val hashed_text)
|
||||
RETURNS text
|
||||
LANGUAGE sql
|
||||
AS $function$select (val.str);$function$
|
||||
;
|
||||
|
||||
create type "public"."email" as ("str" text);
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.hash_text(plain text)
|
||||
RETURNS hashed_text
|
||||
LANGUAGE plpgsql
|
||||
IMMUTABLE
|
||||
AS $function$
|
||||
begin
|
||||
return hashed_text_of_string(crypt(plain, gen_salt('bf')));
|
||||
end;
|
||||
$function$
|
||||
;
|
||||
|
||||
create type "public"."hashed_text" as ("str" text);
|
||||
|
||||
CREATE OR REPLACE FUNCTION public.hashed_text_matches(plain text, hashed hashed_text)
|
||||
RETURNS boolean
|
||||
LANGUAGE plpgsql
|
||||
IMMUTABLE
|
||||
AS $function$
|
||||
begin
|
||||
return hashed_text_to_string(hashed) = crypt(plain, hashed_text_to_string(hashed));
|
||||
end;
|
||||
$function$
|
||||
;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user