Skip to content
This repository was archived by the owner on Dec 14, 2023. It is now read-only.

Commit 38bb3a7

Browse files
WardormeurDanielBrierton
authored andcommitted
Remove any trace of address in user profile (#280)
* Remove any trace of address in user profile * Update numbering of migration
1 parent e718966 commit 38bb3a7

File tree

6 files changed

+117
-548
lines changed

6 files changed

+117
-548
lines changed

profiles.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module.exports = function (options) {
2424

2525
var immutableFields = ['userType', 'avatar'];
2626

27-
var requiredProfileFields = ['name', 'alias', 'dob', 'country', 'place'];
27+
var requiredProfileFields = ['name', 'alias', 'dob', 'country'];
2828

2929
// var userTypes = ['champion', 'mentor', 'parent-guardian', 'attendee-o13', 'attendee-u13'];
3030
// var userTypes = ['attendee-u13', 'attendee-o13', 'parent-guardian', 'mentor', 'champion'];
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
DO $$
2+
BEGIN
3+
BEGIN
4+
DROP VIEW cd_v_join_requests;
5+
DROP VIEW cd_user_profile;
6+
END;
7+
BEGIN
8+
ALTER TABLE cd_profiles DROP COLUMN countryname;
9+
ALTER TABLE cd_profiles DROP COLUMN countrynumber;
10+
ALTER TABLE cd_profiles DROP COLUMN county;
11+
ALTER TABLE cd_profiles DROP COLUMN continent;
12+
ALTER TABLE cd_profiles DROP COLUMN place;
13+
ALTER TABLE cd_profiles DROP COLUMN place_name;
14+
ALTER TABLE cd_profiles DROP COLUMN address;
15+
ALTER TABLE cd_profiles DROP COLUMN alpha2;
16+
ALTER TABLE cd_profiles DROP COLUMN alpha3;
17+
ALTER TABLE cd_profiles DROP COLUMN state;
18+
ALTER TABLE cd_profiles DROP COLUMN admin1_code;
19+
ALTER TABLE cd_profiles DROP COLUMN admin2_code;
20+
ALTER TABLE cd_profiles DROP COLUMN admin3_code;
21+
ALTER TABLE cd_profiles DROP COLUMN admin4_code;
22+
ALTER TABLE cd_profiles DROP COLUMN admin1_name;
23+
ALTER TABLE cd_profiles DROP COLUMN admin2_name;
24+
ALTER TABLE cd_profiles DROP COLUMN admin3_name;
25+
ALTER TABLE cd_profiles DROP COLUMN admin4_name;
26+
END;
27+
BEGIN
28+
CREATE OR REPLACE VIEW cd_user_profile AS SELECT
29+
cd_profiles.id AS profile_id,
30+
cd_profiles.name AS profile_name,
31+
cd_profiles.user_id,
32+
cd_profiles.alias,
33+
cd_profiles.dob,
34+
cd_profiles.country,
35+
cd_profiles.private,
36+
cd_profiles.gender,
37+
cd_profiles.last_edited,
38+
cd_profiles.email AS profile_email,
39+
cd_profiles.phone AS profile_phone,
40+
cd_profiles.parents,
41+
cd_profiles.children,
42+
cd_profiles.linkedin,
43+
cd_profiles.twitter,
44+
cd_profiles.languages_spoken,
45+
cd_profiles.programming_languages,
46+
cd_profiles.notes,
47+
cd_profiles.projects,
48+
cd_profiles.badges,
49+
cd_profiles.country->'countryName' as countryname,
50+
cd_profiles.country->'countryNumber' as countrynumber,
51+
cd_profiles.country->'continent' as continent,
52+
cd_profiles.country->'alpha2' as alpha2,
53+
cd_profiles.country->'alpha3' as alpha3,
54+
cd_profiles.user_type,
55+
cd_profiles.optional_hidden_fields,
56+
cd_profiles.avatar,
57+
cd_profiles.required_fields_complete,
58+
cd_profiles.ninja_invites,
59+
cd_profiles.parent_invites,
60+
sys_user.id,
61+
sys_user.nick,
62+
sys_user.email,
63+
sys_user.name,
64+
sys_user.username,
65+
sys_user.activated,
66+
sys_user.level,
67+
sys_user.mysql_user_id,
68+
sys_user.first_name,
69+
sys_user.last_name,
70+
sys_user.roles,
71+
sys_user.active,
72+
sys_user.phone,
73+
sys_user.mailing_list,
74+
sys_user.terms_conditions_accepted,
75+
sys_user.when,
76+
sys_user.confirmed,
77+
sys_user.confirmcode,
78+
sys_user.salt,
79+
sys_user.pass,
80+
sys_user.admin,
81+
sys_user.modified,
82+
sys_user.accounts,
83+
sys_user.locale,
84+
sys_user.banned,
85+
sys_user.ban_reason,
86+
sys_user.init_user_type,
87+
sys_user.join_requests,
88+
sys_user.last_login
89+
FROM sys_user JOIN cd_profiles ON sys_user.id = cd_profiles.user_id;
90+
END;
91+
BEGIN
92+
-- By making it depending on cd_profiles table, we avoid cross-dep w/ cd_user_profile
93+
-- The 2 DROP VIEW is a consequence of this dependency
94+
CREATE OR REPLACE VIEW cd_v_join_requests AS
95+
(SELECT join_request->>'id' AS id,
96+
id as user_id,
97+
join_request->>'dojoId' AS dojo_id,
98+
join_request->>'userType' AS user_type,
99+
join_request->>'timestamp' AS timestamp
100+
FROM (select unnest(join_requests) AS join_request, id FROM sys_user) x);
101+
END;
102+
END;
103+
$$

0 commit comments

Comments
 (0)