From 2e98f5ddf5f3aaecabde17db6108869c18f86859 Mon Sep 17 00:00:00 2001 From: MechaCat02 Date: Sat, 16 May 2026 14:32:05 +0200 Subject: [PATCH] backend(features): quota enforcement, PIN reset, /me, original download, toggles MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - handlers/me.rs (new): GET /api/v1/me/context (profile + role + privacy_note + quota toggle state, fetched once on app bootstrap) and GET /api/v1/me/quota (live used / limit / active uploaders / free disk). - handlers/upload.rs: - quota enforcement via the dynamic formula floor((free_disk * tolerance) / max(active_uploaders, 1)), gated by quota_enabled + storage_quota_enabled toggles - new GET /api/v1/upload/{id}/original — unauthed by design (matches /media/previews/* — URL is the secret) so it works as /