feat(resources): add resource groups for organizing proxy resources #116

Open
opened 2026-04-05 17:01:11 +02:00 by MrUnknownDE · 0 comments
Owner

Originally created by @centopw on 3/15/2026

Adds the ability to organize proxy resources into named groups/folders on the resources page.

Changes:

  • DB: New resourceGroups table with orgId, name, sortOrder; groupId FK added to resources (ON DELETE set null); migrations for PostgreSQL and SQLite (1.17.0)
  • API: CRUD endpoints for resource groups (GET/PUT/POST/DELETE /org/:orgId/resource-group[s]); groupId added to listResources response and updateResource body
  • UI: Collapsible group headers in the proxy resources table; "Create Group" toolbar button; "Move to group..." action in the resource row menu; group delete (resources become ungrouped, not deleted)
    image

Description

Add support for grouping proxy resources to improve organization and management. This includes database schema updates to introduce a new resourceGroups table and a groupId foreign key in the resources table, along with migration scripts for PostgreSQL and SQLite. New API endpoints for CRUD operations on resource groups (create, list, update, delete) have been added. The frontend now features collapsible group headers in the resources table, dialogs for creating groups and moving resources between groups, and updates to resource listing and update logic to handle group assignments.

How to test?

Changes:

  • DB: New resourceGroups table with orgId, name, sortOrder; groupId FK added to resources (ON DELETE set null); migrations for PostgreSQL and SQLite (1.17.0)
  • API: CRUD endpoints for resource groups (GET/PUT/POST/DELETE /org/:orgId/resource-group[s]); groupId added to listResources response and updateResource body
  • UI: Collapsible group headers in the proxy resources table; "Create Group" toolbar button; "Move to group..." action in the resource row menu; group delete (resources become ungrouped, not deleted)

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.

*Originally created by @centopw on 3/15/2026* Adds the ability to organize proxy resources into named groups/folders on the resources page. **Changes:** - **DB**: New `resourceGroups` table with `orgId`, `name`, `sortOrder`; `groupId` FK added to `resources` (ON DELETE set null); migrations for PostgreSQL and SQLite (1.17.0) - **API**: CRUD endpoints for resource groups (`GET/PUT/POST/DELETE /org/:orgId/resource-group[s]`); `groupId` added to `listResources` response and `updateResource` body - **UI**: Collapsible group headers in the proxy resources table; "Create Group" toolbar button; "Move to group..." action in the resource row menu; group delete (resources become ungrouped, not deleted) <img width="1549" height="924" alt="image" src="https://github.com/user-attachments/assets/0390ee87-eeee-4c56-b4b3-316dcc706726" /> ## Description Add support for grouping proxy resources to improve organization and management. This includes database schema updates to introduce a new `resourceGroups` table and a `groupId` foreign key in the `resources` table, along with migration scripts for PostgreSQL and SQLite. New API endpoints for CRUD operations on resource groups (create, list, update, delete) have been added. The frontend now features collapsible group headers in the resources table, dialogs for creating groups and moving resources between groups, and updates to resource listing and update logic to handle group assignments. ## How to test? **Changes:** - **DB**: New `resourceGroups` table with `orgId`, `name`, `sortOrder`; `groupId` FK added to `resources` (ON DELETE set null); migrations for PostgreSQL and SQLite (1.17.0) - **API**: CRUD endpoints for resource groups (`GET/PUT/POST/DELETE /org/:orgId/resource-group[s]`); `groupId` added to `listResources` response and `updateResource` body - **UI**: Collapsible group headers in the proxy resources table; "Create Group" toolbar button; "Move to group..." action in the resource row menu; group delete (resources become ungrouped, not deleted) ## 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.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github/pangolin#116