Coverage for functions \ flipdare \ services.py: 74%

174 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 google.cloud.storage import Bucket as StorageBucket 

16from google.cloud.firestore import Client as FirestoreClient 

17from firebase_admin._auth_client import Client as AuthClient 

18 

19from flipdare.backend.app_stats import AppStats 

20from flipdare.backend.exchange_rate_monitor import ExchangeRateMonitor 

21from flipdare.manager.task_manager import TaskManager 

22from flipdare.service.payments.app_payment_service import AppPaymentService 

23from flipdare.service.payments.risk_service import RiskService 

24from flipdare.task.command_task_handler import CommandTaskHandler 

25from flipdare.task.cron_task_handler import CronTaskHandler 

26from flipdare.app_service import get_app_service 

27from flipdare.backend.app_scheduler import AppScheduler 

28from flipdare.backend.runtime_config_admin import RuntimeConfigAdmin 

29from flipdare.service.account_service import AccountService 

30from flipdare.service.external_account_service import ExternalAccountService 

31from flipdare.service.content_service import ContentService 

32from flipdare.service.dare_service import DareService 

33from flipdare.service.flag_service import FlagService 

34from flipdare.service.friend_service import FriendService 

35from flipdare.service.group_service import GroupService 

36from flipdare.backend.indexer_service import IndexerService 

37from flipdare.manager.service_manager import ServiceManager 

38from flipdare.manager.db_manager import DbManager 

39from flipdare.manager.search_manager import SearchManager 

40from flipdare.manager.backend_manager import BackendManager 

41from flipdare.service.notification_service import NotificationService 

42from flipdare.service.pledge_service import PledgeService 

43from flipdare.service.search_service import SearchService 

44from flipdare.backend.app_logger import AppLogger 

45from flipdare.backend.job_logger import JobLogger 

46from flipdare.task.report_task_handler import ReportTaskHandler 

47from flipdare.service.user_service import UserService 

48from flipdare.mailer.admin_mailer import AdminMailer 

49from flipdare.mailer.user_mailer import UserMailer 

50from flipdare.firestore.backend.app_job_db import AppJobDb 

51from flipdare.firestore.backend.app_log_db import AppLogDb 

52from flipdare.firestore.backend.app_stat_db import AppStatDb 

53from flipdare.firestore.backend.exchange_rate_db import ExchangeRateDb 

54from flipdare.firestore.backend.run_config_group_db import RunConfigGroupDb 

55from flipdare.firestore.backend.run_config_job_db import RunConfigJobDb 

56from flipdare.firestore.chat_db import ChatDb 

57from flipdare.firestore.content_db import ContentDb 

58from flipdare.firestore.dare_db import DareDb 

59from flipdare.firestore.flag_db import FlagDb 

60from flipdare.firestore.friend_db import FriendDb 

61from flipdare.firestore.group_db import GroupDb 

62from flipdare.firestore.invite_db import InviteDb 

63from flipdare.firestore.pledge_db import PledgeDb 

64from flipdare.firestore.restriction_db import RestrictionDb 

65from flipdare.firestore.user_db import UserDb 

66from flipdare.firestore.user_summary_db import UserSummaryDb 

67from flipdare.job.job_admin import JobAdmin 

68from flipdare.service.safety.moderation_service import ModerationService 

69from flipdare.service.safety.reputation_service import ReputationService 

70from flipdare.service.safety.restriction_service import RestrictionService 

71from flipdare.search.db.app_friend_search import AppFriendSearch 

72from flipdare.search.db.app_general_search import AppGeneralSearch 

73from flipdare.task.trigger_task_handler import TriggerTaskHandler 

74 

