forked from potsda.mn/mobilizon
Rename project to Mobilizon
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
3b48ac957f
commit
559c889f1b
|
@ -6,11 +6,11 @@ services:
|
|||
|
||||
variables:
|
||||
MIX_ENV: "test"
|
||||
POSTGRES_DB: eventos_test
|
||||
POSTGRES_DB: mobilizon_test
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_PASSWORD: ""
|
||||
POSTGRES_HOST: postgres
|
||||
GEOLITE_CITIES_PATH: "/builds/tcit/eventos/priv/data/GeoLite2-City.mmdb"
|
||||
GEOLITE_CITIES_PATH: "/builds/tcit/mobilizon/priv/data/GeoLite2-City.mmdb"
|
||||
|
||||
cache:
|
||||
key: "$CI_JOB_NAME"
|
||||
|
|
2
LICENSE
2
LICENSE
|
@ -629,7 +629,7 @@ to attach them to the start of each source file to most effectively
|
|||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
eventos
|
||||
Mobilizon
|
||||
Copyright (C) 2018 Thomas Citharel
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Eventos
|
||||
# Mobilizon
|
||||
|
||||
## Development
|
||||
|
||||
|
@ -22,7 +22,7 @@ to start a database container, an API container and the front-end dev container
|
|||
* Fetch dependencies with `mix deps.get`.
|
||||
* Create your database with `mix ecto.create`.
|
||||
* Create the postgis extension on the database with a postgres user that has
|
||||
superuser capabilities: `psql eventos_dev`
|
||||
superuser capabilities: `psql mobilizon_dev`
|
||||
|
||||
``` create extension if not exists postgis; ```
|
||||
|
||||
|
|
|
@ -6,10 +6,10 @@
|
|||
use Mix.Config
|
||||
|
||||
# General application configuration
|
||||
config :eventos,
|
||||
ecto_repos: [Eventos.Repo]
|
||||
config :mobilizon,
|
||||
ecto_repos: [Mobilizon.Repo]
|
||||
|
||||
config :eventos, :instance,
|
||||
config :mobilizon, :instance,
|
||||
name: "Localhost",
|
||||
version: "1.0.0-dev",
|
||||
registrations_open: true
|
||||
|
@ -20,11 +20,11 @@ config :mime, :types, %{
|
|||
}
|
||||
|
||||
# Configures the endpoint
|
||||
config :eventos, EventosWeb.Endpoint,
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
url: [host: "localhost"],
|
||||
secret_key_base: "1yOazsoE0Wqu4kXk3uC5gu3jDbShOimTCzyFL3OjCdBmOXMyHX87Qmf3+Tu9s0iM",
|
||||
render_errors: [view: EventosWeb.ErrorView, accepts: ~w(html json)],
|
||||
pubsub: [name: Eventos.PubSub, adapter: Phoenix.PubSub.PG2],
|
||||
render_errors: [view: MobilizonWeb.ErrorView, accepts: ~w(html json)],
|
||||
pubsub: [name: Mobilizon.PubSub, adapter: Phoenix.PubSub.PG2],
|
||||
instance: "localhost",
|
||||
email_from: "noreply@localhost",
|
||||
email_to: "noreply@localhost"
|
||||
|
@ -38,12 +38,12 @@ config :logger, :console,
|
|||
# of this file so it overrides the configuration defined above.
|
||||
import_config "#{Mix.env()}.exs"
|
||||
|
||||
config :eventos, EventosWeb.Guardian,
|
||||
issuer: "eventos",
|
||||
config :mobilizon, MobilizonWeb.Guardian,
|
||||
issuer: "mobilizon",
|
||||
secret_key: "ty0WM7YBE3ojvxoUQxo8AERrNpfbXnIJ82ovkPdqbUFw31T5LcK8wGjaOiReVQjo"
|
||||
|
||||
config :guardian, Guardian.DB,
|
||||
repo: Eventos.Repo,
|
||||
repo: Mobilizon.Repo,
|
||||
# default
|
||||
schema_name: "guardian_tokens",
|
||||
# store all token types if not set
|
||||
|
|
|
@ -6,7 +6,7 @@ use Mix.Config
|
|||
# The watchers configuration can be used to run external
|
||||
# watchers to your application. For example, we use it
|
||||
# with brunch.io to recompile .js and .css sources.
|
||||
config :eventos, EventosWeb.Endpoint,
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
http: [port: System.get_env("PORT") || 4001],
|
||||
debug_errors: true,
|
||||
code_reloader: true,
|
||||
|
@ -30,13 +30,13 @@ config :eventos, EventosWeb.Endpoint,
|
|||
# different ports.
|
||||
|
||||
# Watch static and templates for browser reloading.
|
||||
config :eventos, EventosWeb.Endpoint,
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
live_reload: [
|
||||
patterns: [
|
||||
~r{priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$},
|
||||
~r{priv/gettext/.*(po)$},
|
||||
~r{lib/eventos_web/views/.*(ex)$},
|
||||
~r{lib/eventos_web/templates/.*(eex)$}
|
||||
~r{lib/mobilizon_web/views/.*(ex)$},
|
||||
~r{lib/mobilizon_web/templates/.*(eex)$}
|
||||
]
|
||||
]
|
||||
|
||||
|
@ -47,14 +47,14 @@ config :logger, :console, format: "[$level] $message\n", level: :debug
|
|||
# in production as building large stacktraces may be expensive.
|
||||
config :phoenix, :stacktrace_depth, 20
|
||||
|
||||
config :eventos, Eventos.Mailer, adapter: Bamboo.LocalAdapter
|
||||
config :mobilizon, Mobilizon.Mailer, adapter: Bamboo.LocalAdapter
|
||||
|
||||
# Configure your database
|
||||
config :eventos, Eventos.Repo,
|
||||
config :mobilizon, Mobilizon.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
types: Eventos.PostgresTypes,
|
||||
types: Mobilizon.PostgresTypes,
|
||||
username: System.get_env("POSTGRES_USER") || "elixir",
|
||||
password: System.get_env("POSTGRES_PASSWORD") || "elixir",
|
||||
database: System.get_env("POSTGRES_DATABASE") || "eventos_dev",
|
||||
database: System.get_env("POSTGRES_DATABASE") || "mobilizon_dev",
|
||||
hostname: System.get_env("POSTGRES_HOST") || "localhost",
|
||||
pool_size: 10
|
||||
|
|
|
@ -3,7 +3,7 @@ use Mix.Config
|
|||
# For production, we often load configuration from external
|
||||
# sources, such as your system environment. For this reason,
|
||||
# you won't find the :http configuration below, but set inside
|
||||
# EventosWeb.Endpoint.init/2 when load_from_system_env is
|
||||
# MobilizonWeb.Endpoint.init/2 when load_from_system_env is
|
||||
# true. Any dynamic configuration should be done there.
|
||||
#
|
||||
# Don't forget to configure the url host to something meaningful,
|
||||
|
@ -13,12 +13,12 @@ use Mix.Config
|
|||
# containing the digested version of static files. This
|
||||
# manifest is generated by the mix phx.digest task
|
||||
# which you typically run after static files are built.
|
||||
config :eventos, EventosWeb.Endpoint,
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
load_from_system_env: true,
|
||||
url: [host: "example.com", port: 80],
|
||||
cache_static_manifest: "priv/static/cache_manifest.json"
|
||||
|
||||
config :eventos, Eventos.Mailer,
|
||||
config :mobilizon, Mobilizon.Mailer,
|
||||
adapter: Bamboo.SMTPAdapter,
|
||||
server: "localhost",
|
||||
hostname: "localhost",
|
||||
|
@ -45,7 +45,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 :eventos, EventosWeb.Endpoint,
|
||||
# config :mobilizon, MobilizonWeb.Endpoint,
|
||||
# ...
|
||||
# url: [host: "example.com", port: 443],
|
||||
# https: [:inet6,
|
||||
|
@ -60,7 +60,7 @@ config :logger, level: :info
|
|||
# We also recommend setting `force_ssl`, ensuring no data is
|
||||
# ever sent via http, always redirecting to https:
|
||||
#
|
||||
# config :eventos, EventosWeb.Endpoint,
|
||||
# config :mobilizon, MobilizonWeb.Endpoint,
|
||||
# force_ssl: [hsts: true]
|
||||
#
|
||||
# Check `Plug.SSL` for all available options in `force_ssl`.
|
||||
|
@ -75,7 +75,7 @@ config :logger, level: :info
|
|||
# Alternatively, you can configure exactly which server to
|
||||
# start per endpoint:
|
||||
#
|
||||
# config :eventos, EventosWeb.Endpoint, server: true
|
||||
# config :mobilizon, MobilizonWeb.Endpoint, server: true
|
||||
#
|
||||
|
||||
# Finally import the config/prod.secret.exs
|
||||
|
|
|
@ -2,7 +2,7 @@ use Mix.Config
|
|||
|
||||
# We don't run a server during test. If one is required,
|
||||
# you can enable the server option below.
|
||||
config :eventos, EventosWeb.Endpoint,
|
||||
config :mobilizon, MobilizonWeb.Endpoint,
|
||||
http: [port: 4001],
|
||||
server: false
|
||||
|
||||
|
@ -13,13 +13,13 @@ config :logger,
|
|||
level: :info
|
||||
|
||||
# Configure your database
|
||||
config :eventos, Eventos.Repo,
|
||||
config :mobilizon, Mobilizon.Repo,
|
||||
adapter: Ecto.Adapters.Postgres,
|
||||
username: System.get_env("POSTGRES_USER") || "elixir",
|
||||
password: System.get_env("POSTGRES_PASSWORD") || "elixir",
|
||||
database: "eventos_test",
|
||||
database: "mobilizon_test",
|
||||
hostname: System.get_env("POSTGRES_HOST") || "localhost",
|
||||
pool: Ecto.Adapters.SQL.Sandbox,
|
||||
types: Eventos.PostgresTypes
|
||||
types: Mobilizon.PostgresTypes
|
||||
|
||||
config :eventos, Eventos.Mailer, adapter: Bamboo.TestAdapter
|
||||
config :mobilizon, Mobilizon.Mailer, adapter: Bamboo.TestAdapter
|
||||
|
|
|
@ -3,15 +3,15 @@ version: '3'
|
|||
services:
|
||||
|
||||
postgres:
|
||||
container_name: eventos_db
|
||||
container_name: mobilizon_db
|
||||
restart: unless-stopped
|
||||
image: mdillon/postgis:10
|
||||
environment:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_DB: eventos_dev
|
||||
POSTGRES_DB: mobilizon_dev
|
||||
|
||||
front:
|
||||
container_name: eventos_front
|
||||
container_name: mobilizon_front
|
||||
restart: unless-stopped
|
||||
build: ./js
|
||||
volumes:
|
||||
|
@ -21,7 +21,7 @@ services:
|
|||
entrypoint: entrypoint
|
||||
|
||||
api:
|
||||
container_name: eventos_api
|
||||
container_name: mobilizon_api
|
||||
restart: unless-stopped
|
||||
build: .
|
||||
volumes:
|
||||
|
@ -33,7 +33,7 @@ services:
|
|||
environment:
|
||||
POSTGRES_PASSWORD: postgres
|
||||
POSTGRES_USER: postgres
|
||||
POSTGRES_DATABASE: eventos_dev
|
||||
POSTGRES_DATABASE: mobilizon_dev
|
||||
POSTGRES_HOST: postgres
|
||||
PORT: 4000
|
||||
entrypoint: entrypoint
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
API_HOST=eventos.tld
|
||||
API_ORIGIN=https://eventos.tld
|
||||
API_HOST=mobilizon.tld
|
||||
API_ORIGIN=https://mobilizon.tld
|
||||
API_PATH=/api/v1
|
||||
|
|
2
js/package-lock.json
generated
2
js/package-lock.json
generated
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "eventos",
|
||||
"name": "mobilizon",
|
||||
"version": "0.1.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"name": "eventos",
|
||||
"name": "mobilizon",
|
||||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
|
|
@ -5,11 +5,11 @@
|
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title>eventos</title>
|
||||
<title>mobilizon</title>
|
||||
</head>
|
||||
<body>
|
||||
<noscript>
|
||||
<strong>We're sorry but eventos doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
<strong>We're sorry but mobilizon doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
|
||||
</noscript>
|
||||
<div id="app"></div>
|
||||
<!-- built files will be auto injected -->
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "eventos",
|
||||
"short_name": "eventos",
|
||||
"name": "mobilizon",
|
||||
"short_name": "mobilizon",
|
||||
"icons": [
|
||||
{
|
||||
"src": "/img/icons/android-chrome-192x192.png",
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<v-layout align-center>
|
||||
<v-flex text-xs-center>
|
||||
<h1 class="display-3">Find events you like</h1>
|
||||
<h2>Share it with Eventos</h2>
|
||||
<h2>Share it with Mobilizon</h2>
|
||||
<v-btn :to="{ name: 'Register' }">{{ $t("home.register") }}</v-btn>
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
>
|
||||
<v-toolbar-title style="width: 300px" class="ml-0 pl-3 white--text">
|
||||
<v-toolbar-side-icon @click.stop="toggleDrawer()"></v-toolbar-side-icon>
|
||||
<router-link :to="{ name: 'Home' }" class="hidden-sm-and-down white--text">Eventos
|
||||
<router-link :to="{ name: 'Home' }" class="hidden-sm-and-down white--text">Mobilizon
|
||||
</router-link>
|
||||
</v-toolbar-title>
|
||||
<v-autocomplete
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
export default {
|
||||
home: {
|
||||
welcome: 'Welcome on Eventos, {username}',
|
||||
welcome_off: 'Welcome on Eventos',
|
||||
welcome: 'Welcome on Mobilizon, {username}',
|
||||
welcome_off: 'Welcome on Mobilizon',
|
||||
events: 'Events',
|
||||
groups: 'Groups',
|
||||
login: 'Login',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
export default {
|
||||
home: {
|
||||
welcome: 'Bienvenue sur Eventos, {username}!',
|
||||
welcome_off: 'Bienvenue sur Eventos',
|
||||
welcome: 'Bienvenue sur Mobilizon, {username}!',
|
||||
welcome_off: 'Bienvenue sur Mobilizon',
|
||||
events: 'Événements',
|
||||
groups: 'Groupes',
|
||||
login: 'Se connecter',
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
defmodule Eventos do
|
||||
defmodule Mobilizon do
|
||||
@moduledoc """
|
||||
Eventos is a decentralized and federated Meetup-like using [ActivityPub](http://activitypub.rocks/).
|
||||
Mobilizon is a decentralized and federated Meetup-like using [ActivityPub](http://activitypub.rocks/).
|
||||
|
||||
It consists of an API server build with [Elixir](http://elixir-lang.github.io/) and the [Phoenix Framework](https://hexdocs.pm/phoenix).
|
||||
|
||||
Eventos relies on `Guardian` for auth and `Geo`/Postgis for geographical informations.
|
||||
Mobilizon relies on `Guardian` for auth and `Geo`/Postgis for geographical informations.
|
||||
"""
|
||||
end
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
defmodule Eventos.Mailer do
|
||||
@moduledoc """
|
||||
Mailer
|
||||
"""
|
||||
use Bamboo.Mailer, otp_app: :eventos
|
||||
end
|
|
@ -1,12 +1,12 @@
|
|||
defmodule EventosWeb do
|
||||
defmodule MobilizonWeb do
|
||||
@moduledoc """
|
||||
The entrypoint for defining your web interface, such
|
||||
as controllers, views, channels and so on.
|
||||
|
||||
This can be used in your application as:
|
||||
|
||||
use EventosWeb, :controller
|
||||
use EventosWeb, :view
|
||||
use MobilizonWeb, :controller
|
||||
use MobilizonWeb, :view
|
||||
|
||||
The definitions below will be executed for every view,
|
||||
controller, etc, so keep them short and clean, focused
|
||||
|
@ -19,18 +19,18 @@ defmodule EventosWeb do
|
|||
|
||||
def controller do
|
||||
quote do
|
||||
use Phoenix.Controller, namespace: EventosWeb
|
||||
use Phoenix.Controller, namespace: MobilizonWeb
|
||||
import Plug.Conn
|
||||
import EventosWeb.Router.Helpers
|
||||
import EventosWeb.Gettext
|
||||
import MobilizonWeb.Router.Helpers
|
||||
import MobilizonWeb.Gettext
|
||||
end
|
||||
end
|
||||
|
||||
def view do
|
||||
quote do
|
||||
use Phoenix.View,
|
||||
root: "lib/eventos_web/templates",
|
||||
namespace: EventosWeb
|
||||
root: "lib/mobilizon_web/templates",
|
||||
namespace: MobilizonWeb
|
||||
|
||||
# Import convenience functions from controllers
|
||||
import Phoenix.Controller, only: [get_flash: 2, view_module: 1]
|
||||
|
@ -38,9 +38,9 @@ defmodule EventosWeb do
|
|||
# Use all HTML functionality (forms, tags, etc)
|
||||
use Phoenix.HTML
|
||||
|
||||
import EventosWeb.Router.Helpers
|
||||
import EventosWeb.ErrorHelpers
|
||||
import EventosWeb.Gettext
|
||||
import MobilizonWeb.Router.Helpers
|
||||
import MobilizonWeb.ErrorHelpers
|
||||
import MobilizonWeb.Gettext
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -55,7 +55,7 @@ defmodule EventosWeb do
|
|||
def channel do
|
||||
quote do
|
||||
use Phoenix.Channel
|
||||
import EventosWeb.Gettext
|
||||
import MobilizonWeb.Gettext
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
defmodule EventosWeb.InboxesController do
|
||||
use EventosWeb, :controller
|
||||
|
||||
def create(conn) do
|
||||
end
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="<%= static_url(EventosWeb.Endpoint, "/css/email.css") %>">
|
||||
</head>
|
||||
<body>
|
||||
<%= render @view_module, @view_template, assigns %>
|
||||
|
||||
<p><%= gettext "An email sent by Eventos on %{instance}.", instance: @instance %></p>
|
||||
</body>
|
||||
</html>
|
|
@ -1,3 +0,0 @@
|
|||
<%= render @view_module, @view_template, assigns %>
|
||||
|
||||
<%= gettext "An email sent by Eventos on %{instance}.", instance: @instance %>
|
|
@ -1,3 +0,0 @@
|
|||
defmodule Eventos.EmailView do
|
||||
use EventosWeb, :view
|
||||
end
|
|
@ -1,6 +0,0 @@
|
|||
defmodule EventosWeb.PageView do
|
||||
@moduledoc """
|
||||
View for our webapp
|
||||
"""
|
||||
use EventosWeb, :view
|
||||
end
|
|
@ -1,10 +0,0 @@
|
|||
defmodule EventosWeb.UserSessionView do
|
||||
@moduledoc """
|
||||
View for user Sessions
|
||||
"""
|
||||
use EventosWeb, :view
|
||||
|
||||
def render("token.json", %{token: token, user: user}) do
|
||||
%{token: token, user: render_one(user, EventosWeb.UserView, "user_simple.json")}
|
||||
end
|
||||
end
|
|
@ -4,10 +4,10 @@ defmodule Mix.Tasks.CreateBot do
|
|||
"""
|
||||
|
||||
use Mix.Task
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.Bot
|
||||
alias Eventos.Repo
|
||||
alias Eventos.Actors.User
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Bot
|
||||
alias Mobilizon.Repo
|
||||
alias Mobilizon.Actors.User
|
||||
import Logger
|
||||
|
||||
@shortdoc "Register user"
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Eventos.Activity do
|
||||
defmodule Mobilizon.Activity do
|
||||
@moduledoc """
|
||||
Represents an activity
|
||||
"""
|
|
@ -1,6 +1,6 @@
|
|||
import EctoEnum
|
||||
|
||||
defenum(Eventos.Actors.ActorTypeEnum, :actor_type, [
|
||||
defenum(Mobilizon.Actors.ActorTypeEnum, :actor_type, [
|
||||
:Person,
|
||||
:Application,
|
||||
:Group,
|
||||
|
@ -8,19 +8,19 @@ defenum(Eventos.Actors.ActorTypeEnum, :actor_type, [
|
|||
:Service
|
||||
])
|
||||
|
||||
defmodule Eventos.Actors.Actor do
|
||||
defmodule Mobilizon.Actors.Actor do
|
||||
@moduledoc """
|
||||
Represents an actor (local and remote actors)
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.{Actor, User, Follower, Member}
|
||||
alias Eventos.Events.Event
|
||||
alias Eventos.Service.ActivityPub
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Actor, User, Follower, Member}
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Service.ActivityPub
|
||||
|
||||
import Ecto.Query
|
||||
alias Eventos.Repo
|
||||
alias Mobilizon.Repo
|
||||
|
||||
import Logger
|
||||
|
||||
|
@ -33,7 +33,7 @@ defmodule Eventos.Actors.Actor do
|
|||
field(:following_url, :string)
|
||||
field(:followers_url, :string)
|
||||
field(:shared_inbox_url, :string)
|
||||
field(:type, Eventos.Actors.ActorTypeEnum, default: :Person)
|
||||
field(:type, Mobilizon.Actors.ActorTypeEnum, default: :Person)
|
||||
field(:name, :string)
|
||||
field(:domain, :string)
|
||||
field(:summary, :string)
|
||||
|
@ -73,7 +73,7 @@ defmodule Eventos.Actors.Actor do
|
|||
:banner_url,
|
||||
:user_id
|
||||
])
|
||||
|> put_change(:url, "#{EventosWeb.Endpoint.url()}/@#{attrs["preferred_username"]}")
|
||||
|> put_change(:url, "#{MobilizonWeb.Endpoint.url()}/@#{attrs["preferred_username"]}")
|
||||
|> validate_required([:preferred_username, :keys, :suspended, :url])
|
||||
|> unique_constraint(:preferred_username, name: :actors_preferred_username_domain_index)
|
||||
end
|
||||
|
@ -94,10 +94,10 @@ defmodule Eventos.Actors.Actor do
|
|||
:user_id
|
||||
])
|
||||
|> unique_constraint(:preferred_username, name: :actors_preferred_username_domain_index)
|
||||
|> put_change(:url, "#{EventosWeb.Endpoint.url()}/@#{attrs.preferred_username}")
|
||||
|> put_change(:inbox_url, "#{EventosWeb.Endpoint.url()}/@#{attrs.preferred_username}/inbox")
|
||||
|> put_change(:outbox_url, "#{EventosWeb.Endpoint.url()}/@#{attrs.preferred_username}/outbox")
|
||||
|> put_change(:shared_inbox_url, "#{EventosWeb.Endpoint.url()}/inbox")
|
||||
|> put_change(:url, "#{MobilizonWeb.Endpoint.url()}/@#{attrs.preferred_username}")
|
||||
|> put_change(:inbox_url, "#{MobilizonWeb.Endpoint.url()}/@#{attrs.preferred_username}/inbox")
|
||||
|> put_change(:outbox_url, "#{MobilizonWeb.Endpoint.url()}/@#{attrs.preferred_username}/outbox")
|
||||
|> put_change(:shared_inbox_url, "#{MobilizonWeb.Endpoint.url()}/inbox")
|
||||
|> validate_required([:preferred_username, :keys, :suspended, :url, :type])
|
||||
end
|
||||
|
||||
|
@ -160,14 +160,14 @@ defmodule Eventos.Actors.Actor do
|
|||
])
|
||||
|> put_change(
|
||||
:outbox_url,
|
||||
"#{EventosWeb.Endpoint.url()}/@#{params["preferred_username"]}/outbox"
|
||||
"#{MobilizonWeb.Endpoint.url()}/@#{params["preferred_username"]}/outbox"
|
||||
)
|
||||
|> put_change(
|
||||
:inbox_url,
|
||||
"#{EventosWeb.Endpoint.url()}/@#{params["preferred_username"]}/inbox"
|
||||
"#{MobilizonWeb.Endpoint.url()}/@#{params["preferred_username"]}/inbox"
|
||||
)
|
||||
|> put_change(:shared_inbox_url, "#{EventosWeb.Endpoint.url()}/inbox")
|
||||
|> put_change(:url, "#{EventosWeb.Endpoint.url()}/@#{params["preferred_username"]}")
|
||||
|> put_change(:shared_inbox_url, "#{MobilizonWeb.Endpoint.url()}/inbox")
|
||||
|> put_change(:url, "#{MobilizonWeb.Endpoint.url()}/@#{params["preferred_username"]}")
|
||||
|> put_change(:domain, nil)
|
||||
|> put_change(:type, :Group)
|
||||
|> validate_required([:url, :outbox_url, :inbox_url, :type, :name, :preferred_username])
|
||||
|
@ -180,7 +180,7 @@ defmodule Eventos.Actors.Actor do
|
|||
def get_public_key_for_url(url) do
|
||||
with {:ok, %Actor{} = actor} <- Actors.get_or_fetch_by_url(url) do
|
||||
actor.keys
|
||||
|> Eventos.Service.ActivityPub.Utils.pem_to_public_key()
|
||||
|> Mobilizon.Service.ActivityPub.Utils.pem_to_public_key()
|
||||
else
|
||||
_ -> :error
|
||||
end
|
|
@ -1,15 +1,15 @@
|
|||
defmodule Eventos.Actors do
|
||||
defmodule Mobilizon.Actors do
|
||||
@moduledoc """
|
||||
The Actors context.
|
||||
"""
|
||||
|
||||
import Ecto.Query, warn: false
|
||||
alias Eventos.Repo
|
||||
alias Mobilizon.Repo
|
||||
|
||||
alias Eventos.Actors.Actor
|
||||
alias Eventos.Actors
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Actors
|
||||
|
||||
alias Eventos.Service.ActivityPub
|
||||
alias Mobilizon.Service.ActivityPub
|
||||
|
||||
@doc """
|
||||
Returns the list of actors.
|
||||
|
@ -147,7 +147,7 @@ defmodule Eventos.Actors do
|
|||
|> Repo.insert()
|
||||
end
|
||||
|
||||
alias Eventos.Actors.User
|
||||
alias Mobilizon.Actors.User
|
||||
|
||||
@doc """
|
||||
Returns the list of users.
|
||||
|
@ -361,7 +361,7 @@ defmodule Eventos.Actors do
|
|||
case Comeonin.Argon2.checkpw(password, user.password_hash) do
|
||||
true ->
|
||||
# Yes, create and return the token
|
||||
EventosWeb.Guardian.encode_and_sign(user)
|
||||
MobilizonWeb.Guardian.encode_and_sign(user)
|
||||
|
||||
_ ->
|
||||
# No, return an error
|
||||
|
@ -391,7 +391,7 @@ defmodule Eventos.Actors do
|
|||
end
|
||||
|
||||
actor =
|
||||
Eventos.Actors.Actor.registration_changeset(%Eventos.Actors.Actor{}, %{
|
||||
Mobilizon.Actors.Actor.registration_changeset(%Mobilizon.Actors.Actor{}, %{
|
||||
preferred_username: username,
|
||||
domain: nil,
|
||||
keys: pem,
|
||||
|
@ -399,7 +399,7 @@ defmodule Eventos.Actors do
|
|||
})
|
||||
|
||||
user =
|
||||
Eventos.Actors.User.registration_changeset(%Eventos.Actors.User{}, %{
|
||||
Mobilizon.Actors.User.registration_changeset(%Mobilizon.Actors.User{}, %{
|
||||
email: email,
|
||||
password: password
|
||||
})
|
||||
|
@ -407,7 +407,7 @@ defmodule Eventos.Actors do
|
|||
actor_with_user = Ecto.Changeset.put_assoc(actor, :user, user)
|
||||
|
||||
try do
|
||||
Eventos.Repo.insert!(actor_with_user)
|
||||
Mobilizon.Repo.insert!(actor_with_user)
|
||||
find_by_email(email)
|
||||
rescue
|
||||
e in Ecto.InvalidChangesetError ->
|
||||
|
@ -421,7 +421,7 @@ defmodule Eventos.Actors do
|
|||
pem = [entry] |> :public_key.pem_encode() |> String.trim_trailing()
|
||||
|
||||
actor =
|
||||
Eventos.Actors.Actor.registration_changeset(%Eventos.Actors.Actor{}, %{
|
||||
Mobilizon.Actors.Actor.registration_changeset(%Mobilizon.Actors.Actor{}, %{
|
||||
preferred_username: name,
|
||||
domain: nil,
|
||||
keys: pem,
|
||||
|
@ -430,7 +430,7 @@ defmodule Eventos.Actors do
|
|||
})
|
||||
|
||||
try do
|
||||
Eventos.Repo.insert!(actor)
|
||||
Mobilizon.Repo.insert!(actor)
|
||||
rescue
|
||||
e in Ecto.InvalidChangesetError ->
|
||||
{:error, e.changeset}
|
||||
|
@ -520,7 +520,7 @@ defmodule Eventos.Actors do
|
|||
User.changeset(user, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Actors.Member
|
||||
alias Mobilizon.Actors.Member
|
||||
|
||||
@doc """
|
||||
Gets a single member.
|
||||
|
@ -626,7 +626,7 @@ defmodule Eventos.Actors do
|
|||
)
|
||||
end
|
||||
|
||||
alias Eventos.Actors.Bot
|
||||
alias Mobilizon.Actors.Bot
|
||||
|
||||
@doc """
|
||||
Returns the list of bots.
|
||||
|
@ -727,7 +727,7 @@ defmodule Eventos.Actors do
|
|||
Bot.changeset(bot, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Actors.Follower
|
||||
alias Mobilizon.Actors.Follower
|
||||
|
||||
@doc """
|
||||
Gets a single follower.
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Actors.Bot do
|
||||
defmodule Mobilizon.Actors.Bot do
|
||||
@moduledoc """
|
||||
Represents a local bot
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Actors.{Actor, User, Bot}
|
||||
alias Mobilizon.Actors.{Actor, User, Bot}
|
||||
|
||||
schema "bots" do
|
||||
field(:source, :string)
|
|
@ -1,11 +1,11 @@
|
|||
defmodule Eventos.Actors.Follower do
|
||||
defmodule Mobilizon.Actors.Follower do
|
||||
@moduledoc """
|
||||
Represents the following of an actor to another actor
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Actors.Follower
|
||||
alias Eventos.Actors.Actor
|
||||
alias Mobilizon.Actors.Follower
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
schema "followers" do
|
||||
field(:approved, :boolean, default: false)
|
|
@ -1,11 +1,11 @@
|
|||
defmodule Eventos.Actors.Member do
|
||||
defmodule Mobilizon.Actors.Member do
|
||||
@moduledoc """
|
||||
Represents the membership of an actor to a group
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Actors.Member
|
||||
alias Eventos.Actors.Actor
|
||||
alias Mobilizon.Actors.Member
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
schema "members" do
|
||||
field(:approved, :boolean, default: true)
|
|
@ -1,8 +1,8 @@
|
|||
defmodule Eventos.Actors.Service.Activation do
|
||||
defmodule Mobilizon.Actors.Service.Activation do
|
||||
@moduledoc false
|
||||
|
||||
alias Eventos.{Mailer, Repo, Actors.User, Actors}
|
||||
alias Eventos.Email.User, as: UserEmail
|
||||
alias Mobilizon.{Mailer, Repo, Actors.User, Actors}
|
||||
alias Mobilizon.Email.User, as: UserEmail
|
||||
|
||||
require Logger
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Actors.Service.ResetPassword do
|
||||
defmodule Mobilizon.Actors.Service.ResetPassword do
|
||||
@moduledoc false
|
||||
|
||||
require Logger
|
||||
|
||||
alias Eventos.{Mailer, Repo, Actors.User}
|
||||
alias Eventos.Email.User, as: UserEmail
|
||||
alias Mobilizon.{Mailer, Repo, Actors.User}
|
||||
alias Mobilizon.Email.User, as: UserEmail
|
||||
|
||||
@doc """
|
||||
Check that the provided token is correct and update provided password
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Actors.User do
|
||||
defmodule Mobilizon.Actors.User do
|
||||
@moduledoc """
|
||||
Represents a local user
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Actors.{Actor, User}
|
||||
alias Mobilizon.Actors.{Actor, User}
|
||||
|
||||
schema "users" do
|
||||
field(:email, :string)
|
|
@ -1,11 +1,11 @@
|
|||
defmodule Eventos.Addresses.Address do
|
||||
defmodule Mobilizon.Addresses.Address do
|
||||
@moduledoc "An address for an event or a group"
|
||||
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Addresses.Address
|
||||
alias Eventos.Events.Event
|
||||
alias Eventos.Groups.Group
|
||||
alias Mobilizon.Addresses.Address
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Groups.Group
|
||||
|
||||
schema "addresses" do
|
||||
field(:addressCountry, :string)
|
|
@ -1,12 +1,12 @@
|
|||
defmodule Eventos.Addresses do
|
||||
defmodule Mobilizon.Addresses do
|
||||
@moduledoc """
|
||||
The Addresses context.
|
||||
"""
|
||||
|
||||
import Ecto.Query, warn: false
|
||||
alias Eventos.Repo
|
||||
alias Mobilizon.Repo
|
||||
|
||||
alias Eventos.Addresses.Address
|
||||
alias Mobilizon.Addresses.Address
|
||||
|
||||
import Logger
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
defmodule Eventos.Application do
|
||||
defmodule Mobilizon.Application do
|
||||
@moduledoc """
|
||||
The Eventos application
|
||||
The Mobilizon application
|
||||
"""
|
||||
use Application
|
||||
|
||||
|
@ -12,25 +12,25 @@ defmodule Eventos.Application do
|
|||
# Define workers and child supervisors to be supervised
|
||||
children = [
|
||||
# Start the Ecto repository
|
||||
supervisor(Eventos.Repo, []),
|
||||
supervisor(Mobilizon.Repo, []),
|
||||
# Start the endpoint when the application starts
|
||||
supervisor(EventosWeb.Endpoint, []),
|
||||
# Start your own worker by calling: Eventos.Worker.start_link(arg1, arg2, arg3)
|
||||
# worker(Eventos.Worker, [arg1, arg2, arg3]),
|
||||
supervisor(MobilizonWeb.Endpoint, []),
|
||||
# Start your own worker by calling: Mobilizon.Worker.start_link(arg1, arg2, arg3)
|
||||
# worker(Mobilizon.Worker, [arg1, arg2, arg3]),
|
||||
worker(Guardian.DB.Token.SweeperServer, []),
|
||||
worker(Eventos.Service.Federator, [])
|
||||
worker(Mobilizon.Service.Federator, [])
|
||||
]
|
||||
|
||||
# See https://hexdocs.pm/elixir/Supervisor.html
|
||||
# for other strategies and supported options
|
||||
opts = [strategy: :one_for_one, name: Eventos.Supervisor]
|
||||
opts = [strategy: :one_for_one, name: Mobilizon.Supervisor]
|
||||
Supervisor.start_link(children, opts)
|
||||
end
|
||||
|
||||
# Tell Phoenix to update the endpoint configuration
|
||||
# whenever the application is updated.
|
||||
def config_change(changed, _new, removed) do
|
||||
EventosWeb.Endpoint.config_change(changed, removed)
|
||||
MobilizonWeb.Endpoint.config_change(changed, removed)
|
||||
:ok
|
||||
end
|
||||
end
|
|
@ -1,13 +1,13 @@
|
|||
defmodule Eventos.Email.User do
|
||||
defmodule Mobilizon.Email.User do
|
||||
@moduledoc """
|
||||
Handles emails sent to users
|
||||
"""
|
||||
alias Eventos.Actors.User
|
||||
alias Mobilizon.Actors.User
|
||||
|
||||
import Bamboo.Email
|
||||
import Bamboo.Phoenix
|
||||
use Bamboo.Phoenix, view: Eventos.EmailView
|
||||
import EventosWeb.Gettext
|
||||
use Bamboo.Phoenix, view: Mobilizon.EmailView
|
||||
import MobilizonWeb.Gettext
|
||||
|
||||
def confirmation_email(%User{} = user, locale \\ "en") do
|
||||
Gettext.put_locale(locale)
|
||||
|
@ -45,13 +45,13 @@ defmodule Eventos.Email.User do
|
|||
defp base_email do
|
||||
# Here you can set a default from, default headers, etc.
|
||||
new_email()
|
||||
|> from(Application.get_env(:eventos, EventosWeb.Endpoint)[:email_from])
|
||||
|> put_html_layout({Eventos.EmailView, "email.html"})
|
||||
|> put_text_layout({Eventos.EmailView, "email.text"})
|
||||
|> from(Application.get_env(:mobilizon, MobilizonWeb.Endpoint)[:email_from])
|
||||
|> put_html_layout({Mobilizon.EmailView, "email.html"})
|
||||
|> put_text_layout({Mobilizon.EmailView, "email.text"})
|
||||
end
|
||||
|
||||
@spec get_config(atom()) :: any()
|
||||
defp get_config(key) do
|
||||
_config = Application.get_env(:eventos, EventosWeb.Endpoint) |> Keyword.get(key)
|
||||
_config = Application.get_env(:mobilizon, MobilizonWeb.Endpoint) |> Keyword.get(key)
|
||||
end
|
||||
end
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Events.Category do
|
||||
defmodule Mobilizon.Events.Category do
|
||||
@moduledoc """
|
||||
Represents a category for events
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.Category
|
||||
alias Mobilizon.Events.Category
|
||||
|
||||
schema "categories" do
|
||||
field(:description, :string)
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Eventos.Events.Comment do
|
||||
defmodule Mobilizon.Events.Comment do
|
||||
@moduledoc """
|
||||
An actor comment (for instance on an event or on a group)
|
||||
"""
|
||||
|
@ -6,9 +6,9 @@ defmodule Eventos.Events.Comment do
|
|||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
|
||||
alias Eventos.Events.Event
|
||||
alias Eventos.Actors.Actor
|
||||
alias Eventos.Actors.Comment
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Actors.Comment
|
||||
|
||||
schema "comments" do
|
||||
field(:text, :string)
|
||||
|
@ -32,7 +32,7 @@ defmodule Eventos.Events.Comment do
|
|||
url =
|
||||
if Map.has_key?(attrs, "url"),
|
||||
do: attrs["url"],
|
||||
else: "#{EventosWeb.Endpoint.url()}/comments/#{uuid}"
|
||||
else: "#{MobilizonWeb.Endpoint.url()}/comments/#{uuid}"
|
||||
|
||||
comment
|
||||
|> cast(attrs, [:url, :text, :actor_id, :event_id, :in_reply_to_comment_id, :attributed_to_id])
|
|
@ -1,15 +1,15 @@
|
|||
import EctoEnum
|
||||
defenum(AddressTypeEnum, :address_type, [:physical, :url, :phone, :other])
|
||||
|
||||
defmodule Eventos.Events.Event do
|
||||
defmodule Mobilizon.Events.Event do
|
||||
@moduledoc """
|
||||
Represents an event
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.{Event, Participant, Tag, Category, Session, Track}
|
||||
alias Eventos.Actors.Actor
|
||||
alias Eventos.Addresses.Address
|
||||
alias Mobilizon.Events.{Event, Participant, Tag, Category, Session, Track}
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Addresses.Address
|
||||
|
||||
schema "events" do
|
||||
field(:url, :string)
|
||||
|
@ -58,7 +58,7 @@ defmodule Eventos.Events.Event do
|
|||
url =
|
||||
if Map.has_key?(attrs, "url"),
|
||||
do: attrs["url"],
|
||||
else: "#{EventosWeb.Endpoint.url()}/@#{actor_url}/#{uuid}"
|
||||
else: "#{MobilizonWeb.Endpoint.url()}/@#{actor_url}/#{uuid}"
|
||||
|
||||
event
|
||||
|> Ecto.Changeset.cast(attrs, [
|
|
@ -1,15 +1,15 @@
|
|||
defmodule Eventos.Events do
|
||||
defmodule Mobilizon.Events do
|
||||
@moduledoc """
|
||||
The Events context.
|
||||
"""
|
||||
|
||||
import Ecto.Query, warn: false
|
||||
alias Eventos.Repo
|
||||
alias Mobilizon.Repo
|
||||
|
||||
alias Eventos.Events.Event
|
||||
alias Eventos.Events.Comment
|
||||
alias Eventos.Actors.Actor
|
||||
alias Eventos.Addresses.Address
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Events.Comment
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Addresses.Address
|
||||
|
||||
@doc """
|
||||
Returns the list of events.
|
||||
|
@ -263,7 +263,7 @@ defmodule Eventos.Events do
|
|||
Event.changeset(event, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Events.Category
|
||||
alias Mobilizon.Events.Category
|
||||
|
||||
@doc """
|
||||
Returns the list of categories.
|
||||
|
@ -364,7 +364,7 @@ defmodule Eventos.Events do
|
|||
Category.changeset(category, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Events.Tag
|
||||
alias Mobilizon.Events.Tag
|
||||
|
||||
@doc """
|
||||
Returns the list of tags.
|
||||
|
@ -460,7 +460,7 @@ defmodule Eventos.Events do
|
|||
Tag.changeset(tag, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Events.Participant
|
||||
alias Mobilizon.Events.Participant
|
||||
|
||||
@doc """
|
||||
Returns the list of participants.
|
||||
|
@ -562,7 +562,7 @@ defmodule Eventos.Events do
|
|||
Repo.all(from(p in Participant, where: p.actor_id == ^actor.id and p.approved == false))
|
||||
end
|
||||
|
||||
alias Eventos.Events.Session
|
||||
alias Mobilizon.Events.Session
|
||||
|
||||
@doc """
|
||||
Returns the list of sessions.
|
||||
|
@ -679,7 +679,7 @@ defmodule Eventos.Events do
|
|||
Session.changeset(session, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Events.Track
|
||||
alias Mobilizon.Events.Track
|
||||
|
||||
@doc """
|
||||
Returns the list of tracks.
|
||||
|
@ -775,7 +775,7 @@ defmodule Eventos.Events do
|
|||
Track.changeset(track, %{})
|
||||
end
|
||||
|
||||
alias Eventos.Events.Comment
|
||||
alias Mobilizon.Events.Comment
|
||||
|
||||
@doc """
|
||||
Returns the list of comments.
|
|
@ -1,11 +1,11 @@
|
|||
defmodule Eventos.Events.Participant do
|
||||
defmodule Mobilizon.Events.Participant do
|
||||
@moduledoc """
|
||||
Represents a participant, an actor participating to an event
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.{Participant, Event}
|
||||
alias Eventos.Actors.Actor
|
||||
alias Mobilizon.Events.{Participant, Event}
|
||||
alias Mobilizon.Actors.Actor
|
||||
|
||||
@primary_key false
|
||||
schema "participants" do
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Events.Session do
|
||||
defmodule Mobilizon.Events.Session do
|
||||
@moduledoc """
|
||||
Represents a session for an event (such as a talk at a conference)
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.{Session, Event, Track}
|
||||
alias Mobilizon.Events.{Session, Event, Track}
|
||||
|
||||
schema "sessions" do
|
||||
field(:audios_urls, :string)
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Events.Tag.TitleSlug do
|
||||
defmodule Mobilizon.Events.Tag.TitleSlug do
|
||||
@moduledoc """
|
||||
Generates slugs for tags
|
||||
"""
|
||||
alias Eventos.Events.Tag
|
||||
alias Mobilizon.Events.Tag
|
||||
import Ecto.Query
|
||||
alias Eventos.Repo
|
||||
alias Mobilizon.Repo
|
||||
use EctoAutoslugField.Slug, from: :title, to: :slug
|
||||
|
||||
def build_slug(sources, changeset) do
|
||||
|
@ -25,20 +25,20 @@ defmodule Eventos.Events.Tag.TitleSlug do
|
|||
|
||||
_story ->
|
||||
slug
|
||||
|> Eventos.Slug.increment_slug()
|
||||
|> Mobilizon.Slug.increment_slug()
|
||||
|> build_unique_slug(changeset)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
defmodule Eventos.Events.Tag do
|
||||
defmodule Mobilizon.Events.Tag do
|
||||
@moduledoc """
|
||||
Represents a tag for events
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.Tag
|
||||
alias Eventos.Events.Tag.TitleSlug
|
||||
alias Mobilizon.Events.Tag
|
||||
alias Mobilizon.Events.Tag.TitleSlug
|
||||
|
||||
schema "tags" do
|
||||
field(:title, :string)
|
|
@ -1,10 +1,10 @@
|
|||
defmodule Eventos.Events.Track do
|
||||
defmodule Mobilizon.Events.Track do
|
||||
@moduledoc """
|
||||
Represents a track for an event (such as a theme) having multiple sessions
|
||||
"""
|
||||
use Ecto.Schema
|
||||
import Ecto.Changeset
|
||||
alias Eventos.Events.{Track, Event, Session}
|
||||
alias Mobilizon.Events.{Track, Event, Session}
|
||||
|
||||
schema "tracks" do
|
||||
field(:color, :string)
|
|
@ -1,9 +1,9 @@
|
|||
defmodule Eventos.Export.ICalendar do
|
||||
defmodule Mobilizon.Export.ICalendar do
|
||||
@moduledoc """
|
||||
Export an event to iCalendar format
|
||||
"""
|
||||
|
||||
alias Eventos.Events.Event
|
||||
alias Mobilizon.Events.Event
|
||||
|
||||
@spec export_event(%Event{}) :: String
|
||||
def export_event(%Event{} = event) do
|
6
lib/mobilizon/mailer.ex
Normal file
6
lib/mobilizon/mailer.ex
Normal file
|
@ -0,0 +1,6 @@
|
|||
defmodule Mobilizon.Mailer do
|
||||
@moduledoc """
|
||||
Mailer
|
||||
"""
|
||||
use Bamboo.Mailer, otp_app: :mobilizon
|
||||
end
|
|
@ -1,5 +1,5 @@
|
|||
Postgrex.Types.define(
|
||||
Eventos.PostgresTypes,
|
||||
Mobilizon.PostgresTypes,
|
||||
[Geo.PostGIS.Extension] ++ Ecto.Adapters.Postgres.extensions(),
|
||||
json: Poison
|
||||
)
|
|
@ -1,8 +1,8 @@
|
|||
defmodule Eventos.Repo do
|
||||
defmodule Mobilizon.Repo do
|
||||
@moduledoc """
|
||||
Eventos Repo
|
||||
Mobilizon Repo
|
||||
"""
|
||||
use Ecto.Repo, otp_app: :eventos
|
||||
use Ecto.Repo, otp_app: :mobilizon
|
||||
|
||||
@doc """
|
||||
Dynamically loads the repository url from the
|
|
@ -1,4 +1,4 @@
|
|||
defmodule Eventos.Slug do
|
||||
defmodule Mobilizon.Slug do
|
||||
@moduledoc """
|
||||
Common functions for slug generation
|
||||
"""
|
|
@ -1,4 +1,4 @@
|
|||
defmodule EventosWeb.AuthErrorHandler do
|
||||
defmodule MobilizonWeb.AuthErrorHandler do
|
||||
@moduledoc """
|
||||
In case we have an auth error
|
||||
"""
|
|
@ -1,12 +1,12 @@
|
|||
defmodule EventosWeb.AuthPipeline do
|
||||
defmodule MobilizonWeb.AuthPipeline do
|
||||
@moduledoc """
|
||||
Handles the app sessions
|
||||
"""
|
||||
|
||||
use Guardian.Plug.Pipeline,
|
||||
otp_app: :eventos,
|
||||
module: EventosWeb.Guardian,
|
||||
error_handler: EventosWeb.AuthErrorHandler
|
||||
otp_app: :mobilizon,
|
||||
module: MobilizonWeb.Guardian,
|
||||
error_handler: MobilizonWeb.AuthErrorHandler
|
||||
|
||||
plug(Guardian.Plug.VerifyHeader, claims: %{"typ" => "access"})
|
||||
plug(Guardian.Plug.EnsureAuthenticated)
|
|
@ -1,11 +1,11 @@
|
|||
defmodule EventosWeb.UserSocket do
|
||||
defmodule MobilizonWeb.UserSocket do
|
||||
@moduledoc """
|
||||
Channel for User
|
||||
"""
|
||||
use Phoenix.Socket
|
||||
|
||||
# Channels
|
||||
# channel "room:*", EventosWeb.RoomChannel
|
||||
# channel "room:*", MobilizonWeb.RoomChannel
|
||||
|
||||
# Transports
|
||||
transport(:websocket, Phoenix.Transports.WebSocket)
|
||||
|
@ -33,7 +33,7 @@ defmodule EventosWeb.UserSocket do
|
|||
# Would allow you to broadcast a "disconnect" event and terminate
|
||||
# all active sockets and channels for a given user:
|
||||
#
|
||||
# EventosWeb.Endpoint.broadcast("user_socket:#{user.id}", "disconnect", %{})
|
||||
# MobilizonWeb.Endpoint.broadcast("user_socket:#{user.id}", "disconnect", %{})
|
||||
#
|
||||
# Returning `nil` makes this socket anonymous.
|
||||
def id(_socket), do: nil
|
|
@ -1,9 +1,9 @@
|
|||
defmodule EventosWeb.ActivityPubController do
|
||||
use EventosWeb, :controller
|
||||
alias Eventos.{Actors, Actors.Actor, Events, Events.Event}
|
||||
alias EventosWeb.ActivityPub.{ObjectView, ActorView}
|
||||
alias Eventos.Service.ActivityPub
|
||||
alias Eventos.Service.Federator
|
||||
defmodule MobilizonWeb.ActivityPubController do
|
||||
use MobilizonWeb, :controller
|
||||
alias Mobilizon.{Actors, Actors.Actor, Events, Events.Event}
|
||||
alias MobilizonWeb.ActivityPub.{ObjectView, ActorView}
|
||||
alias Mobilizon.Service.ActivityPub
|
||||
alias Mobilizon.Service.Federator
|
||||
|
||||
require Logger
|
||||
|
|
@ -1,14 +1,14 @@
|
|||
defmodule EventosWeb.ActorController do
|
||||
defmodule MobilizonWeb.ActorController do
|
||||
@moduledoc """
|
||||
Controller for Actors
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.{Actor, User}
|
||||
alias Eventos.Service.ActivityPub
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Actor, User}
|
||||
alias Mobilizon.Service.ActivityPub
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
actors = Actors.list_actors()
|
|
@ -1,14 +1,14 @@
|
|||
defmodule EventosWeb.AddressController do
|
||||
defmodule MobilizonWeb.AddressController do
|
||||
@moduledoc """
|
||||
A controller for addresses
|
||||
"""
|
||||
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Addresses
|
||||
alias Eventos.Addresses.Address
|
||||
alias Mobilizon.Addresses
|
||||
alias Mobilizon.Addresses.Address
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
addresses = Addresses.list_addresses()
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.BotController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.BotController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.{Bot, Actor}
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Bot, Actor}
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
bots = Actors.list_bots()
|
|
@ -1,13 +1,13 @@
|
|||
defmodule EventosWeb.CategoryController do
|
||||
defmodule MobilizonWeb.CategoryController do
|
||||
@moduledoc """
|
||||
Controller for Categories
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Category
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Category
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
categories = Events.list_categories()
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.CommentController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.CommentController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Comment
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Comment
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
comments = Events.list_comments()
|
|
@ -1,16 +1,16 @@
|
|||
defmodule EventosWeb.EventController do
|
||||
defmodule MobilizonWeb.EventController do
|
||||
@moduledoc """
|
||||
Controller for Events
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Event
|
||||
alias Eventos.Export.ICalendar
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Export.ICalendar
|
||||
|
||||
require Logger
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
ip = "88.161.154.97"
|
||||
|
@ -70,7 +70,7 @@ defmodule EventosWeb.EventController do
|
|||
|
||||
Map.has_key?(event, "physical_address") ->
|
||||
address = event["physical_address"]
|
||||
geom = EventosWeb.AddressController.process_geom(address["geom"])
|
||||
geom = MobilizonWeb.AddressController.process_geom(address["geom"])
|
||||
|
||||
address =
|
||||
case geom do
|
|
@ -1,13 +1,13 @@
|
|||
# defmodule EventosWeb.EventRequestController do
|
||||
# defmodule MobilizonWeb.EventRequestController do
|
||||
# @moduledoc """
|
||||
# Controller for Event requests
|
||||
# """
|
||||
# use EventosWeb, :controller
|
||||
# use MobilizonWeb, :controller
|
||||
#
|
||||
# alias Eventos.Events
|
||||
# alias Eventos.Events.{Event, Request}
|
||||
# alias Mobilizon.Events
|
||||
# alias Mobilizon.Events.{Event, Request}
|
||||
#
|
||||
# action_fallback EventosWeb.FallbackController
|
||||
# action_fallback MobilizonWeb.FallbackController
|
||||
#
|
||||
# def index_for_user(conn, _params) do
|
||||
# actor = Guardian.Plug.current_resource(conn).actor
|
|
@ -1,26 +1,26 @@
|
|||
defmodule EventosWeb.FallbackController do
|
||||
defmodule MobilizonWeb.FallbackController do
|
||||
@moduledoc """
|
||||
Translates controller action results into valid `Plug.Conn` responses.
|
||||
|
||||
See `Phoenix.Controller.action_fallback/1` for more details.
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
def call(conn, {:error, %Ecto.Changeset{} = changeset}) do
|
||||
conn
|
||||
|> put_status(:unprocessable_entity)
|
||||
|> render(EventosWeb.ChangesetView, "error.json", changeset: changeset)
|
||||
|> render(MobilizonWeb.ChangesetView, "error.json", changeset: changeset)
|
||||
end
|
||||
|
||||
def call(conn, {:error, nil}) do
|
||||
conn
|
||||
|> put_status(:unprocessable_entity)
|
||||
|> render(EventosWeb.ErrorView, "invalid_request.json")
|
||||
|> render(MobilizonWeb.ErrorView, "invalid_request.json")
|
||||
end
|
||||
|
||||
def call(conn, {:error, :not_found}) do
|
||||
conn
|
||||
|> put_status(:not_found)
|
||||
|> render(EventosWeb.ErrorView, :"404")
|
||||
|> render(MobilizonWeb.ErrorView, :"404")
|
||||
end
|
||||
end
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.FollowerController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.FollowerController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.Follower
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.Follower
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
followers = Actors.list_followers()
|
|
@ -1,17 +1,17 @@
|
|||
defmodule EventosWeb.GroupController do
|
||||
defmodule MobilizonWeb.GroupController do
|
||||
@moduledoc """
|
||||
Controller for Groups
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.{Actor, Member}
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.{Actor, Member}
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
groups = Actors.list_groups()
|
||||
render(conn, EventosWeb.ActorView, "index.json", actors: groups)
|
||||
render(conn, MobilizonWeb.ActorView, "index.json", actors: groups)
|
||||
end
|
||||
|
||||
def create(conn, %{"group" => group_params}) do
|
||||
|
@ -25,7 +25,7 @@ defmodule EventosWeb.GroupController do
|
|||
conn
|
||||
|> put_status(:created)
|
||||
|> put_resp_header("location", actor_path(conn, :show, group))
|
||||
|> render(EventosWeb.ActorView, "actor_basic.json", actor: group)
|
||||
|> render(MobilizonWeb.ActorView, "actor_basic.json", actor: group)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -36,12 +36,12 @@ defmodule EventosWeb.GroupController do
|
|||
Actors.create_member(%{"parent_id" => group.id, "actor_id" => actor.id}) do
|
||||
conn
|
||||
|> put_status(:created)
|
||||
|> render(EventosWeb.MemberView, "member.json", member: member)
|
||||
|> render(MobilizonWeb.MemberView, "member.json", member: member)
|
||||
else
|
||||
nil ->
|
||||
conn
|
||||
|> put_status(:not_found)
|
||||
|> render(EventosWeb.ErrorView, "not_found.json", details: "group or actor doesn't exist")
|
||||
|> render(MobilizonWeb.ErrorView, "not_found.json", details: "group or actor doesn't exist")
|
||||
|
||||
err ->
|
||||
require Logger
|
6
lib/mobilizon_web/controllers/inboxes_controller.ex
Normal file
6
lib/mobilizon_web/controllers/inboxes_controller.ex
Normal file
|
@ -0,0 +1,6 @@
|
|||
defmodule MobilizonWeb.InboxesController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
def create(conn) do
|
||||
end
|
||||
end
|
|
@ -1,17 +1,17 @@
|
|||
defmodule EventosWeb.NodeinfoController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.NodeinfoController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias EventosWeb
|
||||
alias Eventos.{Actors, Events}
|
||||
alias MobilizonWeb
|
||||
alias Mobilizon.{Actors, Events}
|
||||
|
||||
@instance Application.get_env(:eventos, :instance)
|
||||
@instance Application.get_env(:mobilizon, :instance)
|
||||
|
||||
def schemas(conn, _params) do
|
||||
response = %{
|
||||
links: [
|
||||
%{
|
||||
rel: "http://nodeinfo.diaspora.software/ns/schema/2.0",
|
||||
href: EventosWeb.Router.Helpers.nodeinfo_url(EventosWeb.Endpoint, :nodeinfo, "2.0")
|
||||
href: MobilizonWeb.Router.Helpers.nodeinfo_url(MobilizonWeb.Endpoint, :nodeinfo, "2.0")
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ defmodule EventosWeb.NodeinfoController do
|
|||
response = %{
|
||||
version: "2.0",
|
||||
software: %{
|
||||
name: "eventos",
|
||||
name: "mobilizon",
|
||||
version: Keyword.get(@instance, :version)
|
||||
},
|
||||
protocols: ["activitypub"],
|
|
@ -1,5 +1,5 @@
|
|||
defmodule EventosWeb.OutboxesController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.OutboxesController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
def show(conn) do
|
||||
actor = Guardian.Plug.current_resource(conn).actor
|
|
@ -1,8 +1,8 @@
|
|||
defmodule EventosWeb.PageController do
|
||||
defmodule MobilizonWeb.PageController do
|
||||
@moduledoc """
|
||||
Controller to load our webapp
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
plug(:put_layout, false)
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.ParticipantController do
|
||||
defmodule MobilizonWeb.ParticipantController do
|
||||
@moduledoc """
|
||||
Controller for participants to an event
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Mobilizon.Events
|
||||
|
||||
def join(conn, %{"uuid" => uuid}) do
|
||||
with event <- Events.get_event_by_uuid(uuid),
|
|
@ -1,13 +1,13 @@
|
|||
defmodule EventosWeb.SearchController do
|
||||
defmodule MobilizonWeb.SearchController do
|
||||
@moduledoc """
|
||||
Controller for Search
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Actors
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Actors
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def search(conn, %{"name" => name}) do
|
||||
events = Events.find_events_by_name(name)
|
|
@ -1,13 +1,13 @@
|
|||
defmodule EventosWeb.SessionController do
|
||||
defmodule MobilizonWeb.SessionController do
|
||||
@moduledoc """
|
||||
Controller for (event) Sessions
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Session
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Session
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
sessions = Events.list_sessions()
|
|
@ -1,13 +1,13 @@
|
|||
defmodule EventosWeb.TagController do
|
||||
defmodule MobilizonWeb.TagController do
|
||||
@moduledoc """
|
||||
Controller for Tags
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Tag
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Tag
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
tags = Events.list_tags()
|
|
@ -1,13 +1,13 @@
|
|||
defmodule EventosWeb.TrackController do
|
||||
defmodule MobilizonWeb.TrackController do
|
||||
@moduledoc """
|
||||
Controller for Tracks
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Events
|
||||
alias Eventos.Events.Track
|
||||
alias Mobilizon.Events
|
||||
alias Mobilizon.Events.Track
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
tracks = Events.list_tracks()
|
|
@ -1,15 +1,15 @@
|
|||
defmodule EventosWeb.UserController do
|
||||
defmodule MobilizonWeb.UserController do
|
||||
@moduledoc """
|
||||
Controller for Users
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.User
|
||||
alias Eventos.Repo
|
||||
alias Eventos.Actors.Service.{Activation, ResetPassword}
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.User
|
||||
alias Mobilizon.Repo
|
||||
alias Mobilizon.Actors.Service.{Activation, ResetPassword}
|
||||
|
||||
action_fallback(EventosWeb.FallbackController)
|
||||
action_fallback(MobilizonWeb.FallbackController)
|
||||
|
||||
def index(conn, _params) do
|
||||
users = Actors.list_users_with_actors()
|
||||
|
@ -29,7 +29,7 @@ defmodule EventosWeb.UserController do
|
|||
|
||||
def validate(conn, %{"token" => token}) do
|
||||
with {:ok, %User{} = user} <- Activation.check_confirmation_token(token) do
|
||||
{:ok, token, _claims} = EventosWeb.Guardian.encode_and_sign(user)
|
||||
{:ok, token, _claims} = MobilizonWeb.Guardian.encode_and_sign(user)
|
||||
|
||||
conn
|
||||
|> put_resp_header("location", user_path(conn, :show_current_actor))
|
||||
|
@ -88,7 +88,7 @@ defmodule EventosWeb.UserController do
|
|||
|
||||
def reset_password(conn, %{"password" => password, "token" => token}) do
|
||||
with {:ok, %User{} = user} <- ResetPassword.check_reset_password_token(password, token) do
|
||||
{:ok, token, _claims} = EventosWeb.Guardian.encode_and_sign(user)
|
||||
{:ok, token, _claims} = MobilizonWeb.Guardian.encode_and_sign(user)
|
||||
render(conn, "show_with_token.json", %{user: user, token: token})
|
||||
else
|
||||
{:error, :invalid_token} ->
|
||||
|
@ -99,7 +99,7 @@ defmodule EventosWeb.UserController do
|
|||
{:error, %Ecto.Changeset{} = changeset} ->
|
||||
conn
|
||||
|> put_status(:unprocessable_entity)
|
||||
|> render(EventosWeb.ChangesetView, "error.json", changeset: changeset)
|
||||
|> render(MobilizonWeb.ChangesetView, "error.json", changeset: changeset)
|
||||
end
|
||||
end
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.UserSessionController do
|
||||
defmodule MobilizonWeb.UserSessionController do
|
||||
@moduledoc """
|
||||
Controller for user sessions
|
||||
"""
|
||||
use EventosWeb, :controller
|
||||
alias Eventos.Actors.User
|
||||
alias Eventos.Actors
|
||||
use MobilizonWeb, :controller
|
||||
alias Mobilizon.Actors.User
|
||||
alias Mobilizon.Actors
|
||||
|
||||
def sign_in(conn, %{"email" => email, "password" => password}) do
|
||||
with {:ok, %User{} = user} <- Actors.find_by_email(email),
|
||||
|
@ -35,7 +35,7 @@ defmodule EventosWeb.UserSessionController do
|
|||
|
||||
def sign_out(conn, _params) do
|
||||
conn
|
||||
|> EventosWeb.Guardian.Plug.sign_out()
|
||||
|> MobilizonWeb.Guardian.Plug.sign_out()
|
||||
|> send_resp(204, "")
|
||||
end
|
||||
end
|
|
@ -1,7 +1,7 @@
|
|||
defmodule EventosWeb.WebFingerController do
|
||||
use EventosWeb, :controller
|
||||
defmodule MobilizonWeb.WebFingerController do
|
||||
use MobilizonWeb, :controller
|
||||
|
||||
alias Eventos.Service.WebFinger
|
||||
alias Mobilizon.Service.WebFinger
|
||||
|
||||
def host_meta(conn, _params) do
|
||||
xml = WebFinger.host_meta()
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.Endpoint do
|
||||
defmodule MobilizonWeb.Endpoint do
|
||||
@moduledoc """
|
||||
Endpoint for Eventos app
|
||||
Endpoint for Mobilizon app
|
||||
"""
|
||||
use Phoenix.Endpoint, otp_app: :eventos
|
||||
use Phoenix.Endpoint, otp_app: :mobilizon
|
||||
|
||||
socket("/socket", EventosWeb.UserSocket)
|
||||
socket("/socket", MobilizonWeb.UserSocket)
|
||||
|
||||
# Serve at "/" the static files from "priv/static" directory.
|
||||
#
|
||||
|
@ -13,7 +13,7 @@ defmodule EventosWeb.Endpoint do
|
|||
plug(
|
||||
Plug.Static,
|
||||
at: "/",
|
||||
from: :eventos,
|
||||
from: :mobilizon,
|
||||
gzip: false,
|
||||
only: ~w(css fonts images js favicon.ico robots.txt index.html)
|
||||
)
|
||||
|
@ -46,11 +46,11 @@ defmodule EventosWeb.Endpoint do
|
|||
plug(
|
||||
Plug.Session,
|
||||
store: :cookie,
|
||||
key: "_eventos_key",
|
||||
key: "_mobilizon_key",
|
||||
signing_salt: "F9CCTF22"
|
||||
)
|
||||
|
||||
plug(EventosWeb.Router)
|
||||
plug(MobilizonWeb.Router)
|
||||
|
||||
@doc """
|
||||
Callback invoked for dynamically configuring the endpoint.
|
|
@ -1,11 +1,11 @@
|
|||
defmodule EventosWeb.Gettext do
|
||||
defmodule MobilizonWeb.Gettext do
|
||||
@moduledoc """
|
||||
A module providing Internationalization with a gettext-based API.
|
||||
|
||||
By using [Gettext](https://hexdocs.pm/gettext),
|
||||
your module gains a set of macros for translations, for example:
|
||||
|
||||
import EventosWeb.Gettext
|
||||
import MobilizonWeb.Gettext
|
||||
|
||||
# Simple translation
|
||||
gettext "Here is the string to translate"
|
||||
|
@ -20,5 +20,5 @@ defmodule EventosWeb.Gettext do
|
|||
|
||||
See the [Gettext Docs](https://hexdocs.pm/gettext) for detailed usage.
|
||||
"""
|
||||
use Gettext, otp_app: :eventos
|
||||
use Gettext, otp_app: :mobilizon
|
||||
end
|
|
@ -1,16 +1,16 @@
|
|||
defmodule EventosWeb.Guardian do
|
||||
defmodule MobilizonWeb.Guardian do
|
||||
@moduledoc """
|
||||
Handles the JWT tokens encoding and decoding
|
||||
"""
|
||||
use Guardian,
|
||||
otp_app: :eventos,
|
||||
otp_app: :mobilizon,
|
||||
permissions: %{
|
||||
superuser: [:moderate, :super],
|
||||
user: [:base]
|
||||
}
|
||||
|
||||
alias Eventos.Actors
|
||||
alias Eventos.Actors.User
|
||||
alias Mobilizon.Actors
|
||||
alias Mobilizon.Actors.User
|
||||
|
||||
def subject_for_token(%User{} = user, _claims) do
|
||||
{:ok, "User:" <> to_string(user.id)}
|
|
@ -1,11 +1,11 @@
|
|||
defmodule EventosWeb.HTTPSignaturePlug do
|
||||
defmodule MobilizonWeb.HTTPSignaturePlug do
|
||||
@moduledoc """
|
||||
# HTTPSignaturePlug
|
||||
|
||||
Plug to check HTTP Signatures on every incoming request
|
||||
"""
|
||||
|
||||
alias Eventos.Service.HTTPSignatures
|
||||
alias Mobilizon.Service.HTTPSignatures
|
||||
import Plug.Conn
|
||||
require Logger
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
defmodule EventosWeb.Router do
|
||||
defmodule MobilizonWeb.Router do
|
||||
@moduledoc """
|
||||
Router for eventos app
|
||||
Router for mobilizon app
|
||||
"""
|
||||
use EventosWeb, :router
|
||||
use MobilizonWeb, :router
|
||||
|
||||
pipeline :api do
|
||||
plug(:accepts, ["json"])
|
||||
|
@ -14,12 +14,12 @@ defmodule EventosWeb.Router do
|
|||
|
||||
pipeline :activity_pub do
|
||||
plug(:accepts, ["activity-json", "text/html"])
|
||||
plug(EventosWeb.HTTPSignaturePlug)
|
||||
plug(MobilizonWeb.HTTPSignaturePlug)
|
||||
end
|
||||
|
||||
pipeline :api_auth do
|
||||
plug(:accepts, ["json"])
|
||||
plug(EventosWeb.AuthPipeline)
|
||||
plug(MobilizonWeb.AuthPipeline)
|
||||
end
|
||||
|
||||
pipeline :browser do
|
||||
|
@ -34,7 +34,7 @@ defmodule EventosWeb.Router do
|
|||
plug(:accepts, ["html", "application/json"])
|
||||
end
|
||||
|
||||
scope "/api", EventosWeb do
|
||||
scope "/api", MobilizonWeb do
|
||||
pipe_through(:api)
|
||||
|
||||
scope "/v1" do
|
||||
|
@ -81,7 +81,7 @@ defmodule EventosWeb.Router do
|
|||
end
|
||||
|
||||
# Authentificated API
|
||||
scope "/api", EventosWeb do
|
||||
scope "/api", MobilizonWeb do
|
||||
pipe_through(:api_auth)
|
||||
|
||||
scope "/v1" do
|
||||
|
@ -112,7 +112,7 @@ defmodule EventosWeb.Router do
|
|||
end
|
||||
end
|
||||
|
||||
scope "/.well-known", EventosWeb do
|
||||
scope "/.well-known", MobilizonWeb do
|
||||
pipe_through(:well_known)
|
||||
|
||||
get("/host-meta", WebFingerController, :host_meta)
|
||||
|
@ -120,7 +120,7 @@ defmodule EventosWeb.Router do
|
|||
get("/nodeinfo", NodeinfoController, :schemas)
|
||||
end
|
||||
|
||||
scope "/", EventosWeb do
|
||||
scope "/", MobilizonWeb do
|
||||
pipe_through(:activity_pub)
|
||||
|
||||
get("/@:name", ActivityPubController, :actor)
|
||||
|
@ -138,7 +138,7 @@ defmodule EventosWeb.Router do
|
|||
forward("/sent_emails", Bamboo.SentEmailViewerPlug)
|
||||
end
|
||||
|
||||
scope "/", EventosWeb do
|
||||
scope "/", MobilizonWeb do
|
||||
pipe_through(:browser)
|
||||
|
||||
get("/*path", PageController, :index)
|
10
lib/mobilizon_web/templates/email/email.html.eex
Normal file
10
lib/mobilizon_web/templates/email/email.html.eex
Normal file
|
@ -0,0 +1,10 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="<%= static_url(MobilizonWeb.Endpoint, "/css/email.css") %>">
|
||||
</head>
|
||||
<body>
|
||||
<%= render @view_module, @view_template, assigns %>
|
||||
|
||||
<p><%= gettext "An email sent by Mobilizon on %{instance}.", instance: @instance %></p>
|
||||
</body>
|
||||
</html>
|
3
lib/mobilizon_web/templates/email/email.text.eex
Normal file
3
lib/mobilizon_web/templates/email/email.text.eex
Normal file
|
@ -0,0 +1,3 @@
|
|||
<%= render @view_module, @view_template, assigns %>
|
||||
|
||||
<%= gettext "An email sent by Mobilizon on %{instance}.", instance: @instance %>
|
|
@ -2,4 +2,4 @@
|
|||
<p><%= gettext "You requested a new password for your account on %{host}.", host: @instance %></p>
|
||||
<p><%= gettext "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." %></p>
|
||||
|
||||
<p><%= link "Change password", to: EventosWeb.Endpoint.url() <> "/password-reset/#{@token}", target: "_blank" %></p>
|
||||
<p><%= link "Change password", to: MobilizonWeb.Endpoint.url() <> "/password-reset/#{@token}", target: "_blank" %></p>
|
|
@ -6,6 +6,6 @@
|
|||
|
||||
<%= gettext "If you didn't request this, please ignore this email. Your password won't change until you access the link below and create a new one." %>
|
||||
|
||||
<%= EventosWeb.Endpoint.url() <> "/password-reset/#{@token}" %>
|
||||
<%= MobilizonWeb.Endpoint.url() <> "/password-reset/#{@token}" %>
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
<h1><%= gettext "Confirm the email address" %></h1>
|
||||
<p><%= gettext "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.", host: @instance %></p>
|
||||
|
||||
<p><%= link "Confirm your email address", to: EventosWeb.Endpoint.url() <> "/validate/#{@token}", target: "_blank" %></p>
|
||||
<p><%= link "Confirm your email address", to: MobilizonWeb.Endpoint.url() <> "/validate/#{@token}", target: "_blank" %></p>
|
|
@ -4,6 +4,6 @@
|
|||
|
||||
<%= gettext "You created an account on %{host} with this email address. You are one click away from activating it. If this wasn't you, please ignore this email.", host: @instance %>
|
||||
|
||||
<%= EventosWeb.Endpoint.url() <> "/validate/#{@token}" %>
|
||||
<%= MobilizonWeb.Endpoint.url() <> "/validate/#{@token}" %>
|
||||
|
||||
|
|
@ -1,19 +1,19 @@
|
|||
defmodule EventosWeb.ActivityPub.ActorView do
|
||||
use EventosWeb, :view
|
||||
defmodule MobilizonWeb.ActivityPub.ActorView do
|
||||
use MobilizonWeb, :view
|
||||
|
||||
alias EventosWeb.ActivityPub.ActorView
|
||||
alias EventosWeb.ActivityPub.ObjectView
|
||||
alias EventosWeb.WebFinger
|
||||
alias Eventos.Actors.Actor
|
||||
alias Eventos.Repo
|
||||
alias Eventos.Service.ActivityPub
|
||||
alias Eventos.Service.ActivityPub.Transmogrifier
|
||||
alias Eventos.Service.ActivityPub.Utils
|
||||
alias Eventos.Activity
|
||||
alias MobilizonWeb.ActivityPub.ActorView
|
||||
alias MobilizonWeb.ActivityPub.ObjectView
|
||||
alias MobilizonWeb.WebFinger
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Repo
|
||||
alias Mobilizon.Service.ActivityPub
|
||||
alias Mobilizon.Service.ActivityPub.Transmogrifier
|
||||
alias Mobilizon.Service.ActivityPub.Utils
|
||||
alias Mobilizon.Activity
|
||||
import Ecto.Query
|
||||
|
||||
def render("actor.json", %{actor: actor}) do
|
||||
public_key = Eventos.Service.ActivityPub.Utils.pem_to_public_key_pem(actor.keys)
|
||||
public_key = Mobilizon.Service.ActivityPub.Utils.pem_to_public_key_pem(actor.keys)
|
||||
|
||||
%{
|
||||
"id" => actor.url,
|
|
@ -1,7 +1,7 @@
|
|||
defmodule EventosWeb.ActivityPub.ObjectView do
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.ActivityPub.ObjectView
|
||||
alias Eventos.Service.ActivityPub.Transmogrifier
|
||||
defmodule MobilizonWeb.ActivityPub.ObjectView do
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.ActivityPub.ObjectView
|
||||
alias Mobilizon.Service.ActivityPub.Transmogrifier
|
||||
|
||||
@base %{
|
||||
"@context" => [
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.ActorView do
|
||||
defmodule MobilizonWeb.ActorView do
|
||||
@moduledoc """
|
||||
View for Actors
|
||||
"""
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.{ActorView, EventView, MemberView}
|
||||
alias Eventos.Actors
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.{ActorView, EventView, MemberView}
|
||||
alias Mobilizon.Actors
|
||||
|
||||
def render("index.json", %{actors: actors}) do
|
||||
%{data: render_many(actors, ActorView, "actor_basic.json")}
|
|
@ -1,10 +1,10 @@
|
|||
defmodule EventosWeb.AddressView do
|
||||
defmodule MobilizonWeb.AddressView do
|
||||
@moduledoc """
|
||||
View for addresses
|
||||
"""
|
||||
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.AddressView
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.AddressView
|
||||
|
||||
def render("index.json", %{addresses: addresses}) do
|
||||
%{data: render_many(addresses, AddressView, "address.json")}
|
|
@ -1,6 +1,6 @@
|
|||
defmodule EventosWeb.BotView do
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.BotView
|
||||
defmodule MobilizonWeb.BotView do
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.BotView
|
||||
|
||||
def render("index.json", %{bots: bots}) do
|
||||
%{data: render_many(bots, BotView, "bot.json")}
|
|
@ -1,9 +1,9 @@
|
|||
defmodule EventosWeb.CategoryView do
|
||||
defmodule MobilizonWeb.CategoryView do
|
||||
@moduledoc """
|
||||
View for Categories
|
||||
"""
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.CategoryView
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.CategoryView
|
||||
|
||||
def render("index.json", %{categories: categories}) do
|
||||
%{data: render_many(categories, CategoryView, "category.json")}
|
|
@ -1,14 +1,14 @@
|
|||
defmodule EventosWeb.ChangesetView do
|
||||
defmodule MobilizonWeb.ChangesetView do
|
||||
@moduledoc """
|
||||
View for changesets in case of errors
|
||||
"""
|
||||
use EventosWeb, :view
|
||||
use MobilizonWeb, :view
|
||||
|
||||
@doc """
|
||||
Traverses and translates changeset errors.
|
||||
|
||||
See `Ecto.Changeset.traverse_errors/2` and
|
||||
`EventosWeb.ErrorHelpers.translate_error/1` for more details.
|
||||
`MobilizonWeb.ErrorHelpers.translate_error/1` for more details.
|
||||
"""
|
||||
def translate_errors(changeset) do
|
||||
Ecto.Changeset.traverse_errors(changeset, &translate_error/1)
|
|
@ -1,6 +1,6 @@
|
|||
defmodule EventosWeb.CommentView do
|
||||
use EventosWeb, :view
|
||||
alias EventosWeb.CommentView
|
||||
defmodule MobilizonWeb.CommentView do
|
||||
use MobilizonWeb, :view
|
||||
alias MobilizonWeb.CommentView
|
||||
|
||||
def render("index.json", %{comments: comments}) do
|
||||
%{data: render_many(comments, CommentView, "comment.json")}
|
3
lib/mobilizon_web/views/email_view.ex
Normal file
3
lib/mobilizon_web/views/email_view.ex
Normal file
|
@ -0,0 +1,3 @@
|
|||
defmodule Mobilizon.EmailView do
|
||||
use MobilizonWeb, :view
|
||||
end
|
|
@ -1,4 +1,4 @@
|
|||
defmodule EventosWeb.ErrorHelpers do
|
||||
defmodule MobilizonWeb.ErrorHelpers do
|
||||
@moduledoc """
|
||||
Conveniences for translating and building error messages.
|
||||
"""
|
||||
|
@ -32,9 +32,9 @@ defmodule EventosWeb.ErrorHelpers do
|
|||
# dgettext "errors", "is invalid"
|
||||
#
|
||||
if count = opts[:count] do
|
||||
Gettext.dngettext(EventosWeb.Gettext, "errors", msg, msg, count, opts)
|
||||
Gettext.dngettext(MobilizonWeb.Gettext, "errors", msg, msg, count, opts)
|
||||
else
|
||||
Gettext.dgettext(EventosWeb.Gettext, "errors", msg, opts)
|
||||
Gettext.dgettext(MobilizonWeb.Gettext, "errors", msg, opts)
|
||||
end
|
||||
end
|
||||
end
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue