File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change 1+ defmodule AlgoraWeb.RepoController do
2+ use AlgoraWeb , :controller
3+
4+ alias Algora.Accounts.User
5+ alias Algora.Repo
6+
7+ def index ( conn , % { "repo_owner" => repo_owner , "repo_name" => repo_name } ) do
8+ user = Repo . get_by ( User , provider: "github" , provider_login: repo_owner )
9+
10+ case user do
11+ % { handle: handle } when is_binary ( handle ) ->
12+ dbg ( "redirecting to #{ ~p" /#{ handle } " } " )
13+ redirect ( conn , to: ~p" /#{ handle } " )
14+
15+ _ ->
16+ dbg ( "redirecting to #{ ~p" /go/#{ repo_owner } /#{ repo_name } " } " )
17+ redirect ( conn , to: ~p" /go/#{ repo_owner } /#{ repo_name } " )
18+ end
19+ end
20+ end
Original file line number Diff line number Diff line change @@ -145,6 +145,8 @@ defmodule AlgoraWeb.Router do
145145 end
146146
147147 scope "/:repo_owner/:repo_name" do
148+ get "/" , RepoController , :index
149+
148150 live_session :repo ,
149151 layout: { AlgoraWeb.Layouts , :user } ,
150152 on_mount: [ { AlgoraWeb.UserAuth , :current_user } , AlgoraWeb.Org.RepoNav ] do
You can’t perform that action at this time.
0 commit comments