| 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;
 |