feat: resolve policy destinations before device enrollment with fallback default
Fetch policy destinations before calling repo.Enroll instead of after, passing destinations to enrollment creation. Add fallback to default 172.16.10.0/24 destination when no policies are resolved. Re-resolve destinations after enrollment with device ID for final response.
This commit is contained in:
@@ -38,12 +38,20 @@ func (s *Service) Enroll(ctx context.Context, userID uuid.UUID, input EnrollRequ
|
|||||||
return EnrollmentResponse{}, err
|
return EnrollmentResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
enrollment, err := s.repo.Enroll(ctx, userID, selectedGateway.ID, input, assignedIP, selectedGateway.DNSServers, nil)
|
destinations, err := s.policyService.ResolveDestinations(ctx, userID, nil)
|
||||||
|
if err != nil {
|
||||||
|
return EnrollmentResponse{}, err
|
||||||
|
}
|
||||||
|
if len(destinations) == 0 {
|
||||||
|
destinations = []string{"172.16.10.0/24"}
|
||||||
|
}
|
||||||
|
|
||||||
|
enrollment, err := s.repo.Enroll(ctx, userID, selectedGateway.ID, input, assignedIP, selectedGateway.DNSServers, destinations)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return EnrollmentResponse{}, err
|
return EnrollmentResponse{}, err
|
||||||
}
|
}
|
||||||
|
|
||||||
destinations, err := s.policyService.ResolveDestinations(ctx, userID, &enrollment.Device.ID)
|
destinations, err = s.policyService.ResolveDestinations(ctx, userID, &enrollment.Device.ID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return EnrollmentResponse{}, err
|
return EnrollmentResponse{}, err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user