mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
fix(portal): Do not save new condition with an empty value and handle it properly if it's saved like that (#6624)
This commit is contained in:
@@ -143,15 +143,11 @@ defmodule Domain.Policies.Condition.Evaluator do
|
||||
%Condition{
|
||||
property: :client_verified,
|
||||
operator: :is,
|
||||
values: ["false"]
|
||||
values: _other
|
||||
},
|
||||
%Clients.Client{verified_at: verified_at}
|
||||
%Clients.Client{}
|
||||
) do
|
||||
if is_nil(verified_at) do
|
||||
{:ok, nil}
|
||||
else
|
||||
:error
|
||||
end
|
||||
{:ok, nil}
|
||||
end
|
||||
|
||||
def fetch_conformation_expiration(
|
||||
|
||||
@@ -199,7 +199,16 @@ defmodule Domain.Policies.Condition.EvaluatorTest do
|
||||
values: ["false"]
|
||||
}
|
||||
|
||||
assert fetch_conformation_expiration(condition, verified_client) == :error
|
||||
assert fetch_conformation_expiration(condition, verified_client) == {:ok, nil}
|
||||
assert fetch_conformation_expiration(condition, not_verified_client) == {:ok, nil}
|
||||
|
||||
condition = %Domain.Policies.Condition{
|
||||
property: :client_verified,
|
||||
operator: :is,
|
||||
values: nil
|
||||
}
|
||||
|
||||
assert fetch_conformation_expiration(condition, verified_client) == {:ok, nil}
|
||||
assert fetch_conformation_expiration(condition, not_verified_client) == {:ok, nil}
|
||||
end
|
||||
|
||||
|
||||
@@ -42,6 +42,10 @@ defmodule Web.Policies.Components do
|
||||
|> Enum.empty?())
|
||||
end
|
||||
|
||||
defp maybe_filter(%{}, empty_values: :drop) do
|
||||
false
|
||||
end
|
||||
|
||||
defp maybe_filter(_condition_attrs, _opts) do
|
||||
true
|
||||
end
|
||||
|
||||
@@ -338,11 +338,6 @@ defmodule Web.Live.Policies.NewTest do
|
||||
assert policy.resource_id == resource.id
|
||||
|
||||
assert policy.conditions == [
|
||||
%Domain.Policies.Condition{
|
||||
property: :client_verified,
|
||||
operator: :is,
|
||||
values: nil
|
||||
},
|
||||
%Domain.Policies.Condition{
|
||||
property: :current_utc_datetime,
|
||||
operator: :is_in_day_of_week_time_ranges,
|
||||
|
||||
Reference in New Issue
Block a user