Add editable pages

This commit is contained in:
2023-11-18 11:01:14 +11:00
parent 484259fab1
commit 53434423fd
25 changed files with 369 additions and 5 deletions

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class Archive < Action
include Deps["repos.page_repo"]
def handle(req, res)
page_repo.archive(slug: req.params[:slug])
end
end
end
end
end

View File

@@ -0,0 +1,15 @@
module Admin
module Actions
module Pages
class Create < Action
include Deps["commands.pages.create"]
def handle(req, res)
create.call(page: req.params[:page])
res.redirect_to "/admin/pages"
end
end
end
end
end

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class Delete < Action
include Deps["repos.page_repo"]
def handle(req, res)
page_repo.delete(id: req.params[:slug])
end
end
end
end
end

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class Edit < Action
include Deps["views.pages.edit"]
def handle(req, res)
res.render edit, slug: req.params[:slug]
end
end
end
end
end

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class Index < Action
include Deps["views.pages.index"]
def handle(req, res)
res.render index
end
end
end
end
end

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class New < Action
include Deps["views.pages.new"]
def handle(req, res)
res.render new
end
end
end
end
end

View File

@@ -0,0 +1,13 @@
module Admin
module Actions
module Pages
class Publish < Action
include Deps["repos.page_repo"]
def handle(req, res)
page_repo.publish(slug: req.params[:slug])
end
end
end
end
end

View File

@@ -0,0 +1,14 @@
module Admin
module Actions
module Pages
class Update < Action
include Deps["commands.pages.update"]
def handle(req, res)
update.call(page: req.params[:page])
res.redirect "/admin/pages/#{req.params[:page][:slug]}/edit"
end
end
end
end
end