mirror of
https://github.com/clearml/clearml-server
synced 2025-06-26 23:15:47 +00:00
Add auth.edit_credentials
This commit is contained in:
@@ -14,6 +14,7 @@ from apiserver.apimodels.auth import (
|
||||
RevokeCredentialsRequest,
|
||||
EditUserReq,
|
||||
CreateCredentialsRequest,
|
||||
EditCredentialsRequest,
|
||||
)
|
||||
from apiserver.apimodels.base import UpdateResponse
|
||||
from apiserver.bll.auth import AuthBLL
|
||||
@@ -122,6 +123,28 @@ def create_credentials(call: APICall, _, request: CreateCredentialsRequest):
|
||||
call.result.data_model = CreateCredentialsResponse(credentials=credentials)
|
||||
|
||||
|
||||
@endpoint("auth.edit_credentials")
|
||||
def edit_credentials(call: APICall, company_id: str, request: EditCredentialsRequest):
|
||||
identity = call.identity
|
||||
access_key = request.access_key
|
||||
|
||||
company_values = [None, company_id]
|
||||
updated = User.objects(
|
||||
id=identity.user,
|
||||
company=company_id,
|
||||
credentials__match={"key": access_key, "company__in": company_values},
|
||||
).update_one(set__credentials__S__label=request.label)
|
||||
if not updated:
|
||||
raise errors.bad_request.InvalidAccessKey(
|
||||
"invalid user or invalid access key",
|
||||
user=identity.user,
|
||||
access_key=access_key,
|
||||
company=company_id,
|
||||
)
|
||||
|
||||
call.result.data = {"updated": updated}
|
||||
|
||||
|
||||
@endpoint(
|
||||
"auth.revoke_credentials",
|
||||
request_data_model=RevokeCredentialsRequest,
|
||||
|
||||
Reference in New Issue
Block a user