]> ruin.nu Git - ndwebbie.git/blob - database/functions/user_password.sql
889e49ebb233790592400e7978bd7ef92bda6e01
[ndwebbie.git] / database / functions / user_password.sql
1 CREATE OR REPLACE FUNCTION user_password() RETURNS trigger
2     AS $_X$
3 DECLARE
4 BEGIN
5         IF COALESCE(NEW.password <> OLD.password,TRUE) AND
6                 NOT NEW.password SIMILAR TO '$2a$\d+$[a-zA-Z0-9./]+'
7         THEN
8                 NEW.password := crypt(NEW.password,gen_salt('bf',10));
9         END IF;
10         RETURN NEW;
11 END;
12 $_X$ LANGUAGE plpgsql;
13
14 /*
15 alter table users alter COLUMN password drop not null ;
16 CREATE TRIGGER user_password BEFORE UPDATE OR INSERT ON users FOR EACH ROW EXECUTE PROCEDURE user_password()
17 */