36 lines
827 B
Python
36 lines
827 B
Python
|
|
# Copyright (C) CVAT.ai Corporation
|
||
|
|
#
|
||
|
|
# SPDX-License-Identifier: MIT
|
||
|
|
|
||
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
from cvat_sdk.api_client import apis, models
|
||
|
|
from cvat_sdk.core.proxies.model_proxy import (
|
||
|
|
ModelDeleteMixin,
|
||
|
|
ModelListMixin,
|
||
|
|
ModelRetrieveMixin,
|
||
|
|
ModelUpdateMixin,
|
||
|
|
build_model_bases,
|
||
|
|
)
|
||
|
|
|
||
|
|
_UserEntityBase, _UserRepoBase = build_model_bases(
|
||
|
|
models.User, apis.UsersApi, api_member_name="users_api"
|
||
|
|
)
|
||
|
|
|
||
|
|
|
||
|
|
class User(
|
||
|
|
models.IUser, _UserEntityBase, ModelUpdateMixin[models.IPatchedUserRequest], ModelDeleteMixin
|
||
|
|
):
|
||
|
|
_model_partial_update_arg = "patched_user_request"
|
||
|
|
|
||
|
|
|
||
|
|
class UsersRepo(
|
||
|
|
_UserRepoBase,
|
||
|
|
ModelListMixin[User],
|
||
|
|
ModelRetrieveMixin[User],
|
||
|
|
):
|
||
|
|
_entity_type = User
|
||
|
|
|
||
|
|
def retrieve_current_user(self) -> User:
|
||
|
|
return User(self._client, self.api.retrieve_self()[0])
|