mirror of
https://github.com/EZ-Api/ez-api.git
synced 2026-01-13 17:47:51 +00:00
fix(seeder): improve key idempotency and log names
Trim whitespace in provider model lists, format provider names as `group#keyID` to match DP logs, and skip existing API keys during seeding (deleting on reset) to keep runs idempotent and summaries accurate
This commit is contained in:
@@ -198,12 +198,16 @@ type ProviderGroupResponse struct {
|
||||
Status string `json:"status"`
|
||||
}
|
||||
|
||||
// GetModelsSlice returns the Models field as a slice
|
||||
// GetModelsSlice returns the Models field as a slice with trimmed whitespace
|
||||
func (p *ProviderGroupResponse) GetModelsSlice() []string {
|
||||
if p.Models == "" {
|
||||
return nil
|
||||
}
|
||||
return strings.Split(p.Models, ",")
|
||||
parts := strings.Split(p.Models, ",")
|
||||
for i, part := range parts {
|
||||
parts[i] = strings.TrimSpace(part)
|
||||
}
|
||||
return parts
|
||||
}
|
||||
|
||||
func (c *Client) ListProviderGroups() ([]ProviderGroupResponse, error) {
|
||||
@@ -472,6 +476,22 @@ func (c *Client) CreateKey(masterID uint, req KeyRequest) (*KeyResponse, error)
|
||||
return &result, nil
|
||||
}
|
||||
|
||||
func (c *Client) ListKeys(masterID uint) ([]KeyResponse, error) {
|
||||
data, err := c.get(fmt.Sprintf("/admin/masters/%d/keys", masterID))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var result []KeyResponse
|
||||
if err := json.Unmarshal(data, &result); err != nil {
|
||||
return nil, fmt.Errorf("unmarshal keys: %w", err)
|
||||
}
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (c *Client) DeleteKey(masterID, keyID uint) error {
|
||||
return c.delete(fmt.Sprintf("/admin/masters/%d/keys/%d", masterID, keyID))
|
||||
}
|
||||
|
||||
// --- Log API ---
|
||||
|
||||
type LogRequest struct {
|
||||
|
||||
Reference in New Issue
Block a user