75__all__ = [ 

76 "get_service_manager", 

77 "get_backend_manager", 

78 "get_search_manager", 

79 "get_restriction_service", 

80 "get_moderation_service", 

81 "get_reputation_service", 

82 "get_friend_search", 

83 "get_general_search", 

84 "get_auth_client", 

85 "get_job_admin", 

86 "get_app_scheduler", 

87 "get_app_logger", 

88 "get_job_logger", 

89 "get_admin_mailer", 

90 "get_user_emailer", 

91 "get_report_handler", 

92 "get_default_bucket", 

93 "get_runtime_config", 

94 "get_exchange_rate_handler", 

95 "get_friend_service", 

96 "get_content_service", 

97 "get_account_service", 

98 "get_ext_account_service", 

99 "get_notification_service", 

100 "get_pledge_service", 

101 "get_user_service", 

102 "get_group_service", 

103 "get_flag_service", 

104 "get_indexer_service", 

105 "get_dare_service", 

106 "get_search_service", 

107 "get_firestore_client", 

108 "get_db_manager", 

109 "get_user_db", 

110 "get_content_db", 

111 "get_group_db", 

112 "get_friend_db", 

113 "get_invite_db", 

114 "get_dare_db", 

115 "get_pledge_db", 

116 "get_flag_db", 

117 "get_restriction_db", 

118 "get_chat_db", 

119 "get_exchange_rate_db", 

120 "get_run_group_db", 

121 "get_run_job_db", 

122 "get_stats_db", 

123 "get_log_db", 

124 "get_job_db", 

125 "get_summary_db", 

126] 

127 

128 

129# ----------------------------------------------------------------------------- 

130# managers 

131# ----------------------------------------------------------------------------- 

132 

133 

134def get_service_manager() -> ServiceManager: 

135 return get_app_service().service_manager 

136 

137 

138def get_backend_manager() -> BackendManager: 

139 return get_app_service().backend_manager 

140 

141 

142def get_search_manager() -> SearchManager: 

143 return get_app_service().search_manager 

144 

145 

146def get_task_manager() -> TaskManager: 

147 return get_app_service().task_manager 

148 

149 

150# ----------------------------------------------------------------------------- 

151# Search 

152# ----------------------------------------------------------------------------- 

153 

154 

155def get_friend_search() -> AppFriendSearch: 

156 return get_app_service().search_manager.friend 

157 

158 

159def get_general_search() -> AppGeneralSearch: 

160 return get_app_service().search_manager.general 

161 

162 

163# ----------------------------------------------------------------------------- 

164# Backend 

165# ----------------------------------------------------------------------------- 

166 

167 

168def get_auth_client() -> AuthClient: 

169 return get_app_service().auth 

170 

171 

172def get_job_admin() -> JobAdmin: 

173 return get_app_service().backend_manager.job_admin 

174 

175 

176def get_app_scheduler() -> AppScheduler: 

177 return get_app_service().backend_manager.app_scheduler 

178 

179 

180def get_app_logger() -> AppLogger: 

181 return get_app_service().backend_manager.app_logger 

182 

183 

184def get_job_logger() -> JobLogger: 

185 return get_app_service().backend_manager.job_logger 

186 

187 

188def get_app_stats() -> AppStats: 

189 return get_app_service().backend_manager.app_stats 

190 

191 

192def get_admin_mailer() -> AdminMailer: 

193 return get_app_service().backend_manager.admin_mailer 

194 

195 

196def get_user_emailer() -> UserMailer: 

197 return get_app_service().backend_manager.user_mailer 

198 

199 

200def get_report_handler() -> ReportTaskHandler: 

201 return get_app_service().task_manager.report_handler 

202 

203 

204def get_cron_handler() -> CronTaskHandler: 

205 return get_app_service().task_manager.cron_handler 

206 

207 

208def get_command_handler() -> CommandTaskHandler: 

209 return get_app_service().task_manager.command_handler 

210 

211 

212def get_trigger_handler() -> TriggerTaskHandler: 

213 return get_app_service().task_manager.trigger_handler 

214 

215 

216def get_default_bucket() -> StorageBucket: 

217 return get_app_service().backend_manager.storage_bucket 

218 

219 

220def get_runtime_config() -> RuntimeConfigAdmin: 

221 return get_app_service().backend_manager.runtime_config 

222 

223 

224def get_exchange_rate_handler() -> ExchangeRateMonitor: 

225 return get_app_service().backend_manager.exchange_rate_monitor 

226 

227 

228# ----------------------------------------------------------------------------- 

229# Services 

230# ----------------------------------------------------------------------------- 

231 

232 

233def get_friend_service() -> FriendService: 

234 return get_app_service().service_manager.friend 

235 

236 

237def get_content_service() -> ContentService: 

238 return get_app_service().service_manager.content 

