diff options
Diffstat (limited to 'web/views')
-rw-r--r-- | web/views/audio_file_api_view.ex | 20 | ||||
-rw-r--r-- | web/views/audio_file_view.ex | 5 | ||||
-rw-r--r-- | web/views/changeset_view.ex | 19 |
3 files changed, 44 insertions, 0 deletions
diff --git a/web/views/audio_file_api_view.ex b/web/views/audio_file_api_view.ex new file mode 100644 index 0000000..f5dbba9 --- /dev/null +++ b/web/views/audio_file_api_view.ex @@ -0,0 +1,20 @@ +defmodule TheTranscriberBackend.AudioFileAPIView do + use TheTranscriberBackend.Web, :view + + + + def render("index.json", %{audio_file_api: audio_file_api}) do + %{data: render_many(audio_file_api, TheTranscriberBackend.AudioFileAPIView, "audio_file_api.json")} + end + + def render("show.json", %{audio_file_api: audio_file_api}) do + %{data: render_one(audio_file_api, TheTranscriberBackend.AudioFileAPIView, "audio_file_api.json")} + end + + def render("audio_file_api.json", %{audio_file_api: audio_file_api}) do + %{id: audio_file_api.id, + audio_path: audio_file_api.audio_path, + audio_transcription_file_path: audio_file_api.transcription_file_path, + audio_duration: audio_file_api.audio_duration} + end +end diff --git a/web/views/audio_file_view.ex b/web/views/audio_file_view.ex index b2b2c26..8cefe83 100644 --- a/web/views/audio_file_view.ex +++ b/web/views/audio_file_view.ex @@ -1,3 +1,8 @@ defmodule TheTranscriberBackend.AudioFileView do use TheTranscriberBackend.Web, :view + + #attributes [:id, :audio_path, :transcription_file_path, :audio_duration] + + #has_many :audio_file_api, link + end diff --git a/web/views/changeset_view.ex b/web/views/changeset_view.ex new file mode 100644 index 0000000..767756e --- /dev/null +++ b/web/views/changeset_view.ex @@ -0,0 +1,19 @@ +defmodule TheTranscriberBackend.ChangesetView do + use TheTranscriberBackend.Web, :view + + @doc """ + Traverses and translates changeset errors. + + See `Ecto.Changeset.traverse_errors/2` and + `TheTranscriberBackend.ErrorHelpers.translate_error/1` for more details. + """ + def translate_errors(changeset) do + Ecto.Changeset.traverse_errors(changeset, &translate_error/1) + end + + def render("error.json", %{changeset: changeset}) do + # When encoded, the changeset returns its errors + # as a JSON object. So we just pass it forward. + %{errors: translate_errors(changeset)} + end +end |