veza/veza-backend-api/internal/services
senke c10d73da4e
Some checks failed
Veza CI / Rust (Stream Server) (push) Successful in 4m18s
Security Scan / Secret Scanning (gitleaks) (push) Successful in 1m22s
Veza CI / Frontend (Web) (push) Failing after 19m45s
E2E Playwright / e2e (full) (push) Failing after 20m45s
Veza CI / Backend (Go) (push) Failing after 22m38s
Veza CI / Notify on failure (push) Successful in 7s
feat(subscription): webhook handler closes pending_payment state machine (v1.0.9 item G — Phase 2)
Phase 1 (commit 2a96766a) opened the pending_payment status: a paid-plan
subscribe path creates a UserSubscription row in pending_payment +
subscription_invoices row carrying the Hyperswitch payment_id, then hands
the client_secret back to the SPA. Phase 2 lands the webhook side: the
PSP-driven state transition that closes the loop.

State machine:
  - pending_payment + status=succeeded  →  invoice paid (paid_at=now), sub active
  - pending_payment + status=failed     →  invoice failed,            sub expired
  - already terminal                    →  idempotent no-op (paid_at NOT bumped)
  - payment_id not in subscription_invoices → marketplace.ErrNotASubscription
    (caller falls through to the order webhook flow)

The processor only flips a subscription out of pending_payment. Rows that
have already transitioned (concurrent flow, manual admin action, plan
upgrade) are left alone — the invoice still gets the terminal status
update so the audit trail stays consistent.

New surface:
  - hyperswitch.SubscriptionWebhookProcessor — the actual handler. Reads
    subscription_invoices by hyperswitch_payment_id, looks up the parent
    user_subscriptions row, applies the transition in a single tx.
  - hyperswitch.IsSubscriptionEventType — exported helper for callers
    that want to skip the DB hit on clearly non-subscription events.
  - marketplace.SubscriptionWebhookHandler (interface) +
    marketplace.ErrNotASubscription (sentinel) — keeps marketplace from
    importing the hyperswitch package while still allowing
    ProcessPaymentWebhook to dispatch typed.
  - marketplace.WithSubscriptionWebhookHandler (option) — wired by
    routes_webhooks.getMarketplaceService so the prod webhook handler
    routes subscription events instead of swallowing them as "order not
    found".

Dispatcher in ProcessPaymentWebhook: try subscription first, fall through
to the order flow on ErrNotASubscription. Order events are unchanged.

