You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.4 KiB
Python
61 lines
1.4 KiB
Python
# Copyright (C) 2022 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 (
|
|
ModelCreateMixin,
|
|
ModelDeleteMixin,
|
|
ModelListMixin,
|
|
ModelRetrieveMixin,
|
|
ModelUpdateMixin,
|
|
build_model_bases,
|
|
)
|
|
|
|
_CommentEntityBase, _CommentRepoBase = build_model_bases(
|
|
models.CommentRead, apis.CommentsApi, api_member_name="comments_api"
|
|
)
|
|
|
|
|
|
class Comment(
|
|
models.ICommentRead,
|
|
_CommentEntityBase,
|
|
ModelUpdateMixin[models.IPatchedCommentWriteRequest],
|
|
ModelDeleteMixin,
|
|
):
|
|
_model_partial_update_arg = "patched_comment_write_request"
|
|
|
|
|
|
class CommentsRepo(
|
|
_CommentRepoBase,
|
|
ModelListMixin[Comment],
|
|
ModelCreateMixin[Comment, models.ICommentWriteRequest],
|
|
ModelRetrieveMixin[Comment],
|
|
):
|
|
_entity_type = Comment
|
|
|
|
|
|
_IssueEntityBase, _IssueRepoBase = build_model_bases(
|
|
models.IssueRead, apis.IssuesApi, api_member_name="issues_api"
|
|
)
|
|
|
|
|
|
class Issue(
|
|
models.IIssueRead,
|
|
_IssueEntityBase,
|
|
ModelUpdateMixin[models.IPatchedIssueWriteRequest],
|
|
ModelDeleteMixin,
|
|
):
|
|
_model_partial_update_arg = "patched_issue_write_request"
|
|
|
|
|
|
class IssuesRepo(
|
|
_IssueRepoBase,
|
|
ModelListMixin[Issue],
|
|
ModelCreateMixin[Issue, models.IIssueWriteRequest],
|
|
ModelRetrieveMixin[Issue],
|
|
):
|
|
_entity_type = Issue
|