..
config
feat(api): agency-token security primitive - off-ladder scope + agencyGate ( #73 )
2026-06-13 21:30:38 -05:00
db
feat(api): agency-token security primitive - off-ladder scope + agencyGate ( #73 )
2026-06-13 21:30:38 -05:00
lib
feat(api): GET /api/agency/playlists - a token's designated targets ( #73 )
2026-06-14 13:08:07 -05:00
middleware
feat(api): agency portal endpoints + router.param target seam ( #73 )
2026-06-13 22:48:42 -05:00
player
feat(scheduling): per-item schedule blocks ( #74 dayparting, #75 auto-expire)
2026-06-11 15:46:41 -05:00
routes
refactor(playlists): extract publishPlaylist() shared fn ( #73 )
2026-06-14 13:48:17 -05:00
scripts
feat(scheduling): per-item schedule blocks ( #74 dayparting, #75 auto-expire)
2026-06-11 15:46:41 -05:00
services
feat(scheduling): per-item schedule blocks ( #74 dayparting, #75 auto-expire)
2026-06-11 15:46:41 -05:00
test
feat(api): GET /api/agency/playlists - a token's designated targets ( #73 )
2026-06-14 13:08:07 -05:00
ws
feat(scheduling): per-item schedule blocks ( #74 dayparting, #75 auto-expire)
2026-06-11 15:46:41 -05:00
.gitignore
feat(email): Microsoft Graph send + alert spam protection + preferences UI
2026-05-12 18:16:40 -05:00
config.js
chore(version): single-source VERSION, env-configurable data paths, bump tooling
2026-06-10 12:56:03 -05:00
package-lock.json
chore(server): TOTP schema + otplib dep ( #100 )
2026-06-13 20:48:55 -05:00
package.json
chore(server): TOTP schema + otplib dep ( #100 )
2026-06-13 20:48:55 -05:00
server.js
feat(ui): standalone agency upload portal ( #73 )
2026-06-14 13:08:07 -05:00
version.js
chore(version): single-source VERSION, env-configurable data paths, bump tooling
2026-06-10 12:56:03 -05:00