Coverage for functions \ flipdare \ wrapper \ issue \ flag_wrapper.py: 81%
135 statements
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
« prev ^ index » next coverage.py v7.13.0, created at 2026-05-08 12:22 +1000
1#!/usr/bin/env python
2# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved.
3#
4# This file is part of Flipdare's proprietary software and contains
5# confidential and copyrighted material. Unauthorised copying,
6# modification, distribution, or use of this file is strictly
7# prohibited without prior written permission from Flipdare Pty Ltd.
8#
9# This software includes third-party components licensed under MIT,
10# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details.
11#
13from __future__ import annotations
15from flipdare.generated.model.issue.flag_model import FlagKeys, FlagModel
16from flipdare.generated.model.issue.resolution_comment_model import ResolutionCommentModel
17from flipdare.generated.shared.model.issue.disputed_progress import DisputedProgress
18from flipdare.generated.shared.model.issue.flag_type import FlagType
19from flipdare.generated.shared.model.issue.issue_progress import IssueProgress
20from flipdare.generated.shared.model.model_obj_type import ModelObjType
21from flipdare.wrapper._persisted_wrapper import PersistedWrapper
23__all__ = ["FlagWrapper"]
25_K = FlagKeys
28class FlagWrapper(PersistedWrapper[FlagModel]):
29 MODEL_CLASS = FlagModel
31 @property
32 def is_admin_ack(self) -> bool:
33 return self.progress.is_admin_ack
35 # <AUTO_GENERATED_CONTENT> - do not edit
37 @property
38 def progress(self) -> IssueProgress:
39 return self._model.progress
41 @progress.setter
42 def progress(self, value: IssueProgress) -> None:
43 self.update_field(_K.PROGRESS, value)
45 @property
46 def disputed_progress(self) -> DisputedProgress | None:
47 return self._model.disputed_progress
49 @disputed_progress.setter
50 def disputed_progress(self, value: DisputedProgress | None) -> None:
51 self.update_field(_K.DISPUTED_PROGRESS, value)
53 @property
54 def flag_type(self) -> FlagType:
55 return self._model.flag_type
57 @flag_type.setter
58 def flag_type(self, value: FlagType) -> None:
59 self.update_field(_K.FLAG_TYPE, value)
61 @property
62 def user_in_danger(self) -> bool:
63 return self._model.user_in_danger
65 @user_in_danger.setter
66 def user_in_danger(self, value: bool) -> None:
67 self.update_field(_K.USER_IN_DANGER, value)
69 @property
70 def from_uid(self) -> str:
71 return self._model.from_uid
73 @from_uid.setter
74 def from_uid(self, value: str) -> None:
75 self.update_field(_K.FROM_UID, value)
77 @property
78 def to_uid(self) -> str:
79 return self._model.to_uid
81 @to_uid.setter
82 def to_uid(self, value: str) -> None:
83 self.update_field(_K.TO_UID, value)
85 @property
86 def obj_id(self) -> str:
87 return self._model.obj_id
89 @obj_id.setter
90 def obj_id(self, value: str) -> None:
91 self.update_field(_K.OBJ_ID, value)
93 @property
94 def obj_type(self) -> ModelObjType:
95 return self._model.obj_type
97 @obj_type.setter
98 def obj_type(self, value: ModelObjType) -> None:
99 self.update_field(_K.OBJ_TYPE, value)
101 @property
102 def slug_code(self) -> str:
103 return self._model.slug_code
105 @slug_code.setter
106 def slug_code(self, value: str) -> None:
107 self.update_field(_K.SLUG_CODE, value)
109 @property
110 def description(self) -> str:
111 return self._model.description
113 @description.setter
114 def description(self, value: str) -> None:
115 self.update_field(_K.DESCRIPTION, value)
117 @property
118 def restriction_id(self) -> str | None:
119 return self._model.restriction_id
121 @restriction_id.setter
122 def restriction_id(self, value: str | None) -> None:
123 self.update_field(_K.RESTRICTION_ID, value)
125 @property
126 def resolution(self) -> ResolutionCommentModel | None:
127 return self._model.resolution
129 @resolution.setter
130 def resolution(self, value: ResolutionCommentModel | None) -> None:
131 self.update_field(_K.RESOLUTION, value)
133 @property
134 def comment_count(self) -> int:
135 return self._model.comment_count
137 @comment_count.setter
138 def comment_count(self, value: int) -> None:
139 self.update_field(_K.COMMENT_COUNT, value)
141 # base internal fields
142 @property
143 def version(self) -> int:
144 return self._model.version
146 @version.setter
147 def version(self, value: int) -> None:
148 self.update_field(_K.VERSION, value)
150 @property
151 def processed(self) -> bool:
152 return self._model.processed
154 @processed.setter
155 def processed(self, value: bool) -> None:
156 self.update_field(_K.PROCESSED, value)
158 @property
159 def error_count(self) -> int:
160 return self._model.error_count
162 @error_count.setter
163 def error_count(self, value: int) -> None:
164 self.update_field(_K.ERROR_COUNT, value)
166 # flag specific internal fields
167 @property
168 def flag_evaluated(self) -> bool:
169 return self._model.flag_evaluated
171 @flag_evaluated.setter
172 def flag_evaluated(self, value: bool) -> None:
173 self.update_field(_K.FLAG_EVALUATED, value)
175 @property
176 def flag_restriction_applied(self) -> bool:
177 return self._model.flag_restriction_applied
179 @flag_restriction_applied.setter
180 def flag_restriction_applied(self, value: bool) -> None:
181 self.update_field(_K.FLAG_RESTRICTION_APPLIED, value)
183 @property
184 def flag_user_notified(self) -> bool:
185 return self._model.flag_user_notified
187 @flag_user_notified.setter
188 def flag_user_notified(self, value: bool) -> None:
189 self.update_field(_K.FLAG_USER_NOTIFIED, value)
191 @property
192 def flag_removed_from_search(self) -> bool:
193 return self._model.flag_removed_from_search
195 @flag_removed_from_search.setter
196 def flag_removed_from_search(self, value: bool) -> None:
197 self.update_field(_K.FLAG_REMOVED_FROM_SEARCH, value)
199 # </AUTO_GENERATED_CONTENT> - do not edit