Skip to content

Commit fb1c313

Browse files
authored
Merge pull request #12 from AmirKenzo/production
add admin usage
2 parents 36e7b79 + 04626f7 commit fb1c313

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

marzban/api.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,24 @@ async def get_admins(self, token: str, offset: Optional[int] = None, limit: Opti
165165
response = await self._request("GET", url, token, params=params)
166166
return [Admin(**admin) for admin in response.json()]
167167

168+
async def disable_all_users_admin(self, username: str, token: str) -> None:
169+
url = f"/api/admin/{username}/users/disable"
170+
await self._request("POST", url, token)
171+
172+
async def activate_all_users_admin(self, username: str, token: str) -> None:
173+
url = f"/api/admin/{username}/users/activate"
174+
await self._request("POST", url, token)
175+
176+
async def reset_admin_usage(self, username: str, token: str) -> Admin:
177+
url = f"/api/admin/usage/reset/{username}"
178+
response = await self._request("POST", url, token)
179+
return Admin(**response.json())
180+
181+
async def get_admin_usage(self, username: str, token: str) -> Admin:
182+
url = f"/api/admin/usage/{username}"
183+
response = await self._request("GET", url, token)
184+
return response.json()
185+
168186
async def get_system_stats(self, token: str) -> SystemStats:
169187
url = "/api/system"
170188
response = await self._request("GET", url, token)

marzban/models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ class Admin(BaseModel):
1212
is_sudo: bool
1313
telegram_id: Optional[int] = None
1414
discord_webhook: Optional[str] = None
15+
users_usage: Optional[int] = None
1516

1617

1718
class AdminCreate(Admin):
@@ -23,6 +24,7 @@ class AdminModify(BaseModel):
2324
password: Optional[str] = None
2425
telegram_id: Optional[int] = None
2526
discord_webhook: Optional[str] = None
27+
users_usage: Optional[int] = None
2628

2729

2830
class HTTPValidationError(BaseModel):

0 commit comments

Comments
 (0)