-
Notifications
You must be signed in to change notification settings - Fork 175
Expand file tree
/
Copy pathforget_image.py
More file actions
69 lines (52 loc) · 1.69 KB
/
forget_image.py
File metadata and controls
69 lines (52 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
from dataclasses import dataclass
from typing import override
from ai.backend.common.data.permission.types import RBACElementType
from ai.backend.common.types import ImageID
from ai.backend.manager.actions.action import BaseActionResult
from ai.backend.manager.actions.types import ActionOperationType
from ai.backend.manager.data.image.types import ImageData
from ai.backend.manager.data.permission.types import RBACElementRef
from ai.backend.manager.services.image.actions.base import (
ImageAction,
ImageSingleEntityAction,
ImageSingleEntityActionResult,
)
@dataclass
class ForgetImageAction(ImageAction):
"""
Deprecated. Use ForgetImageByIdAction instead.
"""
reference: str
architecture: str
@override
def entity_id(self) -> str | None:
return None
@override
@classmethod
def operation_type(cls) -> ActionOperationType:
return ActionOperationType.DELETE
@dataclass
class ForgetImageActionResult(BaseActionResult):
image: ImageData
@override
def entity_id(self) -> str | None:
return str(self.image.id)
@dataclass
class ForgetImageByIdAction(ImageSingleEntityAction):
image_id: ImageID
@override
@classmethod
def operation_type(cls) -> ActionOperationType:
return ActionOperationType.DELETE
@override
def target_entity_id(self) -> str:
return str(self.image_id)
@override
def target_element(self) -> RBACElementRef:
return RBACElementRef(RBACElementType.IMAGE, str(self.image_id))
@dataclass
class ForgetImageByIdActionResult(ImageSingleEntityActionResult):
image: ImageData
@override
def target_entity_id(self) -> str:
return str(self.image.id)