Skip to content

Commit

Permalink
Upgrade to Phoenix 1.7 (#188)
Browse files Browse the repository at this point in the history
  • Loading branch information
ruilopesm authored Jul 29, 2023
1 parent 1a0baa7 commit 7558e35
Show file tree
Hide file tree
Showing 33 changed files with 166 additions and 68 deletions.
41 changes: 38 additions & 3 deletions lib/bokken_web.ex
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,34 @@ defmodule BokkenWeb do
and import those modules here.
"""

def controller do
def static_paths, do: ~w(images favicon.ico dojo.html robots.txt)

def controller(version \\ "1.7") do
result =
case version do
"1.7" ->
quote do
use Phoenix.Controller,
namespace: BokkenWeb,
formats: [:html, :json],
layouts: [html: BokkenWeb.Layouts]

unquote(verified_routes())
end

_ ->
quote do
use Phoenix.Controller, namespace: BokkenWeb
alias BokkenWeb.Router.Helpers, as: Routes
end
end

quote do
use Phoenix.Controller, namespace: BokkenWeb
unquote(result)

import Plug.Conn
import BokkenWeb.Gettext
import Bokken.Guards
alias BokkenWeb.Router.Helpers, as: Routes
end
end

Expand Down Expand Up @@ -77,12 +97,27 @@ defmodule BokkenWeb do
alias BokkenWeb.Router.Helpers, as: Routes

import BokkenWeb.ViewUtils

unquote(verified_routes())
end
end

def verified_routes do
quote do
use Phoenix.VerifiedRoutes,
endpoint: BokkenWeb.Endpoint,
router: BokkenWeb.Router,
statics: BokkenWeb.static_paths()
end
end

@doc """
When used, dispatch to the appropriate controller/view/etc.
"""
defmacro __using__(controller: "1.6" = version) do
controller(version)
end

defmacro __using__(which) when is_atom(which) do
apply(__MODULE__, which, [])
end
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/admin/guardian_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.Admin.GuardianController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Guardian
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/admin/mentor_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.Admin.MentorController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Mentor
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/admin/ninja_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.Admin.NinjaController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Ninja
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/admin/user_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.Admin.UserController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.User
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/auth_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.AuthController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.User
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/availability_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.AvailabilityController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Events
alias Bokken.Events.Availability
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/badge_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.BadgeController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Gamification
alias Bokken.Gamification.Badge
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/enrollment_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.EnrollmentController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Events
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/event_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.EventController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Events
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/fallback_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ defmodule BokkenWeb.FallbackController do
See `Phoenix.Controller.action_fallback/1` for more details.
"""
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

# This clause handles errors returned by Ecto's insert/update/delete.
def call(conn, {:error, %Ecto.Changeset{} = changeset}) do
Expand Down
16 changes: 8 additions & 8 deletions lib/bokken_web/controllers/file_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -29,24 +29,24 @@ defmodule BokkenWeb.FileController do
def index(conn, _params) when is_mentor(conn) do
mentor_id = conn.assigns.current_user.mentor.id
files = Documents.list_files(%{"mentor_id" => mentor_id})
render(conn, "index.json", files: files)
render(conn, :index, files: files)
end

def index(conn, _params) when is_ninja(conn) do
ninja_id = conn.assigns.current_user.ninja.id
files = Documents.list_files(%{"ninja_id" => ninja_id})
render(conn, "index.json", files: files)
render(conn, :index, files: files)
end

def index(conn, _params) when is_guardian(conn) do
guardian_id = conn.assigns.current_user.guardian.id
files = Documents.list_files(%{"guardian_id" => guardian_id})
render(conn, "index.json", files: files)
render(conn, :index, files: files)
end

def index(conn, _params) do
files = Documents.list_files()
render(conn, "index.json", files: files)
render(conn, :index, files: files)
end

def create(conn, %{"file" => file_params}) do
Expand All @@ -56,8 +56,8 @@ defmodule BokkenWeb.FileController do
{:ok, {:ok, file}} ->
conn
|> put_status(:created)
|> put_resp_header("location", Routes.file_path(conn, :show, file))
|> render("show.json", file: file)
|> put_resp_header("location", ~p"/api/files/#{file}")
|> render(:show, file: file)

{:ok, {:error, reason}} ->
conn
Expand All @@ -75,14 +75,14 @@ defmodule BokkenWeb.FileController do

def show(conn, %{"id" => id}) do
file = Documents.get_file!(id)
render(conn, "show.json", file: file)
render(conn, :show, file: file)
end

def update(conn, %{"id" => id, "file" => file_params}) do
file = Documents.get_file!(id)

with {:ok, %File{} = file} <- Documents.update_file(file, file_params) do
render(conn, "show.json", file: file)
render(conn, :show, file: file)
end
end

Expand Down
23 changes: 23 additions & 0 deletions lib/bokken_web/controllers/file_json.ex
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
defmodule BokkenWeb.FileJSON do
alias Bokken.Documents.File
alias Bokken.Uploaders.Document

def index(%{files: files}) do
%{data: for(file <- files, do: data(file))}
end

def show(%{file: file}) do
%{data: data(file)}
end

def data(%File{} = file) do
type = if is_nil(file.lecture_id), do: :projects, else: :snippets

%{
id: file.id,
title: file.title,
description: file.description,
document: Document.url({file.document, file}, type)
}
end
end
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/guardian_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.GuardianController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Guardian
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/lecture_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.LectureController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Events
alias Bokken.Events.Lecture
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/location_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.LocationController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Events
alias Bokken.Events.Location
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/mentor_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.MentorController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Mentor
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/ninja_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.NinjaController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Ninja
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/organizer_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.OrganizerController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Organizer
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/page_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.PageController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

@app Mix.Project.config()[:app]
@version Mix.Project.config()[:version]
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/pairing_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.PairingController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Events
alias Bokken.Pairings
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/reset_password_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.ResetPasswordController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Mailer
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/skill_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.SkillController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Curriculum
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/team_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.TeamController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Events
alias Bokken.Events.Team
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/controllers/token_controller.ex
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
defmodule BokkenWeb.TokenController do
use BokkenWeb, :controller
use BokkenWeb, controller: "1.6"

alias Bokken.Accounts
alias Bokken.Accounts.Token
Expand Down
2 changes: 1 addition & 1 deletion lib/bokken_web/endpoint.ex
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ defmodule BokkenWeb.Endpoint do
at: "/",
from: @app,
gzip: false,
only: ~w(images favicon.ico dojo.html robots.txt)
only: BokkenWeb.static_paths()

plug Plug.Static,
at: "/uploads",
Expand Down
29 changes: 0 additions & 29 deletions lib/bokken_web/views/file_view.ex

This file was deleted.

3 changes: 2 additions & 1 deletion mix.exs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,8 @@ defmodule Bokken.MixProject do
# Type `mix help deps` for examples and options.
defp deps do
[
{:phoenix, "~> 1.6.0"},
{:phoenix, "~> 1.7.7"},
{:phoenix_view, "~> 2.0.2"},

# database
{:ecto, "~> 3.10.2"},
Expand Down
Loading

0 comments on commit 7558e35

Please sign in to comment.