generate_reverse_router

This commit is contained in:
Mayel de Borniol 2022-10-20 16:23:50 +13:00
parent c46f4c3719
commit 05d18549e7
4 changed files with 15 additions and 11 deletions

View file

@ -4,7 +4,7 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html)
## [Unreleased (2022-10-18)]
## [Unreleased (2022-10-20)]
### Added
- Enable/disable extensions [#448](https://github.com/bonfire-networks/bonfire-app/issues/448)
- Coordination MVP [#445](https://github.com/bonfire-networks/bonfire-app/issues/445) by mayel & ivanminutillo

View file

@ -69,4 +69,8 @@ defmodule Bonfire.Web.Endpoint do
end
def reload!(), do: Phoenix.CodeReloader.reload!(__MODULE__)
def generate_reverse_router!() do
Code.eval_file("priv/router_reverse.ex")
end
end

View file

@ -14,6 +14,10 @@ defmodule Bonfire.Web.Router do
use_if_enabled(Bonfire.UI.Common.Routes)
# include routes for active Bonfire extensions (no need to comment out, they'll be skipped if not available or if disabled)
# TODO: automatically include all active extensions
# for extension <- ui_extensions do
# use_if_enabled(extension)
# end
# use_if_enabled Bonfire.Website.Web.Routes
@ -141,13 +145,5 @@ defmodule Bonfire.Web.Router do
end
end
defmodule Bonfire.Web.Router.Reverse do
import Voodoo, only: [def_reverse_router: 2]
# import Untangle
def_reverse_router(:path, for: Bonfire.Web.Router)
# def path(_conn_or_socket_or_endpoint, name, _arg1) do
# error(name, "no path defined for type")
# nil
# end
end
# generate initial reverse router (note that it will be re-generated at app start and when extensions are enabled/disabled)
Bonfire.Web.Endpoint.generate_reverse_router!()

4
priv/router_reverse.ex Normal file
View file

@ -0,0 +1,4 @@
defmodule Bonfire.Web.Router.Reverse do
import Voodoo, only: [def_reverse_router: 2]
def_reverse_router(:path, for: Bonfire.Web.Router, filter: [module: Bonfire.Common.Extend, fun: :module_enabled?])
end