INFRA-1890 | Ashvin | Create ALL env role for every team
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user