INFRA-1890 | Ashvin | Create ALL env role for every team

This commit is contained in:
Ashvin Sharma
2023-08-07 17:11:24 +05:30
parent 109aa9c687
commit 9e98b38b94
6 changed files with 333 additions and 24 deletions

View File

@@ -32,18 +32,19 @@ def generate_sql_queries(teams, environments):
'manifest:{}:{}:.*:approval_read',
'manifest:{}:{}:.*:delete',
'manifest:{}:{}:.*:manage',
'manifest:{}:{}:.*:approval_write']}
'manifest:{}:{}:.*:approval_write']
}
sql_queries = ""
for team in teams:
for env in environments:
privileges_insert_query = f"""INSERT INTO privilege (created_at, updated_at, name) VALUES {", ".join([f"(now(), now(), '{value.format(team, env)}')" for value in privilege_values])};"""
for env, env_privilege_value in environments.items():
privileges_insert_query = f"""INSERT INTO privilege (created_at, updated_at, name) VALUES {", ".join([f"(now(), now(), '{value.format(team, env_privilege_value)}')" for value in privilege_values])};"""
roles_insert_query = f"""INSERT INTO role (created_at, updated_at, name) VALUES {", ".join([f"(now(), now(), '{value.replace('<TEAM>', team).replace('<ENV>', env)}')" for value in role_values])};"""
roles_privileges_insert_queries = ""
for role, privileges in roles_privileges_mapping.items():
privilege_conditions = ", ".join(
[f"'{privilege.format(team, env)}'" for privilege in privileges])
[f"'{privilege.format(team, env_privilege_value)}'" for privilege in privileges])
roles_privileges_insert_query = f"""INSERT INTO roles_privileges (role_id, privilege_id) SELECT role.id AS role_id, privilege.id AS privilege_id FROM role, privilege WHERE role.name = '{role.format(team, env)}' AND privilege.name IN ( {privilege_conditions} );"""
roles_privileges_insert_queries += roles_privileges_insert_query + "\n"
sql_queries += f"""{privileges_insert_query}
@@ -63,8 +64,18 @@ def main():
"Generative-AI", "Edge", "RAndR", "GI-Operations", "HL-Operations",
"InsurancePlatform", "Post-Purchase-Experience", "IT", "CRM-Ops", "Camunda", "GI",
"LoanOrigination", "PLOrigination", "Android"]
environments = ["cmd", "prod", "dev", "qa", "perf", "uat", "data-platform-prod",
"data-platform-nonprod", "local"]
environments = {
"cmd": "cmd",
"prod": "prod",
"dev": "dev",
"qa": "qa",
"perf": "perf",
"uat": "uat",
"data-platform-prod": "data-platform-prod",
"data-platform-nonprod": "data-platform-nonprod",
"local": "local",
"ALL": ".*",
}
sql_queries = generate_sql_queries(teams, environments)
with open("output.sql", "w") as file:
file.write(sql_queries)