Skip to content

Commit a8b8fb9

Browse files
Make sure name us unique per org
1 parent df76afe commit a8b8fb9

File tree

3 files changed

+14
-1
lines changed

3 files changed

+14
-1
lines changed

ee/ephemeral_environments/lib/ephemeral_environments/repo/ephemeral_environment_type.ex

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ defmodule EphemeralEnvironments.Repo.EphemeralEnvironmentType do
3535
|> validate_length(:name, min: 1, max: 255)
3636
|> validate_length(:description, max: 1000)
3737
|> validate_number(:max_number_of_instances, greater_than: 0)
38+
|> unique_constraint(:duplicate_name,
39+
name: :ephemeral_environment_types_org_id_name_index,
40+
message: "ephemeral environment name has already been taken"
41+
)
3842
end
3943

4044
defp validate_uuid(changeset, field) do

ee/ephemeral_environments/lib/ephemeral_environments/service/ephemeral_environment_type.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ defmodule EphemeralEnvironments.Service.EphemeralEnvironmentType do
2020
"""
2121
def create(attrs) do
2222
attrs = Map.put(attrs, :last_updated_by, attrs[:created_by])
23-
attrs = Map.put_new(attrs, :state, :draft)
23+
attrs = Map.put(attrs, :state, :draft)
2424

2525
%Schema{}
2626
|> Schema.changeset(attrs)
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
defmodule EphemeralEnvironments.Repo.Migrations.AddUniqueConstraintToEnvironmentTypeName do
2+
use Ecto.Migration
3+
4+
def change do
5+
create unique_index(:ephemeral_environment_types, [:org_id, :name],
6+
name: :ephemeral_environment_types_org_id_name_index
7+
)
8+
end
9+
end

0 commit comments

Comments
 (0)