mirror of
https://github.com/screentinker/screentinker.git
synced 2026-06-17 03:32:32 -06:00
So the agency can size/place content: returns the canvas size + zone positions/sizes for the layouts its designated playlists feed, marking which zones are theirs. DEVICE-FREE BY CONSTRUCTION - the query path is playlist_items.zone_id -> layout_zones -> layouts and never touches devices/groups/schedules, so device names/locations/IPs/topology are structurally absent, not filtered. Geometry only - no sibling-zone content. layout.name included (admin's canvas name); thumbnail_data omitted (could render other zones' content). Confinement query in lib/agency-layouts.js, bite-tested: own layout YES, a non-designated playlist's layout NO, response has NO device fields (asserted on a db where a location-named device exists), and neutralizing the t.token_id filter goes red. 142 suite green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| admin-users.test.js | ||
| agency-gate.test.js | ||
| agency-layouts.test.js | ||
| agency-list.test.js | ||
| agency-scope.test.js | ||
| agency.test.js | ||
| ai-design.test.js | ||
| api.test.js | ||
| apitoken-unit.test.js | ||
| branding.test.js | ||
| config-paths.test.js | ||
| i18n-tokens.test.js | ||
| openapi-contract.test.js | ||
| operator-permissions.test.js | ||
| pair-lockout.test.js | ||
| provisioning.test.js | ||
| schedule-eval.test.js | ||
| schema-check.test.js | ||
| security-fixes.test.js | ||
| tenant-cascade-migration.test.js | ||
| tizen-eval-drift.test.js | ||
| totp-keyrotation.test.js | ||
| totp-unit.test.js | ||
| totp.test.js | ||
| user-deletion.test.js | ||
| widget-render-xss.test.js | ||