From 55b4be9919ad8f38ad67a0390b9f06e29ebdf3e4 Mon Sep 17 00:00:00 2001
From: Muhammad Rafif Elfazri <rafif.elfazri@gmail.com>
Date: Sat, 13 Feb 2021 21:22:50 +0700
Subject: [PATCH] add option to get user information byusername

---
 lib/diskuy_web/controllers/user_controller.ex | 5 +++++
 lib/diskuy_web/router.ex                      | 1 +
 2 files changed, 6 insertions(+)

diff --git a/lib/diskuy_web/controllers/user_controller.ex b/lib/diskuy_web/controllers/user_controller.ex
index 3946702..c83fbd9 100644
--- a/lib/diskuy_web/controllers/user_controller.ex
+++ b/lib/diskuy_web/controllers/user_controller.ex
@@ -28,6 +28,11 @@ defmodule DiskuyWeb.UserController do
     render(conn, "show.json", user: user)
   end
 
+  def show_by_username(conn, %{"name" => name}) do
+    user = Account.get_by_username!(name)
+    render(conn, "show.json", user: user)
+  end
+
 
   def update(conn, %{"id" => id, "user" => user_params}) do
     user = Account.get_user!(id)
diff --git a/lib/diskuy_web/router.ex b/lib/diskuy_web/router.ex
index dd3f35f..5a44649 100644
--- a/lib/diskuy_web/router.ex
+++ b/lib/diskuy_web/router.ex
@@ -40,6 +40,7 @@ defmodule DiskuyWeb.Router do
     pipe_through :api
     get "/users", UserController, :index
     get "/users/:id", UserController, :show
+    get "/users/name/:name", UserController, :show_by_username
     resources "/topics", TopicController, except: [:new, :edit, :create, :update, :delete]
     options   "/topics", TopicController, :options
     options   "/topics/:id", TopicController, :options
-- 
GitLab