veza/veza-backend-api/internal/services
senke af1e57b418 [BE-SEC-007] security: Implement account lockout after failed login attempts
- Created AccountLockoutService to track failed login attempts
- Accounts are locked after 5 failed attempts within 15 minutes
- Lockout duration: 30 minutes (auto-unlock)
- Service uses Redis for persistence (fail-open if Redis unavailable)
- Integrated into AuthService Login method:
  * Check account lockout status before login
  * Record failed attempts (even for non-existent users to prevent enumeration)
  * Reset failed attempts counter on successful login
  * Auto-unlock expired accounts
- Added SetAccountLockoutService method to AuthService
- Service initialized in router when Redis is available

Phase: PHASE-4
Priority: P1
Progress: 9/267 (3.4%)
2025-12-24 12:10:41 +01:00
..
account_lockout_service.go [BE-SEC-007] security: Implement account lockout after failed login attempts 2025-12-24 12:10:41 +01:00
analytics_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
analytics_service_test.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
audit_service.go [BE-API-034] be-api: Implement audit log search improvements 2025-12-24 11:56:57 +01:00
bandwidth_detection_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
bandwidth_detection_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
bitrate_adaptation_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
bitrate_adaptation_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
bitrate_strategy_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
bitrate_strategy_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
buffer_monitor_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
buffer_monitor_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
cache_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
chat_service.go [BE-API-006] be-api: Implement chat stats endpoint 2025-12-23 01:51:49 +01:00
chat_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
circuit_breaker.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
circuit_breaker_integration_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
circuit_breaker_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
comment_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
comment_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
email_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
email_service_password_reset_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
email_verification_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
email_verification_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
errors.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
hls_cleanup_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
hls_playlist_generator.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
hls_playlist_generator_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
hls_queue_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
hls_service.go [BE-API-020] be-api: Implement HLS stream info endpoint 2025-12-24 11:32:50 +01:00
hls_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
hls_transcode_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
hls_transcode_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
image_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
job_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
jwt_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
jwt_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
metadata_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
notification_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
oauth_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
password_reset_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
password_reset_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
password_service.go [BE-SEC-006] security: Implement comprehensive password strength validation 2025-12-24 12:08:03 +01:00
password_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
permission_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
permission_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playback_abtest_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_abtest_service_test.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_aggregation_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
playback_aggregation_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playback_alerts_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_alerts_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_analytics_rate_limiter.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_analytics_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_analytics_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playback_comparison_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_comparison_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_export_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playback_export_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_filter_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_filter_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_heatmap_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_heatmap_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_retention_policy_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_retention_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
playback_retention_service_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
playback_segmentation_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playback_segmentation_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playlist_analytics_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playlist_analytics_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playlist_duplicate_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_follow_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_follow_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playlist_notification_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playlist_recommendation_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
playlist_service.go stabilizing apps/web: THIRD BATCH - FIXED Playwright 2025-12-21 18:55:51 -05:00
playlist_service_search_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_share_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
playlist_version_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
rbac_service.go report generation and future tasks selection 2025-12-08 19:57:54 +01:00
refresh_token_service.go stabilizing apps/web: SECOND BATCH - FIXING Playwright 2025-12-17 12:20:42 -05:00
refresh_token_service_test.go report generation and future tasks selection 2025-12-08 19:57:54 +01:00
role_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
room_service.go [BE-API-012] be-api: Implement conversation update endpoint 2025-12-23 10:51:18 +01:00
room_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
royalty_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
search_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
session_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
session_service_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
social_service.go [BE-API-018] be-api: Implement user block/unblock endpoints 2025-12-24 11:28:49 +01:00
stream_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
stream_service_retry_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
stream_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
token_blacklist.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
token_blacklist_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
totp_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_chunk_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
track_chunk_service_resume_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
track_export_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
track_history_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
track_history_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
track_like_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
track_like_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
track_search_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_search_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
track_service_batch_delete_test.go.disabled adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_service_batch_update_test.go.disabled adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_service_list_test.go.disabled adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_service_quota_test.go.disabled adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_service_stats_test.go.disabled adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_share_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
track_share_service_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
track_storage_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
track_upload_service.go [BE-API-032] be-api: Implement upload stats endpoint 2025-12-24 11:52:49 +01:00
track_upload_service_test.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
track_validation_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
track_validation_service_test.go report generation and future tasks selection 2025-12-08 19:57:54 +01:00
track_version_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
two_factor_service.go [BE-API-002] api: Implement playlist collaborators endpoints 2025-12-23 01:41:43 +01:00
upload_store.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
upload_validator.go stabilizing apps/web: SECOND BATCH - FIXING Playwright 2025-12-17 12:20:42 -05:00
upload_validator_integration_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
upload_validator_test.go stabilizing veza-backend-api: P1 & P2 2025-12-16 13:34:08 -05:00
user_service.go STABILISATION: phase 3–5 – API contract, tests & chat-server hardening 2025-12-06 17:21:59 +01:00
user_service_search.go [BE-API-040] api: Implement user list endpoint 2025-12-24 11:59:56 +01:00
webhook_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00