How to document an Ash action with arguments?
actions do
read :list do
argument :inicio_em, DateTimeUsec
argument :fim_em, DateTimeUsec
argument :filters, :term
...
end
end
How to document an Ash action with arguments?
actions do
read :list do
argument :inicio_em, DateTimeUsec
argument :fim_em, DateTimeUsec
argument :filters, :term
...
end
end
Document in what way?
To generate docs using mix docs.
actions do
@doc """
Lista estadias carregando associações essenciais e aplicando filtros dinâmicos utilizados pelo painel operacional.
Usa `:inicio_em` e `:fim_em` para limitar o intervalo por `entrada_solicitada_em` e aplica filtros enviados pela interface administrativa.
## Parameters
- `:inicio_em` — `DateTimeUsec` que define a data/hora mínima considerada.
- `:fim_em` — `DateTimeUsec` que define a data/hora máxima considerada.
- `:filters` — lista de tuplas `{:chave, valor}` tratadas na redução de filtros.
## Filters
- `{:localizadores, lista}` restringe pelos localizadores informados.
- `{:pessoa, "0" | "1"}` separa estadias sem pessoa vinculada das que possuem vínculo.
- `{:entrada_plano_contrato_id, id}` filtra pelo plano de contrato associado.
- `{:faturamento, "0" | "1"}` diferencia estadias faturadas ou pendentes.
- `{:patio_identificacao, patio_id}` seleciona o pátio de destino da entrada.
Retorna uma consulta `Ash.Query` pronta para paginação e composição das telas de operação.
"""
read :list do
argument :inicio_em, DateTimeUsec
argument :fim_em, DateTimeUsec
argument :filters, :term
...
end
end
Right now the only thing you could do is add descriptions to the action and the arguments, and then you can get docs in mix docs on code interface functions.
read :list do
description "description"
argument :argument, Type do
description "description"
end
end
What does:
Ash.Resource.Info.action_inputs(The.Resource, :the_action)
show?
iex(1)> Ash.Resource.Info.action_inputs(LGS.Operacional.Estadia, :list)
%{map: %{}, __struct__: MapSet}
Oh, we fixed this. Update ash ![]()
To the last version?
Not sure which version it was fixed in, but the latest is a good place to start
I’ll try and let you know.