Coverage for functions \ flipdare \ wrapper \ invite_wrapper.py: 74%

125 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.invite_model import InviteKeys, InviteModel 

16from flipdare.generated.shared.model.model_obj_type import ModelObjType 

17from flipdare.wrapper._persisted_wrapper import PersistedWrapper 

18 

19__all__ = ["InviteWrapper"] 

20 

21_K = InviteKeys 

22 

23 

24class InviteWrapper(PersistedWrapper[InviteModel]): 

25 MODEL_CLASS = InviteModel 

26 

27 @property 

28 def processing_complete(self) -> bool: 

29 return ( 

30 self._model.user_created 

31 and self._model.email_sent 

32 and self._model.friends_created 

33 and self._model.search_indexed 

34 ) 

35 

36 @property 

37 def internal_state(self) -> str: 

38 state_parts = [] 

39 if self._model.user_created: 

40 state_parts.append("user_created") 

41 if self._model.email_sent: 

42 state_parts.append("email_sent") 

43 if self._model.friends_created: 

44 state_parts.append("friends_created") 

45 if self._model.search_indexed: 

46 state_parts.append("indexed") 

47 return ",".join(state_parts) 

48 

49 # <AUTO_GENERATED_CONTENT> - do not edit 

50 

51 @property 

52 def from_uid(self) -> str: 

53 return self._model.from_uid 

54 

55 @from_uid.setter 

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

57 self.update_field(_K.FROM_UID, value) 

58 

59 @property 

60 def from_name(self) -> str: 

61 return self._model.from_name 

62 

63 @from_name.setter 

64 def from_name(self, value: str) -> None: 

65 self.update_field(_K.FROM_NAME, value) 

66 

67 @property 

68 def from_email(self) -> str: 

69 return self._model.from_email 

70 

71 @from_email.setter 

72 def from_email(self, value: str) -> None: 

73 self.update_field(_K.FROM_EMAIL, value) 

74 

75 @property 

76 def to_uid(self) -> str: 

77 return self._model.to_uid 

78 

79 @to_uid.setter 

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

81 self.update_field(_K.TO_UID, value) 

82 

83 @property 

84 def to_name(self) -> str | None: 

85 return self._model.to_name 

86 

87 @to_name.setter 

88 def to_name(self, value: str | None) -> None: 

89 self.update_field(_K.TO_NAME, value) 

90 

91 @property 

92 def to_email(self) -> str: 

93 return self._model.to_email 

94 

95 @to_email.setter 

96 def to_email(self, value: str) -> None: 

97 self.update_field(_K.TO_EMAIL, value) 

98 

99 @property 

100 def obj_id(self) -> str: 

101 return self._model.obj_id 

102 

103 @obj_id.setter 

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

105 self.update_field(_K.OBJ_ID, value) 

106 

107 @property 

108 def obj_type(self) -> ModelObjType: 

109 return self._model.obj_type 

110 

111 @obj_type.setter 

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

113 self.update_field(_K.OBJ_TYPE, value) 

114 

115 @property 

116 def message(self) -> str: 

117 return self._model.message 

118 

119 @message.setter 

120 def message(self, value: str) -> None: 

121 self.update_field(_K.MESSAGE, value) 

122 

123 # base internal fields 

124 @property 

125 def version(self) -> int: 

126 return self._model.version 

127 

128 @version.setter 

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

130 self.update_field(_K.VERSION, value) 

131 

132 @property 

133 def processed(self) -> bool: 

134 return self._model.processed 

135 

136 @processed.setter 

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

138 self.update_field(_K.PROCESSED, value) 

139 

140 @property 

141 def error_count(self) -> int: 

142 return self._model.error_count 

143 

144 @error_count.setter 

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

146 self.update_field(_K.ERROR_COUNT, value) 

147 

148 # invite specific internal fields 

149 @property 

150 def user_created(self) -> bool: 

151 return self._model.user_created 

152 

153 @user_created.setter 

154 def user_created(self, value: bool) -> None: 

155 self.update_field(_K.USER_CREATED, value) 

156 

157 @property 

158 def email_sent(self) -> bool: 

159 return self._model.email_sent 

160 

161 @email_sent.setter 

162 def email_sent(self, value: bool) -> None: 

163 self.update_field(_K.EMAIL_SENT, value) 

164 

165 @property 

166 def friends_created(self) -> bool: 

167 return self._model.friends_created 

168 

169 @friends_created.setter 

170 def friends_created(self, value: bool) -> None: 

171 self.update_field(_K.FRIENDS_CREATED, value) 

172 

173 @property 

174 def search_indexed(self) -> bool: 

175 return self._model.search_indexed 

176 

177 @search_indexed.setter 

178 def search_indexed(self, value: bool) -> None: 

179 self.update_field(_K.SEARCH_INDEXED, value) 

180 

181 @property 

182 def reminder_sent(self) -> bool: 

183 return self._model.reminder_sent 

184 

185 @reminder_sent.setter 

186 def reminder_sent(self, value: bool) -> None: 

187 self.update_field(_K.REMINDER_SENT, value) 

188 

189 # </AUTO_GENERATED_CONTENT> - do not edit