check if default user policy is enabled

This commit is contained in:
abhishek9686
2025-09-22 22:33:25 +05:30
parent d1b82aa977
commit 2f3f94575a
2 changed files with 15 additions and 9 deletions

View File

@@ -37,7 +37,6 @@ func ValidateEgressReq(e *schema.Egress) error {
}
func DoesUserHaveAccessToEgress(user *models.User, e *schema.Egress, acls []models.Acl) bool {
if !e.Status {
return false
}

View File

@@ -73,6 +73,8 @@ func GetEgressRangesOnNetwork(client *models.ExtClient) ([]string, error) {
eli, _ := (&schema.Egress{Network: client.Network}).ListByNetwork(db.WithContext(context.TODO()))
staticNode := client.ConvertToStaticNode()
userPolicies := ListUserPolicies(models.NetworkID(client.Network))
defaultUserPolicy, _ := GetDefaultPolicy(models.NetworkID(client.Network), models.UserPolicy)
for _, eI := range eli {
if !eI.Status {
continue
@@ -89,17 +91,22 @@ func GetEgressRangesOnNetwork(client *models.ExtClient) ([]string, error) {
} else {
rangesToBeAdded = append(rangesToBeAdded, eI.Range)
}
if staticNode.IsUserNode && staticNode.StaticNode.OwnerID != "" {
user, err := GetUser(staticNode.StaticNode.OwnerID)
if err != nil {
return []string{}, errors.New("user not found")
}
if DoesUserHaveAccessToEgress(user, &eI, userPolicies) {
if defaultUserPolicy.Enabled {
result = append(result, rangesToBeAdded...)
} else {
if staticNode.IsUserNode && staticNode.StaticNode.OwnerID != "" {
user, err := GetUser(staticNode.StaticNode.OwnerID)
if err != nil {
return []string{}, errors.New("user not found")
}
if DoesUserHaveAccessToEgress(user, &eI, userPolicies) {
result = append(result, rangesToBeAdded...)
}
} else {
result = append(result, rangesToBeAdded...)
}
} else {
result = append(result, rangesToBeAdded...)
}
}
extclients, _ := GetNetworkExtClients(client.Network)
for _, extclient := range extclients {