|
| 1 | +-- PUBLIC GROUPS -- |
| 2 | +INSERT INTO user_group (technical_name, name_key, public) VALUES ('faf_organisation', 'user_group.faf.organisation', 1); |
| 3 | + |
| 4 | +SET @root_id = (SELECT id from user_group WHERE technical_name = 'faf_organisation'); |
| 5 | + |
| 6 | +-- The council |
| 7 | + |
| 8 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_administration', 'user_group.faf.councilor.administration', 1, @root_id); |
| 9 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_balance', 'user_group.faf.councilor.balance', 1, @root_id); |
| 10 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_devops', 'user_group.faf.councilor.devops', 1, @root_id); |
| 11 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_game', 'user_group.faf.councilor.game', 1, @root_id); |
| 12 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_maps_mods', 'user_group.faf.councilor.maps_mods', 1, @root_id); |
| 13 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_moderation', 'user_group.faf.councilor.moderation', 1, @root_id); |
| 14 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_player', 'user_group.faf.councilor.player', 1, @root_id); |
| 15 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_councilor_promotion', 'user_group.faf.councilor.promotion', 1, @root_id); |
| 16 | + |
| 17 | +-- Balance councilor subgroups |
| 18 | +SET @balance_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_balance'); |
| 19 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_balance_team', 'user_group.faf.balance_team', 1, @balance_id); |
| 20 | + |
| 21 | +-- DevOps councilor subgroups |
| 22 | +SET @devops_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_devops'); |
| 23 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_server_administrators', 'user_group.faf.server_administrators', 1, @devops_id); |
| 24 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_java_client', 'user_group.devs.java_client', 1, @devops_id); |
| 25 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_java_api', 'user_group.faf.devs.java_api', 1, @devops_id); |
| 26 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_java_lobby_server', 'user_group.faf.devs.java_server', 1, @devops_id); |
| 27 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_java_ice_adapter', 'user_group.faf.devs.java.ice_adapter', 1, @devops_id); |
| 28 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_python_client', 'user_group.faf.devs.python_client', 1, @devops_id); |
| 29 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_python_lobby_server', 'user_group.faf.devs.python_lobby_server', 1, @devops_id); |
| 30 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_python_replay_server', 'user_group.faf.devs.python_replay_server', 1, @devops_id); |
| 31 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_website', 'user_group.faf.devs.website', 1, @devops_id); |
| 32 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_unitdb', 'user_group.faf.devs.unitdb', 1, @devops_id); |
| 33 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_galactic_war', 'user_group.faf.devs.galactic_war', 1, @devops_id); |
| 34 | + |
| 35 | +-- Game councilor subgroups |
| 36 | +SET @game_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_game'); |
| 37 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_game_lua', 'user_group.faf.devs.game_lua', 1, @game_id); |
| 38 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_game_exe', 'user_group.faf.devs.game_exe', 1, @game_id); |
| 39 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_devs_game_coop', 'user_group.faf.devs.game_coop', 1, @game_id); |
| 40 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_testers_game_exe', 'user_group.faf.testers.game_exe', 1, @game_id); |
| 41 | + |
| 42 | +-- Maps & Mods councilor subgroups |
| 43 | +SET @mm_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_maps_mods'); |
| 44 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_mapper', 'user_group.faf.mapper', 1, @mm_id); |
| 45 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_modder', 'user_group.faf.modder', 1, @mm_id); |
| 46 | + |
| 47 | +-- Moderation councilor subgroups |
| 48 | +SET @mod_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_moderation'); |
| 49 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_moderators_global', 'user_group.faf.moderators.global', 1, @mod_id); |
| 50 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_moderators_discord', 'user_group.faf.moderators.discord', 1, @mod_id); |
| 51 | + |
| 52 | +-- Player councilor subgroups |
| 53 | +SET @pc_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_player'); |
| 54 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_tournament_directors', 'user_group.faf.tournament_directors', 1, @pc_id); |
| 55 | + |
| 56 | +-- Promotion councilor subgroups |
| 57 | +SET @promo_id = (SELECT id from user_group WHERE technical_name = 'faf_councilor_promotion'); |
| 58 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_casters', 'user_group.faf.casters', 1, @promo_id); |
| 59 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_streamer', 'user_group.faf.streamers', 1, @promo_id); |
| 60 | +INSERT INTO user_group (technical_name, name_key, public, parent_group_id) VALUES ('faf_wiki_editors', 'user_group.faf.wiki_editors', 1, @promo_id); |
| 61 | + |
| 62 | + |
| 63 | +-- ROLES -- |
| 64 | +INSERT INTO group_permission (technical_name, name_key) VALUES('READ_AUDIT_LOG', 'permission_group.read_audit_log'); |
| 65 | +INSERT INTO group_permission (technical_name, name_key) VALUES('READ_TEAMKILL_REPORT', 'permission_group.read_teamkill_report'); |
| 66 | +INSERT INTO group_permission (technical_name, name_key) VALUES('READ_ACCOUNT_PRIVATE_DETAILS', 'permission_group.read_account_private_details'); |
| 67 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_ACCOUNT_NOTE', 'permission_group.admin_account_note'); |
| 68 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_MODERATION_REPORT', 'permission_group.admin_moderation_report'); |
| 69 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_ACCOUNT_BAN', 'permission_group.admin_account_ban'); |
| 70 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_CLAN', 'permission_group.admin_clan'); |
| 71 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_COOP_MISSION', 'permission_group.write_coop_mission'); |
| 72 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_AVATAR', 'permission_group.write_avatar'); |
| 73 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_MATCHMAKER_POOL', 'permission_group.write_matchmaker_pool'); |
| 74 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_MATCHMAKER_MAP', 'permission_group.write_matchmaker_map'); |
| 75 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_EMAIL_DOMAIN_BAN', 'permission_group.write_email_domain_ban'); |
| 76 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_VOTE', 'permission_group.admin_vote'); |
| 77 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_USER_GROUP', 'permission_group.write_user_group'); |
| 78 | +INSERT INTO group_permission (technical_name, name_key) VALUES('READ_USER_GROUP', 'permission_group.read_user_group'); |
| 79 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_TUTORIAL', 'permission_group.write_tutorial'); |
| 80 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_NEWS_POST', 'permission_group.write_news_post'); |
| 81 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_OAUTH_CLIENT', 'permission_group.write_oauth_client'); |
| 82 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_MAP', 'permission_group.admin_map'); |
| 83 | +INSERT INTO group_permission (technical_name, name_key) VALUES('ADMIN_MOD', 'permission_group.admin_mod'); |
| 84 | +INSERT INTO group_permission (technical_name, name_key) VALUES('WRITE_MESSAGE', 'permission_group.write_message'); |
| 85 | + |
| 86 | + |
| 87 | +-- ROLE ASSIGNMENTS -- |
| 88 | + |
| 89 | +-- Councilor common permissions |
| 90 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 91 | + SELECT user_group.id, group_permission.id FROM user_group, group_permission |
| 92 | + WHERE user_group.parent_group_id = @root_id |
| 93 | + AND group_permission.technical_name IN ('READ_AUDIT_LOG', 'WRITE_AVATAR', 'READ_USER_GROUP', 'WRITE_USER_GROUP', 'ADMIN_VOTE', 'WRITE_NEWS_POST', 'WRITE_MESSAGE'); |
| 94 | + |
| 95 | +-- Player councilor only |
| 96 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 97 | + SELECT @pc_id, group_permission.id FROM group_permission |
| 98 | + WHERE group_permission.technical_name IN ('WRITE_MATCHMAKER_MAP', 'WRITE_TUTORIAL', 'ADMIN_CLAN'); |
| 99 | + |
| 100 | +-- M&M councilor only |
| 101 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 102 | + SELECT @mm_id, group_permission.id FROM group_permission |
| 103 | + WHERE group_permission.technical_name IN ('ADMIN_MAP', 'ADMIN_MOD', 'WRITE_COOP_MISSION'); |
| 104 | + |
| 105 | +-- Moderation councilor + global moderators |
| 106 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 107 | + SELECT user_group.id, group_permission.id FROM user_group, group_permission |
| 108 | + WHERE (user_group.id = @mod_id or user_group.technical_name = 'faf_moderators_global') |
| 109 | + AND group_permission.technical_name IN ('READ_TEAMKILL_REPORT', 'READ_ACCOUNT_PRIVATE_DETAILS', 'ADMIN_ACCOUNT_NOTE', 'ADMIN_MODERATION_REPORT', 'ADMIN_ACCOUNT_BAN', 'WRITE_EMAIL_DOMAIN_BAN'); |
| 110 | + |
| 111 | +-- Server admins |
| 112 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 113 | + SELECT user_group.id, group_permission.id FROM user_group, group_permission |
| 114 | + WHERE user_group.technical_name = 'faf_server_administrators' |
| 115 | + AND group_permission.technical_name IN ('READ_AUDIT_LOG', 'READ_USER_GROUP', 'WRITE_USER_GROUP', 'WRITE_NEWS_POST', 'WRITE_MESSAGE'); |
| 116 | + |
| 117 | +-- Tournament directors |
| 118 | +INSERT INTO group_permission_assignment (group_id, permission_id) |
| 119 | + SELECT user_group.id, group_permission.id FROM user_group, group_permission |
| 120 | + WHERE user_group.technical_name = 'faf_server_administrators' |
| 121 | + AND group_permission.technical_name IN ( 'WRITE_NEWS_POST', 'WRITE_AVATAR'); |
0 commit comments