time to light up some bonfires

This commit is contained in:
Mayel 2020-11-07 15:05:06 +01:00
parent 6490333b44
commit ea735f556e
49 changed files with 202 additions and 194 deletions

2
.gitignore vendored
View file

@ -25,7 +25,7 @@ erl_crash.dump
*.ez
# Ignore package tarball (built via "mix hex.build").
vox_publica-*.tar
bonfire-*.tar
# If NPM crashes, it generates a log, let's ignore it too.
npm-debug.log

View file

@ -1,6 +1,11 @@
# VoxPublica
## Bonfire:Social
An app for [Bonfire](https://bonfire.cafe/) that bundles the following extensions:
- (Bonfire:Web:Phoenix)[https://github.com/commonspub/bonfire_web_phoenix] - scaffolding for Web UI powered by (Phoenix)[https://www.phoenixframework.org/] LiveView
- (Bonfire:Me)[https://github.com/commonspub/bonfire_me] - user profiles
- More to come...
Blogging/Microblogging software.
## Handy commands
@ -12,9 +17,7 @@ If using Docker, just replace `mix ` with `make mix-` in the above commands, so
## Copyright and License
VoxPublica content publishing platform
Copyright (c) 2020 VoxPublica Contributors
Copyright (c) 2020 Bonfire, VoxPublica, and CommonsPub Contributors
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as

View file

@ -1,22 +1,22 @@
use Mix.Config
config :cpub_me, :web_module, CommonsPub.WebPhoenix
config :cpub_me, :repo_module, VoxPublica.Repo
config :cpub_me, :mailer_module, VoxPublica.Mailer
config :cpub_me, :helper_module, CommonsPub.WebPhoenixHelpers
config :cpub_me, :templates_path, "lib"
config :bonfire_me, :web_module, Bonfire.WebPhoenix
config :bonfire_me, :repo_module, Bonfire.Repo
config :bonfire_me, :mailer_module, Bonfire.Mailer
config :bonfire_me, :helper_module, Bonfire.WebPhoenixHelpers
config :bonfire_me, :templates_path, "lib"
alias CommonsPub.Me.Accounts
alias Bonfire.Me.Accounts
config :cpub_me, Accounts.Emails,
confirm_email: [subject: "Confirm your email - VoxPublica"],
reset_password: [subject: "Reset your password - VoxPublica"]
config :bonfire_me, Accounts.Emails,
confirm_email: [subject: "Confirm your email - Bonfire"],
reset_password: [subject: "Reset your password - Bonfire"]
#### Forms configuration
# You probably will want to leave these
alias CommonsPub.Me.Accounts.{
alias Bonfire.Me.Accounts.{
ChangePasswordFields,
ConfirmEmailFields,
LoginFields,
@ -26,38 +26,38 @@ alias CommonsPub.Me.Accounts.{
# these are not used yet, but they will be
config :cpub_me, ChangePasswordFields,
config :bonfire_me, ChangePasswordFields,
cast: [:old_password, :password, :password_confirmation],
required: [:old_password, :password, :password_confirmation],
confirm: :password,
new_password: [length: [min: 10, max: 64]]
config :cpub_me, ConfirmEmailFields,
config :bonfire_me, ConfirmEmailFields,
cast: [:email],
required: [:email],
email: [format: ~r(^[^@]{1,128}@[^@\.]+\.[^@]{2,128}$)]
config :cpub_me, LoginFields,
config :bonfire_me, LoginFields,
cast: [:email, :password],
required: [:email, :password],
email: [format: ~r(^[^@]{1,128}@[^@\.]+\.[^@]{2,128}$)],
password: [length: [min: 10, max: 64]]
config :cpub_me, ResetPasswordFields,
config :bonfire_me, ResetPasswordFields,
cast: [:password, :password_confirmation],
required: [:password, :password_confirmation],
confirm: :password,
password: [length: [min: 10, max: 64]]
config :cpub_me, SignupFields,
config :bonfire_me, SignupFields,
cast: [:email, :password],
required: [:email, :password],
email: [format: ~r(^[^@]{1,128}@[^@\.]+\.[^@]{2,128}$)],
password: [length: [min: 10, max: 64]]
alias CommonsPub.Me.Users.ValidFields
alias Bonfire.Me.Users.ValidFields
config :cpub_me, ValidFields,
config :bonfire_me, ValidFields,
username: [format: ~r(^[a-z][a-z0-9_]{2,30}$)i],
name: [length: [min: 3, max: 50]],
summary: [length: [min: 20, max: 500]]

View file

@ -0,0 +1,21 @@
use Mix.Config
signing_salt = System.get_env("SIGNING_SALT", "CqAoopA2")
encryption_salt = System.get_env("ENCRYPTION_SALT", "g7K25as98msad0qlSxhNDwnnzTqklK10")
secret_key_base = System.get_env("SECRET_KEY_BASE", "g7K250qlSxhNDt5qnV6f4HFnyoD7fGUuZ8tbBF69aJCOvUIF8P0U7wnnzTqklK10")
config :bonfire_web_phoenix, :signing_salt, signing_salt
config :bonfire_web_phoenix, :encryption_salt, encryption_salt
config :bonfire_web_phoenix, :routes_module, Bonfire.Web.Routes
config :bonfire_web_phoenix, :routes_helper_module, Bonfire.Web.Routes.Helpers
config :bonfire_web_phoenix, :live_view_module, Bonfire.Web.PageLive
config :bonfire_web_phoenix, :otp_app, :bonfire
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
url: [host: "localhost"],
secret_key_base: secret_key_base,
render_errors: [view: Bonfire.WebPhoenix.ErrorView, accepts: ~w(html json), layout: false],
pubsub_server: Bonfire.PubSub,
live_view: [signing_salt: signing_salt]
config :phoenix, :json_library, Jason

View file

@ -4,33 +4,38 @@ use Mix.Config
# You will almost certainly want to change at least some of these
alias VoxPublica.Mailer
alias Bonfire.Mailer
config :vox_publica, Mailer,
config :bonfire, Mailer,
from_address: "noreply@voxpub.local"
import_config "cpub_web_phoenix.exs"
# include DB schemas
import_config "cpub_schemas.exs"
import_config "cpub_extensions.exs"
# include Phoenix web server boilerplate
import_config "bonfire_web_phoenix.exs"
# include all used Bonfire extensions
import_config "bonfire_me.exs"
#### Basic configuration
# You probably won't want to touch these. You might override some in
# other config files.
config :vox_publica,
ecto_repos: [VoxPublica.Repo]
config :bonfire,
ecto_repos: [Bonfire.Repo]
config :logger, :console,
format: "$time $metadata[$level] $message\n",
metadata: [:request_id]
config :activity_pub, :adapter, VoxPublica.ActivityPub.Adapter
config :activity_pub, :repo, VoxPublica.Repo
config :activity_pub, :adapter, Bonfire.ActivityPub.Adapter
config :activity_pub, :repo, Bonfire.Repo
config :vox_publica, Oban,
repo: VoxPublica.Repo,
config :bonfire, Oban,
repo: Bonfire.Repo,
plugins: [Oban.Plugins.Pruner],
queues: [federator_incoming: 50, federator_outgoing: 50]

View file

@ -24,7 +24,7 @@ config :pointers,
:cpub_profiles,
:cpub_threads,
:cpub_users,
:vox_publica,
:bonfire,
]
#### Flexto Stitching

View file

@ -1,21 +0,0 @@
use Mix.Config
signing_salt = System.get_env("SIGNING_SALT", "CqAoopA2")
encryption_salt = System.get_env("ENCRYPTION_SALT", "g7K25as98msad0qlSxhNDwnnzTqklK10")
secret_key_base = System.get_env("SECRET_KEY_BASE", "g7K250qlSxhNDt5qnV6f4HFnyoD7fGUuZ8tbBF69aJCOvUIF8P0U7wnnzTqklK10")
config :cpub_web_phoenix, :signing_salt, signing_salt
config :cpub_web_phoenix, :encryption_salt, encryption_salt
config :cpub_web_phoenix, :routes_module, VoxPublica.Web.Routes
config :cpub_web_phoenix, :routes_helper_module, VoxPublica.Web.Routes.Helpers
config :cpub_web_phoenix, :live_view_module, VoxPublica.Web.PageLive
config :cpub_web_phoenix, :otp_app, :vox_publica
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
url: [host: "localhost"],
secret_key_base: secret_key_base,
render_errors: [view: CommonsPub.WebPhoenix.ErrorView, accepts: ~w(html json), layout: false],
pubsub_server: VoxPublica.PubSub,
live_view: [signing_salt: signing_salt]
config :phoenix, :json_library, Jason

View file

@ -1,15 +1,15 @@
use Mix.Config
alias VoxPublica.{Mailer, Repo, Web.Endpoint}
alias Bonfire.{Mailer, Repo, Web.Endpoint}
config :vox_publica, Mailer,
config :bonfire, Mailer,
adapter: Bamboo.LocalAdapter
# Configure your database
config :vox_publica, VoxPublica.Repo,
config :bonfire, Bonfire.Repo,
username: "postgres",
password: "postgres",
database: "vox_publica_dev",
database: "bonfire_dev",
hostname: System.get_env("DATABASE_HOST") || "localhost",
show_sensitive_data_on_connection_error: true,
pool_size: 10
@ -20,7 +20,7 @@ config :vox_publica, VoxPublica.Repo,
# The watchers configuration can be used to run external
# watchers to your application. For example, we use it
# with webpack to recompile .js and .css sources.
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
http: [port: 4000],
debug_errors: true,
code_reloader: true,
@ -60,13 +60,13 @@ config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
# different ports.
# Watch static and templates for browser reloading.
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
live_reload: [
patterns: [
~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
~r"priv/gettext/.*(po)$",
~r"lib/vox_publica_web/(live|views)/.*(ex)$",
~r"lib/vox_publica_web/templates/.*(eex)$"
~r"lib/web/(live|views)/.*(ex)$",
~r"lib/web/templates/.*(eex)$"
]
]

View file

@ -9,7 +9,7 @@ use Mix.Config
# manifest is generated by the `mix phx.digest` task,
# which you should run after static files are built and
# before starting your production server.
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
url: [host: "example.com", port: 80],
cache_static_manifest: "priv/static/cache_manifest.json"
@ -21,7 +21,7 @@ config :logger, level: :info
# To get SSL working, you will need to add the `https` key
# to the previous section and set your `:url` port to 443:
#
# config :vox_publica, CommonsPub.WebPhoenix.Endpoint,
# config :bonfire, Bonfire.WebPhoenix.Endpoint,
# ...
# url: [host: "example.com", port: 443],
# https: [
@ -45,7 +45,7 @@ config :logger, level: :info
# We also recommend setting `force_ssl` in your endpoint, ensuring
# no data is ever sent via http, always redirecting to https:
#
# config :vox_publica, CommonsPub.WebPhoenix.Endpoint,
# config :bonfire, Bonfire.WebPhoenix.Endpoint,
# force_ssl: [hsts: true]
#
# Check `Plug.SSL` for all available options in `force_ssl`.

View file

@ -11,7 +11,7 @@ database_url =
For example: ecto://USER:PASS@HOST/DATABASE
"""
config :vox_publica, VoxPublica.Repo,
config :bonfire, Bonfire.Repo,
# ssl: true,
url: database_url,
pool_size: String.to_integer(System.get_env("POOL_SIZE") || "10")
@ -23,7 +23,7 @@ secret_key_base =
You can generate one by calling: mix phx.gen.secret
"""
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
http: [
port: String.to_integer(System.get_env("PORT") || "4000"),
transport_options: [socket_opts: [:inet6]]
@ -35,7 +35,7 @@ config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
# If you are doing OTP releases, you need to instruct Phoenix
# to start each relevant endpoint:
#
# config :vox_publica, CommonsPub.WebPhoenix.Endpoint, server: true
# config :bonfire, Bonfire.WebPhoenix.Endpoint, server: true
#
# Then you can assemble a release by calling `mix release`.
# See `mix help release` for more information.

View file

@ -1,8 +1,8 @@
use Mix.Config
alias VoxPublica.{Mailer, Repo}
alias Bonfire.{Mailer, Repo}
config :vox_publica, Mailer,
config :bonfire, Mailer,
adapter: Bamboo.TestAdapter
config :logger, level: :warn
@ -12,16 +12,16 @@ config :logger, level: :warn
# The MIX_TEST_PARTITION environment variable can be used
# to provide built-in test partitioning in CI environment.
# Run `mix help test` for more information.
config :vox_publica, Repo,
config :bonfire, Repo,
username: "postgres",
password: "postgres",
database: "vox_publica_test#{System.get_env("MIX_TEST_PARTITION")}",
database: "bonfire_test#{System.get_env("MIX_TEST_PARTITION")}",
hostname: System.get_env("DATABASE_HOST") || "localhost",
pool: Ecto.Adapters.SQL.Sandbox
# We don't run a server during test. If one is required,
# you can enable the server option below.
config :cpub_web_phoenix, CommonsPub.WebPhoenix.Endpoint,
config :bonfire_web_phoenix, Bonfire.WebPhoenix.Endpoint,
http: [port: 4002],
server: false

View file

@ -1,8 +1,8 @@
cpub_web_phoenix = "https://github.com/commonspub/cpub_web_phoenix#main"
# bonfire_web_phoenix = "https://github.com/commonspub/bonfire_web_phoenix#main"
pointers = "https://github.com/commonspub/pointers#main"
activity_pub = "https://gitlab.com/CommonsPub/activitypub.git#develop"
cpub_actors = "https://github.com/commonspub/cpub_actors#main"
cpub_me = "https://github.com/commonspub/cpub_me#main"
# bonfire_me = "https://github.com/commonspub/bonfire_me#main"
cpub_local_auth = "https://github.com/commonspub/cpub_local_auth#main"
cpub_accounts = "https://github.com/commonspub/cpub_accounts#main"
cpub_emails = "https://github.com/commonspub/cpub_emails#main"

View file

@ -1,12 +1,12 @@
defmodule VoxPublica.ActivityPub.Adapter do
defmodule Bonfire.ActivityPub.Adapter do
@behaviour ActivityPub.Adapter
alias ActivityPub.Actor
alias CommonsPub.Me.Users
alias Bonfire.Me.Users
defp format_actor(user) do
ap_base_path = System.get_env("AP_BASE_PATH", "/pub")
id = CommonsPub.WebPhoenix.Endpoint.url() <> ap_base_path <> "/actors/#{user.character.username}"
id = Bonfire.WebPhoenix.Endpoint.url() <> ap_base_path <> "/actors/#{user.character.username}"
data = %{
"type" => "Person",

View file

@ -1,18 +1,18 @@
defmodule VoxPublica.Application do
defmodule Bonfire.Application do
@moduledoc false
@sup_name VoxPublica.Supervisor
@sup_name Bonfire.Supervisor
use Application
def start(_type, _args) do
[
Pointers.Tables,
CommonsPub.WebPhoenix.Telemetry,
VoxPublica.Repo,
{Phoenix.PubSub, name: VoxPublica.PubSub},
CommonsPub.WebPhoenix.Endpoint,
{Oban, Application.get_env(:vox_publica, Oban)}
Bonfire.WebPhoenix.Telemetry,
Bonfire.Repo,
{Phoenix.PubSub, name: Bonfire.PubSub},
Bonfire.WebPhoenix.Endpoint,
{Oban, Application.get_env(:bonfire, Oban)}
]
|> Supervisor.start_link(strategy: :one_for_one, name: @sup_name)
end
@ -20,7 +20,7 @@ defmodule VoxPublica.Application do
# Tell Phoenix to update the endpoint configuration
# whenever the application is updated.
def config_change(changed, _new, removed) do
CommonsPub.WebPhoenix.Endpoint.config_change(changed, removed)
Bonfire.WebPhoenix.Endpoint.config_change(changed, removed)
:ok
end

View file

@ -1,11 +1,11 @@
defmodule VoxPublica.Mailer do
use Bamboo.Mailer, otp_app: :vox_publica
defmodule Bonfire.Mailer do
use Bamboo.Mailer, otp_app: :bonfire
alias Bamboo.Email
require Logger
def send_now(email, to) do
from =
Application.get_env(:vox_publica, __MODULE__, [])
Application.get_env(:bonfire, __MODULE__, [])
|> Keyword.get(:from_address, "noreply@voxpub.local")
try do
mail =
@ -18,14 +18,14 @@ defmodule VoxPublica.Mailer do
error in Bamboo.SMTPAdapter.SMTPError ->
# le sigh, i give up
Logger.error("Email delivery error: #{inspect(error.raw)}")
{:error, error}
{:error, error}
# case error.raw do
# {:no_credentials, _} -> {:error, :config}
# {:retries_exceeded, _} -> {:error, :rejected}
# # give up
# _ -> raise error
# end
end
end
end
end

View file

@ -1,6 +1,6 @@
defmodule VoxPublica.Repo do
defmodule Bonfire.Repo do
use Ecto.Repo,
otp_app: :vox_publica,
otp_app: :bonfire,
adapter: Ecto.Adapters.Postgres
alias Pointers.Changesets

View file

@ -1,2 +1,2 @@
// Auth Flow mixins and styles
@import "../../deps/cpub_me/lib/web/mixins";
@import "../../deps/bonfire_me/lib/web/mixins";

View file

@ -1,5 +1,5 @@
defmodule VoxPublica.Web.HeaderLive do
use CommonsPub.WebPhoenix, :live_component
defmodule Bonfire.Web.HeaderLive do
use Bonfire.WebPhoenix, :live_component
def update(assigns, socket) do
{

View file

@ -4,13 +4,13 @@
aria-label="Main navigation">
<div class="header__left">
<%= live_redirect to: "/" do %>
<h3>VoxPublica</h3>
<h3>Bonfire</h3>
<% end %>
</div>
<div class="header__right">
<%= if Kernel.function_exported?(CommonsPub.Me.Web.HeaderMeLive, :render, 1), do: live_component(
<%= if Kernel.function_exported?(Bonfire.Me.Web.HeaderMeLive, :render, 1), do: live_component(
@socket,
CommonsPub.Me.Web.HeaderMeLive,
Bonfire.Me.Web.HeaderMeLive,
current_user: @current_user
) %>

View file

@ -1,5 +1,5 @@
defmodule VoxPublica.Web.HomeLive do
use CommonsPub.WebPhoenix, :live_view
defmodule Bonfire.Web.HomeLive do
use Bonfire.WebPhoenix, :live_view

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.Web.PageLive do
use CommonsPub.WebPhoenix, :live_component
defmodule Bonfire.Web.PageLive do
use Bonfire.WebPhoenix, :live_component
end

View file

@ -1,7 +1,7 @@
<div id="template" class="page__container">
<%= live_component(
@socket,
VoxPublica.Web.HeaderLive,
Bonfire.Web.HeaderLive,
id: :my_header,
current_user: @current_user
) %>

View file

@ -1,9 +1,9 @@
defmodule VoxPublica.Web.Routes do
use CommonsPub.WebPhoenix, :router
defmodule Bonfire.Web.Routes do
use Bonfire.WebPhoenix, :router
alias VoxPublica.Web.Routes.Helpers, as: Routes
alias Bonfire.Web.Routes.Helpers, as: Routes
scope "/", VoxPublica.Web do
scope "/", Bonfire.Web do
# guest visible pages
live "/", HomeLive, :home
@ -17,6 +17,6 @@ defmodule VoxPublica.Web.Routes do
use ActivityPubWeb.Router
# include routes from CommonsPub extensions
use CommonsPub.Me.Web.Router
use Bonfire.Me.Web.Router
end

View file

@ -1,11 +1,11 @@
Code.eval_file("mess.exs")
defmodule VoxPublica.MixProject do
defmodule Bonfire.MixProject do
use Mix.Project
def project do
[
app: :vox_publica,
app: :bonfire,
version: "0.1.0",
elixir: "~> 1.10",
elixirc_paths: elixirc_paths(Mix.env()),
@ -21,7 +21,7 @@ defmodule VoxPublica.MixProject do
def application do
[
mod: {VoxPublica.Application, []},
mod: {Bonfire.Application, []},
extra_applications: [:logger, :runtime_tools, :ssl, :bamboo, :bamboo_smtp]
]
end

View file

@ -3,6 +3,8 @@
"argon2_elixir": {:hex, :argon2_elixir, "2.3.0", "e251bdafd69308e8c1263e111600e6d68bd44f23d2cccbe43fcb1a417a76bc8e", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "28ccb63bff213aecec1f7f3dde9648418b031f822499973281d8f494b9d5a3b3"},
"bamboo": {:hex, :bamboo, "1.6.0", "adfb583bef028923aae6f22deaea6667290561da1246058556ecaeb0fec5a175", [:mix], [{:hackney, ">= 1.13.0", [hex: :hackney, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "454e67feacbc9b6e00553ce1d2fba003c861e0035600d59b09d6159985b17f9b"},
"bamboo_smtp": {:hex, :bamboo_smtp, "3.0.0", "b7f0c371af96a1cb7131908918b02abb228f9db234910bf10cf4fb177c083259", [:mix], [{:bamboo, "~> 1.2", [hex: :bamboo, repo: "hexpm", optional: false]}, {:gen_smtp, "~> 0.15.0", [hex: :gen_smtp, repo: "hexpm", optional: false]}], "hexpm", "77cb1fa3076b24109e54df622161fe1e5619376b4ecf86d8b99b46f327acc49f"},
"bonfire_me": {:git, "https://github.com/commonspub/bonfire_me", "21c9f4bcd181fde449912e03b59eb6078fa8b65d", [branch: "main"]},
"bonfire_web_phoenix": {:git, "https://github.com/commonspub/bonfire_web_phoenix", "a2c2a332982c9c893a642968bd82278d4375af1a", [branch: "main"]},
"cachex": {:hex, :cachex, "3.3.0", "6f2ebb8f27491fe39121bd207c78badc499214d76c695658b19d6079beeca5c2", [:mix], [{:eternal, "~> 1.2", [hex: :eternal, repo: "hexpm", optional: false]}, {:jumper, "~> 1.0", [hex: :jumper, repo: "hexpm", optional: false]}, {:sleeplocks, "~> 1.1", [hex: :sleeplocks, repo: "hexpm", optional: false]}, {:unsafe, "~> 1.0", [hex: :unsafe, repo: "hexpm", optional: false]}], "hexpm", "d90e5ee1dde14cef33f6b187af4335b88748b72b30c038969176cd4e6ccc31a1"},
"certifi": {:hex, :certifi, "2.5.2", "b7cfeae9d2ed395695dd8201c57a2d019c0c43ecaf8b8bcb9320b40d6662f340", [:rebar3], [{:parse_trans, "~>3.3", [hex: :parse_trans, repo: "hexpm", optional: false]}], "hexpm", "3b3b5f36493004ac3455966991eaf6e768ce9884693d9968055aeeeb1e575040"},
"combine": {:hex, :combine, "0.10.0", "eff8224eeb56498a2af13011d142c5e7997a80c8f5b97c499f84c841032e429f", [:mix], [], "hexpm", "1b1dbc1790073076580d0d1d64e42eae2366583e7aecd455d1215b0d16f2451b"},
@ -18,10 +20,8 @@
"cpub_core": {:git, "https://github.com/commonspub/cpub_core", "a2c2a332982c9c893a642968bd82278d4375af1a", [branch: "main"]},
"cpub_emails": {:git, "https://github.com/commonspub/cpub_emails", "9ce5af3da39c8d8488d3de5fbb760e4c7706578c", [branch: "main"]},
"cpub_local_auth": {:git, "https://github.com/commonspub/cpub_local_auth", "f3e4393659718044cc985b9958684cc791844d66", [branch: "main"]},
"cpub_me": {:git, "https://github.com/commonspub/cpub_me", "21c9f4bcd181fde449912e03b59eb6078fa8b65d", [branch: "main"]},
"cpub_profiles": {:git, "https://github.com/commonspub/cpub_profiles", "c0f8d35eb1a6417ed7a4a772f039655d4886d0b2", [branch: "main"]},
"cpub_users": {:git, "https://github.com/commonspub/cpub_users", "94c56849af715c314860d52a08e191f5b274045a", [branch: "main"]},
"cpub_web_phoenix": {:git, "https://github.com/commonspub/cpub_web_phoenix", "a2c2a332982c9c893a642968bd82278d4375af1a", [branch: "main"]},
"db_connection": {:hex, :db_connection, "2.3.0", "d56ef906956a37959bcb385704fc04035f4f43c0f560dd23e00740daf8028c49", [:mix], [{:connection, "~> 1.0.2", [hex: :connection, repo: "hexpm", optional: false]}], "hexpm", "dcc082b8f723de9a630451b49fdbd7a59b065c4b38176fb147aaf773574d4520"},
"dbg": {:hex, :dbg, "1.0.1", "9c29813e5df8b4d275325416523d511e315656b8ac27a60519791f9cf476d83d", [:mix], [], "hexpm", "866159f496a1ad9b959501f16db3d1338bb6cef029a75a67ca5615d25b38345f"},
"decimal": {:hex, :decimal, "2.0.0", "a78296e617b0f5dd4c6caf57c714431347912ffb1d0842e998e9792b5642d697", [:mix], [], "hexpm", "34666e9c55dea81013e77d9d87370fe6cb6291d1ef32f46a1600230b1d44f577"},

View file

@ -1,8 +1,8 @@
defmodule VoxPublica.Repo.Migrations.InitPointers do
defmodule Bonfire.Repo.Migrations.InitPointers do
use Ecto.Migration
import Pointers.Migration
import Pointers.ULID.Migration
def up(), do: init(:up)
def down(), do: init(:down)

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.Repo.Migrations.CreateApTables do
defmodule Bonfire.Repo.Migrations.CreateApTables do
use Ecto.Migration
def up do

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.Repo.Migrations.CreateObanTables do
defmodule Bonfire.Repo.Migrations.CreateObanTables do
use Ecto.Migration
def up do

View file

@ -1,9 +1,9 @@
defmodule VoxPublica.Repo.Migrations.ImportMe do
defmodule Bonfire.Repo.Migrations.ImportMe do
use Ecto.Migration
def change do
# accounts & users
CommonsPub.Me.Migrations.change()
Bonfire.Me.Migrations.change()
# migrate_circle()

View file

@ -5,7 +5,7 @@
# Inside the script, you can read and write to any of your
# repositories directly:
#
# VoxPublica.Repo.insert!(%VoxPublica.SomeSchema{})
# Bonfire.Repo.insert!(%Bonfire.SomeSchema{})
#
# We recommend using the bang functions (`insert!`, `update!`
# and so on) as they will fail if something goes wrong.

View file

@ -1,8 +1,8 @@
defmodule CommonsPub.Me.AccountsTest do
defmodule Bonfire.Me.AccountsTest do
use VoxPublica.DataCase, async: true
alias CommonsPub.Me.Accounts
alias VoxPublica.Fake
use Bonfire.DataCase, async: true
alias Bonfire.Me.Accounts
alias Bonfire.Fake
describe "[registration]" do

View file

@ -1,9 +1,9 @@
defmodule VoxPublica.ActivityPub.AdapterTest do
use VoxPublica.DataCase
alias CommonsPub.Me.Accounts
alias VoxPublica.ActivityPub.Adapter
alias CommonsPub.Me.Users
alias VoxPublica.Fake
defmodule Bonfire.ActivityPub.AdapterTest do
use Bonfire.DataCase
alias Bonfire.Me.Accounts
alias Bonfire.ActivityPub.Adapter
alias Bonfire.Me.Users
alias Bonfire.Fake
describe "actor fetching" do
test "by username" do

View file

@ -1,9 +1,9 @@
defmodule VoxPublica.ActivityPub.IntegrationTest do
use VoxPublica.ConnCase
defmodule Bonfire.ActivityPub.IntegrationTest do
use Bonfire.ConnCase
alias CommonsPub.Me.Accounts
alias CommonsPub.Me.Users
alias VoxPublica.Fake
alias Bonfire.Me.Accounts
alias Bonfire.Me.Users
alias Bonfire.Fake
test "fetch users from AP API" do
assert {:ok, account} = Accounts.signup(Fake.account())

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.ChannelCase do
defmodule Bonfire.ChannelCase do
@moduledoc """
This module defines the test case to be used by
channel tests.
@ -11,7 +11,7 @@ defmodule VoxPublica.ChannelCase do
we enable the SQL sandbox, so changes done to the database
are reverted at the end of every test. If you are using
PostgreSQL, you can even run database tests asynchronously
by setting `use VoxPublicaWeb.ChannelCase, async: true`, although
by setting `use Bonfire.ChannelCase, async: true`, although
this option is not recommended for other databases.
"""
@ -21,18 +21,18 @@ defmodule VoxPublica.ChannelCase do
quote do
# Import conveniences for testing with channels
import Phoenix.ChannelTest
import VoxPublica.ChannelCase
import Bonfire.ChannelCase
# The default endpoint for testing
@endpoint CommonsPub.WebPhoenix.Endpoint
@endpoint Bonfire.WebPhoenix.Endpoint
end
end
setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(VoxPublica.Repo)
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Bonfire.Repo)
unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(VoxPublica.Repo, {:shared, self()})
Ecto.Adapters.SQL.Sandbox.mode(Bonfire.Repo, {:shared, self()})
end
:ok

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.ConnCase do
defmodule Bonfire.ConnCase do
@moduledoc """
This module defines the test case to be used by
tests that require setting up a connection.
@ -11,7 +11,7 @@ defmodule VoxPublica.ConnCase do
we enable the SQL sandbox, so changes done to the database
are reverted at the end of every test. If you are using
PostgreSQL, you can even run database tests asynchronously
by setting `use VoxPublicaWeb.ConnCase, async: true`, although
by setting `use Bonfire.ConnCase, async: true`, although
this option is not recommended for other databases.
"""
@ -23,22 +23,22 @@ defmodule VoxPublica.ConnCase do
import Plug.Conn
import Phoenix.ConnTest
import Phoenix.LiveViewTest
import VoxPublica.ConnCase
import VoxPublica.Test.ConnHelpers
import VoxPublica.Test.FakeHelpers
alias VoxPublica.Fake
alias CommonsPub.WebPhoenix.Router.Helpers, as: Routes
import Bonfire.ConnCase
import Bonfire.Test.ConnHelpers
import Bonfire.Test.FakeHelpers
alias Bonfire.Fake
alias Bonfire.WebPhoenix.Router.Helpers, as: Routes
# The default endpoint for testing
@endpoint CommonsPub.WebPhoenix.Endpoint
@endpoint Bonfire.WebPhoenix.Endpoint
end
end
setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(VoxPublica.Repo)
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Bonfire.Repo)
unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(VoxPublica.Repo, {:shared, self()})
Ecto.Adapters.SQL.Sandbox.mode(Bonfire.Repo, {:shared, self()})
end
{:ok, []}

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.Test.ConnHelpers do
defmodule Bonfire.Test.ConnHelpers do
import ExUnit.Assertions
import Plug.Conn
@ -8,7 +8,7 @@ defmodule VoxPublica.Test.ConnHelpers do
alias CommonsPub.Accounts.Account
alias CommonsPub.Users.User
@endpoint CommonsPub.WebPhoenix.Endpoint
@endpoint Bonfire.WebPhoenix.Endpoint
### conn

View file

@ -1,4 +1,4 @@
defmodule VoxPublica.DataCase do
defmodule Bonfire.DataCase do
@moduledoc """
This module defines the setup for tests requiring
access to the application's data layer.
@ -10,7 +10,7 @@ defmodule VoxPublica.DataCase do
we enable the SQL sandbox, so changes done to the database
are reverted at the end of every test. If you are using
PostgreSQL, you can even run database tests asynchronously
by setting `use VoxPublica.DataCase, async: true`, although
by setting `use Bonfire.DataCase, async: true`, although
this option is not recommended for other databases.
"""
@ -18,20 +18,20 @@ defmodule VoxPublica.DataCase do
using do
quote do
alias VoxPublica.Repo
alias Bonfire.Repo
import Ecto
import Ecto.Changeset
import Ecto.Query
import VoxPublica.DataCase
import Bonfire.DataCase
end
end
setup tags do
:ok = Ecto.Adapters.SQL.Sandbox.checkout(VoxPublica.Repo)
:ok = Ecto.Adapters.SQL.Sandbox.checkout(Bonfire.Repo)
unless tags[:async] do
Ecto.Adapters.SQL.Sandbox.mode(VoxPublica.Repo, {:shared, self()})
Ecto.Adapters.SQL.Sandbox.mode(Bonfire.Repo, {:shared, self()})
end
:ok

View file

@ -1,6 +1,6 @@
defmodule VoxPublica.DataHelpers do
defmodule Bonfire.DataHelpers do
# import ExUnit.Assertions
# alias VoxPublica.Fake
# alias Bonfire.Fake
end

View file

@ -1,8 +1,8 @@
defmodule VoxPublica.Test.FakeHelpers do
defmodule Bonfire.Test.FakeHelpers do
alias CommonsPub.Accounts.Account
alias VoxPublica.{Fake, Repo}
alias CommonsPub.Me.{Accounts, Users}
alias Bonfire.{Fake, Repo}
alias Bonfire.Me.{Accounts, Users}
import ExUnit.Assertions
def fake_account!(attrs \\ %{}) do

View file

@ -1,2 +1,2 @@
ExUnit.start()
Ecto.Adapters.SQL.Sandbox.mode(VoxPublica.Repo, :manual)
Ecto.Adapters.SQL.Sandbox.mode(Bonfire.Repo, :manual)

View file

@ -1,8 +1,8 @@
defmodule CommonsPub.Me.UsersTest do
defmodule Bonfire.Me.UsersTest do
use VoxPublica.DataCase, async: true
alias CommonsPub.Me.{Accounts, Users}
alias VoxPublica.Fake
use Bonfire.DataCase, async: true
alias Bonfire.Me.{Accounts, Users}
alias Bonfire.Fake
test "creation works" do
assert {:ok, account} = Accounts.signup(Fake.account())

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.ChangePasswordController.Test do
defmodule Bonfire.WebPhoenix.ChangePasswordController.Test do
use VoxPublica.ConnCase
# alias CommonsPub.Me.Accounts
use Bonfire.ConnCase
# alias Bonfire.Me.Accounts
# test "form renders" do
# conn = conn()

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.ConfirmEmailController.Test do
defmodule Bonfire.WebPhoenix.ConfirmEmailController.Test do
use VoxPublica.ConnCase
alias VoxPublica.Fake
use Bonfire.ConnCase
alias Bonfire.Fake
describe "request" do

View file

@ -1,6 +1,6 @@
defmodule CommonsPub.WebPhoenix.CreateUserController.Test do
defmodule Bonfire.WebPhoenix.CreateUserController.Test do
use VoxPublica.ConnCase
use Bonfire.ConnCase
test "form renders" do
alice = fake_account!()

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.ForgotPasswordController.Test do
defmodule Bonfire.WebPhoenix.ForgotPasswordController.Test do
use VoxPublica.ConnCase
# alias CommonsPub.Me.Accounts
use Bonfire.ConnCase
# alias Bonfire.Me.Accounts
# test "form renders" do
# conn = conn()

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.LoginController.Test do
defmodule Bonfire.WebPhoenix.LoginController.Test do
use VoxPublica.ConnCase
alias CommonsPub.Me.Accounts
use Bonfire.ConnCase
alias Bonfire.Me.Accounts
test "form renders" do
conn = conn()

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.ResetPasswordController.Test do
defmodule Bonfire.WebPhoenix.ResetPasswordController.Test do
use VoxPublica.ConnCase
# alias VoxPublica.Fake
use Bonfire.ConnCase
# alias Bonfire.Fake
# describe "request" do

View file

@ -1,6 +1,6 @@
defmodule CommonsPub.WebPhoenix.SignupController.Test do
defmodule Bonfire.WebPhoenix.SignupController.Test do
use VoxPublica.ConnCase
use Bonfire.ConnCase
test "form renders" do
conn = conn()

View file

@ -1,7 +1,7 @@
defmodule CommonsPub.WebPhoenix.SwitchUserController.Test do
defmodule Bonfire.WebPhoenix.SwitchUserController.Test do
use VoxPublica.ConnCase
alias VoxPublica.Fake
use Bonfire.ConnCase
alias Bonfire.Fake
describe "index" do