Tests (4, sqlite in-memory, all green):
  - Succeeded: pending_payment → active+paid, paid_at set
  - Failed:    pending_payment → expired+failed
  - Idempotent replay: second succeeded webhook is a no-op, paid_at NOT
    re-stamped (locks down Hyperswitch's at-least-once delivery contract)
  - Unknown payment_id: returns marketplace.ErrNotASubscription so the
    dispatcher falls through to ProcessPaymentWebhook's order flow

Removes the v1.0.6.2 "active row without PSP linkage" fantôme pattern
that hasEffectivePayment had to filter retroactively — the Phase 1 +
Phase 2 pair is now the canonical paid-plan creation path.

E2E + recovery endpoint (POST /api/v1/subscriptions/complete/:id) +
distribution gate land in Phase 3 (Day 3 of ROADMAP_V1.0_LAUNCH.md).

SKIP_TESTS=1 rationale: this commit is backend-only (Go); the husky
pre-commit hook only runs frontend typecheck/lint/vitest. Backend tests
verified manually:
  $ go test -short -count=1 ./internal/services/hyperswitch/... ./internal/core/marketplace/... ./internal/core/subscription/...
  ok  veza-backend-api/internal/services/hyperswitch
  ok  veza-backend-api/internal/core/marketplace
  ok  veza-backend-api/internal/core/subscription

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 05:39:59 +02:00
..
hyperswitch feat(subscription): webhook handler closes pending_payment state machine (v1.0.9 item G — Phase 2) 2026-04-27 05:39:59 +02:00
account_lockout_service.go Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy 2026-02-14 17:23:32 +01:00
account_lockout_service_test.go chore(v0.102): consolidate remaining changes — docs, frontend, backend 2026-02-20 13:02:12 +01:00
admin_platform_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
admin_platform_service_test.go feat(v0.11.3): F421-F424 admin platform service with metrics, user mgmt, content, payments 2026-03-10 18:16:27 +01:00
advanced_analytics_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
advanced_analytics_service_test.go feat(v0.11.1): F396-F399 advanced analytics service, handler and routes 2026-03-10 17:12:26 +01:00
analytics_aggregation_service.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
analytics_aggregation_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
analytics_service.go v0.9.4 2026-03-05 23:03:43 +01:00
analytics_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
announcement_service.go feat(admin): global announcements CRUD and public banner endpoint 2026-02-25 19:55:21 +01:00
api_key_service.go feat(developer): add API keys backend (Lot C) 2026-02-20 00:18:36 +01:00
audio_transcode_service.go fix(security): validate exec.Command paths in Go services 2026-02-11 21:32:38 +01:00
audio_transcode_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
audit_service.go fix(tests): fix 2 skipped tests, add clear skip reasons to 11 others 2026-02-22 17:53:00 +01:00
audit_service_test.go fix(tests): fix 2 skipped tests, add clear skip reasons to 11 others 2026-02-22 17:53:00 +01:00
backup_service.go fix(security): validate exec.Command paths in Go services 2026-02-11 21:32:38 +01:00
backup_service_test.go fix(tests): fix 2 skipped tests, add clear skip reasons to 11 others 2026-02-22 17:53:00 +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 [BE-SVC-001] be-svc: Implement caching layer for frequently accessed data 2025-12-24 16:02:16 +01:00
cache_service_test.go chore(v0.102): consolidate remaining changes — docs, frontend, backend 2026-02-20 13:02:12 +01:00
captcha_service.go feat(v0.13.0): conformité features partielles — CAPTCHA, password history, login history, SMS 2FA 2026-03-12 09:31:50 +01:00
captcha_service_test.go feat(v0.13.0): conformité features partielles — CAPTCHA, password history, login history, SMS 2FA 2026-03-12 09:31:50 +01:00
cdn_service.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
cdn_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
chat_pubsub.go fix(chat,config): require REDIS_URL in prod + error on in-memory fallback 2026-04-16 14:56:47 +02:00
chat_pubsub_test.go fix(chat,config): require REDIS_URL in prod + error on in-memory fallback 2026-04-16 14:56:47 +02:00
chat_service.go v0.9.4 2026-03-05 23:03:43 +01:00
chat_service_test.go v0.9.4 2026-03-05 23:03:43 +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
cloud_backup.go feat(cloud): GDPR data export and automatic backup cron 2026-02-25 13:35:16 +01:00
cloud_service.go feat: backend — config, handlers, services, logging, migration 2026-03-23 15:46:57 +01:00
cloud_service_test.go feat(v0.501): Sprint 3 -- Cloud Storage MVP backend 2026-02-22 18:23:58 +01:00
co_listening_service.go feat(v0.10.7): Collaboration Temps Réel F481-F483 2026-03-10 13:34:16 +01:00
comment_moderation_service.go feat(v0.10.3): Commentaires & Interactions Sociales - F201-F215 2026-03-09 10:30:47 +01:00
comment_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
comment_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
creator_analytics_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
creator_analytics_service_test.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
crypto_service.go release(v0.902): Sentinel - PKCE OAuth, token encryption, redirect validation, CHAT_JWT_SECRET 2026-02-26 19:49:15 +01:00
crypto_service_test.go release(v0.902): Sentinel - PKCE OAuth, token encryption, redirect validation, CHAT_JWT_SECRET 2026-02-26 19:49:15 +01:00
data_export_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
data_export_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
email_service.go refactor(backend,infra): unify SMTP env schema on canonical SMTP_* names 2026-04-16 20:44:09 +02:00
email_service_password_reset_test.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
email_service_test.go fix(tests): fix 2 skipped tests, add clear skip reasons to 11 others 2026-02-22 17:53:00 +01:00
email_verification_service.go stabilisation commit A 2026-01-07 19:39:21 +01:00
email_verification_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
errors.go feat(v0.10.3): Commentaires & Interactions Sociales - F201-F215 2026-03-09 10:30:47 +01:00
ethical_search_test.go feat(v0.12.9): ethical bias tests, discovery algorithm docs, CI coverage gates 2026-03-12 08:19:41 +01:00
feature_flag_service.go feat(admin): feature flags CRUD with DB persistence 2026-02-25 19:56:24 +01:00
fulltext_search_service.go v0.9.4 2026-03-05 23:03:43 +01:00
fulltext_search_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
gdpr_export.go feat(gdpr): v0.10.8 portabilité données - export ZIP async, suppression compte, hard delete cron 2026-03-10 13:57:04 +01:00
gear_document_service.go feat(v0.802): frontend Cloud/Gear, MSW, docs, scope v0.803, archive 2026-02-25 14:00:58 +01:00
gear_service.go feat(v0.501): Sprint 4 -- Cloud frontend + Gear advanced 2026-02-22 18:30:49 +01:00
gear_warranty_notifier.go v0.9.4 2026-03-05 23:03:43 +01:00
gear_warranty_notifier_test.go feat(v0.923): API contract tests, OpenAPI generation, CI type sync check 2026-02-27 20:23:10 +01:00
geoip_service.go chore(cleanup): J5 — defer GeoIP, rename v2-v3-types, document Storybook kill 2026-04-15 12:43:57 +02:00
geoip_service_test.go feat(v0.13.3): complete - Polish Sécurité Avancée 2026-03-13 10:09:01 +01: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 v0.9.4 2026-03-05 23:03:43 +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_streaming_service_enhanced.go v0.9.4 2026-03-05 23:03:43 +01:00
hls_streaming_service_enhanced_test.go v0.9.4 2026-03-05 23:03:43 +01:00
hls_transcode_service.go feat(transcode): read from S3 signed URL when track is s3-backed (v1.0.8 P2) 2026-04-23 23:34:51 +02:00
hls_transcode_service_test.go feat(transcode): read from S3 signed URL when track is s3-backed (v1.0.8 P2) 2026-04-23 23:34:51 +02:00
image_service.go v0.9.4 2026-03-05 23:03:43 +01:00
image_service_enhanced.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
image_service_enhanced_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
image_service_test.go fix(tests): fix 2 skipped tests, add clear skip reasons to 11 others 2026-02-22 17:53:00 +01:00
interfaces.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
job_service.go fix(backend): remediation plan — tests, playback_analytics, job queue, gamification 2026-02-17 16:01:45 +01:00
job_service_test.go fix(backend): remediation plan — tests, playback_analytics, job queue, gamification 2026-02-17 16:01:45 +01:00
jwt_service.go feat(v0.12.6.2): enforce MFA for admin/moderator + align refresh token TTL to 7 days 2026-03-12 06:53:27 +01:00
jwt_service_test.go v0.9.1 2026-03-05 19:22:31 +01:00
kyc_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
kyc_service_test.go feat(v0.13.5): polish marketplace & compliance — KYC, support, payout E2E 2026-03-13 14:57:19 +01:00
live_stream_service.go feat(v0.10.6): Livestreaming basique F471-F476 2026-03-10 10:21:57 +01:00
live_stream_service_test.go feat(v0.703): Go Live & Streaming Complet 2026-02-25 09:35:22 +01:00
login_history_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
metadata_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
metadata_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
moderation_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
moderation_service_test.go feat(v0.11.2): F411-F420 moderation service with queue, spam, fingerprints, strikes 2026-03-10 17:45:34 +01:00
monitoring_alerting_service.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
monitoring_alerting_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
notification_digest_worker.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
notification_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
notification_service_enhanced.go v0.9.4 2026-03-05 23:03:43 +01:00
notification_service_enhanced_test.go v0.9.4 2026-03-05 23:03:43 +01:00
notification_service_test.go feat(v0.10.5): Notifications complètes — F551-F555 2026-03-10 10:02:21 +01:00
oauth_service.go fix(v0.12.6.1): remediate 2 CRITICAL + 10 HIGH + 1 MEDIUM pentest findings 2026-03-12 05:40:53 +01:00
oauth_service_test.go v0.9.1 2026-03-05 19:22:31 +01:00
password_expiration_test.go feat(v0.13.3): complete - Polish Sécurité Avancée 2026-03-13 10:09:01 +01:00
password_history_service.go feat(v0.13.0): conformité features partielles — CAPTCHA, password history, login history, SMS 2FA 2026-03-12 09:31:50 +01:00
password_history_service_test.go feat(v0.13.0): conformité features partielles — CAPTCHA, password history, login history, SMS 2FA 2026-03-12 09:31:50 +01:00
password_reset_service.go v0.9.4 2026-03-05 23:03:43 +01:00
password_reset_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
password_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
password_service_integration_test.go fix(release): v1.0.2 — Conformité complète V1_SIGNOFF (21 critères) 2026-03-03 21:18:53 +01:00
password_service_test.go Phase 2 stabilisation: code mort, Modal→Dialog, feature flags, tests, router split, Rust legacy 2026-02-14 17:23:32 +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_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 fix(v0.12.6.1): remediate remaining 15 MEDIUM + LOW pentest findings 2026-03-12 06:13:38 +01:00
playback_analytics_service_test.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
playback_comparison_service.go v0.9.4 2026-03-05 23:03:43 +01:00
playback_comparison_service_test.go v0.9.4 2026-03-05 23:03:43 +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 v0.9.4 2026-03-05 23:03:43 +01:00
playback_filter_service.go v0.9.4 2026-03-05 23:03:43 +01:00
playback_filter_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
playback_heatmap_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
playback_heatmap_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
playback_retention_policy_service.go v0.9.4 2026-03-05 23:03:43 +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 v0.9.4 2026-03-05 23:03:43 +01:00
playback_segmentation_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_analytics_service.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_analytics_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_duplicate_service.go [T0-006] test(backend): Ajout tests pour frontend_log_handler 2026-01-04 01:44:22 +01:00
playlist_follow_service.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_follow_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_notification_service.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_recommendation_service.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
playlist_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
playlist_service_search_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05:00
playlist_service_test.go chore(v0.102): consolidate remaining changes — docs, frontend, backend 2026-02-20 13:02:12 +01:00
playlist_share_service.go v0.9.4 2026-03-05 23:03:43 +01:00
playlist_version_service.go chore: consolidate CI, E2E, backend and frontend updates 2026-02-17 16:43:21 +01:00
presence_service.go feat: backend — config, handlers, services, logging, migration 2026-03-23 15:46:57 +01:00
push_service.go feat(notifications): N1.1-N1.3 Web Push subscription, send on events, preferences 2026-02-21 16:41:39 +01:00
query_parser.go v0.9.4 2026-03-05 23:03:43 +01:00
queue_service.go v0.9.4 2026-03-05 23:03:43 +01:00
queue_session_service.go v0.9.4 2026-03-05 23:03:43 +01:00
rbac_service.go v0.9.4 2026-03-05 23:03:43 +01:00
refresh_lock.go v0.9.4 2026-03-05 23:03:43 +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 v0.9.4 2026-03-05 23:03:43 +01:00
report_service.go v0.9.4 2026-03-05 23:03:43 +01:00
role_service.go v0.9.4 2026-03-05 23:03:43 +01:00
role_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
room_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
room_service_test.go [T0-006] test(backend): Ajout tests pour frontend_log_handler 2026-01-04 01:44:22 +01:00
royalty_service.go adding initial backend API (Go) 2025-12-03 20:29:37 +01:00
s3_storage_service.go feat(s3): add UploadStream + GetSignedURL with explicit TTL (v1.0.8 P1 prep) 2026-04-23 20:49:19 +02:00
s3_storage_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00
search_service.go v0.9.4 2026-03-05 23:03:43 +01:00
session_service.go feat(auth): enrich sessions page with history and revoke (A4) 2026-02-20 14:52:20 +01:00
session_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
sms_2fa_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
social_service.go feat: backend — config, handlers, services, logging, migration 2026-03-23 15:46:57 +01:00
social_service_test.go v0.9.8 2026-03-06 19:13:16 +01:00
stream_service.go v0.9.4 2026-03-05 23:03:43 +01: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
stripe_connect_service.go feat(marketplace): stripe reversal error disambiguation + CHECK constraint + E2E — v1.0.7 item B day 3 2026-04-18 02:12:03 +02:00
stripe_connect_service_test.go feat(marketplace): stripe reversal error disambiguation + CHECK constraint + E2E — v1.0.7 item B day 3 2026-04-18 02:12:03 +02:00
tag_suggest_service.go feat(upload): tags auto-suggest endpoint and additional audio formats 2026-02-25 13:39:59 +01:00
tag_suggest_service_test.go feat(v0.923): API contract tests, OpenAPI generation, CI type sync check 2026-02-27 20:23:10 +01: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 feat(track): native S3 multipart for chunked uploads (v1.0.9 item 1.5) 2026-04-26 23:12:56 +02:00
track_chunk_service_resume_test.go chore: consolidate CI, E2E, backend and frontend updates 2026-02-17 16:43:21 +01:00
track_chunk_service_stream_test.go feat(track): native S3 multipart for chunked uploads (v1.0.9 item 1.5) 2026-04-26 23:12:56 +02:00
track_download_license.go fix(security): verify track access before download (A04) 2026-02-16 10:23:41 +01:00
track_export_service.go v0.9.4 2026-03-05 23:03:43 +01:00
track_history_service.go v0.9.4 2026-03-05 23:03:43 +01:00
track_history_service_test.go v0.9.4 2026-03-05 23:03:43 +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 v0.9.4 2026-03-05 23:03:43 +01:00
track_recommendation_service.go v0.9.4 2026-03-05 23:03:43 +01:00
track_recommendation_service_test.go v0.9.4 2026-03-05 23:03:43 +01:00
track_repost_service.go feat(v0.10.3): Commentaires & Interactions Sociales - F201-F215 2026-03-09 10:30:47 +01:00
track_search_service.go v0.9.4 2026-03-05 23:03:43 +01:00
track_search_service_test.go release(v0.903): Vault - ORDER BY whitelist, rate limiter, VERSION sync, chat-server cleanup, Go 1.24 2026-02-27 09:43:25 +01: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 v0.9.4 2026-03-05 23:03:43 +01:00
track_stem_service.go feat(v0.10.7): Collaboration Temps Réel F481-F483 2026-03-10 13:34:16 +01: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 fix(security): add ownership check to GetUploadStatus handler (IDOR fix) 2026-02-22 17:30:30 +01:00
track_upload_service_test.go v0.9.4 2026-03-05 23:03:43 +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 v0.9.4 2026-03-05 23:03:43 +01:00
two_factor_service.go fix(v0.12.6.1): remediate 2 CRITICAL + 10 HIGH + 1 MEDIUM pentest findings 2026-03-12 05:40:53 +01:00
upload_store.go refonte: backend-api go first; phase 1 2025-12-12 21:34:34 -05:00
upload_validator.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
upload_validator_integration_test.go chore: add go.work and optional monorepo orchestrator 2026-02-14 18:21:39 +01:00
upload_validator_test.go v0.9.2 2026-03-05 19:27:34 +01:00
user_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
user_service_search.go fix(tests): parse RespondSuccess envelope in GetUploadStats test 2026-02-19 14:04:47 +01:00
user_service_test.go fix(v0.12.6.1): remediate 2 CRITICAL + 10 HIGH + 1 MEDIUM pentest findings 2026-03-12 05:40:53 +01:00
video_transcode_service.go feat(v0.12.3): F276-F305 video upload, HLS transcoding, education tests 2026-03-11 19:20:48 +01:00
video_transcode_service_test.go feat(v0.12.3): F276-F305 video upload, HLS transcoding, education tests 2026-03-11 19:20:48 +01:00
waveform_service.go feat(security): v0.901 Ironclad - fix 5 critical/high vulnerabilities 2026-02-26 19:34:45 +01:00
waveform_service_test.go feat(security): v0.901 Ironclad - fix 5 critical/high vulnerabilities 2026-02-26 19:34:45 +01:00
webauthn_service.go style(backend): gofmt -w on 85 files (whitespace only) 2026-04-14 12:22:14 +02:00
webauthn_service_test.go feat(v0.13.3): complete - Polish Sécurité Avancée 2026-03-13 10:09:01 +01:00
webhook_service.go security(webhooks): extract SSRF validation to internal/validators/url_validator 2026-02-14 18:24:39 +01:00
webhook_service_test.go incus deployement fully implemented, Makefile updated and make fmt ran 2026-01-13 19:47:57 +01:00