Coverage for functions \ flipdare \ generated \ shared \ app_error_code.py: 100%

0 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2026-05-08 12:22 +1000

1#!/usr/bin/env python 

2# 

3# Copyright (c) 2026 Flipdare Pty Ltd. All rights reserved. 

4# 

5# This file is part of Flipdare's proprietary software and contains 

6# confidential and copyrighted material. Unauthorised copying, 

7# modification, distribution, or use of this file is strictly 

8# prohibited without prior written permission from Flipdare Pty Ltd. 

9# 

10# This software includes third-party components licensed under MIT, 

11# BSD, and Apache 2.0 licences. See THIRD_PARTY_NOTICES for details. 

12# 

13# NOTE: THIS FILE IS AUTO GENERATED. DO NOT EDIT. 

14# 

15# Generated by codegen_models.py 

16# 

17# Modify 'codegen_models.py' 

18# and re-run the script above to update. 

19# 

20 

21# pragma: no cover 

22 

23from enum import StrEnum 

24from flipdare.generated.shared.app_log_category import AppLogCategory 

25 

26 

27class AppErrorCode(StrEnum): 

28 """Error code enum carrying http_code, category and display display_title.""" 

29 

30 # Declared here so type-checkers know these attributes exist. 

31 # They are populated per-member inside __new__. 

32 _http_code: int 

33 _category: AppLogCategory 

34 _display_title: str 

35 

36 def __new__( 

37 cls, 

38 code: str, 

39 http_code: int | None = None, 

40 category: AppLogCategory | None = None, 

41 display_title: str | None = None, 

42 ) -> "AppErrorCode": 

43 obj = str.__new__(cls, code) 

44 obj._value_ = code 

45 # Only set attributes if they are provided (during member definition) 

46 if http_code is not None: 

47 obj._http_code = http_code 

48 if category is not None: 

49 obj._category = category 

50 if display_title is not None: 

51 obj._display_title = display_title 

52 return obj 

53 

54 # ---- Members -------------------------------------------------------- 

55 # fmt: off 

56 SERVER = ("SERVER", 500, AppLogCategory.SERVER, "Server Error") 

57 DATABASE = ("DATABASE", 500, AppLogCategory.DATABASE, "Database Error") 

58 SERVER_MAINTENANCE = ("SERVER_MAINTENANCE", 503, AppLogCategory.SERVER, "Maintenance Mode") 

59 SERVER_CONFIG = ("SERVER_CONFIG", 500, AppLogCategory.SERVER, "Bad Server Configuration") 

60 SERVER_INIT = ("SERVER_INIT", 503, AppLogCategory.SERVER, "Server Initialization Error") 

61 SERVER_EX = ("SERVER_EXCEPTION", 500, AppLogCategory.SERVER, "Server Exception") 

62 SERVER_REPORT = ("SERVER_REPORT", 500, AppLogCategory.SERVER, "Server Report Error") 

63 UNEXPECTED_CODE_PATH = ("UNEXPECTED_CODE_PATH", 500, AppLogCategory.CONFIG, "Unexpected Code Path") 

64 GUARD = ("GUARD", 500, AppLogCategory.CONFIG, "Guard Error") 

65 UNKNOWN = ("UNKNOWN", 400, AppLogCategory.OTHER, "Unknown Error") 

66 AUTH = ("AUTH", 401, AppLogCategory.AUTH, "Auth Error") 

67 WRONG_AUTH_REQUEST_TYPE = ("WRONG_AUTH_REQUEST_TYPE", 500, AppLogCategory.AUTH, "Wrong Auth Request Type") 

68 MISSING_AUTH_HEADER = ("MISSING_AUTH_HEADER", 401, AppLogCategory.AUTH, "Missing Auth Header") 

69 MALFORMED_AUTH_HEADER = ("MALFORMED_AUTH_HEADER", 401, AppLogCategory.AUTH, "Malformed Auth Header") 

70 EMPTY_AUTH_HEADER = ("EMPTY_AUTH_HEADER", 401, AppLogCategory.AUTH, "Empty Auth Header") 

71 INVALID_AUTH_TOKEN = ("INVALID_AUTH_TOKEN", 401, AppLogCategory.AUTH, "Invalid Auth Token") 

72 INVALID_API_TOKEN = ("INVALID_API_TOKEN", 401, AppLogCategory.AUTH, "Invalid API Token") 

73 PERMISSION_DENIED = ("PERMISSION_DENIED", 401, AppLogCategory.AUTH, "Permission Denied") 

74 FORBIDDEN = ("FORBIDDEN", 403, AppLogCategory.AUTH, "Forbidden") 

