- Ya
- 14 Agosti 2026, 23:01 UTC
- Mwandishi
- Kamo
- Ahadi ya
- 51a7a8f
GET returns all three layers in one round trip plus what the caller may edit — every settings page needs the whole stack, because an org administrator editing their layer has to see the platform's to know what "inherited" means. The reads are gated on authentication and nothing more. Every signed-in member needs the platform and org layers to know what to play, and a 403 there would mean silence rather than a visible failure. Writes: platform is top-level-org owners, org is CONFIGURE_SYSTEM, member is the caller for themselves. The org id comes from the session and never from a path segment — an org id a client can name is an org id a client can change. There is deliberately no path to write another member's sounds; an administrator choosing what someone's laptop chimes at is the org layer's job, and that layer exists. A reset soft-deletes, so the row keeps occupying UK_EVENT_SOUND_SCOPE. Writers resolve by natural key regardless of active state and revive the dead row rather than inserting a second one into the constraint.