mirror of
https://github.com/ash-project/ash_postgres.git
synced 2024-09-19 21:13:19 +12:00
use message in context
This commit is contained in:
parent
7bc3099950
commit
c4e0bebeb1
1 changed files with 16 additions and 6 deletions
|
@ -17,7 +17,7 @@ defmodule HasNoComments do
|
||||||
@moduledoc false
|
@moduledoc false
|
||||||
use Ash.Resource.Validation
|
use Ash.Resource.Validation
|
||||||
|
|
||||||
def atomic(changeset, opts, _context) do
|
def atomic(changeset, _opts, context) do
|
||||||
# Test multiple types of aggregates in a single validation
|
# Test multiple types of aggregates in a single validation
|
||||||
condition =
|
condition =
|
||||||
case changeset.context.aggregate do
|
case changeset.context.aggregate do
|
||||||
|
@ -42,7 +42,7 @@ defmodule HasNoComments do
|
||||||
{:atomic, [], condition,
|
{:atomic, [], condition,
|
||||||
expr(
|
expr(
|
||||||
error(^Ash.Error.Changes.InvalidChanges, %{
|
error(^Ash.Error.Changes.InvalidChanges, %{
|
||||||
message: ^opts[:message] || "Post has comments"
|
message: ^context.message || "Post has comments"
|
||||||
})
|
})
|
||||||
)}
|
)}
|
||||||
]
|
]
|
||||||
|
@ -129,21 +129,31 @@ defmodule AshPostgres.Test.Post do
|
||||||
end
|
end
|
||||||
|
|
||||||
destroy :destroy_if_no_comments do
|
destroy :destroy_if_no_comments do
|
||||||
validate({HasNoComments, message: "Can only delete if Post has no comments"})
|
validate HasNoComments do
|
||||||
|
message "Can only delete if Post has no comments"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
update :update_if_no_comments do
|
update :update_if_no_comments do
|
||||||
validate({HasNoComments, message: "Can only update if Post has no comments"})
|
validate HasNoComments do
|
||||||
|
message "Can only update if Post has no comments"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
destroy :destroy_if_no_comments_non_atomic do
|
destroy :destroy_if_no_comments_non_atomic do
|
||||||
require_atomic?(false)
|
require_atomic?(false)
|
||||||
validate({HasNoComments, message: "Can only delete if Post has no comments"})
|
|
||||||
|
validate HasNoComments do
|
||||||
|
message "Can only delete if Post has no comments"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
update :update_if_no_comments_non_atomic do
|
update :update_if_no_comments_non_atomic do
|
||||||
require_atomic?(false)
|
require_atomic?(false)
|
||||||
validate({HasNoComments, message: "Can only update if Post has no comments"})
|
|
||||||
|
validate HasNoComments do
|
||||||
|
message "Can only update if Post has no comments"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
update :update_only_freds do
|
update :update_only_freds do
|
||||||
|
|
Loading…
Reference in a new issue