[PR #2121] [MERGED] feat: device approvals #5756

Closed
opened 2026-04-23 02:46:30 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/fosrl/pangolin/pull/2121
Author: @Fredkiss3
Created: 12/18/2025
Status: Merged
Merged: 1/16/2026
Merged by: @miloschwartz

Base: devHead: feat/device-approvals


📝 Commits (10+)

  • a5775a0 🗃️ create approvals table
  • 009b86c Merge branch 'dev' into feat/device-approvals
  • e983e11 🚧 wip: approval tables in DB
  • 0f2b943 Merge branch 'dev' into feat/device-approvals
  • 1f80845 🗃️ move approval state to client directly where it makes more sense
  • cb21cab 🚧 add device approval in the roles page
  • bbca200 🙈 do not include claude.md in gitignore
  • abfe476 🚧 wip
  • 39bebea create & update role with device approval
  • 3ab25f5 ♻️ refactor

📊 Changes

39 files changed (+1545 additions, -280 deletions)

View changed files

📝 .gitignore (+2 -1)
📝 messages/en-US.json (+31 -1)
📝 server/auth/actions.ts (+3 -1)
📝 server/db/pg/schema/privateSchema.ts (+36 -1)
📝 server/db/pg/schema/schema.ts (+6 -2)
📝 server/db/sqlite/schema/privateSchema.ts (+26 -1)
📝 server/db/sqlite/schema/schema.ts (+11 -3)
📝 server/lib/calculateUserClientsForOrgs.ts (+48 -18)
server/private/routers/approvals/index.ts (+15 -0)
server/private/routers/approvals/listApprovals.ts (+188 -0)
server/private/routers/approvals/processPendingApproval.ts (+142 -0)
📝 server/private/routers/external.ts (+19 -0)
📝 server/private/routers/loginPage/getLoginPageBranding.ts (+3 -5)
📝 server/routers/client/blockClient.ts (+1 -1)
📝 server/routers/client/listClients.ts (+1 -0)
📝 server/routers/client/unblockClient.ts (+1 -1)
📝 server/routers/external.ts (+8 -0)
📝 server/routers/integration.ts (+8 -0)
📝 server/routers/role/createRole.ts (+9 -1)
📝 server/routers/role/listRoles.ts (+8 -9)

...and 19 more files

📄 Description

Community Contribution License Agreement

By creating this pull request, I grant the project maintainers an unlimited,
perpetual license to use, modify, and redistribute these contributions under any terms they
choose, including both the AGPLv3 and the Fossorial Commercial license terms. I
represent that I have the right to grant this license for all contributed content.

Summary

Main changes:

  • Approvals for user added devices, only for roles which require approvals.

Demo

https://github.com/user-attachments/assets/e8776a0a-c98b-418d-a81f-176df428f9d5


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/fosrl/pangolin/pull/2121 **Author:** [@Fredkiss3](https://github.com/Fredkiss3) **Created:** 12/18/2025 **Status:** ✅ Merged **Merged:** 1/16/2026 **Merged by:** [@miloschwartz](https://github.com/miloschwartz) **Base:** `dev` ← **Head:** `feat/device-approvals` --- ### 📝 Commits (10+) - [`a5775a0`](https://github.com/fosrl/pangolin/commit/a5775a0f4ffa486d8a1262987da7d941ee8e1e80) 🗃️ create `approvals` table - [`009b86c`](https://github.com/fosrl/pangolin/commit/009b86c33b95f2316cf24fb14073cca4a08448ff) Merge branch 'dev' into feat/device-approvals - [`e983e11`](https://github.com/fosrl/pangolin/commit/e983e1166afc5da7e992dce22a3aea0d28206ce5) 🚧 wip: approval tables in DB - [`0f2b943`](https://github.com/fosrl/pangolin/commit/0f2b94307f5351aa72cd797197cbb88c579700fb) Merge branch 'dev' into feat/device-approvals - [`1f80845`](https://github.com/fosrl/pangolin/commit/1f80845a7a2f0a87c015be64a50a311671a15ba9) 🗃️ move approval state to client directly where it makes more sense - [`cb21cab`](https://github.com/fosrl/pangolin/commit/cb21cab117c2272931285f8b71a49143676851b1) 🚧 add device approval in the roles page - [`bbca200`](https://github.com/fosrl/pangolin/commit/bbca200ceb0003113b1e2b52f1917745615cefa9) 🙈 do not include claude.md in gitignore - [`abfe476`](https://github.com/fosrl/pangolin/commit/abfe476cb9f7710f41d0a6be139d6b0a03590d0e) 🚧 wip - [`39bebea`](https://github.com/fosrl/pangolin/commit/39bebea5f77e01f5a7e3d2af2b0d7f9aa014a71c) ✨ create & update role with device approval - [`3ab25f5`](https://github.com/fosrl/pangolin/commit/3ab25f5ff15338fe96a84dae7cc66722366364d0) ♻️ refactor ### 📊 Changes **39 files changed** (+1545 additions, -280 deletions) <details> <summary>View changed files</summary> 📝 `.gitignore` (+2 -1) 📝 `messages/en-US.json` (+31 -1) 📝 `server/auth/actions.ts` (+3 -1) 📝 `server/db/pg/schema/privateSchema.ts` (+36 -1) 📝 `server/db/pg/schema/schema.ts` (+6 -2) 📝 `server/db/sqlite/schema/privateSchema.ts` (+26 -1) 📝 `server/db/sqlite/schema/schema.ts` (+11 -3) 📝 `server/lib/calculateUserClientsForOrgs.ts` (+48 -18) ➕ `server/private/routers/approvals/index.ts` (+15 -0) ➕ `server/private/routers/approvals/listApprovals.ts` (+188 -0) ➕ `server/private/routers/approvals/processPendingApproval.ts` (+142 -0) 📝 `server/private/routers/external.ts` (+19 -0) 📝 `server/private/routers/loginPage/getLoginPageBranding.ts` (+3 -5) 📝 `server/routers/client/blockClient.ts` (+1 -1) 📝 `server/routers/client/listClients.ts` (+1 -0) 📝 `server/routers/client/unblockClient.ts` (+1 -1) 📝 `server/routers/external.ts` (+8 -0) 📝 `server/routers/integration.ts` (+8 -0) 📝 `server/routers/role/createRole.ts` (+9 -1) 📝 `server/routers/role/listRoles.ts` (+8 -9) _...and 19 more files_ </details> ### 📄 Description ## Community Contribution License Agreement By creating this pull request, I grant the project maintainers an unlimited, perpetual license to use, modify, and redistribute these contributions under any terms they choose, including both the AGPLv3 and the Fossorial Commercial license terms. I represent that I have the right to grant this license for all contributed content. ## Summary **Main changes**: - Approvals for user added devices, only for roles which require approvals. ## Demo https://github.com/user-attachments/assets/e8776a0a-c98b-418d-a81f-176df428f9d5 --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-23 02:46:30 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#5756