239 

240 

241def get_account_service() -> AccountService: 

242 return get_app_service().service_manager.account 

243 

244 

245def get_ext_account_service() -> ExternalAccountService: 

246 return get_app_service().service_manager.ext_account 

247 

248 

249def get_notification_service() -> NotificationService: 

250 return get_app_service().service_manager.notification 

251 

252 

253def get_pledge_service() -> PledgeService: 

254 return get_app_service().service_manager.pledge 

255 

256 

257def get_user_service() -> UserService: 

258 return get_app_service().service_manager.user 

259 

260 

261def get_group_service() -> GroupService: 

262 return get_app_service().service_manager.group 

263 

264 

265def get_flag_service() -> FlagService: 

266 return get_app_service().service_manager.flag 

267 

268 

269def get_indexer_service() -> IndexerService: 

270 return get_app_service().backend_manager.indexer 

271 

272 

273def get_dare_service() -> DareService: 

274 return get_app_service().service_manager.dare 

275 

276 

277def get_search_service() -> SearchService: 

278 return get_app_service().service_manager.search 

279 

280 

281def get_payment_service() -> AppPaymentService: 

282 return get_app_service().service_manager.payment 

283 

284 

285def get_risk_service() -> RiskService: 

286 return get_app_service().service_manager.risk 

287 

288 

289# ----------------------------------------------------------------------------- 

290# Safety 

291# ----------------------------------------------------------------------------- 

292 

293 

294def get_restriction_service() -> RestrictionService: 

295 return get_app_service().service_manager.restriction 

296 

297 

298def get_moderation_service() -> ModerationService: 

299 return get_app_service().service_manager.moderation 

300 

301 

302def get_reputation_service() -> ReputationService: 

303 return get_app_service().service_manager.reputation 

304 

305 

306# ----------------------------------------------------------------------------- 

307# Databases 

308# ----------------------------------------------------------------------------- 

309 

310 

311def get_firestore_client() -> FirestoreClient: 

312 return get_app_service().firestore_client 

313 

314 

315def get_db_manager() -> DbManager: 

316 return get_app_service().db_manager 

317 

318 

319def get_user_db() -> UserDb: 

320 return get_app_service().db_manager.user_db 

321 

322 

323def get_content_db() -> ContentDb: 

324 return get_app_service().db_manager.content_db 

325 

326 

327def get_group_db() -> GroupDb: 

328 return get_app_service().db_manager.group_db 

329 

330 

331def get_friend_db() -> FriendDb: 

332 return get_app_service().db_manager.friend_db 

333 

334 

335def get_invite_db() -> InviteDb: 

336 return get_app_service().db_manager.invite_db 

337 

338 

339def get_dare_db() -> DareDb: 

340 return get_app_service().db_manager.dare_db 

341 

342 

343def get_pledge_db() -> PledgeDb: 

344 return get_app_service().db_manager.pledge_db 

345 

346 

347def get_flag_db() -> FlagDb: 

348 return get_app_service().db_manager.flag_db 

349 

350 

351def get_restriction_db() -> RestrictionDb: 

352 return get_app_service().db_manager.restriction_db 

353 

354 

355def get_chat_db() -> ChatDb: 

356 return get_app_service().db_manager.chat_db 

357 

358 

359# ----------------------------------------------------------------------------- 

360# Internal Databases 

361# ----------------------------------------------------------------------------- 

362 

363 

364def get_exchange_rate_db() -> ExchangeRateDb: 

365 return get_app_service().db_manager.exchange_rate_db 

366 

367 

368def get_run_group_db() -> RunConfigGroupDb: 

369 return get_app_service().db_manager.run_group_db 

370 

371 

372def get_run_job_db() -> RunConfigJobDb: 

373 return get_app_service().db_manager.run_job_db 

374 

375 

376def get_stats_db() -> AppStatDb: 

377 return get_app_service().db_manager.stat_db 

378 

379 

380def get_log_db() -> AppLogDb: 

381 return get_app_service().db_manager.log_db 

382 

383 

384def get_job_db() -> AppJobDb: 

385 return get_app_service().db_manager.job_db 

386 

387 

388def get_summary_db() -> UserSummaryDb: 

389 return get_app_service().db_manager.summary_db