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

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# 

12 

13from __future__ import annotations 

14 

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 

22 

23__all__ = ["FlagWrapper"] 

24 

25_K = FlagKeys 

26 

27 

28class FlagWrapper(PersistedWrapper[FlagModel]): 

29 MODEL_CLASS = FlagModel 

30 

31 @property 

32 def is_admin_ack(self) -> bool: 

33 return self.progress.is_admin_ack 

34 

35 # <AUTO_GENERATED_CONTENT> - do not edit 

36 

37 @property 

38 def progress(self) -> IssueProgress: 

39 return self._model.progress 

40 

41 @progress.setter 

42 def progress(self, value: IssueProgress) -> None: 

43 self.update_field(_K.PROGRESS, value) 

44 

45 @property 

46 def disputed_progress(self) -> DisputedProgress | None: 

47 return self._model.disputed_progress 

48 

49 @disputed_progress.setter 

50 def disputed_progress(self, value: DisputedProgress | None) -> None: 

51 self.update_field(_K.DISPUTED_PROGRESS, value) 

52 

53 @property 

54 def flag_type(self) -> FlagType: 

55 return self._model.flag_type 

56 

57 @flag_type.setter 

58 def flag_type(self, value: FlagType) -> None: 

59 self.update_field(_K.FLAG_TYPE, value) 

60 

61 @property 

62 def user_in_danger(self) -> bool: 

63 return self._model.user_in_danger 

64 

65 @user_in_danger.setter 

66 def user_in_danger(self, value: bool) -> None: 

67 self.update_field(_K.USER_IN_DANGER, value) 

68 

69 @property 

70 def from_uid(self) -> str: 

71 return self._model.from_uid 

72 

73 @from_uid.setter 

74 def from_uid(self, value: str) -> None: 

75 self.update_field(_K.FROM_UID, value) 

76 

77 @property 

78 def to_uid(self) -> str: 

79 return self._model.to_uid 

80 

81 @to_uid.setter 

82 def to_uid(self, value: str) -> None: 

83 self.update_field(_K.TO_UID, value) 

84 

85 @property 

86 def obj_id(self) -> str: 

87 return self._model.obj_id 

88 

89 @obj_id.setter 

90 def obj_id(self, value: str) -> None: 

91 self.update_field(_K.OBJ_ID, value) 

92 

93 @property 

94 def obj_type(self) -> ModelObjType: 

95 return self._model.obj_type 

96 

97 @obj_type.setter 

98 def obj_type(self, value: ModelObjType) -> None: 

99 self.update_field(_K.OBJ_TYPE, value) 

100 

101 @property 

102 def slug_code(self) -> str: 

103 return self._model.slug_code 

104 

105 @slug_code.setter 

106 def slug_code(self, value: str) -> None: 

107 self.update_field(_K.SLUG_CODE, value) 

108 

109 @property 

110 def description(self) -> str: 

111 return self._model.description 

112 

113 @description.setter 

114 def description(self, value: str) -> None: 

115 self.update_field(_K.DESCRIPTION, value) 

116 

117 @property 

118 def restriction_id(self) -> str | None: 

119 return self._model.restriction_id 

120 

121 @restriction_id.setter 

122 def restriction_id(self, value: str | None) -> None: 

123 self.update_field(_K.RESTRICTION_ID, value) 

124 

125 @property 

126 def resolution(self) -> ResolutionCommentModel | None: 

127 return self._model.resolution 

128 

129 @resolution.setter 

130 def resolution(self, value: ResolutionCommentModel | None) -> None: 

131 self.update_field(_K.RESOLUTION, value) 

132 

133 @property 

134 def comment_count(self) -> int: 

135 return self._model.comment_count 

136 

137 @comment_count.setter 

138 def comment_count(self, value: int) -> None: 

139 self.update_field(_K.COMMENT_COUNT, value) 

140 

141 # base internal fields 

142 @property 

143 def version(self) -> int: 

144 return self._model.version 

145 

146 @version.setter 

147 def version(self, value: int) -> None: 

148 self.update_field(_K.VERSION, value) 

149 

150 @property 

151 def processed(self) -> bool: 

152 return self._model.processed 

153 

154 @processed.setter 

155 def processed(self, value: bool) -> None: 

156 self.update_field(_K.PROCESSED, value) 

157 

158 @property 

159 def error_count(self) -> int: 

160 return self._model.error_count 

161 

162 @error_count.setter 

163 def error_count(self, value: int) -> None: 

164 self.update_field(_K.ERROR_COUNT, value) 

165 

166 # flag specific internal fields 

167 @property 

168 def flag_evaluated(self) -> bool: 

169 return self._model.flag_evaluated 

170 

171 @flag_evaluated.setter 

172 def flag_evaluated(self, value: bool) -> None: 

173 self.update_field(_K.FLAG_EVALUATED, value) 

174 

175 @property 

176 def flag_restriction_applied(self) -> bool: 

177 return self._model.flag_restriction_applied 

178 

179 @flag_restriction_applied.setter 

180 def flag_restriction_applied(self, value: bool) -> None: 

181 self.update_field(_K.FLAG_RESTRICTION_APPLIED, value) 

182 

183 @property 

184 def flag_user_notified(self) -> bool: 

185 return self._model.flag_user_notified 

186 

187 @flag_user_notified.setter 

188 def flag_user_notified(self, value: bool) -> None: 

189 self.update_field(_K.FLAG_USER_NOTIFIED, value) 

190 

191 @property 

192 def flag_removed_from_search(self) -> bool: 

193 return self._model.flag_removed_from_search 

194 

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) 

198 

199 # </AUTO_GENERATED_CONTENT> - do not edit