rev |
line source |
jbe@50
|
1 BEGIN;
|
jbe@50
|
2
|
jbe@50
|
3 CREATE OR REPLACE VIEW "liquid_feedback_version" AS
|
jbe@50
|
4 SELECT * FROM (VALUES ('1.0.2', 1, 0, 2))
|
jbe@50
|
5 AS "subquery"("string", "major", "minor", "revision");
|
jbe@50
|
6
|
jbe@50
|
7 CREATE OR REPLACE FUNCTION "delete_member_data"("member_id_p" "member"."id"%TYPE)
|
jbe@50
|
8 RETURNS VOID
|
jbe@50
|
9 LANGUAGE 'plpgsql' VOLATILE AS $$
|
jbe@50
|
10 BEGIN
|
jbe@50
|
11 UPDATE "member" SET
|
jbe@50
|
12 "login" = NULL,
|
jbe@50
|
13 "password" = NULL,
|
jbe@50
|
14 "notify_email" = NULL,
|
jbe@50
|
15 "notify_email_unconfirmed" = NULL,
|
jbe@50
|
16 "notify_email_secret" = NULL,
|
jbe@50
|
17 "notify_email_secret_expiry" = NULL,
|
jbe@50
|
18 "password_reset_secret" = NULL,
|
jbe@50
|
19 "password_reset_secret_expiry" = NULL,
|
jbe@50
|
20 "organizational_unit" = NULL,
|
jbe@50
|
21 "internal_posts" = NULL,
|
jbe@50
|
22 "realname" = NULL,
|
jbe@50
|
23 "birthday" = NULL,
|
jbe@50
|
24 "address" = NULL,
|
jbe@50
|
25 "email" = NULL,
|
jbe@50
|
26 "xmpp_address" = NULL,
|
jbe@50
|
27 "website" = NULL,
|
jbe@50
|
28 "phone" = NULL,
|
jbe@50
|
29 "mobile_phone" = NULL,
|
jbe@50
|
30 "profession" = NULL,
|
jbe@50
|
31 "external_memberships" = NULL,
|
jbe@50
|
32 "external_posts" = NULL,
|
jbe@50
|
33 "statement" = NULL
|
jbe@50
|
34 WHERE "id" = "member_id_p";
|
jbe@50
|
35 -- "text_search_data" is updated by triggers
|
jbe@50
|
36 UPDATE "member_history" SET "login" = NULL
|
jbe@50
|
37 WHERE "member_id" = "member_id_p";
|
jbe@50
|
38 DELETE FROM "setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
39 DELETE FROM "setting_map" WHERE "member_id" = "member_id_p";
|
jbe@50
|
40 DELETE FROM "member_relation_setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
41 DELETE FROM "member_image" WHERE "member_id" = "member_id_p";
|
jbe@50
|
42 DELETE FROM "contact" WHERE "member_id" = "member_id_p";
|
jbe@50
|
43 DELETE FROM "delegation" WHERE "truster_id" = "member_id_p";
|
jbe@50
|
44 DELETE FROM "membership" WHERE "member_id" = "member_id_p";
|
jbe@50
|
45 DELETE FROM "area_setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
46 DELETE FROM "issue_setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
47 DELETE FROM "initiative_setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
48 DELETE FROM "suggestion_setting" WHERE "member_id" = "member_id_p";
|
jbe@50
|
49 RETURN;
|
jbe@50
|
50 END;
|
jbe@50
|
51 $$;
|
jbe@50
|
52
|
jbe@50
|
53 CREATE OR REPLACE FUNCTION "delete_private_data"()
|
jbe@50
|
54 RETURNS VOID
|
jbe@50
|
55 LANGUAGE 'plpgsql' VOLATILE AS $$
|
jbe@50
|
56 BEGIN
|
jbe@50
|
57 UPDATE "member" SET
|
jbe@50
|
58 "login" = NULL,
|
jbe@50
|
59 "password" = NULL,
|
jbe@50
|
60 "notify_email" = NULL,
|
jbe@50
|
61 "notify_email_unconfirmed" = NULL,
|
jbe@50
|
62 "notify_email_secret" = NULL,
|
jbe@50
|
63 "notify_email_secret_expiry" = NULL,
|
jbe@50
|
64 "password_reset_secret" = NULL,
|
jbe@50
|
65 "password_reset_secret_expiry" = NULL,
|
jbe@50
|
66 "organizational_unit" = NULL,
|
jbe@50
|
67 "internal_posts" = NULL,
|
jbe@50
|
68 "realname" = NULL,
|
jbe@50
|
69 "birthday" = NULL,
|
jbe@50
|
70 "address" = NULL,
|
jbe@50
|
71 "email" = NULL,
|
jbe@50
|
72 "xmpp_address" = NULL,
|
jbe@50
|
73 "website" = NULL,
|
jbe@50
|
74 "phone" = NULL,
|
jbe@50
|
75 "mobile_phone" = NULL,
|
jbe@50
|
76 "profession" = NULL,
|
jbe@50
|
77 "external_memberships" = NULL,
|
jbe@50
|
78 "external_posts" = NULL,
|
jbe@50
|
79 "statement" = NULL;
|
jbe@50
|
80 -- "text_search_data" is updated by triggers
|
jbe@50
|
81 UPDATE "member_history" SET "login" = NULL;
|
jbe@50
|
82 DELETE FROM "setting";
|
jbe@50
|
83 DELETE FROM "setting_map";
|
jbe@50
|
84 DELETE FROM "member_relation_setting";
|
jbe@50
|
85 DELETE FROM "member_image";
|
jbe@50
|
86 DELETE FROM "contact";
|
jbe@50
|
87 DELETE FROM "area_setting";
|
jbe@50
|
88 DELETE FROM "issue_setting";
|
jbe@50
|
89 DELETE FROM "initiative_setting";
|
jbe@50
|
90 DELETE FROM "suggestion_setting";
|
jbe@50
|
91 DELETE FROM "invite_code";
|
jbe@50
|
92 DELETE FROM "session";
|
jbe@50
|
93 DELETE FROM "direct_voter" USING "issue"
|
jbe@50
|
94 WHERE "direct_voter"."issue_id" = "issue"."id"
|
jbe@50
|
95 AND "issue"."closed" ISNULL;
|
jbe@50
|
96 RETURN;
|
jbe@50
|
97 END;
|
jbe@50
|
98 $$;
|
jbe@50
|
99
|
jbe@50
|
100 COMMIT;
|