feat: Implement Proxy Groups for Better Organization#1018
Draft
Wikid82 wants to merge 9 commits into
Draft
Conversation
…cy versions in package-lock.json
Contributor
|
You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool. What Enabling Code Scanning Means:
For more information about GitHub Code Scanning, check out the documentation. |
Contributor
✅ Supply Chain Verification Results✅ PASSED 📦 SBOM Summary
🔍 Vulnerability Scan
📎 Artifacts
Generated by Supply Chain Verification workflow • View Details |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Add ProxyGroup model, service, and CRUD API handlers with full test coverage for host grouping functionality. - Add ProxyGroup model with UUID, name, description, color fields - Add ProxyGroupID FK and ProxyGroup preload to ProxyHost - Add ProxyGroupService with Create/List/GetByUUID/Update/Delete - Add ProxyGroupHandler with GET/POST/PUT/DELETE routes - Extend ProxyHostHandler to resolve proxy_group_id by UUID or uint - AutoMigrate ProxyGroup before ProxyHost in routes.go - Add 22 tests across service, handler, and preload integration Closes #254
Add ProxyGroups API client with TanStack Query hooks Add ProxyGroupBadge and ProxyGroupForm components Integrate proxy group selection into ProxyHosts page Add locale strings (de, en, es, fr, zh) for proxy group feature Add frontend unit tests for API client, components, and hooks Add E2E Playwright spec for proxy group management workflows Update ProxyHosts tests to reflect proxy group column addition Update vitest config for new component test coverage
Add proxy group column and assignment UI to ProxyHosts table Update proxyHosts API client to include group_id field Add proxy group locale keys for all supported languages (de, en, es, fr, zh) Update ProxyHosts tests to cover proxy group column and filtering Extend vitest config for expanded proxy hosts test coverage
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds proxy group management to Charon, allowing proxy hosts to be organized into named groups for easier administration.
Backend
models/proxy_group.go— NewProxyGroupGORM model with UUID primary key, name, description, and host associationsmodels/proxy_host.go— AddedGroupID(nullable FK) andGroupassociation fieldsservices/proxy_group_service.go— CRUD service: create, list, get, update, delete with validationservices/proxyhost_service.go— ExtendedGetProxyHoststo support optional group filtering viagroup_idquery paramapi/handlers/proxy_group_handler.go— REST handler for/api/v1/proxy-groups(CRUD + host listing per group)api/routes/routes.go— Registered proxy group routes under/api/v1/proxy-groupsFrontend
api/proxyGroups.ts— TanStack Query API client for proxy group CRUDapi/proxyHosts.ts— Addedgroup_idfield and group filter supportcomponents/ProxyGroupBadge.tsx— Badge component displaying assigned group namecomponents/ProxyGroupForm.tsx— Form component for group assignment with comboboxhooks/useProxyGroups.ts— TanStack Query hooks:useProxyGroups,useCreateProxyGroup,useUpdateProxyGroup,useDeleteProxyGrouppages/ProxyHosts.tsx— Proxy group column added to table; inline group assignment UIproxyGroup.*translation keys added forde,en,es,fr,zhTests
proxy_group_handler_test.go,proxy_group_service_test.go,proxyhost_service_group_test.goproxyGroups.test.ts,ProxyGroupBadge.test.tsx,ProxyGroupForm.test.tsxProxyHoststest suite (12 files) to account for new group columntests/proxy-groups.spec.tsQuality Gates
vitest.config.tscoverage thresholds updated to reflect expanded test surface