75 INVALID_EMAIL = ("INVALID_EMAIL", 422, AppLogCategory.EMAIL, "Invalid Email") 

76 MISSING_PIN_CODE = ("MISSING_PIN_CODE", 400, AppLogCategory.REQUEST, "Missing Pin Code") 

77 PIN_CODE_MISMATCH = ("PIN_CODE_MISMATCH", 400, AppLogCategory.REQUEST, "Pin Code Mismatch") 

78 VALIDATION = ("VALIDATION", 400, AppLogCategory.REQUEST, "Validation Error") 

79 MALFORMED_REQUEST = ("MALFORMED_REQUEST", 400, AppLogCategory.REQUEST, "Request Error") 

80 DATA_LOAD = ("DATA_LOAD", 400, AppLogCategory.DATABASE, "Invalid Data Error") 

81 USER_NOT_FOUND = ("USER_NOT_FOUND", 404, AppLogCategory.INTEGRITY, "User Not Found") 

82 BAD_SEARCH_DATA = ("BAD_SEARCH_DATA", 400, AppLogCategory.REQUEST, "Bad Search Data") 

83 CONTEXT = ("CONTEXT", 500, AppLogCategory.DATABASE, "Context Error") 

84 USER_MISSING = ("USER_MISSING", 404, AppLogCategory.DATABASE, "User Missing") 

85 NOT_FOUND = ("NOT_FOUND", 404, AppLogCategory.INTEGRITY, "Not Found") 

86 MISSING_ID = ("MISSING_ID", 400, AppLogCategory.DATABASE, "Missing ID") 

87 CREATE_FAILED = ("CREATE_FAILED", 500, AppLogCategory.DATABASE, "Create Failed") 

88 UPDATE_FAILED = ("UPDATE_FAILED", 500, AppLogCategory.DATABASE, "Update Failed") 

89 INVALID_DATA = ("INVALID_DATA", 400, AppLogCategory.INTEGRITY, "Invalid Data") 

90 INVALID_CONTEXT = ("INVALID_CONTEXT", 500, AppLogCategory.CONFIG, "Invalid Context") 

91 MISSING_DATA = ("MISSING_DATA", 400, AppLogCategory.INTEGRITY, "Missing Data") 

92 MISMATCH_DATA = ("MISMATCH_DATA", 400, AppLogCategory.INTEGRITY, "Mismatch Data") 

93 DATABASE_EX = ("DATABASE_EXCEPTION", 500, AppLogCategory.DATABASE, "Database Exception") 

94 INDEX_FAILED = ("INDEX_FAILED", 500, AppLogCategory.SEARCH, "Index Failed") 

95 EMAIL_SMTP = ("EMAIL_SMTP", 500, AppLogCategory.EMAIL, "Email Sending Error") 

96 EMAIL_TEMPLATE = ("EMAIL_TEMPLATE", 500, AppLogCategory.EMAIL, "Email Template Error") 

97 EMAIL = ("EMAIL", 500, AppLogCategory.EMAIL, "Email Error") 

98 TRIGGER = ("TRIGGER", 500, AppLogCategory.TRIGGER, "Trigger Error") 

99 REPORT = ("REPORT", 500, AppLogCategory.REPORTING, "Report Error") 

100 REPORT_DATA_GENERATION = ("REPORT_DATA_GENERATION", 500, AppLogCategory.REPORTING, "Report Data Generation Error") 

101 REPORT_HTML_GENERATION = ("REPORT_HTML_GENERATION", 500, AppLogCategory.REPORTING, "Report HTML Generation Error") 

102 REPORT_EMAIL = ("REPORT_EMAIL", 500, AppLogCategory.REPORTING, "Report Email Error") 

103 COMMAND = ("COMMAND", 500, AppLogCategory.COMMAND, "Command Error") 

104 PROCESSING_STEP = ("PROCESSING_STEP", 500, AppLogCategory.CRON, "Processing Step") 

105 PROCESSING_CHAINED_RESULT = ("PROCESSING_CHAINED_RESULT", 500, AppLogCategory.CRON, "Processing Chained Result") 

106 DARE_PRE_FLIGHT = ("DARE_PRE_FLIGHT", 400, AppLogCategory.CRON, "Dare Pre-Flight") 

107 DARE_PROCESSING = ("DARE_PROCESSING", 500, AppLogCategory.CRON, "Dare Processing") 

108 CURRENCY_CONVERSION = ("CURRENCY_CONVERSION", 500, AppLogCategory.CRON, "Currency Conversion") 

109 FLAG = ("FLAG", 400, AppLogCategory.CRON, "Flag Processing") 

110 INVITE = ("INVITE", 400, AppLogCategory.CRON, "Invite Processing") 

