mirror of
https://github.com/netbirdio/netbird.git
synced 2026-04-18 00:06:38 +00:00
clean switch case
This commit is contained in:
@@ -75,17 +75,10 @@ func NewJob(triggeredBy, accountID, peerID string, req *api.JobRequest) (*Job, e
|
||||
|
||||
switch jobType {
|
||||
case JobTypeBundle:
|
||||
bundle, err := req.Workload.AsBundleWorkloadRequest()
|
||||
params, err = validateDebugBundleJobParams(req.Workload)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("invalid parameters for bundle job: %w", err)
|
||||
}
|
||||
if err := validateDebugBundleJobParams(bundle); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
params, err = json.Marshal(bundle.Parameters)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal workload parameters: %w", err)
|
||||
}
|
||||
default:
|
||||
return nil, fmt.Errorf("unsupported job type: %s", jobType)
|
||||
}
|
||||
@@ -151,14 +144,23 @@ func (j *Job) buildOtherWorkload(wl *api.WorkloadResponse) error {
|
||||
})
|
||||
}
|
||||
|
||||
func validateDebugBundleJobParams(bundle api.BundleWorkloadRequest) error {
|
||||
func validateDebugBundleJobParams(req api.WorkloadRequest) ([]byte, error) {
|
||||
bundle, err := req.AsBundleWorkloadRequest()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("invalid parameters for bundle job: %w", err)
|
||||
}
|
||||
// validate bundle_for_time <= 5 minutes
|
||||
if bundle.Parameters.BundleForTime < 0 || bundle.Parameters.BundleForTime > 5 {
|
||||
return fmt.Errorf("bundle_for_time must be between 0 and 5, got %d", bundle.Parameters.BundleForTime)
|
||||
return nil, fmt.Errorf("bundle_for_time must be between 0 and 5, got %d", bundle.Parameters.BundleForTime)
|
||||
}
|
||||
// validate log-file-count ≥ 1 and ≤ 1000
|
||||
if bundle.Parameters.LogFileCount < 1 || bundle.Parameters.LogFileCount > 1000 {
|
||||
return fmt.Errorf("log-file-count must be between 1 and 1000, got %d", bundle.Parameters.LogFileCount)
|
||||
return nil, fmt.Errorf("log-file-count must be between 1 and 1000, got %d", bundle.Parameters.LogFileCount)
|
||||
}
|
||||
return nil
|
||||
|
||||
params, err := json.Marshal(bundle.Parameters)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal workload parameters: %w", err)
|
||||
}
|
||||
return params, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user