-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser-access-check.py
73 lines (60 loc) · 2.27 KB
/
user-access-check.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import requests
import pandas as pd
import json
def get_team_name(team_id):
url = f"https://repo-prod.prod.sagebase.org/repo/v1/team/{team_id}"
response = requests.get(url)
if response.status_code == 200:
team = response.json()
team_name = team.get("name", "")
return team_name
else:
print(f"Error: {response.status_code} - {response.text}")
return None
def get_team_members(team_id):
team_name = get_team_name(team_id)
if not team_name:
return None
url = f"https://repo-prod.prod.sagebase.org/repo/v1/teamMembers/{team_id}&limit=50"
response = requests.get(url)
if response.status_code == 200:
team_members = response.json()["results"]
members_data = []
for member in team_members:
first_name = member["member"].get("firstName", "")
last_name = member["member"].get("lastName", "")
if not first_name and last_name:
first_name = last_name
elif not last_name and first_name:
last_name = first_name
user_name = member["member"].get("userName", "")
owner_id = member["member"].get("ownerId", "")
members_data.append({
"teamId": team_id,
"teamName": team_name,
"firstName": first_name,
"lastName": last_name,
"userName": user_name,
"ownerId": owner_id,
"isAdmin": member["isAdmin"]
})
return members_data
else:
print(f"Error: {response.status_code} - {response.text}")
return None
def print_table_header():
print("{:<10} {:<20} {:<15} {:<15} {:<15} {:<15} {:<15}".format("Team ID", "Team Name", "First Name", "Last Name", "User Name", "Owner ID", "Permission Level"))
print("-" * 110)
print_table_header()
team_ids = [3423657, 3427329, 3442703, 3444502, 3444501, 3444504, 3466987, 3466748, 3443961, 3444503]
all_teams_data = []
for team_id in team_ids:
team_members_data = get_team_members(team_id)
if team_members_data:
all_teams_data.extend(team_members_data)
# Convert all data to DataFrame
df = pd.DataFrame(all_teams_data)
# Print DataFrame
print(df)
# Export to CSV
df.to_csv("team_members.csv", index=False)