111 VOTING = ("VOTING", 400, AppLogCategory.CRON, "Voting Processing") 

112 MODERATION = ("MODERATION", 400, AppLogCategory.CRON, "Moderation Processing") 

113 SEARCH = ("SEARCH", 400, AppLogCategory.SEARCH, "Searching") 

114 TAGGING = ("TAGGING", 400, AppLogCategory.CRON, "Tagging") 

115 NOTIFICATION = ("NOTIFICATION", 500, AppLogCategory.CRON, "Notification") 

116 SCHEDULER = ("SCHEDULER", 500, AppLogCategory.CRON, "Scheduler") 

117 SAFETY = ("SAFETY", 400, AppLogCategory.CRON, "Safety") 

118 USER_SUMMARY = ("USER_SUMMARY", 500, AppLogCategory.CRON, "Daily Summary") 

119 CONTACT = ("CONTACT", 400, AppLogCategory.CRON, "Contact") 

120 COMP_PROCESSING_FAILED = ("COMP_PROCESSING_FAILED", 500, AppLogCategory.COMPLIANCE, "Compliance Processing Failed") 

121 COMP_MISSING_OBJECT = ("COMP_MISSING_OBJECT", 404, AppLogCategory.COMPLIANCE, "Compliance Missing Object") 

122 COMP_INVALID_OBJECT = ("COMP_INVALID_OBJECT", 400, AppLogCategory.COMPLIANCE, "Compliance Invalid Object") 

123 COMP_CREATE_FAILED = ("COMP_CREATE_FAILED", 500, AppLogCategory.COMPLIANCE, "Compliance Create Failed") 

124 COMP_ANONYMIZE_FAILED = ("COMP_ANONYMIZE_FAILED", 500, AppLogCategory.COMPLIANCE, "Compliance Anonymize Failed") 

125 COMP_DELETE_FAILED = ("COMP_DELETE_FAILED", 500, AppLogCategory.COMPLIANCE, "Compliance Delete Failed") 

126 COMP_REMOVE_SEARCH_ERROR = ("COMP_REMOVE_SEARCH_ERROR", 500, AppLogCategory.COMPLIANCE, "Compliance Remove Search Error") 

127 CURRENCY_API = ("CURRENCY_API", 500, AppLogCategory.API, "Currency API Error") 

128 RESTRICTION = ("RESTRICTION", 400, AppLogCategory.SAFETY, "Restriction") 

129 RESTRICTION_REMOVAL = ("RESTRICTION_REMOVAL", 400, AppLogCategory.SAFETY, "Restriction Removal") 

130 RESTRICTION_MISMATCH = ("RESTRICTION_MISMATCH", 400, AppLogCategory.SAFETY, "Restriction Mismatch") 

131 RESTRICTION_MISSING = ("RESTRICTION_MISSING", 400, AppLogCategory.SAFETY, "Restriction Missing") 

132 NO_VIDEO = ("NO_VIDEO", 400, AppLogCategory.CONTENT, "No Video") 

133 MISSING_VIDEO = ("MISSING_VIDEO", 400, AppLogCategory.CONTENT, "Missing Video") 

134 OPTIMIZE_VIDEO = ("OPTIMIZE_VIDEO", 500, AppLogCategory.CONTENT, "Optimize Video") 

135 THUMBNAIL_GENERATION = ("THUMBNAIL_GENERATION", 500, AppLogCategory.CONTENT, "Thumbnail Generation") 

136 NO_IMAGE = ("NO_IMAGE", 400, AppLogCategory.CONTENT, "No Image") 

137 MISSING_IMAGE = ("MISSING_IMAGE", 400, AppLogCategory.CONTENT, "Missing Image") 

138 HASH = ("HASH", 500, AppLogCategory.CONTENT, "Hash Error") 

139 INVALID_INPUT = ("INVALID_INPUT", 400, AppLogCategory.REQUEST, "Invalid Input") 

140 CONTENT = ("CONTENT", 400, AppLogCategory.CONTENT, "Content Error") 

141 # fmt: on 

142 # ---- Properties ----------------------------------------------------- 

143 @property 

144 def http_code(self) -> int: 

145 return self._http_code 

146 

147 @property 

148 def category(self) -> AppLogCategory: 

149 return self._category 

150 

151 @property 

152 def display_title(self) -> str: 

153 return self._display_title 

154 

155 # ---- Convenience predicates ----------------------------------------- 

156 

157 @property 

158 def is_db_error(self) -> bool: 

159 return self._category == AppLogCategory.DATABASE 

160 

161 @property 

162 def is_auth_error(self) -> bool: 

163 return self._category == AppLogCategory.AUTH