mirror of
https://github.com/bonfire-networks/bonfire-app.git
synced 2024-05-16 08:02:40 +00:00
Refactor to ExtensionBehaviour
This commit is contained in:
parent
00179eccbc
commit
cd3cac2300
|
@ -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-20)]
|
||||
## [Unreleased (2022-10-21)]
|
||||
### 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
|
||||
|
|
|
@ -48,7 +48,7 @@ pointable_schema_extensions = [
|
|||
|
||||
config :pointers, :search_path, pointable_schema_extensions
|
||||
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a queries_module/0 or context_modules/0 function)
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a query_module/0 or context_modules/0 function)
|
||||
context_and_queries_extensions =
|
||||
pointable_schema_extensions ++
|
||||
[
|
||||
|
|
|
@ -48,7 +48,7 @@ pointable_schema_extensions = [
|
|||
|
||||
config :pointers, :search_path, pointable_schema_extensions
|
||||
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a queries_module/0 or context_modules/0 function)
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a query_module/0 or context_modules/0 function)
|
||||
context_and_queries_extensions =
|
||||
pointable_schema_extensions ++
|
||||
[
|
||||
|
@ -89,10 +89,17 @@ extensions_with_ui =
|
|||
]
|
||||
|
||||
config :bonfire, :verb_names, verbs
|
||||
config :bonfire, :context_modules_search_path, context_and_queries_extensions
|
||||
config :bonfire, :query_modules_search_path, context_and_queries_extensions
|
||||
config :bonfire, :config_modules_search_path, extensions_with_config
|
||||
config :bonfire, :ui_modules_search_path, extensions_with_ui
|
||||
|
||||
# NOTE: these shouldn't be needed anymore since we scan all apps with Bonfire.Common.ExtensionBehaviour
|
||||
config :bonfire, :extensions_grouped, %{
|
||||
Bonfire.Common.ContextModule => context_and_queries_extensions,
|
||||
Bonfire.Common.SchemaModule => context_and_queries_extensions,
|
||||
Bonfire.Common.QueryModule => context_and_queries_extensions,
|
||||
Bonfire.Common.ConfigModule => extensions_with_config,
|
||||
Bonfire.Common.ExtensionModule => extensions_with_ui,
|
||||
Bonfire.Common.WidgetModule => extensions_with_ui,
|
||||
Bonfire.Common.NavModule => extensions_with_ui
|
||||
}
|
||||
|
||||
# Search these apps/extensions for Verbs to index (i.e. they contain modules with a declare_verbs/0 function)
|
||||
config :bonfire_data_access_control,
|
||||
|
|
|
@ -47,7 +47,7 @@ pointable_schema_extensions = [
|
|||
|
||||
config :pointers, :search_path, pointable_schema_extensions
|
||||
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a queries_module/0 or context_modules/0 function)
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a query_module/0 or context_modules/0 function)
|
||||
context_and_queries_extensions =
|
||||
pointable_schema_extensions ++
|
||||
[
|
||||
|
|
|
@ -47,7 +47,7 @@ pointable_schema_extensions = [
|
|||
|
||||
config :pointers, :search_path, pointable_schema_extensions
|
||||
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a queries_module/0 or context_modules/0 function)
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a query_module/0 or context_modules/0 function)
|
||||
context_and_queries_extensions =
|
||||
pointable_schema_extensions ++
|
||||
[
|
||||
|
|
|
@ -47,7 +47,7 @@ pointable_schema_extensions = [
|
|||
|
||||
config :pointers, :search_path, pointable_schema_extensions
|
||||
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a queries_module/0 or context_modules/0 function)
|
||||
# Search these apps/extensions for context or queries modules to index (i.e. they contain modules with a query_module/0 or context_modules/0 function)
|
||||
context_and_queries_extensions =
|
||||
pointable_schema_extensions ++
|
||||
[
|
||||
|
|
|
@ -61,7 +61,8 @@ defmodule Bonfire.Application do
|
|||
# Database
|
||||
@repo_module,
|
||||
EctoSparkles.AutoMigrator,
|
||||
# Bonfire.Common.ConfigModules,
|
||||
# behaviour modules are already prepared as part of `Bonfire.Common.Config.LoadExtensionsConfig`
|
||||
# Bonfire.Common.ExtensionBehaviour,
|
||||
# Bonfire.Common.Config.LoadExtensionsConfig,
|
||||
# load instance Settings from DB into Config
|
||||
Bonfire.Me.Settings.LoadInstanceConfig,
|
||||
|
@ -71,8 +72,8 @@ defmodule Bonfire.Application do
|
|||
Pointers.Tables
|
||||
# Bonfire.Data.AccessControl.Accesses,
|
||||
## these populate on first call, so no need to run on startup:
|
||||
# Bonfire.Common.ContextModules,
|
||||
# Bonfire.Common.QueryModules,
|
||||
# Bonfire.Common.ContextModule,
|
||||
# Bonfire.Common.QueryModule,
|
||||
# Bonfire.Federate.ActivityPub.FederationModules
|
||||
# {PhoenixProfiler, name: Bonfire.Web.Profiler}
|
||||
]
|
||||
|
|
|
@ -50,7 +50,7 @@ defmodule Bonfire.Web.HomeLive do
|
|||
changelog: @changelog,
|
||||
error: nil,
|
||||
form: login_form(params),
|
||||
nav_items: Bonfire.Common.ExtensionModules.default_nav(:bonfire_ui_social),
|
||||
nav_items: Bonfire.Common.ExtensionModule.default_nav(:bonfire_ui_social),
|
||||
# nav_header: false,
|
||||
without_sidebar: true,
|
||||
sidebar_widgets: [
|
||||
|
|
|
@ -17,7 +17,7 @@ defmodule Bonfire.Web.Router do
|
|||
|
||||
# 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
|
||||
# ui_extensions = Application.compile_env!(:bonfire, :ui_modules_search_path)
|
||||
# ui_extensions = Application.compile_env!(:bonfire, :extensions_grouped, Bonfire.Common.NavModule)
|
||||
# |> Enum.flat_map(& Application.spec(&1, :modules) || [] )
|
||||
# |> Enum.filter(& Code.ensure_loaded?(&1) and function_exported?(&1, :declare_routes, 0))
|
||||
# |> debug()
|
||||
|
|
Loading…
Reference in a new issue