а есть функция создания объекта с бизнес логикой, которая использует первую. Например:
def create_message1(...) do
%Message{}
|> Message.changeset()
|> Repo.insert()
end
def create_message2(...) do
with {:ok, message} <- create_message1(...),
{:ok, _} <- create_log(...) do
{:ok, message}
end
end
Вопрос - где вы храните обе функции, в одном контексте или как-то дополнительно разделяете? и как называете обе функции?
А зачем две функции? Может вам стоит разделить понятия операции создания сущности (типа там создать пользователя с уникальными именем, записать это в лог, прислать ему письмо об этом и т.д.) и понятие создания сущности (просто записать в базу) Первую функцию должен предоставлять контекст или сервис Вторую функцию предоставляет модуль-сущность, хотя я больше люблю чтобы модуль сущность предоставлял changeset-ы и multi
ну т.е. записать create_message1 не в контекст, а в модуль-сущность?
Обсуждают сегодня