update :accept_for_doctor do
argument :code, :string, allow_nil?: false
argument :entity_id, :string, allow_nil?: false
require_atomic? false
validate attribute_equals(:role, :doctor)
validate attribute_equals(:code, arg(:code))
validate attributes_absent(:member_id)
validate attribute_equals(:rejected, false)
validate attribute_equals(:entity_id, arg(:entity_id))
# change log("before doctor")
change relation(
:accepted_doctor,
%{entity_id: arg(:entity_id), user_id: actor(:id)},
type: :create
)
# change log("before member")
change relation(
:member,
%{entity_id: arg(:entity_id), user_id: actor(:id), role: :doctor},
type: :create
)
# change log("after member")
end
update :accept_for_doctor do
argument :code, :string, allow_nil?: false
argument :entity_id, :string, allow_nil?: false
require_atomic? false
validate attribute_equals(:role, :doctor)
validate attribute_equals(:code, arg(:code))
validate attributes_absent(:member_id)
validate attribute_equals(:rejected, false)
validate attribute_equals(:entity_id, arg(:entity_id))
# change log("before doctor")
change relation(
:accepted_doctor,
%{entity_id: arg(:entity_id), user_id: actor(:id)},
type: :create
)
# change log("before member")
change relation(
:member,
%{entity_id: arg(:entity_id), user_id: actor(:id), role: :doctor},
type: :create
)
# change log("after member")
end