LP1858833 Stamping DB upgrade for change_password
authorBill Erickson <berickxx@gmail.com>
Mon, 17 Aug 2020 20:24:07 +0000 (16:24 -0400)
committerBill Erickson <berickxx@gmail.com>
Mon, 17 Aug 2020 20:24:42 +0000 (16:24 -0400)
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Open-ILS/src/sql/Pg/002.schema.config.sql
Open-ILS/src/sql/Pg/upgrade/1213.schema.actor_change_password.sql [new file with mode: 0644]
Open-ILS/src/sql/Pg/upgrade/xxxx.function.actor_change_password.sql [deleted file]

index f5091ef..5111c42 100644 (file)
@@ -92,7 +92,7 @@ CREATE TRIGGER no_overlapping_deps
     BEFORE INSERT OR UPDATE ON config.db_patch_dependencies
     FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates');
 
-INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1212', :eg_version); -- berick/sandbergja/gmcharlt
+INSERT INTO config.upgrade_log (version, applied_to) VALUES ('1213', :eg_version); -- rhamby/berick
 
 CREATE TABLE config.bib_source (
        id              SERIAL  PRIMARY KEY,
diff --git a/Open-ILS/src/sql/Pg/upgrade/1213.schema.actor_change_password.sql b/Open-ILS/src/sql/Pg/upgrade/1213.schema.actor_change_password.sql
new file mode 100644 (file)
index 0000000..d604644
--- /dev/null
@@ -0,0 +1,29 @@
+BEGIN;
+
+SELECT evergreen.upgrade_deps_block_check('1213', :eg_version);
+
+CREATE OR REPLACE FUNCTION actor.change_password (user_id INT, new_pw TEXT, pw_type TEXT DEFAULT 'main')
+RETURNS VOID AS $$
+DECLARE
+    new_salt TEXT;
+BEGIN
+    SELECT actor.create_salt(pw_type) INTO new_salt;
+
+    IF pw_type = 'main' THEN
+        -- Only 'main' passwords are required to have
+        -- the extra layer of MD5 hashing.
+        PERFORM actor.set_passwd(
+            user_id, pw_type, md5(new_salt || md5(new_pw)), new_salt
+        );
+
+    ELSE
+        PERFORM actor.set_passwd(user_id, pw_type, new_pw, new_salt);
+    END IF;
+END;
+$$ LANGUAGE 'plpgsql';
+
+COMMENT ON FUNCTION actor.change_password(INT,TEXT,TEXT) IS $$
+Allows setting a salted password for a user by passing actor.usr id and the text of the password.
+$$;
+
+COMMIT;
diff --git a/Open-ILS/src/sql/Pg/upgrade/xxxx.function.actor_change_password.sql b/Open-ILS/src/sql/Pg/upgrade/xxxx.function.actor_change_password.sql
deleted file mode 100644 (file)
index 88aa119..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-BEGIN;
-
-SELECT evergreen.upgrade_deps_block_check('xxxx', :eg_version);
-
-CREATE OR REPLACE FUNCTION actor.change_password (user_id INT, new_pw TEXT, pw_type TEXT DEFAULT 'main')
-RETURNS VOID AS $$
-DECLARE
-    new_salt TEXT;
-BEGIN
-    SELECT actor.create_salt(pw_type) INTO new_salt;
-
-    IF pw_type = 'main' THEN
-        -- Only 'main' passwords are required to have
-        -- the extra layer of MD5 hashing.
-        PERFORM actor.set_passwd(
-            user_id, pw_type, md5(new_salt || md5(new_pw)), new_salt
-        );
-
-    ELSE
-        PERFORM actor.set_passwd(user_id, pw_type, new_pw, new_salt);
-    END IF;
-END;
-$$ LANGUAGE 'plpgsql';
-
-COMMIT;