153 Commits
Author SHA1 Message Date
mr-pmillzandClaude Opus 5.5 4cb620f46b Fix Integration API organization delete (regression of #1376)
DELETE /v1/org/{orgId} on the Integration API always returned
500 "An error occurred..." and left the organization in place, even for a
root API key holding the deleteOrg action. The handler looked up the
caller's ownership with req.user!.userId, but Integration API requests are
authenticated by verifyApiKey, which sets req.apiKey and never req.user,
so the lookup threw "Cannot read properties of undefined (reading
'userId')".

#1376 was fixed in f37eda47 by dropping the user-only permission check;
79cf7c84 later added the owner check to the handler shared by both
routers, reintroducing the failure for API keys.

Keep the owner check for dashboard sessions. For Integration API keys the
route is already restricted by verifyApiKeyIsRoot and
verifyApiKeyHasAction(deleteOrg), so load the organization directly. Both
paths still refuse a billing organization and return the same 404 for an
unknown organization.

Verified against a local SQLite instance with a root key: before the
change, create returned 201 and delete returned 500 with the organization
still present; after it, delete returns 200 and a repeated delete or GET
returns 404. npx tsc --noEmit passes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 11:09:18 -04:00
Owen 750f267451 Try to link email to org when creating for first time 2026-09-21 16:25:58 -04:00
Fred KISSIE 8b20a88838 ✨ delete org 2026-09-14 16:48:08 -04:00
Fred KISSIE 1d6d885f30 ♻️ Only show the username instead of the name+username 2026-09-14 16:48:08 -04:00
Fred KISSIE fef1476f67 ✨ List of orgs, with all columns 2026-09-14 16:48:08 -04:00
Fred KISSIE e371f26d73 ✨ List orgs in server 2026-09-14 16:48:08 -04:00
miloschwartz 9a5824900d strip encrypted ssh key from org response 2026-08-26 09:39:05 -04:00
Owen c1caa30cb9 Move session logs to private 2026-08-19 17:25:32 -04:00
Owen a74b0934fc Allow changing the allow ssh and update shcmea 2026-08-17 14:12:39 -04:00
Owen 48c4b44f72 log chat sessions to database 2026-08-11 12:19:28 -04:00
Owen d60c15b0ae Fix typo 2026-06-29 15:24:16 -04:00
Owen ff89a64453 Rename to limit id 2026-06-29 15:22:35 -04:00
Owen a9b7cce49b Improve efficiency of calculateUserClientsForOrgs 2026-06-23 17:14:40 -04:00
Owen f48a4f7bc0 Enforce strick query params
Fixes #3313
2026-06-23 12:22:47 -04:00
Owen c85a7f6ac5 Migrate unkown openapi response from string to {} 2026-06-09 15:35:08 -07:00
Owen c1d933259a Fix some ui form issues 2026-05-31 11:57:01 -07:00
Owen 0f2132e565 Merge branch 'main' into dev 2026-05-31 11:12:30 -07:00
Owen 6d4afd0953 Control updates from the ui 2026-05-21 15:43:31 -07:00
copilot-swe-agent[bot]andoschwartz10612 f3bee70c23 Reformat generated OpenAPI response schemas for readability
Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/7b395a8e-7fae-4f4d-952e-4030fea08262

Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2026-05-17 21:28:39 +00:00
copilot-swe-agent[bot]andoschwartz10612 15a9eb28d9 Add concrete OpenAPI data schemas for selected routes
Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/7b395a8e-7fae-4f4d-952e-4030fea08262

Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2026-05-17 21:25:53 +00:00
copilot-swe-agent[bot]andoschwartz10612 a0a093ed0b Document all registerPath responses and normalize OpenAPI parser schemas
Agent-Logs-Url: https://github.com/fosrl/pangolin/sessions/73990123-9c27-444b-bc6e-77e890a0d57c

Co-authored-by: oschwartz10612 <4999704+oschwartz10612@users.noreply.github.com>
2026-05-17 06:43:10 +00:00
Owen 55989c2019 Add trial system 2026-04-18 13:40:50 -07:00
Owen e0c96e7224 Configure connection log retention time 2026-03-30 11:31:46 -07:00
miloschwartz 0fecbe704b Merge branch 'dev' into multi-role 2026-03-24 22:01:13 -07:00
Owen Schwartz 4843268537 Merge pull request #2552 from huzky-v/feat-add-bandwidth-reset-api
feat: Adding an organization sites bandwidth reset API
2026-03-18 16:17:43 -07:00
Jacky Fong 5c4de03588 add reset bandwidth api for site
Change endpoint

update to reset all site in the organization

move the logic to organization

move the permission to organization
2026-02-28 15:47:03 +08:00
Owen 75f34ff127 Stub cache 2026-02-25 16:17:06 -08:00
Owen 52937a6d90 Make sshCA GA 2026-02-25 16:04:47 -08:00
Owen f50d1549b0 Update cache to use redis 2026-02-24 19:50:42 -08:00
miloschwartz 20e547a0f6 first pass 2026-02-24 17:58:11 -08:00
miloschwartz 3f2bdf081f allow edit admin role ssh and support null authDaemonMode 2026-02-20 20:25:14 -08:00
miloschwartz d6ba34aeea set auth daemon type on resource 2026-02-20 17:33:21 -08:00
miloschwartz d4bff9d5cb clean orgId and fix primary badge 2026-02-17 20:35:36 -08:00
Owen 6661a76aa8 Update member resources page and testing new org counts 2026-02-17 20:01:43 -08:00
Owen 4d6240c987 Handle new usage tracking with multi org 2026-02-17 17:10:05 -08:00
miloschwartz 79cf7c84dc support delete org and preserve path on switch 2026-02-17 16:45:15 -08:00
miloschwartz b8c3cc751a support creating multiple orgs in saas 2026-02-17 14:37:46 -08:00
Owen 9cf59c409e Initial sign endpoint working 2026-02-16 15:19:29 -08:00
miloschwartz 33f0782f3a support delete account 2026-02-14 18:01:37 -08:00
Owen a26076e9db Add final prices and fix logs 2026-02-11 10:06:56 -08:00
Owen df1bf09163 Add pricing matrix 2026-02-11 10:06:55 -08:00
Owen 569dc735ce Rename tiers and get working 2026-02-11 10:06:54 -08:00
Owen 4139a7b73f Basic billing page is working 2026-02-11 10:06:03 -08:00
Owen be60d66ce3 Switch to the new tier system and clean up checks 2026-02-11 10:06:03 -08:00
miloschwartz 068b2a0dcd clean up paid features check 2026-01-22 11:16:27 -08:00
Owen ce632a25cf Consolidate the messages into the same enum 2026-01-17 11:41:10 -08:00
Owen 9114dd5992 Send terminate error messages 2026-01-16 14:57:54 -08:00
Owen 5c67a1cb12 Format 2025-12-22 16:28:41 -05:00
Owen d8344988c0 Restrict license 2025-12-20 16:35:16 -05:00
Owen fea4d43920 Make utility subnet configurable 2025-12-19 14:45:00 -05:00