veza/veza-backend-api/internal/services
senke 3cd82ba5be fix(hyperswitch): idempotency-key on create-payment and create-refund — v1.0.7 item D
Every outbound POST /payments and POST /refunds from the Hyperswitch
client now carries an Idempotency-Key HTTP header. Key values are
explicit parameters at every call site — no context-carrier magic,
no auto-generation. An empty key is a loud error from the client
(not silent header omission) so a future new call site that forgets
to supply one fails immediately, not months later under an obscure
replay scenario.

Key choices, both stable across HTTP retries of the same logical
call:
  * CreatePayment → order.ID.String() (GORM BeforeCreate populates
    order.ID before the PSP call in ConfirmOrder).
  * CreateRefund → pendingRefund.ID.String() (populated by the
    Phase 1 tx.Create in RefundOrder, available for the Phase 2 PSP
    call).

Scope note (reproduced here for the next reader who grep-s the
commit log for "Idempotency-Key"):

  Idempotency-Key covers HTTP-transport retry (TLS reconnect,
  proxy retry, DNS flap) within a single CreatePayment /
  CreateRefund invocation. It does NOT cover application-level
  replay (user double-click, form double-submit, retry after crash
  before DB write). That class of bug requires state-machine
  preconditions on VEZA side — already addressed by the order
  state machine + the handler-level guards on POST
  /api/v1/payments (for payments) and the partial UNIQUE on
  `refunds.hyperswitch_refund_id` landed in v1.0.6.1 (for refunds).

  Hyperswitch TTL on Idempotency-Key: typically 24h-7d server-side
  (verify against current PSP docs). Beyond TTL, a retry with the
  same key is treated as a new request. Not a concern at current
  volumes; document if retry logic ever extends beyond 1 hour.

Explicitly out of scope: item D does NOT add application-level
retry logic. The current "try once, fail loudly" behavior on PSP
errors is preserved. Adding retries is a separate design exercise
(backoff, max attempts, circuit breaker) not part of this commit.

Interfaces changed:
  * hyperswitch.Client.CreatePayment(ctx, idempotencyKey, ...)
  * hyperswitch.Client.CreatePaymentSimple(...) convenience wrapper
  * hyperswitch.Client.CreateRefund(ctx, idempotencyKey, ...)
  * hyperswitch.Provider.CreatePayment threads through
  * hyperswitch.Provider.CreateRefund threads through
  * marketplace.PaymentProvider interface — first param after ctx
  * marketplace.refundProvider interface — first param after ctx

Removed:
  * hyperswitch.Provider.Refund (zero callers, superseded by
    CreateRefund which returns (refund_id, status, err) and is the
    only method marketplace's refundProvider cares about).

Tests:
  * Two new httptest.Server-backed tests (client_test.go) pin the
    Idempotency-Key header value for CreatePayment and CreateRefund.
  * Two new empty-key tests confirm the client errors rather than
    silently sending no header.
  * TestRefundOrder_OpensPendingRefund gains an assertion that
    f.provider.lastIdempotencyKey == refund.ID.String() — if a
    future refactor threads the key from somewhere else (paymentID,
    uuid.New() per call, etc.) the test fails loudly.
  * Four pre-existing test mocks updated for the new signature
    (mockRefundPaymentProvider in marketplace, mockPaymentProvider
    in tests/integration and tests/contract, mockRefundPayment
    Provider in tests/integration/refund_flow).

Subscription's CreateSubscriptionPayment interface declares its own
shape and has no live Hyperswitch-backed implementation today —
v1.0.6.2 noted this as the payment-gate bypass surface, v1.0.7
item G will ship the real provider. When that lands, item G's
implementation threads the idempotency key through in the same
pattern (documented in v107-plan.md item G acceptance).

CHANGELOG v1.0.7-rc1 entry updated with the full item D scope note
and the "out of scope: retries" caveat.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 02:30:02 +02:00
..
hyperswitch fix(hyperswitch): idempotency-key on create-payment and create-refund — v1.0.7 item D 2026-04-18 02:30:02 +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 fix(security): validate exec.Command paths in Go services 2026-02-11 21:32:38 +01:00
hls_transcode_service_test.go stabilizing veza-backend-api: phase 1 2025-12-16 11:23:49 -05: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(v0.501): Sprint 2 -- HLS production-ready 2026-02-22 18:16:37 +01: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 chore: consolidate CI, E2E, backend and frontend updates 2026-02-17 16:43:21 +01:00
track_chunk_service_resume_test.go chore: consolidate CI, E2E, backend and frontend updates 2026-02-17 16:43:21 +01: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