11import requests
2- from github_rest_cli .globals import GITHUB_URL , HEADERS
2+ from github_rest_cli .globals import GITHUB_URL , get_headers
33from github_rest_cli .utils import rich_output , rprint
44
55
@@ -40,21 +40,34 @@ def build_url(*segments: str) -> str:
4040 return f"{ base } /{ path } "
4141
4242
43- def fetch_user ():
43+ def fetch_user () -> str :
44+ headers = get_headers ()
4445 url = build_url ("user" )
45- response = request_with_handling ("GET" , url , headers = HEADERS )
46+ response = request_with_handling ("GET" , url , headers = headers )
4647 if response :
4748 data = response .json ()
4849 return data .get ("login" )
4950 return None
5051
5152
52- def get_repository (owner : str , name : str , org : str = None ):
53+ def get_repository (name : str , org : str = None ):
54+ owner = fetch_user ()
55+ headers = get_headers ()
5356 url = build_url ("repos" , org or owner , name )
54- response = request_with_handling ("GET" , url , headers = HEADERS )
57+ response = request_with_handling (
58+ "GET" ,
59+ url ,
60+ headers = headers ,
61+ error_msg = {
62+ 401 : "Unauthorized access. Please check your token or credentials." ,
63+ 404 : "The requested repository does not exist." ,
64+ },
65+ )
66+
5567 if response :
5668 data = response .json ()
5769 rprint (data )
70+ return None
5871
5972
6073def create_repository (owner : str , name : str , visibility : str , org : str = None ):
@@ -67,12 +80,13 @@ def create_repository(owner: str, name: str, visibility: str, org: str = None):
6780 if visibility == "private" :
6881 data ["private" ] = True
6982
83+ headers = get_headers ()
7084 url = build_url ("orgs" , org , "repos" ) if org else build_url ("user" , "repos" )
7185
7286 return request_with_handling (
7387 "POST" ,
7488 url ,
75- headers = HEADERS ,
89+ headers = headers ,
7690 json = data ,
7791 success_msg = f"Repository successfully created in { owner or org } /{ name } " ,
7892 error_msg = {
@@ -83,21 +97,23 @@ def create_repository(owner: str, name: str, visibility: str, org: str = None):
8397
8498
8599def delete_repository (owner : str , name : str , org : str = None ):
100+ headers = get_headers ()
86101 url = build_url ("repos" , org , name ) if org else build_url ("repos" , owner , name )
87102
88103 return request_with_handling (
89104 "DELETE" ,
90105 url ,
91- headers = HEADERS ,
106+ headers = headers ,
92107 success_msg = f"Repository sucessfully deleted in { owner or org } /{ name } " ,
93108 error_msg = {
94109 403 : "The authenticated user does not have sufficient permissions to delete this repository." ,
95- 404 : "The requested repository was not found ." ,
110+ 404 : "The requested repository does not exist ." ,
96111 },
97112 )
98113
99114
100115def list_repositories (page : int , property : str , role : str ):
116+ headers = get_headers ()
101117 url = build_url ("user" , "repos" )
102118
103119 params = {"per_page" : page , "sort" : property , "type" : role }
@@ -106,7 +122,7 @@ def list_repositories(page: int, property: str, role: str):
106122 "GET" ,
107123 url ,
108124 params = params ,
109- headers = HEADERS ,
125+ headers = headers ,
110126 error_msg = {401 : "Unauthorized access. Please check your token or credentials." },
111127 )
112128
@@ -121,6 +137,7 @@ def list_repositories(page: int, property: str, role: str):
121137def dependabot_security (owner : str , name : str , enabled : bool , org : str = None ):
122138 is_enabled = bool (enabled )
123139
140+ headers = get_headers ()
124141 url = build_url ("repos" , org , name ) if org else build_url ("repos" , owner , name )
125142 security_urls = ["vulnerability-alerts" , "automated-security-fixes" ]
126143
@@ -130,7 +147,7 @@ def dependabot_security(owner: str, name: str, enabled: bool, org: str = None):
130147 request_with_handling (
131148 "PUT" ,
132149 url = full_url ,
133- headers = HEADERS ,
150+ headers = headers ,
134151 success_msg = f"Enabled { endpoint } " ,
135152 error_msg = {
136153 401 : "Unauthorized. Please check your credentials." ,
@@ -141,13 +158,14 @@ def dependabot_security(owner: str, name: str, enabled: bool, org: str = None):
141158 request_with_handling (
142159 "DELETE" ,
143160 url = full_url ,
144- headers = HEADERS ,
161+ headers = headers ,
145162 success_msg = f"Dependabot has been disabled on repository { owner or org } /{ name } ." ,
146163 error_msg = {401 : "Unauthorized. Please check your credentials." },
147164 )
148165
149166
150167def deployment_environment (owner : str , name : str , env : str , org : str = None ):
168+ headers = get_headers ()
151169 url = (
152170 build_url ("repos" , org , name , "environments" , env )
153171 if org
@@ -157,7 +175,7 @@ def deployment_environment(owner: str, name: str, env: str, org: str = None):
157175 return request_with_handling (
158176 "PUT" ,
159177 url ,
160- headers = HEADERS ,
178+ headers = headers ,
161179 success_msg = f"Environment { env } has been created successfully in { owner or org } /{ name } ." ,
162180 error_msg = {
163181 422 : f"Failed to create repository enviroment { owner or org } /{ name } "
0 commit comments