Commit Graph

24 Commits

Author SHA1 Message Date
b6ef6a195c Replace shared device-code token with per-user Zoho sign-in
Each user now signs in with their own Zoho account through the web
OAuth flow (Server-based Application client), and every SDP query runs
with that user's token. Nobody who reaches the page can see data
without signing in.

- auth.js: authorization URL, code exchange, token renewal, revoke and
  user info, replacing the device-code flow.
- session.js: tokens kept in an AES-256-GCM encrypted, HttpOnly,
  SameSite=Lax cookie keyed by SESSION_SECRET. The access token renews
  when due, concurrent calls share one renewal, and sessions end after
  SESSION_DAYS.
- routes.js: /auth/login, /auth/callback (state checked), /auth/logout
  (revokes at Zoho); /api/session, /api/closed, /api/workload and
  /api/weather all need a sign-in.
- The server is stateless. boardService.js, tokenStore.js, ADMIN_KEY
  and data/token.json are gone. The page runs the checks itself and
  keeps the closed feed, backfilling 12 hours on first load.
- tickets.js: the closed feed query pages, and SDP 401s are rethrown
  so the user is signed out.
- server.js: PUBLIC_URL, trust proxy, security headers, /healthz.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 19:38:08 -04:00
3e79a24efd . 2026-10-15 19:07:07 -04:00
1e3f8dc1ad . 2026-10-15 16:53:51 -04:00
c75b5889cf Update credits and licensing 2026-10-15 15:38:59 -04:00
8c7b5fbd26 Slopify This Thang 2026-10-15 15:23:05 -04:00
3e592f9a0d Run a proper initialization of the package 2026-10-15 13:20:54 -04:00
e1bbee36d8 Changing footer 2026-07-27 19:09:30 +00:00
d8253631f1 Merge pull request 'dev' (#2) from dev into main
Reviewed-on: #2
2026-07-27 18:37:37 +00:00
Isaac
07866bdcd2 forgot to add the readme and images just a little stupid don't mind me 2026-07-27 14:36:27 -04:00
Isaac
9ecfce525c forgot to add the readme and images just a little stupid don't mind me 2026-07-27 14:35:52 -04:00
Isaac
bccee24f19 Updated the readme to give more detailed setup and added a few comments to the server.js to describe the editable values. 2026-07-27 14:34:27 -04:00
Isaac
14bc03be93 Used AI to seperate the files a bit more. And fixed the bugs that were caused by it. 2026-07-27 13:58:13 -04:00
Isaac
d3f3387183 Separated server.js to make a modular setup should be a bit nicer now. Also fixed the weird bug where when clicking connect it would open a second tab instead of just opening zoho. 2026-07-27 13:36:08 -04:00
6a5bfce930 Merge pull request 'Ai-Slop' (#1) from Ai-Slop into dev
Reviewed-on: #1
2026-07-27 17:14:38 +00:00
Isaac
d15838d970 UI and a few server.js changes 2026-07-27 13:13:43 -04:00
Isaac
716a8d2a27 Added a footer no other changes. 2026-07-24 15:13:27 -04:00
Isaac
a6796b343c Refixed the resolved tickets not showing after claude killed it. And added a sound whenever new tickets appear. It is in the script section of the html page not in the JS script as it would not work there. 2026-07-24 14:58:30 -04:00
Isaac
7a59fd0cd4 Gave claude my back end and it came up with this front end 2026-07-24 14:33:41 -04:00
Isaac
9cf1c6ac37 Reads all statuses and users now also updated the repo to contain a simple setup guide and an example .env 2026-07-24 14:06:52 -04:00
7fd07c322b New Ticket System will need to decide if its better or worse than old one before pushing to main 2026-01-15 09:44:36 -05:00
02c07d1add Implemented ListInfoBuilder a bit more. Not working. 2026-01-07 15:12:26 -05:00
375c25110a Working on adding in other classes. Not working or tested. 2026-01-06 15:56:02 -05:00
9da88bddf4 Auth functions, need to add request functionality 2026-01-06 13:36:28 -05:00
2bace65e37 Initial commit 2026-01-06 15:23:48 +00:00