Coverage for functions \ flipdare \ wrapper \ friend_wrapper.py: 72%

90 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.friend_model import FriendKeys, FriendModel 

16from flipdare.generated.shared.model.friend_type import FriendType 

17from flipdare.generated.shared.model.user.request_status import RequestStatus 

18from flipdare.wrapper._persisted_wrapper import PersistedWrapper 

19 

20__all__ = ["FriendWrapper"] 

21 

22_K = FriendKeys 

23 

24 

25class FriendWrapper(PersistedWrapper[FriendModel]): 

26 MODEL_CLASS = FriendModel 

27 

28 @property 

29 def is_accepted(self) -> bool: 

30 return self.status == RequestStatus.ACCEPTED 

31 

32 # <AUTO_GENERATED_CONTENT> - do not edit 

33 

34 @property 

35 def friend_type(self) -> FriendType: 

36 return self._model.friend_type 

37 

38 @friend_type.setter 

39 def friend_type(self, value: FriendType) -> None: 

40 self.update_field(_K.FRIEND_TYPE, value) 

41 

42 @property 

43 def status(self) -> RequestStatus: 

44 return self._model.status 

45 

46 @status.setter 

47 def status(self, value: RequestStatus) -> None: 

48 self.update_field(_K.STATUS, value) 

49 

50 @property 

51 def from_uid(self) -> str: 

52 return self._model.from_uid 

53 

54 @from_uid.setter 

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

56 self.update_field(_K.FROM_UID, value) 

57 

58 @property 

59 def to_uid(self) -> str: 

60 return self._model.to_uid 

61 

62 @to_uid.setter 

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

64 self.update_field(_K.TO_UID, value) 

65 

66 # base internal fields 

67 @property 

68 def version(self) -> int: 

69 return self._model.version 

70 

71 @version.setter 

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

73 self.update_field(_K.VERSION, value) 

74 

75 @property 

76 def processed(self) -> bool: 

77 return self._model.processed 

78 

79 @processed.setter 

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

81 self.update_field(_K.PROCESSED, value) 

82 

83 @property 

84 def error_count(self) -> int: 

85 return self._model.error_count 

86 

87 @error_count.setter 

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

89 self.update_field(_K.ERROR_COUNT, value) 

90 

91 # friend specific internal fields 

92 @property 

93 def created(self) -> bool: 

94 return self._model.created 

95 

96 @created.setter 

97 def created(self, value: bool) -> None: 

98 self.update_field(_K.CREATED, value) 

99 

100 @property 

101 def context_created(self) -> bool: 

102 return self._model.context_created 

103 

104 @context_created.setter 

105 def context_created(self, value: bool) -> None: 

106 self.update_field(_K.CONTEXT_CREATED, value) 

107 

108 @property 

109 def email_sent(self) -> bool: 

110 return self._model.email_sent 

111 

112 @email_sent.setter 

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

114 self.update_field(_K.EMAIL_SENT, value) 

115 

116 @property 

117 def notification_sent(self) -> bool: 

118 return self._model.notification_sent 

119 

120 @notification_sent.setter 

121 def notification_sent(self, value: bool) -> None: 

122 self.update_field(_K.NOTIFICATION_SENT, value) 

123 

124 @property 

125 def reciprocal_friend_created(self) -> bool: 

126 return self._model.reciprocal_friend_created 

127 

128 @reciprocal_friend_created.setter 

129 def reciprocal_friend_created(self, value: bool) -> None: 

130 self.update_field(_K.RECIPROCAL_FRIEND_CREATED, value) 

131 

132 @property 

133 def search_indexed(self) -> bool: 

134 return self._model.search_indexed 

135 

136 @search_indexed.setter 

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

138 self.update_field(_K.SEARCH_INDEXED, value) 

139 

140 # </AUTO_GENERATED_CONTENT> - do not edit