diff --git a/Earthfile b/Earthfile index a150574b..09ef5cc0 100644 --- a/Earthfile +++ b/Earthfile @@ -7,7 +7,6 @@ deps: RUN apt update -y && apt install -y build-essential WORKDIR /src COPY mix.exs mix.lock ./ - COPY --dir apps . # check .earthlyignore RUN mix local.rebar --force RUN mix local.hex --force RUN mix deps.get @@ -34,7 +33,7 @@ unit-test: COPY mix.exs mix.lock ./ COPY .env-sample ./ COPY --dir config ./ - COPY --dir apps ./ + COPY --dir lib ./ WITH DOCKER --compose docker-compose.yml RUN while ! pg_isready --host=localhost --port=5432 --quiet; do sleep 1; done; \ @@ -49,7 +48,7 @@ integration-test: COPY mix.exs mix.lock ./ COPY .env-sample ./ COPY --dir config ./ - COPY --dir apps ./ + COPY --dir lib ./ WITH DOCKER --compose docker-compose.yml RUN while ! pg_isready --host=localhost --port=5432 --quiet; do sleep 1; done; \ @@ -60,19 +59,19 @@ frontend-deps: FROM node:18.3.0-alpine3.14 WORKDIR /frontend COPY --dir +deps/deps . - COPY apps/plataforma_digital/assets ./apps/plataforma_digital/assets/ - RUN npm ci --prefix ./apps/plataforma_digital/assets - SAVE ARTIFACT /frontend/apps/plataforma_digital/assets AS LOCAL assets + COPY /assets ./assets/ + RUN npm ci --prefix ./assets + SAVE ARTIFACT /frontend/assets AS LOCAL assets frontend-build: FROM +unit-test - COPY --dir +frontend-deps/assets ./apps/plataforma_digital/ + COPY --dir +frontend-deps/frontend/assets ./ RUN mix assets.deploy - SAVE ARTIFACT ./apps/plataforma_digital/priv AS LOCAL priv + SAVE ARTIFACT ./priv/static AS LOCAL static release: FROM +unit-test - COPY --dir +frontend-build/priv ./apps/plataforma_digital/ + COPY --dir +frontend-build/priv/static ./priv/static/ COPY rel rel RUN MIX_ENV=prod mix do compile, release SAVE ARTIFACT /src/_build/prod/rel/pescarte /app/_build/prod/rel/pescarte AS LOCAL release @@ -84,7 +83,7 @@ docker-prod: RUN chown nobody /app USER nobody COPY +release/app/_build/prod/rel/pescarte . - CMD ["./bin/pescarte", "eval", "Database.Release.migrate", "&&", "exec", "./bin/pescarte", "start"] + CMD ["./bin/pescarte", "eval", "Pescarte.Database.Release.migrate", "&&", "exec", "./bin/pescarte", "start"] ARG GITHUB_REPO SAVE IMAGE --push ghcr.io/$GITHUB_REPO:prod diff --git a/apps/catalogo/.formatter.exs b/apps/catalogo/.formatter.exs deleted file mode 100644 index 4840f87f..00000000 --- a/apps/catalogo/.formatter.exs +++ /dev/null @@ -1,5 +0,0 @@ -[ - import_deps: [:ecto, :ecto_sql], - subdirectories: ["priv/*/migrations"], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}", "priv/*/seeds.exs"] -] diff --git a/apps/catalogo/.gitignore b/apps/catalogo/.gitignore deleted file mode 100644 index 89ef0936..00000000 --- a/apps/catalogo/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# The directory Mix will write compiled artifacts to. -/_build/ - -# If you run "mix test --cover", coverage assets end up here. -/cover/ - -# The directory Mix downloads your dependencies sources to. -/deps/ - -# Where 3rd-party dependencies like ExDoc output generated docs. -/doc/ - -# Ignore .fetch files in case you like to edit your project deps locally. -/.fetch - -# If the VM crashes, it generates a dump, let's ignore it too. -erl_crash.dump - -# Also ignore archive artifacts (built via "mix archive.build"). -*.ez - -# Temporary files, for example, from tests. -/tmp/ - -# Ignore package tarball (built via "mix hex.build"). -identidades-*.tar diff --git a/apps/catalogo/mix.exs b/apps/catalogo/mix.exs deleted file mode 100644 index b3ff512a..00000000 --- a/apps/catalogo/mix.exs +++ /dev/null @@ -1,44 +0,0 @@ -defmodule Catalogo.MixProject do - use Mix.Project - - def project do - [ - app: :catalogo, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps(), - aliases: aliases() - ] - end - - def application do - [extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(e) when e in ~w(dev test)a, do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:ecto_sql, "~> 3.4"}, - {:postgrex, ">= 0.0.0"}, - {:ex_machina, "~> 2.7.0"}, - {:database, in_umbrella: true} - ] - end - - defp aliases do - [ - "ecto.setup": ["ecto.create", "ecto.migrate", "run priv/ecto_repo/seeds.exs"], - "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"] - ] - end -end diff --git a/apps/catalogo/test/test_helper.exs b/apps/catalogo/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/catalogo/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/cotacoes/.formatter.exs b/apps/cotacoes/.formatter.exs deleted file mode 100644 index 4840f87f..00000000 --- a/apps/cotacoes/.formatter.exs +++ /dev/null @@ -1,5 +0,0 @@ -[ - import_deps: [:ecto, :ecto_sql], - subdirectories: ["priv/*/migrations"], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}", "priv/*/seeds.exs"] -] diff --git a/apps/cotacoes/.gitignore b/apps/cotacoes/.gitignore deleted file mode 100644 index e5107c84..00000000 --- a/apps/cotacoes/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# The directory Mix will write compiled artifacts to. -/_build/ - -# If you run "mix test --cover", coverage assets end up here. -/cover/ - -# The directory Mix downloads your dependencies sources to. -/deps/ - -# Where third-party dependencies like ExDoc output generated docs. -/doc/ - -# Ignore .fetch files in case you like to edit your project deps locally. -/.fetch - -# If the VM crashes, it generates a dump, let's ignore it too. -erl_crash.dump - -# Also ignore archive artifacts (built via "mix archive.build"). -*.ez - -# Ignore package tarball (built via "mix hex.build"). -cotacoes-*.tar - -# Temporary files, for example, from tests. -/tmp/ diff --git a/apps/cotacoes/README.md b/apps/cotacoes/README.md deleted file mode 100644 index 2f40f7dd..00000000 --- a/apps/cotacoes/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Cotações - -**TODO: Add description** diff --git a/apps/cotacoes/mix.exs b/apps/cotacoes/mix.exs deleted file mode 100644 index 96ca0df4..00000000 --- a/apps/cotacoes/mix.exs +++ /dev/null @@ -1,45 +0,0 @@ -defmodule Cotacoes.MixProject do - use Mix.Project - - def project do - [ - app: :cotacoes, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - start_permanent: Mix.env() == :prod, - deps: deps(), - aliases: aliases(), - elixirc_paths: elixirc_paths(Mix.env()) - ] - end - - def application do - [ - extra_applications: [:logger] - ] - end - - defp elixirc_paths(e) when e in ~w(dev test)a, do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:ecto_sql, "~> 3.4"}, - {:postgrex, ">= 0.0.0"}, - {:ex_machina, "~> 2.7.0"}, - {:database, in_umbrella: true} - ] - end - - defp aliases do - [ - "ecto.setup": ["ecto.create", "ecto.migrate"], - "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"] - ] - end -end diff --git a/apps/cotacoes/test/test_helper.exs b/apps/cotacoes/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/cotacoes/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/cotacoes_etl/.formatter.exs b/apps/cotacoes_etl/.formatter.exs deleted file mode 100644 index d2cda26e..00000000 --- a/apps/cotacoes_etl/.formatter.exs +++ /dev/null @@ -1,4 +0,0 @@ -# Used by "mix format" -[ - inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] -] diff --git a/apps/cotacoes_etl/.gitignore b/apps/cotacoes_etl/.gitignore deleted file mode 100644 index 98390be6..00000000 --- a/apps/cotacoes_etl/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# The directory Mix will write compiled artifacts to. -/_build/ - -# If you run "mix test --cover", coverage assets end up here. -/cover/ - -# The directory Mix downloads your dependencies sources to. -/deps/ - -# Where third-party dependencies like ExDoc output generated docs. -/doc/ - -# Ignore .fetch files in case you like to edit your project deps locally. -/.fetch - -# If the VM crashes, it generates a dump, let's ignore it too. -erl_crash.dump - -# Also ignore archive artifacts (built via "mix archive.build"). -*.ez - -# Ignore package tarball (built via "mix hex.build"). -crawler-*.tar - -# Temporary files, for example, from tests. -/tmp/ diff --git a/apps/cotacoes_etl/README.md b/apps/cotacoes_etl/README.md deleted file mode 100644 index 3868a2dd..00000000 --- a/apps/cotacoes_etl/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# ETL Cotações - -**TODO: Add description** diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/application.ex b/apps/cotacoes_etl/lib/cotacoes_etl/application.ex deleted file mode 100644 index a052a9d2..00000000 --- a/apps/cotacoes_etl/lib/cotacoes_etl/application.ex +++ /dev/null @@ -1,37 +0,0 @@ -defmodule CotacoesETL.Application do - use Application - - alias CotacoesETL.Workers.PDFConverter - alias CotacoesETL.Workers.Pesagro.CotacaoDownloader - alias CotacoesETL.Workers.Pesagro.CotacaoIngester - alias CotacoesETL.Workers.Pesagro.CotacoesFetcher - alias CotacoesETL.Workers.ZIPExtractor - - @impl true - def start(_, _) do - children = - if config_env() != :test or should_fetch_pesagro_cotacoes?() do - [ - PDFConverter, - ZIPExtractor, - CotacoesFetcher, - CotacaoDownloader, - CotacaoIngester, - {Finch, name: PescarteHTTPClient} - ] - else - [{Finch, name: PescarteHTTPClient}] - end - - opts = [strategy: :one_for_one] - Supervisor.start_link(children, opts) - end - - defp config_env do - Application.get_env(:cotacoes_etl, :config_env) - end - - defp should_fetch_pesagro_cotacoes? do - Application.get_env(:cotacoes_etl, :fetch_pesagro_cotacoes, false) - end -end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers.ex b/apps/cotacoes_etl/lib/cotacoes_etl/handlers.ex deleted file mode 100644 index 70120c72..00000000 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers.ex +++ /dev/null @@ -1,17 +0,0 @@ -defmodule CotacoesETL.Handlers do - alias CotacoesETL.Handlers.PDFConverterHandler - alias CotacoesETL.Handlers.PesagroHandler - alias CotacoesETL.Handlers.ZIPExtractorHandler - - def pesagro_handler do - Application.get_env(:cotacoes_etl, :pesagro_handler, PesagroHandler) - end - - def pdf_converter_handler do - Application.get_env(:cotacoes_etl, :pdf_converter_handler, PDFConverterHandler) - end - - def zip_extractor_handler do - Application.get_env(:cotacoes_etl, :zip_extractor_handler, ZIPExtractorHandler) - end -end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/integrations.ex b/apps/cotacoes_etl/lib/cotacoes_etl/integrations.ex deleted file mode 100644 index 275a26dc..00000000 --- a/apps/cotacoes_etl/lib/cotacoes_etl/integrations.ex +++ /dev/null @@ -1,7 +0,0 @@ -defmodule CotacoesETL.Integrations do - alias CotacoesETL.Integrations.PesagroAPI - - def pesagro_api do - Application.get_env(:cotacoes_etl, :pesagro_api, PesagroAPI) - end -end diff --git a/apps/cotacoes_etl/mix.exs b/apps/cotacoes_etl/mix.exs deleted file mode 100644 index 08161ccc..00000000 --- a/apps/cotacoes_etl/mix.exs +++ /dev/null @@ -1,39 +0,0 @@ -defmodule CotacoesETL.MixProject do - use Mix.Project - - def project do - [ - app: :cotacoes_etl, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - def application do - [ - mod: {CotacoesETL.Application, []}, - extra_applications: [:logger] - ] - end - - defp deps do - [ - {:tesla, "~> 1.4"}, - {:finch, "~> 0.16"}, - {:jason, ">= 1.0.0"}, - {:ecto, "~> 3.10"}, - {:floki, "~> 0.34.0"}, - {:unzip, "~> 0.8"}, - {:nimble_parsec, "~> 1.3"}, - {:mox, "~> 1.0", only: :test}, - {:cotacoes, in_umbrella: true}, - {:database, in_umbrella: true} - ] - end -end diff --git a/apps/cotacoes_etl/test/test_helper.exs b/apps/cotacoes_etl/test/test_helper.exs deleted file mode 100644 index bb07ca2a..00000000 --- a/apps/cotacoes_etl/test/test_helper.exs +++ /dev/null @@ -1,17 +0,0 @@ -alias CotacoesETL.Integrations.IManagePesagroIntegration -Mox.defmock(IManagePesagroIntegrationMock, for: IManagePesagroIntegration) -Application.put_env(:cotacoes_etl, :pesagro_api, IManagePesagroIntegrationMock) - -alias CotacoesETL.Handlers.IManagePesagroHandler -Mox.defmock(IManagePesagroHandlerMock, for: IManagePesagroHandler) -Application.put_env(:cotacoes_etl, :pesagro_handler, IManagePesagroHandlerMock) - -alias CotacoesETL.Handlers.IManagePDFConverterHandler -Mox.defmock(IManagePDFConverterHandlerMock, for: IManagePDFConverterHandler) -Application.put_env(:cotacoes_etl, :pdf_converter_handler, IManagePDFConverterHandlerMock) - -alias CotacoesETL.Handlers.IManageZIPExtractorHandler -Mox.defmock(IManageZIPExtractorHandlerMock, for: IManageZIPExtractorHandler) -Application.put_env(:cotacoes_etl, :zip_extractor_handler, IManageZIPExtractorHandlerMock) - -ExUnit.start() diff --git a/apps/database/.formatter.exs b/apps/database/.formatter.exs deleted file mode 100644 index d2cda26e..00000000 --- a/apps/database/.formatter.exs +++ /dev/null @@ -1,4 +0,0 @@ -# Used by "mix format" -[ - inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] -] diff --git a/apps/database/.gitignore b/apps/database/.gitignore deleted file mode 100644 index 6b9c3974..00000000 --- a/apps/database/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# The directory Mix will write compiled artifacts to. -/_build/ - -# If you run "mix test --cover", coverage assets end up here. -/cover/ - -# The directory Mix downloads your dependencies sources to. -/deps/ - -# Where third-party dependencies like ExDoc output generated docs. -/doc/ - -# Ignore .fetch files in case you like to edit your project deps locally. -/.fetch - -# If the VM crashes, it generates a dump, let's ignore it too. -erl_crash.dump - -# Also ignore archive artifacts (built via "mix archive.build"). -*.ez - -# Ignore package tarball (built via "mix hex.build"). -database-*.tar - -# Temporary files, for example, from tests. -/tmp/ diff --git a/apps/database/README.md b/apps/database/README.md deleted file mode 100644 index 88985539..00000000 --- a/apps/database/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Database - -Aplicação responsável por gerenciar as conexões com o banco de dados. - -Atualmente existem dois tipos de conexão: - -1. Escrita: Usada para ações de inserção, atualização ou remoção -2. Leitura: Usada apenas para consultas - -## Como usar - -Após criar uma nova aplicação com `mix new `, adicione este app como dependência: - -```elixir - defp deps do - [ - {:database, in_umbrella: true} - ] - end -``` - -Agora é possivel definit modelos e módulo de repositorio: - -```elixir -defmodule MeuApp.Models.MeuModelo do - use Database, :model - - # ... -end -``` - -```elixir -defmodule MeuApp.Repository do - use Database, :repository - - # ... -end -``` - -Em adição as definições, também foram definidas funções para facilitar o casamento de padrões (pattern matching) no retorno delas: - -```elixir -Database.fetch(read_repo(), MeuModelo, chave_primaria) -Database.fetch_one(read_repo(), query) -Database.fetch_by(read_repo(), MeuModelo, coluna) -``` diff --git a/apps/database/lib/database/application.ex b/apps/database/lib/database/application.ex deleted file mode 100644 index 5197c26d..00000000 --- a/apps/database/lib/database/application.ex +++ /dev/null @@ -1,22 +0,0 @@ -defmodule Database.Application do - @moduledoc false - - use Application - - @impl true - def start(_type, _args) do - # Listagem de repositorios do Pescarte - repos = - if Database.config_env() != :test do - [ - Database.Repo, - Database.Repo.Replica - ] - else - [Database.Repo] - end - - opts = [strategy: :one_for_one, name: Database.Supervisor] - Supervisor.start_link(repos, opts) - end -end diff --git a/apps/database/lib/database/repo.ex b/apps/database/lib/database/repo.ex deleted file mode 100644 index c5a7b9b1..00000000 --- a/apps/database/lib/database/repo.ex +++ /dev/null @@ -1,24 +0,0 @@ -defmodule Database.Repo do - @moduledoc """ - Repositorio especifico para escrita do banco de dados - """ - use Ecto.Repo, otp_app: :database, adapter: Ecto.Adapters.Postgres - - def replica, do: Database.Repo.Replica - - def default_dynamic_repo do - if Database.config_env() != :test do - Database.Repo.Replica - else - Database.Repo - end - end -end - -defmodule Database.Repo.Replica do - use Ecto.Repo, - otp_app: :database, - adapter: Ecto.Adapters.Postgres, - read_only: true, - default_dynamic_repo: Database.Repo.default_dynamic_repo() -end diff --git a/apps/database/lib/mix/tasks/database/migrate.ex b/apps/database/lib/mix/tasks/database/migrate.ex deleted file mode 100644 index 4826335d..00000000 --- a/apps/database/lib/mix/tasks/database/migrate.ex +++ /dev/null @@ -1,18 +0,0 @@ -defmodule Mix.Tasks.Database.Migrate do - use Mix.Task - - @impl true - def run(args) do - Application.load(:database) - migrations_paths_args = String.split(migrations_paths(), " ", trim: true) - Mix.Task.run("ecto.migrate", args ++ migrations_paths_args) - end - - defp migrations_paths do - paths = Database.migrations_paths(:dev) - - for path <- paths, reduce: "" do - acc -> "--migrations-path #{path}" <> " " <> acc - end - end -end diff --git a/apps/database/mix.exs b/apps/database/mix.exs deleted file mode 100644 index eef7c01b..00000000 --- a/apps/database/mix.exs +++ /dev/null @@ -1,34 +0,0 @@ -defmodule Database.MixProject do - use Mix.Project - - def project do - [ - app: :database, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - # Run "mix help compile.app" to learn about applications. - def application do - [ - extra_applications: [:logger], - mod: {Database.Application, []} - ] - end - - # Run "mix help deps" to learn about dependencies. - defp deps do - [ - {:ecto, "~> 3.10"}, - {:ecto_sql, "~> 3.4"}, - {:nanoid, "~> 2.0.5"} - ] - end -end diff --git a/apps/database/test/test_helper.exs b/apps/database/test/test_helper.exs deleted file mode 100644 index 7487427b..00000000 --- a/apps/database/test/test_helper.exs +++ /dev/null @@ -1,2 +0,0 @@ -ExUnit.start() -Ecto.Adapters.SQL.Sandbox.mode(Database.Repo, :manual) diff --git a/apps/identidades/.formatter.exs b/apps/identidades/.formatter.exs deleted file mode 100644 index 4840f87f..00000000 --- a/apps/identidades/.formatter.exs +++ /dev/null @@ -1,5 +0,0 @@ -[ - import_deps: [:ecto, :ecto_sql], - subdirectories: ["priv/*/migrations"], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}", "priv/*/seeds.exs"] -] diff --git a/apps/identidades/.gitignore b/apps/identidades/.gitignore deleted file mode 100644 index 89ef0936..00000000 --- a/apps/identidades/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -# The directory Mix will write compiled artifacts to. -/_build/ - -# If you run "mix test --cover", coverage assets end up here. -/cover/ - -# The directory Mix downloads your dependencies sources to. -/deps/ - -# Where 3rd-party dependencies like ExDoc output generated docs. -/doc/ - -# Ignore .fetch files in case you like to edit your project deps locally. -/.fetch - -# If the VM crashes, it generates a dump, let's ignore it too. -erl_crash.dump - -# Also ignore archive artifacts (built via "mix archive.build"). -*.ez - -# Temporary files, for example, from tests. -/tmp/ - -# Ignore package tarball (built via "mix hex.build"). -identidades-*.tar diff --git a/apps/identidades/README.md b/apps/identidades/README.md deleted file mode 100644 index 12617c4b..00000000 --- a/apps/identidades/README.md +++ /dev/null @@ -1,59 +0,0 @@ -# Identidades - -Aplicação responsável pelo cadastro e gerenciamento de pessoas usuárias e dados pessoais. Também tem responsabilidade de gerenciar tokens de usuário, usados para criar sessões web, por exemplo. - -A aplicação respeita a arquitetura explícita, onde temos: - -1. `handlers/` -2. `models/` -3. `repository.ex` -4. `services/` - -## Handlers - -Basicamente são controllers, que expõe uma API pública do contexto/app para que outras aplicações possam usar! Cada `handler` deve respeitar um [comportamento/interface](https://elixirschool.com/pt/lessons/advanced/behaviours) e se restringir a um sub-domínio da aplicação. - -### CredenciaisHandler - -Código fonte pode ser visto [aqui](./lib/identidades/handlers/credenciais_handler.ex) - -```elixir -CredenciaisHandler.confirm_usuario/2 -CredenciaisHandler.delete_session_token/1 -CredenciaisHandler.fetch_usuario_by_reset_password_token/1 -CredenciaisHandler.fetch_usuario_by_session_token/2 -CredenciaisHandler.generate_email_token/2 -CredenciaisHandler.generate_session_token/1 -CredenciaisHandler.update_usuario_password/3 -CredenciaisHandler.reset_usuario_password/2 -``` - -### UsuarioHandler - -Código fonte pode ser visto [aqui](./lib/identidades/handlers/usuario_handler.ex) - -```elixir -UsuarioHandler.create_usuario_admin/1 -UsuarioHandler.create_usuario_pesquisador/1 -UsuarioHandler.fetch_usuario_by_id_publico/1 -UsuarioHandler.fetch_usuario_by_cpf_and_password/2 -UsuarioHandler.fetch_usuario_by_email_and_password/2 -UsuarioHandler.list_usuario/0 -``` - -## Models - -São definidos os modelos/entidades da aplicação, e devem ser a fonte da verdade do contexto. Podem representar tabelas de um banco de dados ou entidades mais abstratas. - -- [Contato](./lib/identidades/models/contato.ex) -- [Endereço](./lib/identidades/models/endereco.ex) -- [Token](./lib/identidades/models/token.ex) -- [Usuário](./lib/identidades/models/usuario.ex) - -## Repository - -Arquivo responsável por definir funções que interagem diretamente com o banco de dados, como inserção ou consultas. - -## Services - -Casos de uso, onde se concentram arquivos de lógica de negócio. Podem modificar entidades e são constituidos apenas por funções puras. diff --git a/apps/identidades/mix.exs b/apps/identidades/mix.exs deleted file mode 100644 index 53852559..00000000 --- a/apps/identidades/mix.exs +++ /dev/null @@ -1,46 +0,0 @@ -defmodule Identidades.MixProject do - use Mix.Project - - def project do - [ - app: :identidades, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps(), - aliases: aliases() - ] - end - - def application do - [extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(e) when e in ~w(dev test)a, do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:bcrypt_elixir, "~> 2.0"}, - {:brcpfcnpj, "~> 1.0.0"}, - {:ecto_sql, "~> 3.4"}, - {:postgrex, ">= 0.0.0"}, - {:ex_machina, "~> 2.7.0"}, - {:database, in_umbrella: true} - ] - end - - defp aliases do - [ - "ecto.setup": ["ecto.create", "ecto.migrate"], - "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"] - ] - end -end diff --git a/apps/identidades/priv/repo/migrations/.formatter.exs b/apps/identidades/priv/repo/migrations/.formatter.exs deleted file mode 100644 index 49f9151e..00000000 --- a/apps/identidades/priv/repo/migrations/.formatter.exs +++ /dev/null @@ -1,4 +0,0 @@ -[ - import_deps: [:ecto_sql], - inputs: ["*.exs"] -] diff --git a/apps/identidades/priv/repo/seeds.exs b/apps/identidades/priv/repo/seeds.exs deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/identidades/test/test_helper.exs b/apps/identidades/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/identidades/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/modulo_pesquisa/.formatter.exs b/apps/modulo_pesquisa/.formatter.exs deleted file mode 100644 index 4840f87f..00000000 --- a/apps/modulo_pesquisa/.formatter.exs +++ /dev/null @@ -1,5 +0,0 @@ -[ - import_deps: [:ecto, :ecto_sql], - subdirectories: ["priv/*/migrations"], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}", "priv/*/seeds.exs"] -] diff --git a/apps/modulo_pesquisa/README.md b/apps/modulo_pesquisa/README.md deleted file mode 100644 index 1de9afec..00000000 --- a/apps/modulo_pesquisa/README.md +++ /dev/null @@ -1,60 +0,0 @@ -# Modulo Pesquisa - -Aplicação responsável pelo cadastro e gerenciamento da parte administrativa da plataforma PEA Pescarte. - -A aplicação respeita a arquitetura explícita, onde temos: - -1. `handlers/` -2. `models/` -3. `repository.ex` -4. `services/` - -## Handlers - -Basicamente são controllers, que expõe uma API pública do contexto/app para que outras aplicações possam usar! Cada `handler` deve respeitar um [comportamento/interface](https://elixirschool.com/pt/lessons/advanced/behaviours) e se restringir a um sub-domínio da aplicação. - -### MidiasHandler - -Código fonte pode ser visto [aqui](./lib/modulo_pesquisa/handlers/midias_handler.ex) - -```elixir -MidiasHandler.create_categoria/1 -MidiasHandler.create_midia/1 -MidiasHandler.create_midia_and_tags/2 -MidiasHandler.create_tag/1 -MidiasHandler.create_multiple_tags/2 -MidiasHandler.fetch_categoria/1 -MidiasHandler.fetch_midia/1 -MidiasHandler.list_categoria/0 -MidiasHandler.list_midia/0 -MidiasHandler.list_midias_from_tag/1 -MidiasHandler.list_tag/0 -MidiasHandler.list_tags_from_categoria/1 -MidiasHandler.list_tags_from_midia/1 -MidiasHandler.remove_tags_from_midia/2 -MidiasHandler.update_midia/1 -MidiasHandler.update_tag/1 -``` - -## Models - -São definidos os modelos/entidades da aplicação, e devem ser a fonte da verdade do contexto. Podem representar tabelas de um banco de dados ou entidades mais abstratas. - -- [Campus](./lib/modulo_pesquisa/models/campus.ex) -- [Linha Pesquisa](./lib/modulo_pesquisa/models/linha_pesquisa.ex) -- [Midia](./lib/modulo_pesquisa/models/midia.ex) - - [Categoria](./lib/modulo_pesquisa/models/midia/categoria.ex) - - [Tag](./lib/modulo_pesquisa/models/midia/tag.ex) -- [Nucleo Pesquisa](./lib/modulo_pesquisa/models/nucleo_pesquisa.ex) -- [Pesquisador](./lib/modulo_pesquisa/models/pesquisador.ex) -- [Relatorio Anual Pesquisa](./lib/modulo_pesquisa/models/relatorio_anual_pesquisa.ex) -- [Relatorio Mensal Pesquisa](./lib/modulo_pesquisa/models/relatorio_mensal_pesquisa.ex) -- [Relatorio Trimestral Pesquisa](./lib/modulo_pesquisa/models/relatorio_trimestral_pesquisa.ex) - -## Repository - -Arquivo responsável por definir funções que interagem diretamente com o banco de dados, como inserção ou consultas. - -## Services - -Casos de uso, onde se concentram arquivos de lógica de negócio. Podem modificar entidades e são constituidos apenas por funções puras. diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex b/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex deleted file mode 100644 index fa6bb07e..00000000 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex +++ /dev/null @@ -1,5 +0,0 @@ -defmodule ModuloPesquisa.Handlers.IManagePesquisadorHandler do - alias ModuloPesquisa.Models.Pesquisador - - @callback list_pesquisadores() :: [Pesquisador.t()] -end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex b/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex deleted file mode 100644 index 26ba210f..00000000 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex +++ /dev/null @@ -1,9 +0,0 @@ -defmodule ModuloPesquisa.Handlers.IManageRelatoriosHandler do - alias ModuloPesquisa.Schemas.RelatorioPesquisa - - @callback list_relatorios(sorter) :: list(RelatorioPesquisa.t()) - when sorter: function - @callback list_relatorios_from_pesquisador(id, sorter) :: list(RelatorioPesquisa.t()) - when sorter: function, - id: String.t() -end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/pesquisador_handler.ex b/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/pesquisador_handler.ex deleted file mode 100644 index a350780e..00000000 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/pesquisador_handler.ex +++ /dev/null @@ -1,14 +0,0 @@ -defmodule ModuloPesquisa.Handlers.PesquisadorHandler do - alias ModuloPesquisa.Adapters.PesquisadorAdapter - alias ModuloPesquisa.Handlers.IManagePesquisadorHandler - alias ModuloPesquisa.Repository - - @behaviour IManagePesquisadorHandler - - @impl true - def list_pesquisadores do - Repository.list_pesquisador() - |> Enum.sort_by(& &1.usuario.primeiro_nome) - |> Enum.map(&PesquisadorAdapter.internal_to_external/1) - end -end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_mensal.ex b/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_mensal.ex deleted file mode 100644 index c6ac527a..00000000 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_mensal.ex +++ /dev/null @@ -1,32 +0,0 @@ -defmodule ModuloPesquisa.Schemas.ConteudoMensal do - use Ecto.Schema - - import Ecto.Changeset - - @primary_key false - - @fields [ - :acao_planejamento, - :participacao_grupos_estudo, - :acoes_pesquisa, - :participacao_treinamentos, - :publicacao, - :previsao_acao_planejamento, - :previsao_participacao_grupos_estudo, - :previsao_participacao_treinamentos, - :previsao_acoes_pesquisa - ] - - embedded_schema do - for field <- @fields do - field field, :string - end - end - - @doc false - def changeset(conteudo, attrs) do - conteudo - |> cast(attrs, @fields) - |> validate_required([]) - end -end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_trimestral.ex b/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_trimestral.ex deleted file mode 100644 index 8e3f6cb3..00000000 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_trimestral.ex +++ /dev/null @@ -1,30 +0,0 @@ -defmodule ModuloPesquisa.Schemas.ConteudoTrimestral do - use Ecto.Schema - - import Ecto.Changeset - - @primary_key false - - @fields [ - :titulo, - :introducao, - :embasamento_teorico, - :resultados_preliminares, - :atividades_academicas, - :atividades_nao_academicas, - :referencias - ] - - embedded_schema do - for field <- @fields do - field field, :string - end - end - - @doc false - def changeset(conteudo, attrs) do - conteudo - |> cast(attrs, @fields) - |> validate_required([]) - end -end diff --git a/apps/modulo_pesquisa/mix.exs b/apps/modulo_pesquisa/mix.exs deleted file mode 100644 index c8ccbc80..00000000 --- a/apps/modulo_pesquisa/mix.exs +++ /dev/null @@ -1,46 +0,0 @@ -defmodule ModuloPesquisa.MixProject do - use Mix.Project - - def project do - [ - app: :modulo_pesquisa, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps(), - aliases: aliases() - ] - end - - def application do - [extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(e) when e in ~w(dev test)a, do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:timex, "~> 3.0"}, - {:ecto_sql, "~> 3.4"}, - {:postgrex, ">= 0.0.0"}, - {:ex_machina, "~> 2.7.0"}, - {:database, in_umbrella: true}, - {:identidades, in_umbrella: true} - ] - end - - defp aliases do - [ - "ecto.setup": ["ecto.create", "ecto.migrate"], - "ecto.reset": ["ecto.drop", "ecto.setup"], - test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"] - ] - end -end diff --git a/apps/modulo_pesquisa/priv/repo/seeds.exs b/apps/modulo_pesquisa/priv/repo/seeds.exs deleted file mode 100644 index e69de29b..00000000 diff --git a/apps/modulo_pesquisa/test/test_helper.exs b/apps/modulo_pesquisa/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/modulo_pesquisa/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/plataforma_digital/.formatter.exs b/apps/plataforma_digital/.formatter.exs deleted file mode 100644 index d13f2a18..00000000 --- a/apps/plataforma_digital/.formatter.exs +++ /dev/null @@ -1,5 +0,0 @@ -[ - import_deps: [:phoenix], - plugins: [Phoenix.LiveView.HTMLFormatter], - inputs: ["*.{ex,exs,heex}", "{lib,test}/**/*.{ex,exs,heex}"] -] diff --git a/apps/plataforma_digital/lib/plataforma_digital/application.ex b/apps/plataforma_digital/lib/plataforma_digital/application.ex deleted file mode 100644 index f00e75a4..00000000 --- a/apps/plataforma_digital/lib/plataforma_digital/application.ex +++ /dev/null @@ -1,26 +0,0 @@ -defmodule PlataformaDigital.Application do - @moduledoc false - - use Application - - def start(_type, _args) do - children = [ - # Start the Telemetry supervisor - PlataformaDigital.Telemetry, - # Start the Endpoint (http/https) - PlataformaDigital.Endpoint - # Start the PubSub system - ] - - opts = [strategy: :one_for_one, name: PlataformaDigital.Supervisor] - Supervisor.start_link(children, opts) - end - - # Tell Phoenix to update the endpoint configuration - # whenever the application is updated. - @spec config_change(keyword, keyword, keyword) :: :ok - def config_change(changed, _new, removed) do - PlataformaDigital.Endpoint.config_change(changed, removed) - :ok - end -end diff --git a/apps/plataforma_digital/lib/plataforma_digital/controllers/landing_controller.ex b/apps/plataforma_digital/lib/plataforma_digital/controllers/landing_controller.ex deleted file mode 100644 index 97bf3f40..00000000 --- a/apps/plataforma_digital/lib/plataforma_digital/controllers/landing_controller.ex +++ /dev/null @@ -1,7 +0,0 @@ -defmodule PlataformaDigital.LandingController do - use PlataformaDigital, :controller - - def show(conn, _params) do - render(conn, :show) - end -end diff --git a/apps/plataforma_digital/lib/plataforma_digital/layouts.ex b/apps/plataforma_digital/lib/plataforma_digital/layouts.ex deleted file mode 100644 index 289898af..00000000 --- a/apps/plataforma_digital/lib/plataforma_digital/layouts.ex +++ /dev/null @@ -1,5 +0,0 @@ -defmodule PlataformaDigital.Layouts do - use PlataformaDigital, :html - - embed_templates "layouts/*" -end diff --git a/apps/plataforma_digital/lib/plataforma_digital/telemetry.ex b/apps/plataforma_digital/lib/plataforma_digital/telemetry.ex deleted file mode 100644 index d5dd2709..00000000 --- a/apps/plataforma_digital/lib/plataforma_digital/telemetry.ex +++ /dev/null @@ -1,61 +0,0 @@ -defmodule PlataformaDigital.Telemetry do - @moduledoc """ - Telemetry - """ - - use Supervisor - import Telemetry.Metrics - - @spec start_link(list) :: {:ok, pid} | {:error, any} - def start_link(arg) do - Supervisor.start_link(__MODULE__, arg, name: __MODULE__) - end - - @impl Supervisor - def init(_arg) do - children = [ - # Telemetry poller will execute the given period measurements - # every 10_000ms. Learn more here: https://hexdocs.pm/telemetry_metrics - {:telemetry_poller, measurements: periodic_measurements(), period: 10_000} - # Add reporters as children of your supervision tree. - # {Telemetry.Metrics.ConsoleReporter, metrics: metrics()} - ] - - Supervisor.init(children, strategy: :one_for_one) - end - - @spec metrics :: list - def metrics do - [ - # Phoenix Metrics - summary("phoenix.endpoint.stop.duration", - unit: {:native, :millisecond} - ), - summary("phoenix.router_dispatch.stop.duration", - tags: [:route], - unit: {:native, :millisecond} - ), - - # Database Metrics - summary("pescarte.repo.query.total_time", unit: {:native, :millisecond}), - summary("pescarte.repo.query.decode_time", unit: {:native, :millisecond}), - summary("pescarte.repo.query.query_time", unit: {:native, :millisecond}), - summary("pescarte.repo.query.queue_time", unit: {:native, :millisecond}), - summary("pescarte.repo.query.idle_time", unit: {:native, :millisecond}), - - # VM Metrics - summary("vm.memory.total", unit: {:byte, :kilobyte}), - summary("vm.total_run_queue_lengths.total"), - summary("vm.total_run_queue_lengths.cpu"), - summary("vm.total_run_queue_lengths.io") - ] - end - - defp periodic_measurements do - [ - # A module, function and arguments to be invoked periodically. - # This function must call :telemetry.execute/3 and a metric must be added above. - # {PlataformaDigital, :count_users, []} - ] - end -end diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/landing_html.ex b/apps/plataforma_digital/lib/plataforma_digital/templates/landing_html.ex deleted file mode 100644 index b36f7463..00000000 --- a/apps/plataforma_digital/lib/plataforma_digital/templates/landing_html.ex +++ /dev/null @@ -1,11 +0,0 @@ -defmodule PlataformaDigital.LandingHTML do - use PlataformaDigital, :html - - embed_templates "landing_html/*" - - def handle_event("dialog", _value, socket) do - IO.puts("HHHHHHHHEEEEEEEEELLLLLLLLLOOOOOOOOOOOOOOOOOOOOO") - - {:noreply, socket} - end -end diff --git a/apps/plataforma_digital/mix.exs b/apps/plataforma_digital/mix.exs deleted file mode 100644 index 60e6ad91..00000000 --- a/apps/plataforma_digital/mix.exs +++ /dev/null @@ -1,47 +0,0 @@ -defmodule PlataformaDigital.MixProject do - use Mix.Project - - def project do - [ - app: :plataforma_digital, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - def application do - [mod: {PlataformaDigital.Application, []}, extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(:test), do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:phoenix, "~> 1.7", override: true}, - {:phoenix_ecto, "~> 4.1"}, - {:phoenix_live_reload, "~> 1.2", only: :dev}, - {:timex, "~> 3.0"}, - {:telemetry_metrics, "~> 0.4"}, - {:telemetry_poller, "~> 0.4"}, - {:phoenix_live_view, "~> 0.18"}, - {:floki, ">= 0.30.0", only: :test}, - {:jason, "~> 1.0"}, - {:lucide_icons, "~> 1.0"}, - {:phoenix_storybook, "~> 0.5"}, - {:esbuild, "~> 0.3", runtime: Mix.env() == :dev}, - {:tailwind, "~> 0.1", runtime: Mix.env() == :dev}, - {:dart_sass, "~> 0.5", runtime: Mix.env() == :dev}, - {:identidades, in_umbrella: true}, - {:modulo_pesquisa, in_umbrella: true} - ] - end -end diff --git a/apps/plataforma_digital/test/test_helper.exs b/apps/plataforma_digital/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/plataforma_digital/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/plataforma_digital_api/.formatter.exs b/apps/plataforma_digital_api/.formatter.exs deleted file mode 100644 index a9457fb5..00000000 --- a/apps/plataforma_digital_api/.formatter.exs +++ /dev/null @@ -1,4 +0,0 @@ -[ - import_deps: [:phoenix], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}"] -] diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/application.ex b/apps/plataforma_digital_api/lib/plataforma_digital_api/application.ex deleted file mode 100644 index 8a668397..00000000 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/application.ex +++ /dev/null @@ -1,23 +0,0 @@ -defmodule PlataformaDigitalAPI.Application do - @moduledoc false - - use Application - - def start(_type, _args) do - children = [ - # Start the Endpoint (http/https) - PlataformaDigitalAPI.Endpoint - ] - - opts = [strategy: :one_for_one, name: PlataformaDigitalAPI.Supervisor] - Supervisor.start_link(children, opts) - end - - # Tell Phoenix to update the endpoint configuration - # whenever the application is updated. - @spec config_change(keyword, keyword, keyword) :: :ok - def config_change(changed, _new, removed) do - PlataformaDigitalAPI.Endpoint.config_change(changed, removed) - :ok - end -end diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/endpoint.ex b/apps/plataforma_digital_api/lib/plataforma_digital_api/endpoint.ex deleted file mode 100644 index 752722b8..00000000 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/endpoint.ex +++ /dev/null @@ -1,15 +0,0 @@ -defmodule PlataformaDigitalAPI.Endpoint do - use Phoenix.Endpoint, otp_app: :plataforma_digital_api - - plug Plug.RequestId - plug Plug.Logger - - plug Plug.Parsers, - parsers: [:urlencoded, :multipart, :json], - pass: ["*/*"], - json_decoder: Jason - - plug PlataformaDigitalAPI.Context - - plug Absinthe.Plug, schema: PlataformaDigitalAPI.Schema -end diff --git a/apps/plataforma_digital_api/mix.exs b/apps/plataforma_digital_api/mix.exs deleted file mode 100644 index 59b44c95..00000000 --- a/apps/plataforma_digital_api/mix.exs +++ /dev/null @@ -1,38 +0,0 @@ -defmodule PlataformaDigitalAPI.MixProject do - use Mix.Project - - def project do - [ - app: :plataforma_digital_api, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - def application do - [mod: {PlataformaDigitalAPI.Application, []}, extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(:test), do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:phoenix, "~> 1.7", override: true}, - {:jason, "~> 1.0"}, - {:absinthe, "~> 1.5"}, - {:absinthe_plug, "~> 1.5"}, - {:absinthe_phoenix, "~> 2.0.0"}, - {:identidades, in_umbrella: true}, - {:modulo_pesquisa, in_umbrella: true} - ] - end -end diff --git a/apps/plataforma_digital_api/test/support/conn_case.ex b/apps/plataforma_digital_api/test/support/conn_case.ex deleted file mode 100644 index 42078cf9..00000000 --- a/apps/plataforma_digital_api/test/support/conn_case.ex +++ /dev/null @@ -1,55 +0,0 @@ -defmodule PlataformaDigitalAPI.ConnCase do - @moduledoc """ - This module defines the test case to be used by - tests that require setting up a connection. - - Such tests rely on `Phoenix.ConnTest` and also - import other functionality to make it easier - to build common data structures and query the data layer. - - Finally, if the test case interacts with the database, - 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 PlataformaDigitalAPI.ConnCase, async: true`, although - this option is not recommended for other databases. - """ - - use ExUnit.CaseTemplate - - alias Ecto.Adapters.SQL.Sandbox - - using do - quote do - # Import conveniences for testing with connections - import Plug.Conn - import Phoenix.ConnTest - import PlataformaDigitalAPI.ConnCase - - # The default endpoint for testing - @endpoint PlataformaDigitalAPI.Endpoint - end - end - - setup tags do - pid = Sandbox.start_owner!(Database.Repo, shared: not tags[:async]) - on_exit(fn -> Sandbox.stop_owner(pid) end) - {:ok, conn: Phoenix.ConnTest.build_conn()} - end - - @token_salt "autenticação de usuário" - - @doc """ - Insere e cria um JWT para um usuário, para ser usado nos testes - de API. - - setup :register_and_generate_jwt_token - - Atente-se pois essa função adiciona um header na `conn` - """ - def register_and_generate_jwt_token(%{conn: conn}) do - user = Identidades.Factory.insert(:usuario) - token = Phoenix.Token.sign(PlataformaDigitalAPI.Endpoint, @token_salt, user.id_publico) - %{conn: Plug.Conn.put_req_header(conn, "authorization", "Bearer " <> token), user: user} - end -end diff --git a/apps/plataforma_digital_api/test/test_helper.exs b/apps/plataforma_digital_api/test/test_helper.exs deleted file mode 100644 index 869559e7..00000000 --- a/apps/plataforma_digital_api/test/test_helper.exs +++ /dev/null @@ -1 +0,0 @@ -ExUnit.start() diff --git a/apps/proxy_web/.formatter.exs b/apps/proxy_web/.formatter.exs deleted file mode 100644 index a9457fb5..00000000 --- a/apps/proxy_web/.formatter.exs +++ /dev/null @@ -1,4 +0,0 @@ -[ - import_deps: [:phoenix], - inputs: ["*.{ex,exs}", "{lib,test}/**/*.{ex,exs}"] -] diff --git a/apps/proxy_web/README.md b/apps/proxy_web/README.md deleted file mode 100644 index 43784faa..00000000 --- a/apps/proxy_web/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Proxy Web - -Uma aplicação para redirecionar requisições web para diferentes aplicações internas. Dessa forma é possível subir apenas um servidor web, que responde em diferentes rotas ou domínios, de forma prática e escalável. - -## Como usar - -Para subir o servidor web, basta executar `mix phx.server` dentro da raiz do projeto Pescarte, ou caso queira uma REPL interativo: `iex -S mix phx.server`. - -Caso seja necessário definir uma nova aplicação que irá receber requisições web, vá para o arquivo de [Endpoint](./lib/proxy_web/endpoint.ex), adicione sua aplicação no mapa de redirecionamento. -Após essa adição, vá para o arquivo de [Router](./lib/proxy_web/plugs/router.ex) e defina a lógica necessária para o redirecionamento das requisições. - -Atualmente o redirecionamento ocorre com base no caminho de rotas das chamadas. Essa lógica pode ser modificada ou extendida caso necessária. Dessa forma, atualmente existem duas aplicações que recebem o redirecionamento: -1. [Plataforma Digital](../plataforma_digital): Recebe toda requisição, por padrão. -2. [API Plataforma Digital](../plataforma_digital_api): Recebe requisições a partir do caminho de rota `/api`. diff --git a/apps/proxy_web/lib/proxy_web.ex b/apps/proxy_web/lib/proxy_web.ex deleted file mode 100644 index bdcbbeb8..00000000 --- a/apps/proxy_web/lib/proxy_web.ex +++ /dev/null @@ -1,16 +0,0 @@ -defmodule ProxyWeb do - @moduledoc false - - use Application - - def start(_type, _args) do - children = [ProxyWeb.Endpoint, {Phoenix.PubSub, name: Pescarte.PubSub}] - opts = [strategy: :one_for_one, name: Proxy.Supervisor] - Supervisor.start_link(children, opts) - end - - def config_change(changed, _new, removed) do - ProxyWeb.Endpoint.config_change(changed, removed) - :ok - end -end diff --git a/apps/proxy_web/lib/proxy_web/endpoint.ex b/apps/proxy_web/lib/proxy_web/endpoint.ex deleted file mode 100644 index fb943d65..00000000 --- a/apps/proxy_web/lib/proxy_web/endpoint.ex +++ /dev/null @@ -1,17 +0,0 @@ -defmodule ProxyWeb.Endpoint do - use Phoenix.Endpoint, otp_app: :proxy_web - - # Code reloading can be explicitly enabled under the - # :code_reloader configuration of your endpoint. - if code_reloading? do - socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket - plug Phoenix.LiveReloader - plug Phoenix.CodeReloader - plug Phoenix.Ecto.CheckRepoStatus, otp_app: :database - end - - plug ProxyWeb.Router, %{ - api: PlataformaDigitalAPI.Endpoint, - default: PlataformaDigital.Endpoint - } -end diff --git a/apps/proxy_web/lib/proxy_web/plugs/router.ex b/apps/proxy_web/lib/proxy_web/plugs/router.ex deleted file mode 100644 index 83d713f8..00000000 --- a/apps/proxy_web/lib/proxy_web/plugs/router.ex +++ /dev/null @@ -1,13 +0,0 @@ -defmodule ProxyWeb.Router do - @behaviour Plug - - def init(routes), do: routes - - def call(conn, routes) do - endpoint = forward_conn(conn.path_info, routes) - endpoint.call(conn, []) - end - - defp forward_conn(["api" | _], %{api: endpoint}), do: endpoint - defp forward_conn(_, %{default: endpoint}), do: endpoint -end diff --git a/apps/proxy_web/mix.exs b/apps/proxy_web/mix.exs deleted file mode 100644 index 7b7c4f25..00000000 --- a/apps/proxy_web/mix.exs +++ /dev/null @@ -1,37 +0,0 @@ -defmodule ProxyWeb.MixProject do - use Mix.Project - - def project do - [ - app: :proxy_web, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - elixirc_paths: elixirc_paths(Mix.env()), - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - def application do - [mod: {ProxyWeb, []}, extra_applications: [:logger, :runtime_tools]] - end - - # Specifies which paths to compile per environment. - defp elixirc_paths(:test), do: ["lib", "test/support"] - defp elixirc_paths(_), do: ["lib"] - - defp deps do - [ - {:bandit, "~> 0.6"}, - {:phoenix, "~> 1.7", override: true}, - {:phoenix_ecto, "~> 4.1"}, - {:phoenix_live_reload, "~> 1.2", only: :dev}, - {:plataforma_digital, in_umbrella: true}, - {:plataforma_digital_api, in_umbrella: true} - ] - end -end diff --git a/apps/seeder/mix.exs b/apps/seeder/mix.exs deleted file mode 100644 index b14aa8b8..00000000 --- a/apps/seeder/mix.exs +++ /dev/null @@ -1,30 +0,0 @@ -defmodule Seeder.MixProject do - use Mix.Project - - def project do - [ - app: :seeder, - version: "0.1.0", - build_path: "../../_build", - config_path: "../../config/config.exs", - deps_path: "../../deps", - lockfile: "../../mix.lock", - elixir: "~> 1.14", - start_permanent: Mix.env() == :prod, - deps: deps() - ] - end - - def application do - [extra_applications: [:logger]] - end - - defp deps do - [ - {:nanoid, "~> 2.0.5"}, - {:database, in_umbrella: true}, - {:identidades, in_umbrella: true}, - {:modulo_pesquisa, in_umbrella: true} - ] - end -end diff --git a/apps/plataforma_digital/assets/css/app.css b/assets/css/app.css similarity index 100% rename from apps/plataforma_digital/assets/css/app.css rename to assets/css/app.css diff --git a/apps/plataforma_digital/assets/css/app.scss b/assets/css/app.scss similarity index 100% rename from apps/plataforma_digital/assets/css/app.scss rename to assets/css/app.scss diff --git a/apps/plataforma_digital/assets/css/button.scss b/assets/css/button.scss similarity index 100% rename from apps/plataforma_digital/assets/css/button.scss rename to assets/css/button.scss diff --git a/apps/plataforma_digital/assets/css/checkbox.scss b/assets/css/checkbox.scss similarity index 100% rename from apps/plataforma_digital/assets/css/checkbox.scss rename to assets/css/checkbox.scss diff --git a/apps/plataforma_digital/assets/css/errors/404.scss b/assets/css/errors/404.scss similarity index 100% rename from apps/plataforma_digital/assets/css/errors/404.scss rename to assets/css/errors/404.scss diff --git a/apps/plataforma_digital/assets/css/input.scss b/assets/css/input.scss similarity index 100% rename from apps/plataforma_digital/assets/css/input.scss rename to assets/css/input.scss diff --git a/apps/plataforma_digital/assets/css/landing.scss b/assets/css/landing.scss similarity index 100% rename from apps/plataforma_digital/assets/css/landing.scss rename to assets/css/landing.scss diff --git a/apps/plataforma_digital/assets/css/navbar.scss b/assets/css/navbar.scss similarity index 100% rename from apps/plataforma_digital/assets/css/navbar.scss rename to assets/css/navbar.scss diff --git a/apps/plataforma_digital/assets/css/pages/app/researcher/listagem_pesquisador.scss b/assets/css/pages/app/researcher/listagem_pesquisador.scss similarity index 100% rename from apps/plataforma_digital/assets/css/pages/app/researcher/listagem_pesquisador.scss rename to assets/css/pages/app/researcher/listagem_pesquisador.scss diff --git a/apps/plataforma_digital/assets/css/pages/app/researcher/profile.scss b/assets/css/pages/app/researcher/profile.scss similarity index 100% rename from apps/plataforma_digital/assets/css/pages/app/researcher/profile.scss rename to assets/css/pages/app/researcher/profile.scss diff --git a/apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/list_report.scss b/assets/css/pages/app/researcher/relatorio/list_report.scss similarity index 100% rename from apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/list_report.scss rename to assets/css/pages/app/researcher/relatorio/list_report.scss diff --git a/apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/report.scss b/assets/css/pages/app/researcher/relatorio/report.scss similarity index 100% rename from apps/plataforma_digital/assets/css/pages/app/researcher/relatorio/report.scss rename to assets/css/pages/app/researcher/relatorio/report.scss diff --git a/apps/plataforma_digital/assets/css/pages/login.scss b/assets/css/pages/login.scss similarity index 100% rename from apps/plataforma_digital/assets/css/pages/login.scss rename to assets/css/pages/login.scss diff --git a/apps/plataforma_digital/assets/css/radio.scss b/assets/css/radio.scss similarity index 100% rename from apps/plataforma_digital/assets/css/radio.scss rename to assets/css/radio.scss diff --git a/apps/plataforma_digital/assets/css/search.scss b/assets/css/search.scss similarity index 100% rename from apps/plataforma_digital/assets/css/search.scss rename to assets/css/search.scss diff --git a/apps/plataforma_digital/assets/css/storybook.css b/assets/css/storybook.css similarity index 100% rename from apps/plataforma_digital/assets/css/storybook.css rename to assets/css/storybook.css diff --git a/apps/plataforma_digital/assets/css/tabela.scss b/assets/css/tabela.scss similarity index 100% rename from apps/plataforma_digital/assets/css/tabela.scss rename to assets/css/tabela.scss diff --git a/apps/plataforma_digital/assets/css/textarea.scss b/assets/css/textarea.scss similarity index 100% rename from apps/plataforma_digital/assets/css/textarea.scss rename to assets/css/textarea.scss diff --git a/apps/plataforma_digital/assets/css/toast.scss b/assets/css/toast.scss similarity index 100% rename from apps/plataforma_digital/assets/css/toast.scss rename to assets/css/toast.scss diff --git a/apps/plataforma_digital/assets/default.nix b/assets/default.nix similarity index 100% rename from apps/plataforma_digital/assets/default.nix rename to assets/default.nix diff --git a/apps/plataforma_digital/assets/js/app.js b/assets/js/app.js similarity index 92% rename from apps/plataforma_digital/assets/js/app.js rename to assets/js/app.js index 0c1d191c..080618ad 100644 --- a/apps/plataforma_digital/assets/js/app.js +++ b/assets/js/app.js @@ -1,10 +1,4 @@ import "phoenix_html"; -import Inputmask from "inputmask"; - -const cpf = document.querySelector("#user_cpf"); - -// input masks -if (cpf) Inputmask({ mask: "999.999.999-99" }).mask(cpf); function onVisible(elem, callback) { const options = { root: document.documentElement }; diff --git a/apps/plataforma_digital/assets/js/storybook.js b/assets/js/storybook.js similarity index 100% rename from apps/plataforma_digital/assets/js/storybook.js rename to assets/js/storybook.js diff --git a/apps/plataforma_digital/assets/node-env.nix b/assets/node-env.nix similarity index 100% rename from apps/plataforma_digital/assets/node-env.nix rename to assets/node-env.nix diff --git a/apps/plataforma_digital/assets/node-packages.nix b/assets/node-packages.nix similarity index 100% rename from apps/plataforma_digital/assets/node-packages.nix rename to assets/node-packages.nix diff --git a/apps/plataforma_digital/assets/package-lock.json b/assets/package-lock.json similarity index 100% rename from apps/plataforma_digital/assets/package-lock.json rename to assets/package-lock.json diff --git a/apps/plataforma_digital/assets/package.json b/assets/package.json similarity index 52% rename from apps/plataforma_digital/assets/package.json rename to assets/package.json index e23ebadf..66565523 100644 --- a/apps/plataforma_digital/assets/package.json +++ b/assets/package.json @@ -7,13 +7,6 @@ "license": "BSD-3-Clause", "private": true, "dependencies": { - "esbuild": "^0.17.10", - "inputmask": "^5.0.7", - "phoenix": "file:../../../deps/phoenix", - "phoenix_html": "file:../../../deps/phoenix_html", - "phoenix_live_view": "file:../../../deps/phoenix_live_view", - "sass": "^1.63.4", - "tailwindcss": "^3.2.7", "topbar": "^1.0.1" } } diff --git a/apps/plataforma_digital/assets/tailwind.config.js b/assets/tailwind.config.js similarity index 100% rename from apps/plataforma_digital/assets/tailwind.config.js rename to assets/tailwind.config.js diff --git a/config/config.exs b/config/config.exs index 753dd534..a57c4e51 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,43 +1,33 @@ import Config -config :database, config_env: config_env() -config :cotacoes_etl, config_env: config_env() +config :pescarte, config_env: Mix.env() + +config :pescarte, fetch_pesagro_cotacoes: System.get_env("FETCH_PESAGRO_COTACOES") config :tesla, adapter: {Tesla.Adapter.Finch, name: PescarteHTTPClient} -# -------- # -# Database # -# -------- # -config :database, - ecto_repos: [Database.Repo, Database.Repo.Replica], +config :pescarte, + ecto_repos: [Pescarte.Database.Repo, Pescarte.Database.Repo.Replica], migration_timestamps: [type: :utc_datetime_usec] -# --------- # -# Proxy Web # -# --------- # -config :proxy_web, ProxyWeb.Endpoint, +config :pescarte, PescarteWeb.Endpoint, adapter: Bandit.PhoenixAdapter, pubsub_server: Pescarte.PubSub, url: [host: "localhost"], + render_errors: [ + layout: false, + formats: [html: PescarteWeb.ErrorHTML, json: PescarteWeb.ErrorJSON] + ], secret_key_base: "57RgSOwri8BGRx6ilgBZjAf3Cob5s8/2E4CFkr+/FWZGEP0J2f+AWFnUKn2QGlvf", - server: true - -# ------------------- # -# Plataforma Digitial # -# ------------------- # -config :plataforma_digital, PlataformaDigital.Endpoint, - secret_key_base: "yFgelUyKSgiemxYRsbxwGxiQKROQTx0bokxUGNZOnOOqJExsqZSsUHmcq4Ue11Tx", - pubsub_server: Pescarte.PubSub, - render_errors: [formats: [html: PlataformaDigital.ErrorHTML], layout: false], - live_view: [signing_salt: "TxTzLCT/WGlob2+Vo0uZ1IQAfkgq53M"], - server: false + server: true, + live_view: [signing_salt: "F5ab1yDTPHX_hQJm"] config :esbuild, version: "0.18.6", default: [ args: ~w(js/app.js js/storybook.js --bundle --platform=node --target=es2017 --outdir=../priv/static/assets), - cd: Path.expand("../apps/plataforma_digital/assets", __DIR__), + cd: Path.expand("../assets", __DIR__), env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} ] @@ -45,7 +35,7 @@ config :dart_sass, version: "1.63.6", default: [ args: ~w(css/app.scss ../priv/static/assets/app.css.tailwind), - cd: Path.expand("../apps/plataforma_digital/assets", __DIR__) + cd: Path.expand("../assets", __DIR__) ] config :tailwind, @@ -53,7 +43,7 @@ config :tailwind, default: [ args: ~w(--config=tailwind.config.js --input=../priv/static/assets/app.css.tailwind --output=../priv/static/assets/app.css), - cd: Path.expand("../apps/plataforma_digital/assets", __DIR__) + cd: Path.expand("../assets", __DIR__) ], storybook: [ args: ~w( @@ -61,17 +51,9 @@ config :tailwind, --input=css/storybook.css --output=../priv/static/assets/storybook.css ), - cd: Path.expand("../apps/plataforma_digital/assets", __DIR__) + cd: Path.expand("../assets", __DIR__) ] -# ---------------------- # -# Plataforma Digital API # -# ---------------------- # -config :plataforma_digital_api, PlataformaDigitalAPI.Endpoint, - pubsub_server: Pescarte.PubSub, - secret_key_base: "p72JmdAzMY6LcSoQVEFDujKltZoaqCVTu5T5Fj/8PQzc079nuVa1kQfr4Z5lmJUE", - server: false - # Configures Elixir's Logger config :logger, :console, format: "$time $metadata[$level] $message\n", @@ -79,8 +61,6 @@ config :logger, :console, config :phoenix, :json_library, Jason -config :seeder, env: config_env() - config :git_hooks, verbose: true, hooks: [ diff --git a/config/dev.exs b/config/dev.exs index 652120d9..0cb5ec18 100644 --- a/config/dev.exs +++ b/config/dev.exs @@ -19,13 +19,13 @@ database_opts = [ pool_size: 10 ] -config :database, Database.Repo, database_opts -config :database, Database.Repo.Replica, database_opts +config :pescarte, Pescarte.Database.Repo, database_opts +config :pescarte, Pescarte.Database.Repo.Replica, database_opts # --------- # # Proxy Web # # --------- # -config :proxy_web, ProxyWeb.Endpoint, +config :pescarte, PescarteWeb.Endpoint, http: [ip: {0, 0, 0, 0}, port: 4000], check_origin: false, code_reloader: true, @@ -40,15 +40,12 @@ config :proxy_web, ProxyWeb.Endpoint, live_reload: [ patterns: [ ~r"storybook/.*(exs)$", - ~r"apps/plataforma_digital_api/lib/*.(ex)$", - ~r"apps/plataforma_digital/priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$", - ~r"apps/plataforma_digital/lib/plataforma_digital/(controllers|live|components|templates)/.*(ex|heex)$" + ~r"lib/*.(ex)$", + ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$", + ~r"lib/pescarte_web/(controllers|live|components)/.*(ex|heex)$" ] ] -config :plataforma_digital, PlataformaDigital.Endpoint, debug_errors: true -config :plataforma_digital_api, PlataformaDigitalAPI.Endpoint, debug_errors: true - # Do not include metadata nor timestamps in development logs config :logger, :console, format: "[$level] $message\n" diff --git a/config/prod.exs b/config/prod.exs index f8d420a9..7f5f017b 100644 --- a/config/prod.exs +++ b/config/prod.exs @@ -1,7 +1,6 @@ import Config -config :plataforma_digital, PlataformaDigital.Endpoint, - cache_static_manifest: "priv/static/cache_manifest.json" +config :pescarte, PescarteWeb.Endpoint, cache_static_manifest: "priv/static/cache_manifest.json" # Do not print debug messages in production config :logger, level: :info diff --git a/config/runtime.exs b/config/runtime.exs index 610bbb75..10f3d69a 100644 --- a/config/runtime.exs +++ b/config/runtime.exs @@ -3,11 +3,9 @@ import Config config :timex, timezone: System.get_env("TIMEZONE", "America/Sao_Paulo") if System.get_env("PHX_SERVER") do - config :proxy_web, ProxyWeb.Endpoint, server: true + config :pescarte, PescarteWeb.Endpoint, server: true end -config :cotacoes_etl, fetch_pesagro_cotacoes: System.get_env("FETCH_PESAGRO_COTACOES") - if config_env() == :prod do database_url = System.get_env("DATABASE_URL") || @@ -25,14 +23,14 @@ if config_env() == :prod do socket_options: maybe_ipv6 ] - config :database, Database.Repo, database_opts - config :database, Database.Repo.Replica, database_opts + config :pescarte, Pescarte.Repo, database_opts + config :pescarte, Pescarte.Repo.Replica, database_opts secret_key_base = System.get_env("SECRET_KEY_BASE") || raise "SECRET_KEY_BASE not available" - config :proxy_web, ProxyWeb.Endpoint, + config :pescarte, PescarteWeb.Endpoint, http: [ ip: {0, 0, 0, 0, 0, 0, 0, 0}, port: String.to_integer(System.get_env("PORT") || "4000") @@ -40,6 +38,6 @@ if config_env() == :prod do secret_key_base: secret_key_base if System.get_env("UENF_SERVER") do - config :proxy_web, ProxyWeb.Endpoint, url: [host: "pescarte.uenf.br", port: 8080] + config :pescarte, PescarteWeb.Endpoint, url: [host: "pescarte.uenf.br", port: 8080] end end diff --git a/config/test.exs b/config/test.exs index 3164ec55..2650273c 100644 --- a/config/test.exs +++ b/config/test.exs @@ -1,6 +1,6 @@ import Config -config :database, ecto_repos: [Database.Repo] +config :pescarte, ecto_repos: [Pescarte.Database.Repo] database = System.get_env("PG_DATABASE", "peapescarte") db_user = System.get_env("DATABASE_USER", "peapescarte") @@ -17,24 +17,18 @@ database_opts = [ pool_size: 10 ] -config :database, Database.Repo, database_opts +config :pescarte, Pescarte.Database.Repo, database_opts +config :pescarte, Pescarte.Database.Repo.Replica, database_opts # We don't run a server during test. If one is required, # you can enable the server option below. -config :plataforma_digital, PlataformaDigital.Endpoint, +config :pescarte, PescarteWeb.Endpoint, http: [ip: {127, 0, 0, 1}, port: 4002], secret_key_base: "bCQ+FSLb9dhw6zg5bmUdKpINI8n7gjfzV84iFV9bLS9xd3rMIG20f5vXkkwbunnG", server: false -# We don't run a server during test. If one is required, -# you can enable the server option below. -config :plataforma_digital_api, PlataformaDigitalAPI.Endpoint, - http: [ip: {127, 0, 0, 1}, port: 4003], - secret_key_base: "KGsxlyxraEpvmC3fdae4QTZ0qd0ahZSKK8I/9wVxo4r5N+wAU8Z6qgYTIErGKkpI", - server: false - # Print only warnings and errors during test -config :logger, level: :warn +config :logger, level: :warning # Only in tests, remove the complexity from the password hashing algorithm config :bcrypt_elixir, :log_rounds, 1 diff --git a/flake.nix b/flake.nix index 03b5111c..78ecc4bb 100644 --- a/flake.nix +++ b/flake.nix @@ -17,7 +17,7 @@ "${systems.darwin}".default = let darwinPkgs = pkgs systems.darwin; erl = darwinPkgs.beam.packages.erlang; - nodeDependencies = (darwinPkgs.callPackage ./apps/plataforma_digital/assets/default.nix {}).shell.nodeDependencies; + nodeDependencies = (darwinPkgs.callPackage ./assets/default.nix {}).shell.nodeDependencies; in erl.callPackage ./nix/pescarte.nix { inherit nodeDependencies; diff --git a/apps/seeder/lib/mix/tasks/seed.ex b/lib/mix/tasks/seed.ex similarity index 100% rename from apps/seeder/lib/mix/tasks/seed.ex rename to lib/mix/tasks/seed.ex diff --git a/lib/pescarte.ex b/lib/pescarte.ex new file mode 100644 index 00000000..44a033d8 --- /dev/null +++ b/lib/pescarte.ex @@ -0,0 +1,30 @@ +defmodule Pescarte do + def config_env do + Application.get_env(:pescarte, :config_env) + end + + def model do + quote do + use Ecto.Schema + import Ecto.Changeset + alias __MODULE__ + alias Pescarte.Database.Types.PublicId + @typep changeset :: Ecto.Changeset.t() + @timestamps_opts [inserted_at: :inserted_at, type: :utc_datetime_usec] + end + end + + # apenas para semântica + def schema, do: model() + + def repository do + quote do + import Ecto.Query + alias Pescarte.Database.Repo + end + end + + defmacro __using__(which) when is_atom(which) do + apply(__MODULE__, which, []) + end +end diff --git a/lib/pescarte/application.ex b/lib/pescarte/application.ex new file mode 100644 index 00000000..aff8cc01 --- /dev/null +++ b/lib/pescarte/application.ex @@ -0,0 +1,51 @@ +defmodule Pescarte.Application do + use Application + + alias Pescarte.CotacoesETL.Workers.PDFConverter + alias Pescarte.CotacoesETL.Workers.Pesagro.CotacaoDownloader + alias Pescarte.CotacoesETL.Workers.Pesagro.CotacaoIngester + alias Pescarte.CotacoesETL.Workers.Pesagro.CotacoesFetcher + alias Pescarte.CotacoesETL.Workers.ZIPExtractor + + def start(_start, _type) do + children = [ + Pescarte.Database.Repo, + Pescarte.Database.Repo.Replica, + {Phoenix.PubSub, name: Pescarte.PubSub}, + PescarteWeb.Endpoint, + {Finch, name: PescarteHTTPClient} + ] ++ cotacoes_etl_children() + + opts = [strategy: :one_for_one, name: Pescarte.Supervisor] + Supervisor.start_link(children, opts) + end + + defp cotacoes_etl_children do + if config_env() != :test and should_fetch_pesagro_cotacoes?() do + [ + PDFConverter, + ZIPExtractor, + CotacoesFetcher, + CotacaoDownloader, + CotacaoIngester, + + ] + else + [] + end + end + + def config_change(changed, _new, removed) do + PescarteWeb.Endpoint.config_change(changed, removed) + :ok + end + + defp config_env do + Application.get_env(:pescarte, :config_env) + end + + defp should_fetch_pesagro_cotacoes? do + Application.get_env(:pescarte, :fetch_pesagro_cotacoes, false) + end + +end diff --git a/apps/catalogo/lib/catalogo/i_manage_repository.ex b/lib/pescarte/catalogo/i_manage_repository.ex similarity index 100% rename from apps/catalogo/lib/catalogo/i_manage_repository.ex rename to lib/pescarte/catalogo/i_manage_repository.ex diff --git a/apps/catalogo/lib/catalogo/models/habitat.ex b/lib/pescarte/catalogo/models/habitat.ex similarity index 81% rename from apps/catalogo/lib/catalogo/models/habitat.ex rename to lib/pescarte/catalogo/models/habitat.ex index 68bdf889..3c02bcd9 100644 --- a/apps/catalogo/lib/catalogo/models/habitat.ex +++ b/lib/pescarte/catalogo/models/habitat.ex @@ -1,7 +1,7 @@ -defmodule Catalogo.Models.Habitat do - use Database, :model +defmodule Pescarte.Catalogo.Models.Habitat do + use Pescarte, :model - alias Catalogo.Models.Peixe + alias Pescarte.Catalogo.Models.Peixe @type t :: %Habitat{ nome: binary, @@ -13,7 +13,7 @@ defmodule Catalogo.Models.Habitat do @primary_key {:nome, :string, autogenerate: false} schema "habitat" do - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true many_to_many :peixes, Peixe, join_through: "peixes_habitats", diff --git a/apps/catalogo/lib/catalogo/models/peixe.ex b/lib/pescarte/catalogo/models/peixe.ex similarity index 83% rename from apps/catalogo/lib/catalogo/models/peixe.ex rename to lib/pescarte/catalogo/models/peixe.ex index f683ea2a..b17f6236 100644 --- a/apps/catalogo/lib/catalogo/models/peixe.ex +++ b/lib/pescarte/catalogo/models/peixe.ex @@ -1,7 +1,7 @@ -defmodule Catalogo.Models.Peixe do - use Database, :model +defmodule Pescarte.Catalogo.Models.Peixe do + use Pescarte, :model - alias Catalogo.Models.Habitat + alias Pescarte.Catalogo.Models.Habitat @type t :: %Peixe{ nome_cientifico: binary, @@ -17,7 +17,7 @@ defmodule Catalogo.Models.Peixe do schema "peixe" do field :link_imagem, :string field :nativo?, :boolean, default: false - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true many_to_many :habitats, Habitat, join_through: "peixes_habitats", diff --git a/apps/catalogo/lib/catalogo/repository.ex b/lib/pescarte/catalogo/repository.ex similarity index 100% rename from apps/catalogo/lib/catalogo/repository.ex rename to lib/pescarte/catalogo/repository.ex diff --git a/apps/cotacoes/lib/cotacoes/handlers/cotacao_handler.ex b/lib/pescarte/cotacoes/handlers/cotacao_handler.ex similarity index 88% rename from apps/cotacoes/lib/cotacoes/handlers/cotacao_handler.ex rename to lib/pescarte/cotacoes/handlers/cotacao_handler.ex index 0cd1eb44..e774b037 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/cotacao_handler.ex +++ b/lib/pescarte/cotacoes/handlers/cotacao_handler.ex @@ -1,7 +1,7 @@ -defmodule Cotacoes.Handlers.CotacaoHandler do - alias Cotacoes.Repository +defmodule Pescarte.Cotacoes.Handlers.CotacaoHandler do + alias Pescarte.Cotacoes.Repository - @behaviour Cotacoes.Handlers.IManageCotacaoHandler + @behaviour Pescarte.Cotacoes.Handlers.IManageCotacaoHandler @impl true def is_zip_file?(cotacao) do diff --git a/apps/cotacoes/lib/cotacoes/handlers/cotacao_pescado_handler.ex b/lib/pescarte/cotacoes/handlers/cotacao_pescado_handler.ex similarity index 80% rename from apps/cotacoes/lib/cotacoes/handlers/cotacao_pescado_handler.ex rename to lib/pescarte/cotacoes/handlers/cotacao_pescado_handler.ex index f8310eb3..c6484a2f 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/cotacao_pescado_handler.ex +++ b/lib/pescarte/cotacoes/handlers/cotacao_pescado_handler.ex @@ -1,9 +1,9 @@ -defmodule Cotacoes.Handlers.CotacaoPescadoHandler do - alias Cotacoes.Handlers.IManageCotacaoPescadoHandler - alias Cotacoes.Models.Cotacao - alias Cotacoes.Models.Fonte - alias Cotacoes.Models.Pescado - alias Cotacoes.Repository +defmodule Pescarte.Cotacoes.Handlers.CotacaoPescadoHandler do + alias Pescarte.Cotacoes.Handlers.IManageCotacaoPescadoHandler + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.Fonte + alias Pescarte.Cotacoes.Models.Pescado + alias Pescarte.Cotacoes.Repository @behaviour IManageCotacaoPescadoHandler diff --git a/apps/cotacoes/lib/cotacoes/handlers/fonte_handler.ex b/lib/pescarte/cotacoes/handlers/fonte_handler.ex similarity index 72% rename from apps/cotacoes/lib/cotacoes/handlers/fonte_handler.ex rename to lib/pescarte/cotacoes/handlers/fonte_handler.ex index a7efd045..9e79b9b3 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/fonte_handler.ex +++ b/lib/pescarte/cotacoes/handlers/fonte_handler.ex @@ -1,6 +1,6 @@ -defmodule Cotacoes.Handlers.FonteHandler do - alias Cotacoes.Handlers.IManageFonteHandler - alias Cotacoes.Repository +defmodule Pescarte.Cotacoes.Handlers.FonteHandler do + alias Pescarte.Cotacoes.Handlers.IManageFonteHandler + alias Pescarte.Cotacoes.Repository @behaviour IManageFonteHandler diff --git a/apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_handler.ex b/lib/pescarte/cotacoes/handlers/i_manage_cotacao_handler.ex similarity index 87% rename from apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_handler.ex rename to lib/pescarte/cotacoes/handlers/i_manage_cotacao_handler.ex index 1b1eff64..2fb4346f 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_handler.ex +++ b/lib/pescarte/cotacoes/handlers/i_manage_cotacao_handler.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Handlers.IManageCotacaoHandler do - alias Cotacoes.Models.Cotacao +defmodule Pescarte.Cotacoes.Handlers.IManageCotacaoHandler do + alias Pescarte.Cotacoes.Models.Cotacao @callback is_zip_file?(Cotacao.t()) :: boolean @callback fetch_cotacao_by_id(String.t()) :: {:ok, Cotacao.t()} | {:error, :not_found} diff --git a/apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex b/lib/pescarte/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex similarity index 56% rename from apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex rename to lib/pescarte/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex index f474cbd9..b732ae7e 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex +++ b/lib/pescarte/cotacoes/handlers/i_manage_cotacao_pescado_handler.ex @@ -1,7 +1,7 @@ -defmodule Cotacoes.Handlers.IManageCotacaoPescadoHandler do - alias Cotacoes.Models.Cotacao - alias Cotacoes.Models.CotacaoPescado - alias Cotacoes.Models.Pescado +defmodule Pescarte.Cotacoes.Handlers.IManageCotacaoPescadoHandler do + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.CotacaoPescado + alias Pescarte.Cotacoes.Models.Pescado @callback insert_cotacao_pescado(cotacao, pescado, fonte, map) :: {:ok, CotacaoPescado.t()} | {:error, Ecto.Changeset.t()} diff --git a/apps/cotacoes/lib/cotacoes/handlers/i_manage_fonte_handler.ex b/lib/pescarte/cotacoes/handlers/i_manage_fonte_handler.ex similarity index 64% rename from apps/cotacoes/lib/cotacoes/handlers/i_manage_fonte_handler.ex rename to lib/pescarte/cotacoes/handlers/i_manage_fonte_handler.ex index 7cf2e2f2..2b7109cd 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/i_manage_fonte_handler.ex +++ b/lib/pescarte/cotacoes/handlers/i_manage_fonte_handler.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Handlers.IManageFonteHandler do - alias Cotacoes.Models.Fonte +defmodule Pescarte.Cotacoes.Handlers.IManageFonteHandler do + alias Pescarte.Cotacoes.Models.Fonte @callback insert_fonte_pesagro(String.t()) :: {:ok, Fonte.t()} | {:error, Ecto.Changeset.t()} @callback fetch_fonte_pesagro :: {:ok, Fonte.t()} | {:error, :not_found} diff --git a/apps/cotacoes/lib/cotacoes/handlers/i_manage_pescado_handler.ex b/lib/pescarte/cotacoes/handlers/i_manage_pescado_handler.ex similarity index 67% rename from apps/cotacoes/lib/cotacoes/handlers/i_manage_pescado_handler.ex rename to lib/pescarte/cotacoes/handlers/i_manage_pescado_handler.ex index 87d1caea..ed970efd 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/i_manage_pescado_handler.ex +++ b/lib/pescarte/cotacoes/handlers/i_manage_pescado_handler.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Handlers.IManagePescadoHandler do - alias Cotacoes.Models.Pescado +defmodule Pescarte.Cotacoes.Handlers.IManagePescadoHandler do + alias Pescarte.Cotacoes.Models.Pescado @callback insert_pescado(String.t()) :: {:ok, Pescado.t()} | {:error, Ecto.Changeset.t()} @callback fetch_or_insert_pescado(String.t()) :: diff --git a/apps/cotacoes/lib/cotacoes/handlers/pescado_handler.ex b/lib/pescarte/cotacoes/handlers/pescado_handler.ex similarity index 70% rename from apps/cotacoes/lib/cotacoes/handlers/pescado_handler.ex rename to lib/pescarte/cotacoes/handlers/pescado_handler.ex index fb1ecde9..ec80edc7 100644 --- a/apps/cotacoes/lib/cotacoes/handlers/pescado_handler.ex +++ b/lib/pescarte/cotacoes/handlers/pescado_handler.ex @@ -1,6 +1,6 @@ -defmodule Cotacoes.Handlers.PescadoHandler do - alias Cotacoes.Handlers.IManagePescadoHandler - alias Cotacoes.Repository +defmodule Pescarte.Cotacoes.Handlers.PescadoHandler do + alias Pescarte.Cotacoes.Handlers.IManagePescadoHandler + alias Pescarte.Cotacoes.Repository @behaviour IManagePescadoHandler diff --git a/apps/cotacoes/lib/cotacoes/i_manage_repository.ex b/lib/pescarte/cotacoes/i_manage_repository.ex similarity index 84% rename from apps/cotacoes/lib/cotacoes/i_manage_repository.ex rename to lib/pescarte/cotacoes/i_manage_repository.ex index 9c197dd7..534698c9 100644 --- a/apps/cotacoes/lib/cotacoes/i_manage_repository.ex +++ b/lib/pescarte/cotacoes/i_manage_repository.ex @@ -1,8 +1,8 @@ -defmodule Cotacoes.IManageRepository do - alias Cotacoes.Models.Cotacao - alias Cotacoes.Models.CotacaoPescado - alias Cotacoes.Models.Fonte - alias Cotacoes.Models.Pescado +defmodule Pescarte.Cotacoes.IManageRepository do + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.CotacaoPescado + alias Pescarte.Cotacoes.Models.Fonte + alias Pescarte.Cotacoes.Models.Pescado @opaque changeset :: Ecto.Changeset.t() diff --git a/apps/cotacoes/lib/cotacoes/models/cotacao.ex b/lib/pescarte/cotacoes/models/cotacao.ex similarity index 90% rename from apps/cotacoes/lib/cotacoes/models/cotacao.ex rename to lib/pescarte/cotacoes/models/cotacao.ex index d3cdc681..f5b28f2e 100644 --- a/apps/cotacoes/lib/cotacoes/models/cotacao.ex +++ b/lib/pescarte/cotacoes/models/cotacao.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Models.Cotacao do - use Database, :model +defmodule Pescarte.Cotacoes.Models.Cotacao do + use Pescarte, :model @typep tipo_cotacao :: :pdf | :zip @@ -24,7 +24,7 @@ defmodule Cotacoes.Models.Cotacao do field :importada?, :boolean, default: false field :baixada?, :boolean, default: false field :tipo, Ecto.Enum, values: ~w(pdf zip)a - field :id, Database.Types.PublicId, autogenerate: true + field :id, PublicId, autogenerate: true end @spec changeset(Cotacao.t(), map) :: changeset diff --git a/apps/cotacoes/lib/cotacoes/models/cotacao_pescado.ex b/lib/pescarte/cotacoes/models/cotacao_pescado.ex similarity index 91% rename from apps/cotacoes/lib/cotacoes/models/cotacao_pescado.ex rename to lib/pescarte/cotacoes/models/cotacao_pescado.ex index 3b0e6aca..e6f59ab2 100644 --- a/apps/cotacoes/lib/cotacoes/models/cotacao_pescado.ex +++ b/lib/pescarte/cotacoes/models/cotacao_pescado.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Models.CotacaoPescado do - use Database, :model +defmodule Pescarte.Cotacoes.Models.CotacaoPescado do + use Pescarte, :model @type t :: %CotacaoPescado{ id: binary, @@ -18,7 +18,7 @@ defmodule Cotacoes.Models.CotacaoPescado do @primary_key false schema "cotacoes_pescados" do - field :id, Database.Types.PublicId, autogenerate: true + field :id, PublicId, autogenerate: true field :cotacao_data, :date, primary_key: true field :cotacao_link, :string field :pescado_codigo, :string, primary_key: true diff --git a/apps/cotacoes/lib/cotacoes/models/fonte.ex b/lib/pescarte/cotacoes/models/fonte.ex similarity index 82% rename from apps/cotacoes/lib/cotacoes/models/fonte.ex rename to lib/pescarte/cotacoes/models/fonte.ex index 4af42a76..d8c89955 100644 --- a/apps/cotacoes/lib/cotacoes/models/fonte.ex +++ b/lib/pescarte/cotacoes/models/fonte.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Models.Fonte do - use Database, :model +defmodule Pescarte.Cotacoes.Models.Fonte do + use Pescarte, :model @type t :: %Fonte{id: binary, nome: binary, link: binary, descricao: binary} @@ -10,7 +10,7 @@ defmodule Cotacoes.Models.Fonte do schema "fonte_cotacao" do field :link, :string field :descricao, :string - field :id, Database.Types.PublicId, autogenerate: true + field :id, PublicId, autogenerate: true end @spec changeset(Fonte.t(), map) :: changeset diff --git a/apps/cotacoes/lib/cotacoes/models/pescado.ex b/lib/pescarte/cotacoes/models/pescado.ex similarity index 81% rename from apps/cotacoes/lib/cotacoes/models/pescado.ex rename to lib/pescarte/cotacoes/models/pescado.ex index 20a53f33..cdc9cb27 100644 --- a/apps/cotacoes/lib/cotacoes/models/pescado.ex +++ b/lib/pescarte/cotacoes/models/pescado.ex @@ -1,5 +1,5 @@ -defmodule Cotacoes.Models.Pescado do - use Database, :model +defmodule Pescarte.Cotacoes.Models.Pescado do + use Pescarte, :model @type t :: %Pescado{id: binary, codigo: binary, descricao: binary, embalagem: binary} @@ -10,7 +10,7 @@ defmodule Cotacoes.Models.Pescado do schema "pescado" do field :descricao, :string field :embalagem, :string - field :id, Database.Types.PublicId, autogenerate: true + field :id, PublicId, autogenerate: true end @spec changeset(Pescado.t(), map) :: changeset diff --git a/apps/cotacoes/lib/cotacoes/repository.ex b/lib/pescarte/cotacoes/repository.ex similarity index 85% rename from apps/cotacoes/lib/cotacoes/repository.ex rename to lib/pescarte/cotacoes/repository.ex index d5c4f657..6e153a61 100644 --- a/apps/cotacoes/lib/cotacoes/repository.ex +++ b/lib/pescarte/cotacoes/repository.ex @@ -1,12 +1,13 @@ -defmodule Cotacoes.Repository do - use Database, :repository +defmodule Pescarte.Cotacoes.Repository do + use Pescarte, :repository - alias Cotacoes.Models.Cotacao - alias Cotacoes.Models.CotacaoPescado - alias Cotacoes.Models.Fonte - alias Cotacoes.Models.Pescado + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.CotacaoPescado + alias Pescarte.Cotacoes.Models.Fonte + alias Pescarte.Cotacoes.Models.Pescado + alias Pescarte.Database - @behaviour Cotacoes.IManageRepository + @behaviour Pescarte.Cotacoes.IManageRepository @impl true def find_all_cotacao_by_not_ingested do diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/events/convert_pdf_event.ex b/lib/pescarte/cotacoes_etl/events/convert_pdf_event.ex similarity index 76% rename from apps/cotacoes_etl/lib/cotacoes_etl/events/convert_pdf_event.ex rename to lib/pescarte/cotacoes_etl/events/convert_pdf_event.ex index 0b31cce3..87acdab3 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/events/convert_pdf_event.ex +++ b/lib/pescarte/cotacoes_etl/events/convert_pdf_event.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Events.ConvertPDFEvent do +defmodule Pescarte.CotacoesETL.Events.ConvertPDFEvent do @fields ~w(pdf_path destination_path issuer cotacao format)a @enforce_keys @fields diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/events/extract_zip_event.ex b/lib/pescarte/cotacoes_etl/events/extract_zip_event.ex similarity index 75% rename from apps/cotacoes_etl/lib/cotacoes_etl/events/extract_zip_event.ex rename to lib/pescarte/cotacoes_etl/events/extract_zip_event.ex index 13d95beb..b6d64c80 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/events/extract_zip_event.ex +++ b/lib/pescarte/cotacoes_etl/events/extract_zip_event.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Events.ExtractZIPEvent do +defmodule Pescarte.CotacoesETL.Events.ExtractZIPEvent do @fields ~w(zip_path destination_path issuer)a @enforce_keys @fields diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/events/ingest_cotacao_event.ex b/lib/pescarte/cotacoes_etl/events/ingest_cotacao_event.ex similarity index 70% rename from apps/cotacoes_etl/lib/cotacoes_etl/events/ingest_cotacao_event.ex rename to lib/pescarte/cotacoes_etl/events/ingest_cotacao_event.ex index 24da22ed..ed462d8e 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/events/ingest_cotacao_event.ex +++ b/lib/pescarte/cotacoes_etl/events/ingest_cotacao_event.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Events.IngestCotacaoEvent do +defmodule Pescarte.CotacoesETL.Events.IngestCotacaoEvent do @fields ~w(file_path cotacao)a @enforce_keys @fields diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/events/pdf_converted_event.ex b/lib/pescarte/cotacoes_etl/events/pdf_converted_event.ex similarity index 71% rename from apps/cotacoes_etl/lib/cotacoes_etl/events/pdf_converted_event.ex rename to lib/pescarte/cotacoes_etl/events/pdf_converted_event.ex index 50a9a934..272772e9 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/events/pdf_converted_event.ex +++ b/lib/pescarte/cotacoes_etl/events/pdf_converted_event.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Events.PDFConvertedEvent do +defmodule Pescarte.CotacoesETL.Events.PDFConvertedEvent do @fields ~w(file_path cotacao)a @enforce_keys @fields diff --git a/lib/pescarte/cotacoes_etl/handlers.ex b/lib/pescarte/cotacoes_etl/handlers.ex new file mode 100644 index 00000000..41a69bdc --- /dev/null +++ b/lib/pescarte/cotacoes_etl/handlers.ex @@ -0,0 +1,17 @@ +defmodule Pescarte.CotacoesETL.Handlers do + alias Pescarte.CotacoesETL.Handlers.PDFConverterHandler + alias Pescarte.CotacoesETL.Handlers.PesagroHandler + alias Pescarte.CotacoesETL.Handlers.ZIPExtractorHandler + + def pesagro_handler do + Application.get_env(:pescarte, :pesagro_handler, PesagroHandler) + end + + def pdf_converter_handler do + Application.get_env(:pescarte, :pdf_converter_handler, PDFConverterHandler) + end + + def zip_extractor_handler do + Application.get_env(:pescarte, :zip_extractor_handler, ZIPExtractorHandler) + end +end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex b/lib/pescarte/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex similarity index 64% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex index eae25b12..2961e4b6 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/i_manage_pdf_converter_handler.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Handlers.IManagePDFConverterHandler do +defmodule Pescarte.CotacoesETL.Handlers.IManagePDFConverterHandler do @callback trigger_pdf_conversion_to_txt(Path.t(), Path.t(), pid) :: :ok @callback convert_to_txt!(Path.t()) :: binary end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pesagro_handler.ex b/lib/pescarte/cotacoes_etl/handlers/i_manage_pesagro_handler.ex similarity index 63% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pesagro_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/i_manage_pesagro_handler.ex index dc6f4b44..03a80daa 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_pesagro_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/i_manage_pesagro_handler.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Handlers.IManagePesagroHandler do +defmodule Pescarte.CotacoesETL.Handlers.IManagePesagroHandler do alias Cotacoes.Models.Cotacao @callback download_cotacao_from_pesagro!(Path.t(), Cotacao.t()) :: Path.t() diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex b/lib/pescarte/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex similarity index 66% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex index 10ecdb51..7fe2538e 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/i_manage_zip_extractor_handler.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Handlers.IManageZIPExtractorHandler do +defmodule Pescarte.CotacoesETL.Handlers.IManageZIPExtractorHandler do @callback trigger_extract_zip_to_path(Path.t(), Path.t(), pid) :: :ok @callback extract_zip_to!(Path.t(), Path.t()) :: list(Path.t()) end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/pdf_converter_handler.ex b/lib/pescarte/cotacoes_etl/handlers/pdf_converter_handler.ex similarity index 85% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/pdf_converter_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/pdf_converter_handler.ex index 1ee405f8..8fc5b707 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/pdf_converter_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/pdf_converter_handler.ex @@ -1,6 +1,6 @@ -defmodule CotacoesETL.Handlers.PDFConverterHandler do - alias CotacoesETL.Handlers.IManagePDFConverterHandler - alias CotacoesETL.Workers.PDFConverter +defmodule Pescarte.CotacoesETL.Handlers.PDFConverterHandler do + alias Pescarte.CotacoesETL.Handlers.IManagePDFConverterHandler + alias Pescarte.CotacoesETL.Workers.PDFConverter @behaviour IManagePDFConverterHandler diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/pesagro_handler.ex b/lib/pescarte/cotacoes_etl/handlers/pesagro_handler.ex similarity index 67% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/pesagro_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/pesagro_handler.ex index 6a2eb1e8..08b8c1d7 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/pesagro_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/pesagro_handler.ex @@ -1,8 +1,8 @@ -defmodule CotacoesETL.Handlers.PesagroHandler do - import CotacoesETL.Integrations +defmodule Pescarte.CotacoesETL.Handlers.PesagroHandler do + import Pescarte.CotacoesETL.Integrations - alias Cotacoes.Handlers.CotacaoHandler - alias CotacoesETL.Handlers.IManagePesagroHandler + alias Pescarte.Cotacoes.Handlers.CotacaoHandler + alias Pescarte.CotacoesETL.Handlers.IManagePesagroHandler @behaviour IManagePesagroHandler diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/zip_extractor_handler.ex b/lib/pescarte/cotacoes_etl/handlers/zip_extractor_handler.ex similarity index 78% rename from apps/cotacoes_etl/lib/cotacoes_etl/handlers/zip_extractor_handler.ex rename to lib/pescarte/cotacoes_etl/handlers/zip_extractor_handler.ex index 61fd0a0d..7af8d13a 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/handlers/zip_extractor_handler.ex +++ b/lib/pescarte/cotacoes_etl/handlers/zip_extractor_handler.ex @@ -1,6 +1,6 @@ -defmodule CotacoesETL.Handlers.ZIPExtractorHandler do - alias CotacoesETL.Handlers.IManageZIPExtractorHandler - alias CotacoesETL.Workers.ZIPExtractor +defmodule Pescarte.CotacoesETL.Handlers.ZIPExtractorHandler do + alias Pescarte.CotacoesETL.Handlers.IManageZIPExtractorHandler + alias Pescarte.CotacoesETL.Workers.ZIPExtractor @behaviour IManageZIPExtractorHandler diff --git a/lib/pescarte/cotacoes_etl/integrations.ex b/lib/pescarte/cotacoes_etl/integrations.ex new file mode 100644 index 00000000..4815eff8 --- /dev/null +++ b/lib/pescarte/cotacoes_etl/integrations.ex @@ -0,0 +1,7 @@ +defmodule Pescarte.CotacoesETL.Integrations do + alias Pescarte.CotacoesETL.Integrations.PesagroAPI + + def pesagro_api do + Application.get_env(:pescarte, :pesagro_api, PesagroAPI) + end +end diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/integrations/i_manage_pesagro_integration.ex b/lib/pescarte/cotacoes_etl/integrations/i_manage_pesagro_integration.ex similarity index 64% rename from apps/cotacoes_etl/lib/cotacoes_etl/integrations/i_manage_pesagro_integration.ex rename to lib/pescarte/cotacoes_etl/integrations/i_manage_pesagro_integration.ex index b87bad4d..1b350c07 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/integrations/i_manage_pesagro_integration.ex +++ b/lib/pescarte/cotacoes_etl/integrations/i_manage_pesagro_integration.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Integrations.IManagePesagroIntegration do +defmodule Pescarte.CotacoesETL.Integrations.IManagePesagroIntegration do @callback fetch_document! :: Floki.html_tree() @callback download_file!(link) :: binary when link: String.t() diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/integrations/pesagro_api.ex b/lib/pescarte/cotacoes_etl/integrations/pesagro_api.ex similarity index 82% rename from apps/cotacoes_etl/lib/cotacoes_etl/integrations/pesagro_api.ex rename to lib/pescarte/cotacoes_etl/integrations/pesagro_api.ex index bcac4444..66004bc5 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/integrations/pesagro_api.ex +++ b/lib/pescarte/cotacoes_etl/integrations/pesagro_api.ex @@ -1,6 +1,6 @@ -defmodule CotacoesETL.Integrations.PesagroAPI do - alias CotacoesETL.Integrations.IManagePesagroIntegration - alias CotacoesETL.Schemas.BoletimEntry +defmodule Pescarte.CotacoesETL.Integrations.PesagroAPI do + alias Pescarte.CotacoesETL.Integrations.IManagePesagroIntegration + alias Pescarte.CotacoesETL.Schemas.BoletimEntry @behaviour IManagePesagroIntegration diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/logic/pesagro_logic.ex b/lib/pescarte/cotacoes_etl/logic/pesagro_logic.ex similarity index 69% rename from apps/cotacoes_etl/lib/cotacoes_etl/logic/pesagro_logic.ex rename to lib/pescarte/cotacoes_etl/logic/pesagro_logic.ex index c14793f2..fffac638 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/logic/pesagro_logic.ex +++ b/lib/pescarte/cotacoes_etl/logic/pesagro_logic.ex @@ -1,5 +1,5 @@ -defmodule CotacoesETL.Logic.PesagroLogic do - alias Cotacoes.Handlers.CotacaoHandler +defmodule Pescarte.CotacoesETL.Logic.PesagroLogic do + alias Pescarte.Cotacoes.Handlers.CotacaoHandler def fetch_cotacao_by_file_path(file_path, storage_path) do [cotacao_id, _file] = diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/parser.ex b/lib/pescarte/cotacoes_etl/parser.ex similarity index 83% rename from apps/cotacoes_etl/lib/cotacoes_etl/parser.ex rename to lib/pescarte/cotacoes_etl/parser.ex index 785d5ef2..3541baf3 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/parser.ex +++ b/lib/pescarte/cotacoes_etl/parser.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Parser do +defmodule Pescarte.CotacoesETL.Parser do @typep csv_content :: list(binary) @callback run(binary) :: list(map) diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/parsers/pesagro.ex b/lib/pescarte/cotacoes_etl/parsers/pesagro.ex similarity index 96% rename from apps/cotacoes_etl/lib/cotacoes_etl/parsers/pesagro.ex rename to lib/pescarte/cotacoes_etl/parsers/pesagro.ex index ad57e633..45d62f3a 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/parsers/pesagro.ex +++ b/lib/pescarte/cotacoes_etl/parsers/pesagro.ex @@ -1,5 +1,5 @@ -defmodule CotacoesETL.Parsers.Pesagro do - @behaviour CotacoesETL.Parser +defmodule Pescarte.CotacoesETL.Parsers.Pesagro do + @behaviour Pescarte.CotacoesETL.Parser @pescado_header "Pescados" @pescado_entry_regex ~r/(\s+)([A-Z]|(\s+)|[0-9]+)(\s+(\d+,\d+))+/ diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pdf_converter.ex b/lib/pescarte/cotacoes_etl/workers/pdf_converter.ex similarity index 84% rename from apps/cotacoes_etl/lib/cotacoes_etl/workers/pdf_converter.ex rename to lib/pescarte/cotacoes_etl/workers/pdf_converter.ex index 3ee978fb..cdd097be 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pdf_converter.ex +++ b/lib/pescarte/cotacoes_etl/workers/pdf_converter.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Workers.PDFConverter do +defmodule Pescarte.CotacoesETL.Workers.PDFConverter do @moduledoc """ Este worker é responsável por converter arquivos PDF para outros formatos, primordialmente para TXT. Para isso é usado @@ -9,10 +9,10 @@ defmodule CotacoesETL.Workers.PDFConverter do use GenServer - import CotacoesETL.Handlers, only: [pdf_converter_handler: 0] + import Pescarte.CotacoesETL.Handlers, only: [pdf_converter_handler: 0] - alias CotacoesETL.Events.ConvertPDFEvent - alias CotacoesETL.Events.PDFConvertedEvent + alias Pescarte.CotacoesETL.Events.ConvertPDFEvent + alias Pescarte.CotacoesETL.Events.PDFConvertedEvent require Logger diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_downloader.ex b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_downloader.ex similarity index 82% rename from apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_downloader.ex rename to lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_downloader.ex index 0a0dcbf6..4d13b171 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_downloader.ex +++ b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_downloader.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Workers.Pesagro.CotacaoDownloader do +defmodule Pescarte.CotacoesETL.Workers.Pesagro.CotacaoDownloader do @moduledoc """ Este worker é responsável por baixar cada boletim da Pesagro. Assim que novos boletins são encontrados pelo worker `BoletinsFetcher`, @@ -11,16 +11,16 @@ defmodule CotacoesETL.Workers.Pesagro.CotacaoDownloader do use GenServer - alias Cotacoes.Models.Cotacao - alias CotacoesETL.Events.ConvertPDFEvent - alias CotacoesETL.Events.ExtractZIPEvent - alias CotacoesETL.Events.IngestCotacaoEvent - alias CotacoesETL.Events.PDFConvertedEvent - alias CotacoesETL.Handlers.PesagroHandler - alias CotacoesETL.Logic.PesagroLogic - alias CotacoesETL.Workers.PDFConverter - alias CotacoesETL.Workers.Pesagro.CotacaoIngester - alias CotacoesETL.Workers.ZIPExtractor + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.CotacoesETL.Events.ConvertPDFEvent + alias Pescarte.CotacoesETL.Events.ExtractZIPEvent + alias Pescarte.CotacoesETL.Events.IngestCotacaoEvent + alias Pescarte.CotacoesETL.Events.PDFConvertedEvent + alias Pescarte.CotacoesETL.Handlers.PesagroHandler + alias Pescarte.CotacoesETL.Logic.PesagroLogic + alias Pescarte.CotacoesETL.Workers.PDFConverter + alias Pescarte.CotacoesETL.Workers.Pesagro.CotacaoIngester + alias Pescarte.CotacoesETL.Workers.ZIPExtractor require Logger diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_ingester.ex b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_ingester.ex similarity index 76% rename from apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_ingester.ex rename to lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_ingester.ex index 3290917d..77ee9f40 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacao_ingester.ex +++ b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacao_ingester.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Workers.Pesagro.CotacaoIngester do +defmodule Pescarte.CotacoesETL.Workers.Pesagro.CotacaoIngester do @moduledoc """ Este worker é responsável por importar as informações de cada cotação de cada pescado encontrado nos boletins da Pesagro. @@ -6,11 +6,11 @@ defmodule CotacoesETL.Workers.Pesagro.CotacaoIngester do use GenServer - alias Cotacoes.Handlers.CotacaoPescadoHandler - alias Cotacoes.Handlers.FonteHandler - alias Cotacoes.Handlers.PescadoHandler - alias CotacoesETL.Events.IngestCotacaoEvent - alias CotacoesETL.Parsers + alias Pescarte.Cotacoes.Handlers.CotacaoPescadoHandler + alias Pescarte.Cotacoes.Handlers.FonteHandler + alias Pescarte.Cotacoes.Handlers.PescadoHandler + alias Pescarte.CotacoesETL.Events.IngestCotacaoEvent + alias Pescarte.CotacoesETL.Parsers require Logger diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex similarity index 88% rename from apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex rename to lib/pescarte/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex index 93d43202..daa2d5cc 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex +++ b/lib/pescarte/cotacoes_etl/workers/pesagro/cotacoes_fetcher.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Workers.Pesagro.CotacoesFetcher do +defmodule Pescarte.CotacoesETL.Workers.Pesagro.CotacoesFetcher do @moduledoc """ Todos os dias esse Worker visita a página da `Pesagro` e busca novos boletins do Mercado Agrícola, a fim de atualizar @@ -7,9 +7,9 @@ defmodule CotacoesETL.Workers.Pesagro.CotacoesFetcher do use GenServer - alias Cotacoes.Handlers.CotacaoHandler - alias CotacoesETL.Integrations.PesagroAPI - alias CotacoesETL.Workers.Pesagro.CotacaoDownloader + alias Pescarte.Cotacoes.Handlers.CotacaoHandler + alias Pescarte.CotacoesETL.Integrations.PesagroAPI + alias Pescarte.CotacoesETL.Workers.Pesagro.CotacaoDownloader require Logger diff --git a/apps/cotacoes_etl/lib/cotacoes_etl/workers/zip_extractor.ex b/lib/pescarte/cotacoes_etl/workers/zip_extractor.ex similarity index 85% rename from apps/cotacoes_etl/lib/cotacoes_etl/workers/zip_extractor.ex rename to lib/pescarte/cotacoes_etl/workers/zip_extractor.ex index 4848d1dd..d51b3001 100644 --- a/apps/cotacoes_etl/lib/cotacoes_etl/workers/zip_extractor.ex +++ b/lib/pescarte/cotacoes_etl/workers/zip_extractor.ex @@ -1,4 +1,4 @@ -defmodule CotacoesETL.Workers.ZIPExtractor do +defmodule Pescarte.CotacoesETL.Workers.ZIPExtractor do @moduledoc """ Este worker é responsável por extrair arquivos ZIP. Assim que todos os arquivos dentro do ZIP forem extraídos, @@ -8,9 +8,9 @@ defmodule CotacoesETL.Workers.ZIPExtractor do use GenServer - import CotacoesETL.Handlers, only: [zip_extractor_handler: 0] + import Pescarte.CotacoesETL.Handlers, only: [zip_extractor_handler: 0] - alias CotacoesETL.Events.ExtractZIPEvent + alias Pescarte.CotacoesETL.Events.ExtractZIPEvent require Logger diff --git a/apps/database/lib/database.ex b/lib/pescarte/datababse.ex similarity index 51% rename from apps/database/lib/database.ex rename to lib/pescarte/datababse.ex index 37efce79..1df314bf 100644 --- a/apps/database/lib/database.ex +++ b/lib/pescarte/datababse.ex @@ -1,26 +1,10 @@ -defmodule Database do +defmodule Pescarte.Database do + alias Pescarte.Database + @type id :: binary | integer @type fetch_result :: {:ok, struct} | {:error, :not_found} - def config_env, do: Application.get_env(:database, :config_env) - - @migrations_apps ~w(cotacoes identidades modulo_pesquisa catalogo)a - - @spec migrations_paths(atom) :: list(Path.t()) - def migrations_paths(:dev) do - for app <- @migrations_apps do - Path.join(["apps", to_string(app), "priv/repo/migrations"]) - end - end - - def migrations_paths(:release) do - for app <- @migrations_apps do - priv_dir = List.to_string(:code.priv_dir(app)) - Path.join(priv_dir, "repo/migrations") - end - end - - def migrations_paths(_), do: [] + def config_env, do: Application.get_env(:pescarte, :config_env) @doc """ Busca um registro no banco de dados a partir de um id. @@ -57,25 +41,4 @@ defmodule Database do {:error, :not_found} end end - - def model do - quote do - use Ecto.Schema - import Ecto.Changeset - alias __MODULE__ - @typep changeset :: Ecto.Changeset.t() - @timestamps_opts [inserted_at: :inserted_at, type: :utc_datetime_usec] - end - end - - def repository do - quote do - import Ecto.Query - alias Database.Repo - end - end - - defmacro __using__(which) when is_atom(which) do - apply(__MODULE__, which, []) - end end diff --git a/apps/database/lib/database/release.ex b/lib/pescarte/database/release.ex similarity index 64% rename from apps/database/lib/database/release.ex rename to lib/pescarte/database/release.ex index 658d9d98..0c5990d3 100644 --- a/apps/database/lib/database/release.ex +++ b/lib/pescarte/database/release.ex @@ -1,18 +1,16 @@ -defmodule Database.Release do +defmodule Pescarte.Database.Release do @moduledoc """ Used for executing DB release tasks when run in production without Mix installed. """ - @app :database + @app :pescarte def migrate do load_app() - migrations = Database.migrations_paths(:release) - for repo <- repos() do {:ok, _, _} = - Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, migrations, :up, all: true)) + Ecto.Migrator.with_repo(repo, &Ecto.Migrator.run(&1, :up, all: true)) end end @@ -22,7 +20,7 @@ defmodule Database.Release do end defp repos do - Application.fetch_env!(:database, :ecto_repos) + Application.fetch_env!(:pescarte, :ecto_repos) end defp load_app do diff --git a/lib/pescarte/database/repo.ex b/lib/pescarte/database/repo.ex new file mode 100644 index 00000000..13e9737c --- /dev/null +++ b/lib/pescarte/database/repo.ex @@ -0,0 +1,26 @@ +defmodule Pescarte.Database.Repo do + @moduledoc """ + Repositorio especifico para escrita do banco de dados + """ + use Ecto.Repo, otp_app: :pescarte, adapter: Ecto.Adapters.Postgres + + alias Pescarte.Database.Repo + + def replica, do: Repo.Replica + + def default_dynamic_repo do + if Pescarte.config_env() != :test do + Repo.Replica + else + Repo + end + end +end + +defmodule Pescarte.Database.Repo.Replica do + use Ecto.Repo, + otp_app: :pescarte, + adapter: Ecto.Adapters.Postgres, + read_only: true, + default_dynamic_repo: Pescarte.Database.Repo.default_dynamic_repo() +end diff --git a/apps/database/lib/database/types/public_id.ex b/lib/pescarte/database/types/public_id.ex similarity index 91% rename from apps/database/lib/database/types/public_id.ex rename to lib/pescarte/database/types/public_id.ex index fa64f023..e852ea98 100644 --- a/apps/database/lib/database/types/public_id.ex +++ b/lib/pescarte/database/types/public_id.ex @@ -1,4 +1,4 @@ -defmodule Database.Types.PublicId do +defmodule Pescarte.Database.Types.PublicId do @moduledoc """ Módulo responsável por gerar automaticamente um id público para entidades que forem ser expostas via API ou plataforma web. diff --git a/apps/identidades/lib/identidades/handlers/credenciais_handler.ex b/lib/pescarte/identidades/handlers/credenciais_handler.ex similarity index 93% rename from apps/identidades/lib/identidades/handlers/credenciais_handler.ex rename to lib/pescarte/identidades/handlers/credenciais_handler.ex index 05de37ce..74e968d0 100644 --- a/apps/identidades/lib/identidades/handlers/credenciais_handler.ex +++ b/lib/pescarte/identidades/handlers/credenciais_handler.ex @@ -1,10 +1,11 @@ -defmodule Identidades.Handlers.CredenciaisHandler do - import Identidades.Services.ValidaSenhaUsuario - - alias Identidades.Handlers.IManageCredenciaisHandler - alias Identidades.Models.Token - alias Identidades.Models.Usuario - alias Identidades.Repository +defmodule Pescarte.Identidades.Handlers.CredenciaisHandler do + import Pescarte.Identidades.Services.ValidaSenhaUsuario + + alias Pescarte.Database + alias Pescarte.Identidades.Handlers.IManageCredenciaisHandler + alias Pescarte.Identidades.Models.Token + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.Identidades.Repository @behaviour IManageCredenciaisHandler diff --git a/apps/identidades/lib/identidades/handlers/i_manage_credenciais_handler.ex b/lib/pescarte/identidades/handlers/i_manage_credenciais_handler.ex similarity index 87% rename from apps/identidades/lib/identidades/handlers/i_manage_credenciais_handler.ex rename to lib/pescarte/identidades/handlers/i_manage_credenciais_handler.ex index bc792332..0563e519 100644 --- a/apps/identidades/lib/identidades/handlers/i_manage_credenciais_handler.ex +++ b/lib/pescarte/identidades/handlers/i_manage_credenciais_handler.ex @@ -1,5 +1,5 @@ -defmodule Identidades.Handlers.IManageCredenciaisHandler do - alias Identidades.Models.Usuario +defmodule Pescarte.Identidades.Handlers.IManageCredenciaisHandler do + alias Pescarte.Identidades.Models.Usuario @typep changeset :: Ecto.Changeset.t() diff --git a/apps/identidades/lib/identidades/handlers/i_manage_usuario_handler.ex b/lib/pescarte/identidades/handlers/i_manage_usuario_handler.ex similarity index 83% rename from apps/identidades/lib/identidades/handlers/i_manage_usuario_handler.ex rename to lib/pescarte/identidades/handlers/i_manage_usuario_handler.ex index 8374014d..f876c32d 100644 --- a/apps/identidades/lib/identidades/handlers/i_manage_usuario_handler.ex +++ b/lib/pescarte/identidades/handlers/i_manage_usuario_handler.ex @@ -1,5 +1,6 @@ -defmodule Identidades.Handlers.IManageUsuarioHandler do - alias Identidades.Models.Usuario +defmodule Pescarte.Identidades.Handlers.IManageUsuarioHandler do + alias Pescarte.Database + alias Pescarte.Identidades.Models.Usuario @typep changeset :: Ecto.Changeset.t() diff --git a/apps/identidades/lib/identidades/handlers/usuario_handler.ex b/lib/pescarte/identidades/handlers/usuario_handler.ex similarity index 90% rename from apps/identidades/lib/identidades/handlers/usuario_handler.ex rename to lib/pescarte/identidades/handlers/usuario_handler.ex index 2d053a0b..60d997cb 100644 --- a/apps/identidades/lib/identidades/handlers/usuario_handler.ex +++ b/lib/pescarte/identidades/handlers/usuario_handler.ex @@ -1,9 +1,9 @@ -defmodule Identidades.Handlers.UsuarioHandler do - import Identidades.Services.ValidaSenhaUsuario +defmodule Pescarte.Identidades.Handlers.UsuarioHandler do + import Pescarte.Identidades.Services.ValidaSenhaUsuario - alias Identidades.Handlers.IManageUsuarioHandler - alias Identidades.Models.Usuario - alias Identidades.Repository + alias Pescarte.Identidades.Handlers.IManageUsuarioHandler + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.Identidades.Repository @behaviour IManageUsuarioHandler diff --git a/apps/identidades/lib/identidades/i_manage_repository.ex b/lib/pescarte/identidades/i_manage_repository.ex similarity index 85% rename from apps/identidades/lib/identidades/i_manage_repository.ex rename to lib/pescarte/identidades/i_manage_repository.ex index 681fbd0c..d66f921a 100644 --- a/apps/identidades/lib/identidades/i_manage_repository.ex +++ b/lib/pescarte/identidades/i_manage_repository.ex @@ -1,5 +1,5 @@ -defmodule Identidades.IManageRepository do - alias Identidades.Models.Usuario +defmodule Pescarte.Identidades.IManageRepository do + alias Pescarte.Identidades.Models.Usuario @callback fetch_usuario_by_cpf(binary) :: {:ok, Usuario.t()} | {:error, :not_found} @callback fetch_usuario_by_email(binary) :: {:ok, Usuario.t()} | {:error, :not_found} diff --git a/apps/identidades/lib/identidades/models/contato.ex b/lib/pescarte/identidades/models/contato.ex similarity index 89% rename from apps/identidades/lib/identidades/models/contato.ex rename to lib/pescarte/identidades/models/contato.ex index bb5637e6..2744e6f4 100644 --- a/apps/identidades/lib/identidades/models/contato.ex +++ b/lib/pescarte/identidades/models/contato.ex @@ -1,7 +1,7 @@ -defmodule Identidades.Models.Contato do - use Database, :model +defmodule Pescarte.Identidades.Models.Contato do + use Pescarte, :model - alias Identidades.Models.Endereco + alias Pescarte.Identidades.Models.Endereco @type t :: %Contato{ email_principal: binary, @@ -20,7 +20,7 @@ defmodule Identidades.Models.Contato do field :celular_principal, :string field :emails_adicionais, {:array, :string} field :celulares_adicionais, {:array, :string} - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true belongs_to :endereco, Endereco, foreign_key: :endereco_cep, diff --git a/apps/identidades/lib/identidades/models/endereco.ex b/lib/pescarte/identidades/models/endereco.ex similarity index 84% rename from apps/identidades/lib/identidades/models/endereco.ex rename to lib/pescarte/identidades/models/endereco.ex index 1bbe1a12..ca054d6c 100644 --- a/apps/identidades/lib/identidades/models/endereco.ex +++ b/lib/pescarte/identidades/models/endereco.ex @@ -1,5 +1,5 @@ -defmodule Identidades.Models.Endereco do - use Database, :model +defmodule Pescarte.Identidades.Models.Endereco do + use Pescarte, :model @type t :: %Endereco{ rua: binary, @@ -20,7 +20,7 @@ defmodule Identidades.Models.Endereco do field :complemento, :string field :cidade, :string field :estado, :string - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true timestamps() end diff --git a/apps/identidades/lib/identidades/models/token.ex b/lib/pescarte/identidades/models/token.ex similarity index 91% rename from apps/identidades/lib/identidades/models/token.ex rename to lib/pescarte/identidades/models/token.ex index 98cb9653..a4a033bf 100644 --- a/apps/identidades/lib/identidades/models/token.ex +++ b/lib/pescarte/identidades/models/token.ex @@ -1,4 +1,4 @@ -defmodule Identidades.Models.Token do +defmodule Pescarte.Identidades.Models.Token do @moduledoc """ Schema que representa tokens de usuários. @@ -8,11 +8,11 @@ defmodule Identidades.Models.Token do - token de sessão de login """ - use Database, :model + use Pescarte, :model import Ecto.Query - alias Identidades.Models.Usuario + alias Pescarte.Identidades.Models.Usuario @type t :: %Token{ id: integer, diff --git a/apps/identidades/lib/identidades/models/usuario.ex b/lib/pescarte/identidades/models/usuario.ex similarity index 91% rename from apps/identidades/lib/identidades/models/usuario.ex rename to lib/pescarte/identidades/models/usuario.ex index 2f35b354..4ebd35d6 100644 --- a/apps/identidades/lib/identidades/models/usuario.ex +++ b/lib/pescarte/identidades/models/usuario.ex @@ -1,10 +1,10 @@ -defmodule Identidades.Models.Usuario do - use Database, :model +defmodule Pescarte.Identidades.Models.Usuario do + use Pescarte, :model import Brcpfcnpj.Changeset, only: [validate_cpf: 3] - alias Identidades.Models.Contato - alias ModuloPesquisa.Models.Pesquisador + alias Pescarte.Identidades.Models.Contato + alias Pescarte.ModuloPesquisa.Models.Pesquisador @type t :: %Usuario{ cpf: binary, @@ -30,7 +30,7 @@ defmodule Identidades.Models.Usuario do @upper_pass_format ~r/[A-Z]/ @special_pass_format ~r/[!?@#$%^&*_0-9]/ - @primary_key {:id_publico, Database.Types.PublicId, autogenerate: true} + @primary_key {:id_publico, PublicId, autogenerate: true} schema "usuario" do field :cpf, :string field :rg, :string @@ -56,7 +56,7 @@ defmodule Identidades.Models.Usuario do timestamps() end - @spec changeset(Usuariot.t(), map) :: changeset + @spec changeset(Usuario.t(), map) :: changeset def changeset(%Usuario{} = user, attrs) do user |> cast(attrs, @required_fields ++ @optional_fields) diff --git a/apps/identidades/lib/identidades/repository.ex b/lib/pescarte/identidades/repository.ex similarity index 88% rename from apps/identidades/lib/identidades/repository.ex rename to lib/pescarte/identidades/repository.ex index 23a835fa..3d5471dd 100644 --- a/apps/identidades/lib/identidades/repository.ex +++ b/lib/pescarte/identidades/repository.ex @@ -1,9 +1,10 @@ -defmodule Identidades.Repository do - use Database, :repository +defmodule Pescarte.Identidades.Repository do + use Pescarte, :repository - alias Identidades.IManageRepository - alias Identidades.Models.Token - alias Identidades.Models.Usuario + alias Pescarte.Database + alias Pescarte.Identidades.IManageRepository + alias Pescarte.Identidades.Models.Token + alias Pescarte.Identidades.Models.Usuario @behaviour IManageRepository diff --git a/apps/identidades/lib/identidades/services/valida_senha_usuario.ex b/lib/pescarte/identidades/services/valida_senha_usuario.ex similarity index 89% rename from apps/identidades/lib/identidades/services/valida_senha_usuario.ex rename to lib/pescarte/identidades/services/valida_senha_usuario.ex index d886f0b2..9d8d1850 100644 --- a/apps/identidades/lib/identidades/services/valida_senha_usuario.ex +++ b/lib/pescarte/identidades/services/valida_senha_usuario.ex @@ -1,5 +1,5 @@ -defmodule Identidades.Services.ValidaSenhaUsuario do - alias Identidades.Models.Usuario +defmodule Pescarte.Identidades.Services.ValidaSenhaUsuario do + alias Pescarte.Identidades.Models.Usuario @doc """ Verifica a senha. diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/pesquisador_adapter.ex b/lib/pescarte/modulo_pesquisa/adapters/pesquisador_adapter.ex similarity index 61% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/pesquisador_adapter.ex rename to lib/pescarte/modulo_pesquisa/adapters/pesquisador_adapter.ex index 32465822..e7fc369e 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/pesquisador_adapter.ex +++ b/lib/pescarte/modulo_pesquisa/adapters/pesquisador_adapter.ex @@ -1,8 +1,8 @@ -defmodule ModuloPesquisa.Adapters.PesquisadorAdapter do - alias Identidades.Handlers.UsuarioHandler +defmodule Pescarte.ModuloPesquisa.Adapters.PesquisadorAdapter do + alias Pescarte.Identidades.Handlers.UsuarioHandler - alias ModuloPesquisa.Models.Pesquisador, as: Model - alias ModuloPesquisa.Schemas.Pesquisador, as: Schema + alias Pescarte.ModuloPesquisa.Models.Pesquisador, as: Model + alias Pescarte.ModuloPesquisa.Schemas.Pesquisador, as: Schema @spec internal_to_external(Model.t()) :: Schema.t() def internal_to_external(pesquisador) do diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/relatorio_adapter.ex b/lib/pescarte/modulo_pesquisa/adapters/relatorio_adapter.ex similarity index 80% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/relatorio_adapter.ex rename to lib/pescarte/modulo_pesquisa/adapters/relatorio_adapter.ex index e891d434..253fe282 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/adapters/relatorio_adapter.ex +++ b/lib/pescarte/modulo_pesquisa/adapters/relatorio_adapter.ex @@ -1,9 +1,9 @@ -defmodule ModuloPesquisa.Adapters.RelatorioAdapter do +defmodule Pescarte.ModuloPesquisa.Adapters.RelatorioAdapter do import Timex.Format.DateTime.Formatter, only: [lformat!: 3] - alias Identidades.Handlers.UsuarioHandler - alias ModuloPesquisa.Models.RelatorioPesquisa, as: RelatorioPesquisaModel - alias ModuloPesquisa.Schemas.RelatorioPesquisa + alias Pescarte.Identidades.Handlers.UsuarioHandler + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa, as: RelatorioPesquisaModel + alias Pescarte.ModuloPesquisa.Schemas.RelatorioPesquisa @locale Application.compile_env(:pescarte, :locale, "pt_BR") diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_midias_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/i_manage_midias_handler.ex similarity index 85% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_midias_handler.ex rename to lib/pescarte/modulo_pesquisa/handlers/i_manage_midias_handler.ex index 979e14fe..b808dbac 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/i_manage_midias_handler.ex +++ b/lib/pescarte/modulo_pesquisa/handlers/i_manage_midias_handler.ex @@ -1,7 +1,8 @@ -defmodule ModuloPesquisa.Handlers.IManageMidiasHandler do - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Categoria - alias ModuloPesquisa.Models.Midia.Tag +defmodule Pescarte.ModuloPesquisa.Handlers.IManageMidiasHandler do + alias Pescarte.Database + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Tag @callback create_categoria(map) :: {:ok, Categoria.t()} | {:error, Ecto.Changeset.t()} @callback create_midia(map) :: {:ok, Midia.t()} | {:error, Ecto.Changeset.t()} diff --git a/lib/pescarte/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex new file mode 100644 index 00000000..fbf8ee4a --- /dev/null +++ b/lib/pescarte/modulo_pesquisa/handlers/i_manage_pesquisador_handler.ex @@ -0,0 +1,5 @@ +defmodule Pescarte.ModuloPesquisa.Handlers.IManagePesquisadorHandler do + alias Pescarte.ModuloPesquisa.Models.Pesquisador + + @callback list_pesquisadores() :: [Pesquisador.t()] +end diff --git a/lib/pescarte/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex new file mode 100644 index 00000000..3b3b5a0c --- /dev/null +++ b/lib/pescarte/modulo_pesquisa/handlers/i_manage_relatorios_handler.ex @@ -0,0 +1,12 @@ +defmodule Pescarte.ModuloPesquisa.Handlers.IManageRelatoriosHandler do + alias Pescarte.ModuloPesquisa.Schemas.RelatorioPesquisa + + @callback change_relatorio_pesquisa(relatorio, attrs) :: Ecto.Changeset.t() + when relatorio: RelatorioPesquisa.t(), + attrs: map + @callback list_relatorios(sorter) :: list(RelatorioPesquisa.t()) + when sorter: function + @callback list_relatorios_from_pesquisador(id, sorter) :: list(RelatorioPesquisa.t()) + when sorter: function, + id: String.t() +end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/midias_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/midias_handler.ex similarity index 94% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/midias_handler.ex rename to lib/pescarte/modulo_pesquisa/handlers/midias_handler.ex index 303f95c6..0836f2d9 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/midias_handler.ex +++ b/lib/pescarte/modulo_pesquisa/handlers/midias_handler.ex @@ -1,7 +1,8 @@ -defmodule ModuloPesquisa.Handlers.MidiasHandler do - alias Identidades.Handlers.UsuarioHandler - alias ModuloPesquisa.Handlers.IManageMidiasHandler - alias ModuloPesquisa.Repository +defmodule Pescarte.ModuloPesquisa.Handlers.MidiasHandler do + alias Pescarte.Database + alias Pescarte.Identidades.Handlers.UsuarioHandler + alias Pescarte.ModuloPesquisa.Handlers.IManageMidiasHandler + alias Pescarte.ModuloPesquisa.Repository @behaviour IManageMidiasHandler diff --git a/lib/pescarte/modulo_pesquisa/handlers/pesquisador_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/pesquisador_handler.ex new file mode 100644 index 00000000..8e18fd71 --- /dev/null +++ b/lib/pescarte/modulo_pesquisa/handlers/pesquisador_handler.ex @@ -0,0 +1,14 @@ +defmodule Pescarte.ModuloPesquisa.Handlers.PesquisadorHandler do + alias Pescarte.ModuloPesquisa.Adapters.PesquisadorAdapter + alias Pescarte.ModuloPesquisa.Handlers.IManagePesquisadorHandler + alias Pescarte.ModuloPesquisa.Repository + + @behaviour IManagePesquisadorHandler + + @impl true + def list_pesquisadores do + Repository.list_pesquisador() + |> Enum.sort_by(& &1.usuario.primeiro_nome) + |> Enum.map(&PesquisadorAdapter.internal_to_external/1) + end +end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/relatorios_handler.ex b/lib/pescarte/modulo_pesquisa/handlers/relatorios_handler.ex similarity index 71% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/relatorios_handler.ex rename to lib/pescarte/modulo_pesquisa/handlers/relatorios_handler.ex index 60adc83e..54988e9d 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/handlers/relatorios_handler.ex +++ b/lib/pescarte/modulo_pesquisa/handlers/relatorios_handler.ex @@ -1,8 +1,8 @@ -defmodule ModuloPesquisa.Handlers.RelatoriosHandler do - alias ModuloPesquisa.Adapters.RelatorioAdapter - alias ModuloPesquisa.Handlers.IManageRelatoriosHandler - alias ModuloPesquisa.Models.RelatorioPesquisa - alias ModuloPesquisa.Repository +defmodule Pescarte.ModuloPesquisa.Handlers.RelatoriosHandler do + alias Pescarte.ModuloPesquisa.Adapters.RelatorioAdapter + alias Pescarte.ModuloPesquisa.Handlers.IManageRelatoriosHandler + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa + alias Pescarte.ModuloPesquisa.Repository @behaviour IManageRelatoriosHandler diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/i_manage_repository.ex b/lib/pescarte/modulo_pesquisa/i_manage_repository.ex similarity index 81% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/i_manage_repository.ex rename to lib/pescarte/modulo_pesquisa/i_manage_repository.ex index 5af98a05..a978aec5 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/i_manage_repository.ex +++ b/lib/pescarte/modulo_pesquisa/i_manage_repository.ex @@ -1,12 +1,13 @@ -defmodule ModuloPesquisa.IManageRepository do - alias ModuloPesquisa.Models.Campus - alias ModuloPesquisa.Models.LinhaPesquisa - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Categoria - alias ModuloPesquisa.Models.Midia.Tag - alias ModuloPesquisa.Models.NucleoPesquisa - alias ModuloPesquisa.Models.Pesquisador - alias ModuloPesquisa.Models.RelatorioPesquisa +defmodule Pescarte.ModuloPesquisa.IManageRepository do + alias Pescarte.Database + alias Pescarte.ModuloPesquisa.Models.Campus + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Tag + alias Pescarte.ModuloPesquisa.Models.NucleoPesquisa + alias Pescarte.ModuloPesquisa.Models.Pesquisador + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa @opaque changeset :: Ecto.Changeset.t() diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/campus.ex b/lib/pescarte/modulo_pesquisa/models/campus.ex similarity index 86% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/campus.ex rename to lib/pescarte/modulo_pesquisa/models/campus.ex index 1f803f95..11d4d608 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/campus.ex +++ b/lib/pescarte/modulo_pesquisa/models/campus.ex @@ -1,9 +1,8 @@ -defmodule ModuloPesquisa.Models.Campus do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.Campus do + use Pescarte, :model - alias Database.Types.PublicId - alias Identidades.Models.Endereco - alias ModuloPesquisa.Models.Pesquisador + alias Pescarte.Identidades.Models.Endereco + alias Pescarte.ModuloPesquisa.Models.Pesquisador @type t :: %Campus{ nome: binary, diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/linha_pesquisa.ex b/lib/pescarte/modulo_pesquisa/models/linha_pesquisa.ex similarity index 86% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/linha_pesquisa.ex rename to lib/pescarte/modulo_pesquisa/models/linha_pesquisa.ex index c8f4467c..ff98b917 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/linha_pesquisa.ex +++ b/lib/pescarte/modulo_pesquisa/models/linha_pesquisa.ex @@ -1,8 +1,8 @@ -defmodule ModuloPesquisa.Models.LinhaPesquisa do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.LinhaPesquisa do + use Pescarte, :model - alias ModuloPesquisa.Models.NucleoPesquisa - alias ModuloPesquisa.Models.Pesquisador + alias Pescarte.ModuloPesquisa.Models.NucleoPesquisa + alias Pescarte.ModuloPesquisa.Models.Pesquisador @type t :: %LinhaPesquisa{ numero: integer, @@ -21,7 +21,7 @@ defmodule ModuloPesquisa.Models.LinhaPesquisa do schema "linha_pesquisa" do field :desc_curta, :string field :desc, :string - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true belongs_to :nucleo_pesquisa, NucleoPesquisa, foreign_key: :nucleo_pesquisa_letra, diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia.ex b/lib/pescarte/modulo_pesquisa/models/midia.ex similarity index 90% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia.ex rename to lib/pescarte/modulo_pesquisa/models/midia.ex index 60805738..c4b30fb1 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia.ex +++ b/lib/pescarte/modulo_pesquisa/models/midia.ex @@ -1,9 +1,8 @@ -defmodule ModuloPesquisa.Models.Midia do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.Midia do + use Pescarte, :model - alias Database.Types.PublicId - alias Identidades.Models.Usuario - alias ModuloPesquisa.Models.Midia.Tag + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.ModuloPesquisa.Models.Midia.Tag @type t :: %Midia{ tipo: atom, diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/categoria.ex b/lib/pescarte/modulo_pesquisa/models/midia/categoria.ex similarity index 74% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/categoria.ex rename to lib/pescarte/modulo_pesquisa/models/midia/categoria.ex index 4fc1c5da..48e4c6ab 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/categoria.ex +++ b/lib/pescarte/modulo_pesquisa/models/midia/categoria.ex @@ -1,7 +1,7 @@ -defmodule ModuloPesquisa.Models.Midia.Categoria do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.Midia.Categoria do + use Pescarte, :model - alias ModuloPesquisa.Models.Midia.Tag + alias Pescarte.ModuloPesquisa.Models.Midia.Tag @type t :: %Categoria{nome: binary, id_publico: binary, tags: list(Tag.t())} @@ -9,7 +9,7 @@ defmodule ModuloPesquisa.Models.Midia.Categoria do @primary_key {:nome, :string, autogenerate: false} schema "categoria" do - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true has_many :tags, Tag, foreign_key: :categoria_nome, references: :nome diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/tag.ex b/lib/pescarte/modulo_pesquisa/models/midia/tag.ex similarity index 77% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/tag.ex rename to lib/pescarte/modulo_pesquisa/models/midia/tag.ex index a739b085..3d1ccd75 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/midia/tag.ex +++ b/lib/pescarte/modulo_pesquisa/models/midia/tag.ex @@ -1,7 +1,7 @@ -defmodule ModuloPesquisa.Models.Midia.Tag do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.Midia.Tag do + use Pescarte, :model - alias ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria @type t :: %Tag{etiqueta: binary, id_publico: binary, categoria: Categoria.t()} @@ -9,7 +9,7 @@ defmodule ModuloPesquisa.Models.Midia.Tag do @primary_key {:etiqueta, :string, autogenerate: false} schema "tag" do - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true belongs_to :categoria, Categoria, foreign_key: :categoria_nome, diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/nucleo_pesquisa.ex b/lib/pescarte/modulo_pesquisa/models/nucleo_pesquisa.ex similarity index 80% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/nucleo_pesquisa.ex rename to lib/pescarte/modulo_pesquisa/models/nucleo_pesquisa.ex index 8e3739ef..eb849a1b 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/nucleo_pesquisa.ex +++ b/lib/pescarte/modulo_pesquisa/models/nucleo_pesquisa.ex @@ -1,7 +1,7 @@ -defmodule ModuloPesquisa.Models.NucleoPesquisa do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.NucleoPesquisa do + use Pescarte, :model - alias ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa @type t :: %NucleoPesquisa{ nome: binary, @@ -15,7 +15,7 @@ defmodule ModuloPesquisa.Models.NucleoPesquisa do schema "nucleo_pesquisa" do field :nome, :string field :desc, :string - field :id_publico, Database.Types.PublicId, autogenerate: true + field :id_publico, PublicId, autogenerate: true has_many :linha_pesquisas, LinhaPesquisa, foreign_key: :nucleo_pesquisa_letra diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/pesquisador.ex b/lib/pescarte/modulo_pesquisa/models/pesquisador.ex similarity index 88% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/pesquisador.ex rename to lib/pescarte/modulo_pesquisa/models/pesquisador.ex index c37660f4..20596c46 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/pesquisador.ex +++ b/lib/pescarte/modulo_pesquisa/models/pesquisador.ex @@ -1,11 +1,11 @@ -defmodule ModuloPesquisa.Models.Pesquisador do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.Pesquisador do + use Pescarte, :model - alias Identidades.Models.Usuario - alias ModuloPesquisa.Models.Campus - alias ModuloPesquisa.Models.LinhaPesquisa - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.RelatorioPesquisa + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.ModuloPesquisa.Models.Campus + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa @type t :: %Pesquisador{ minibio: binary, @@ -41,7 +41,7 @@ defmodule ModuloPesquisa.Models.Pesquisador do @required_fields ~w(minibio bolsa link_lattes campus_acronimo usuario_id data_inicio_bolsa data_fim_bolsa data_contratacao formacao)a @optional_fields ~w(orientador_id link_avatar link_banner_perfil link_linkedin data_termino)a - @primary_key {:id_publico, Database.Types.PublicId, autogenerate: true} + @primary_key {:id_publico, PublicId, autogenerate: true} schema "pesquisador" do field :minibio, :string field :bolsa, Ecto.Enum, values: @tipo_bolsas diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/relatorio_pesquisa.ex b/lib/pescarte/modulo_pesquisa/models/relatorio_pesquisa.ex similarity index 87% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/models/relatorio_pesquisa.ex rename to lib/pescarte/modulo_pesquisa/models/relatorio_pesquisa.ex index 60674503..5f5f95f3 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/models/relatorio_pesquisa.ex +++ b/lib/pescarte/modulo_pesquisa/models/relatorio_pesquisa.ex @@ -1,10 +1,10 @@ -defmodule ModuloPesquisa.Models.RelatorioPesquisa do - use Database, :model +defmodule Pescarte.ModuloPesquisa.Models.RelatorioPesquisa do + use Pescarte, :model - alias ModuloPesquisa.Models.Pesquisador - alias ModuloPesquisa.Schemas.ConteudoAnual - alias ModuloPesquisa.Schemas.ConteudoMensal - alias ModuloPesquisa.Schemas.ConteudoTrimestral + alias Pescarte.ModuloPesquisa.Models.Pesquisador + alias Pescarte.ModuloPesquisa.Schemas.ConteudoAnual + alias Pescarte.ModuloPesquisa.Schemas.ConteudoMensal + alias Pescarte.ModuloPesquisa.Schemas.ConteudoTrimestral @type t :: %RelatorioPesquisa{ tipo: atom, @@ -33,7 +33,7 @@ defmodule ModuloPesquisa.Models.RelatorioPesquisa do field(:data_limite, :date) field(:tipo, Ecto.Enum, values: @tipo) field(:status, Ecto.Enum, values: @status) - field(:id_publico, Database.Types.PublicId, autogenerate: true) + field(:id_publico, PublicId, autogenerate: true) embeds_one(:conteudo_anual, ConteudoAnual, source: :conteudo, on_replace: :update) embeds_one(:conteudo_mensal, ConteudoMensal, source: :conteudo, on_replace: :update) diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/repository.ex b/lib/pescarte/modulo_pesquisa/repository.ex similarity index 89% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/repository.ex rename to lib/pescarte/modulo_pesquisa/repository.ex index 604f3200..da51e8d6 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/repository.ex +++ b/lib/pescarte/modulo_pesquisa/repository.ex @@ -1,18 +1,18 @@ -defmodule ModuloPesquisa.Repository do +defmodule Pescarte.ModuloPesquisa.Repository do @moduledoc false - use Database, :repository - - alias ModuloPesquisa.IManageRepository - alias ModuloPesquisa.Models.Campus - alias ModuloPesquisa.Models.LinhaPesquisa - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Categoria - alias ModuloPesquisa.Models.Midia.Tag - alias ModuloPesquisa.Models.NucleoPesquisa - alias ModuloPesquisa.Models.Pesquisador - alias ModuloPesquisa.Models.RelatorioPesquisa - alias ModuloPesquisa.Models.RelatorioTrimestralPesquisa + use Pescarte, :repository + + alias Pescarte.Database + alias Pescarte.ModuloPesquisa.IManageRepository + alias Pescarte.ModuloPesquisa.Models.Campus + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Tag + alias Pescarte.ModuloPesquisa.Models.NucleoPesquisa + alias Pescarte.ModuloPesquisa.Models.Pesquisador + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa @behaviour IManageRepository diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_anual.ex b/lib/pescarte/modulo_pesquisa/schemas/conteudo_anual.ex similarity index 50% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_anual.ex rename to lib/pescarte/modulo_pesquisa/schemas/conteudo_anual.ex index 39aa70ef..51cab298 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/conteudo_anual.ex +++ b/lib/pescarte/modulo_pesquisa/schemas/conteudo_anual.ex @@ -1,9 +1,17 @@ -defmodule ModuloPesquisa.Schemas.ConteudoAnual do - use Ecto.Schema +defmodule Pescarte.ModuloPesquisa.Schemas.ConteudoAnual do + use Pescarte, :schema - import Ecto.Changeset - - @primary_key false + @type t :: %ConteudoAnual{ + plano_de_trabalho: String.t, + resumo: String.t, + introducao: String.t, + embasamento_teorico: String.t, + resultados: String.t, + atividades_academicas: String.t, + atividades_nao_academicas: String.t, + conclusao: String.t, + referencias: String.t + } @fields [ :plano_de_trabalho, @@ -17,6 +25,7 @@ defmodule ModuloPesquisa.Schemas.ConteudoAnual do :referencias ] + @primary_key false embedded_schema do for field <- @fields do field field, :string @@ -24,6 +33,7 @@ defmodule ModuloPesquisa.Schemas.ConteudoAnual do end @doc false + @spec changeset(ConteudoAnual.t, map) :: changeset def changeset(conteudo, attrs) do conteudo |> cast(attrs, @fields) diff --git a/lib/pescarte/modulo_pesquisa/schemas/conteudo_mensal.ex b/lib/pescarte/modulo_pesquisa/schemas/conteudo_mensal.ex new file mode 100644 index 00000000..28bd276a --- /dev/null +++ b/lib/pescarte/modulo_pesquisa/schemas/conteudo_mensal.ex @@ -0,0 +1,42 @@ +defmodule Pescarte.ModuloPesquisa.Schemas.ConteudoMensal do + use Pescarte, :schema + + @type t :: %ConteudoMensal{ + acao_planejamento: String.t(), + participacao_grupos_estudo: String.t(), + acoes_pesquisa: String.t(), + participacao_treinamentos: String.t(), + publicacao: String.t(), + previsao_acao_planejamento: String.t(), + previsao_participacao_grupos_estudo: String.t(), + previsao_participacao_treinamentos: String.t(), + previsao_acoes_pesquisa: String.t() + } + + @fields [ + :acao_planejamento, + :participacao_grupos_estudo, + :acoes_pesquisa, + :participacao_treinamentos, + :publicacao, + :previsao_acao_planejamento, + :previsao_participacao_grupos_estudo, + :previsao_participacao_treinamentos, + :previsao_acoes_pesquisa + ] + + @primary_key false + embedded_schema do + for field <- @fields do + field field, :string + end + end + + @doc false + @spec changeset(ConteudoMensal.t(), map()) :: changeset + def changeset(conteudo, attrs) do + conteudo + |> cast(attrs, @fields) + |> validate_required([]) + end +end diff --git a/lib/pescarte/modulo_pesquisa/schemas/conteudo_trimestral.ex b/lib/pescarte/modulo_pesquisa/schemas/conteudo_trimestral.ex new file mode 100644 index 00000000..5c38333f --- /dev/null +++ b/lib/pescarte/modulo_pesquisa/schemas/conteudo_trimestral.ex @@ -0,0 +1,38 @@ +defmodule Pescarte.ModuloPesquisa.Schemas.ConteudoTrimestral do + use Pescarte, :schema + + @type t :: %ConteudoTrimestral{ + titulo: String.t(), + introducao: String.t(), + embasamento_teorico: String.t(), + resultados_preliminares: String.t(), + atividades_academicas: String.t(), + atividades_nao_academicas: String.t(), + referencias: String.t() + } + + @fields [ + :titulo, + :introducao, + :embasamento_teorico, + :resultados_preliminares, + :atividades_academicas, + :atividades_nao_academicas, + :referencias + ] + + @primary_key false + embedded_schema do + for field <- @fields do + field field, :string + end + end + + @doc false + @spec changeset(ConteudoTrimestral.t, map) :: changeset + def changeset(conteudo, attrs) do + conteudo + |> cast(attrs, @fields) + |> validate_required([]) + end +end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/pesquisador.ex b/lib/pescarte/modulo_pesquisa/schemas/pesquisador.ex similarity index 62% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/pesquisador.ex rename to lib/pescarte/modulo_pesquisa/schemas/pesquisador.ex index 8e010c82..a5aaac62 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/pesquisador.ex +++ b/lib/pescarte/modulo_pesquisa/schemas/pesquisador.ex @@ -1,10 +1,7 @@ -defmodule ModuloPesquisa.Schemas.Pesquisador do - use Ecto.Schema +defmodule Pescarte.ModuloPesquisa.Schemas.Pesquisador do + use Pescarte, :schema - import Ecto.Changeset - - alias __MODULE__ - alias ModuloPesquisa.Models.Pesquisador, as: Model + alias Pescarte.ModuloPesquisa.Models.Pesquisador, as: Model @type t :: %Pesquisador{ id: String.t(), @@ -18,17 +15,23 @@ defmodule ModuloPesquisa.Schemas.Pesquisador do @primary_key false embedded_schema do - field :id, Database.Types.PublicId, autogenerate: false + field :id, PublicId, autogenerate: false field :nome, :string field :cpf, :string field :email, :string field :participacao, Ecto.Enum, values: Model.tipo_bolsas() end - def parse!(attrs) do - %Pesquisador{} + @spec changeset(Pesquisador.t, map) :: changeset + defp changeset(pesquisador \\ %Pesquisador{}, attrs) do + pesquisador |> cast(attrs, @required_fields) |> validate_required(@required_fields) + end + + def parse!(attrs) do + attrs + |> changeset |> apply_action!(:parse) end end diff --git a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/relatorio_pesquisa.ex b/lib/pescarte/modulo_pesquisa/schemas/relatorio_pesquisa.ex similarity index 64% rename from apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/relatorio_pesquisa.ex rename to lib/pescarte/modulo_pesquisa/schemas/relatorio_pesquisa.ex index e47610f5..7386ed4e 100644 --- a/apps/modulo_pesquisa/lib/modulo_pesquisa/schemas/relatorio_pesquisa.ex +++ b/lib/pescarte/modulo_pesquisa/schemas/relatorio_pesquisa.ex @@ -1,9 +1,5 @@ -defmodule ModuloPesquisa.Schemas.RelatorioPesquisa do - use Ecto.Schema - - import Ecto.Changeset - - alias __MODULE__ +defmodule Pescarte.ModuloPesquisa.Schemas.RelatorioPesquisa do + use Pescarte, :schema @type t :: %RelatorioPesquisa{ data: Date.t(), @@ -24,11 +20,18 @@ defmodule ModuloPesquisa.Schemas.RelatorioPesquisa do field :status, Ecto.Enum, values: ~w(entregue pendente atrasado)a end + @spec changeset(RelatorioPesquisa.t, map) :: changeset + def changeset(relatorio \\ %RelatorioPesquisa{}, attrs) do + relatorio + + |> cast(attrs, @required_fields ++ @optional_fields) + |> validate_required(@required_fields) + end + @spec parse!(map) :: RelatorioPesquisa.t() def parse!(attrs) do - %RelatorioPesquisa{} - |> cast(attrs, @required_fields ++ @optional_fields) - |> validate_required(@required_fields) + attrs + |> changeset() |> apply_action!(:parse) end end diff --git a/apps/plataforma_digital/lib/plataforma_digital.ex b/lib/pescarte_web.ex similarity index 83% rename from apps/plataforma_digital/lib/plataforma_digital.ex rename to lib/pescarte_web.ex index ded62c05..eb7efe9b 100644 --- a/apps/plataforma_digital/lib/plataforma_digital.ex +++ b/lib/pescarte_web.ex @@ -1,12 +1,12 @@ -defmodule PlataformaDigital do +defmodule PescarteWeb 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 PlataformaDigital, :controller - use PlataformaDigital, :view + use PescarteWeb, :controller + use PescarteWeb, :view The definitions below will be executed for every view, controller, etc, so keep them short and clean, focused @@ -26,7 +26,7 @@ defmodule PlataformaDigital do quote do use Phoenix.Controller, formats: [:html, :json], - layouts: [html: PlataformaDigital.Layouts] + layouts: [html: PescarteWeb.Layouts] import Plug.Conn @@ -55,7 +55,7 @@ defmodule PlataformaDigital do def live_view do quote do use Phoenix.LiveView, - layout: {PlataformaDigital.Layouts, :app} + layout: {PescarteWeb.Layouts, :app} unquote(html_helpers()) end @@ -64,7 +64,7 @@ defmodule PlataformaDigital do def auth_live_view do quote do use Phoenix.LiveView, - layout: {PlataformaDigital.Layouts, :authenticated} + layout: {PescarteWeb.Layouts, :authenticated} unquote(html_helpers()) end @@ -97,11 +97,11 @@ defmodule PlataformaDigital do import Phoenix.HTML.Form, only: [submit: 1, submit: 2] import Phoenix.LiveView.TagEngine, only: [component: 3] # Core UI components and translation - import PlataformaDigital.DesignSystem + import PescarteWeb.DesignSystem # Shortcut for generating JS commands + alias PescarteWeb.DesignSystem alias Phoenix.LiveView.JS - alias PlataformaDigital.DesignSystem # Routes generation with the ~p sigil unquote(verified_routes()) @@ -111,9 +111,9 @@ defmodule PlataformaDigital do def verified_routes do quote do use Phoenix.VerifiedRoutes, - endpoint: PlataformaDigital.Endpoint, - router: PlataformaDigital.Router, - statics: PlataformaDigital.static_paths() + endpoint: PescarteWeb.Endpoint, + router: PescarteWeb.Router, + statics: PescarteWeb.static_paths() end end diff --git a/apps/plataforma_digital/lib/plataforma_digital/authentication.ex b/lib/pescarte_web/authentication.ex similarity index 92% rename from apps/plataforma_digital/lib/plataforma_digital/authentication.ex rename to lib/pescarte_web/authentication.ex index dd4c5b72..744d9527 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/authentication.ex +++ b/lib/pescarte_web/authentication.ex @@ -1,16 +1,16 @@ -defmodule PlataformaDigital.Authentication do +defmodule PescarteWeb.Authentication do @moduledoc """ Funções do contexto de autenticação de usuários via browser. Apenas Funções puras. """ - use PlataformaDigital, :verified_routes + use PescarteWeb, :verified_routes import Plug.Conn import Phoenix.Controller import Phoenix.Component, only: [assign_new: 3] - alias Identidades.Handlers.CredenciaisHandler + alias Pescarte.Identidades.Handlers.CredenciaisHandler alias Phoenix.LiveView.Socket # Faça o cookie lembrar do usuário ser válido por 60 dias. @@ -87,7 +87,7 @@ defmodule PlataformaDigital.Authentication do user_token && CredenciaisHandler.delete_session_token(user_token) if live_socket_id = get_session(conn, :live_socket_id) do - PlataformaDigital.Endpoint.broadcast(live_socket_id, "disconnect", %{}) + PescarteWeb.Endpoint.broadcast(live_socket_id, "disconnect", %{}) end conn @@ -100,7 +100,7 @@ defmodule PlataformaDigital.Authentication do user = socket.assigns.current_user user_token = socket.assigns[:user_token] user_token && CredenciaisHandler.delete_session_token(user_token) - PlataformaDigital.Endpoint.broadcast_from(self(), socket.id, "disconnect", %{user: user}) + PescarteWeb.Endpoint.broadcast_from(self(), socket.id, "disconnect", %{user: user}) end @doc """ @@ -185,13 +185,13 @@ defmodule PlataformaDigital.Authentication do ## Examples Use the `on_mount` lifecycle macro in LiveViews to mount or authenticate the current_user: - defmodule PlataformaDigital.PageLive do - use PlataformaDigital, :live_view - on_mount {PlataformaDigital.Authentication, :mount_current_user} + defmodule PescarteWeb.PageLive do + use PescarteWeb, :live_view + on_mount {PescarteWeb.Authentication, :mount_current_user} ... end Or use the `live_session` of your router to invoke the on_mount callback: - live_session :authenticated, on_mount: [{PlataformaDigital.UserAuth, :ensure_authenticated}] do + live_session :authenticated, on_mount: [{PescarteWeb.UserAuth, :ensure_authenticated}] do live "/profile", ProfileLive, :index end """ diff --git a/apps/plataforma_digital/lib/plataforma_digital/authorization.ex b/lib/pescarte_web/authorization.ex similarity index 86% rename from apps/plataforma_digital/lib/plataforma_digital/authorization.ex rename to lib/pescarte_web/authorization.ex index a5c68ccb..7a05a9e2 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/authorization.ex +++ b/lib/pescarte_web/authorization.ex @@ -1,9 +1,9 @@ -defmodule PlataformaDigital.Authorization do +defmodule PescarteWeb.Authorization do import Plug.Conn - alias Identidades.Handlers.CredenciaisHandler - alias Identidades.Models.Usuario - alias PlataformaDigital.Authentication + alias Pescarte.Identidades.Handlers.CredenciaisHandler + alias Pescarte.Identidades.Models.Usuario + alias PescarteWeb.Authentication def require_admin_role(conn, _opts) do token = get_session(conn, :user_token) diff --git a/apps/plataforma_digital/lib/plataforma_digital/channels/user_socket.ex b/lib/pescarte_web/channels/user_socket.ex similarity index 83% rename from apps/plataforma_digital/lib/plataforma_digital/channels/user_socket.ex rename to lib/pescarte_web/channels/user_socket.ex index c6ee1a19..faba745a 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/channels/user_socket.ex +++ b/lib/pescarte_web/channels/user_socket.ex @@ -1,8 +1,8 @@ -defmodule PlataformaDigital.UserSocket do +defmodule PescarteWeb.UserSocket do use Phoenix.Socket ## Channels - # channel "room:*", PlataformaDigital.RoomChannel + # channel "room:*", PescarteWeb.RoomChannel # Socket params are passed from the client and can # be used to verify and authenticate a user. After @@ -27,7 +27,7 @@ defmodule PlataformaDigital.UserSocket do # Would allow you to broadcast a "disconnect" event and terminate # all active sockets and channels for a given user: # - # PlataformaDigital.Endpoint.broadcast("user_socket:#{user.cpf}", "disconnect", %{}) + # PescarteWeb.Endpoint.broadcast("user_socket:#{user.cpf}", "disconnect", %{}) # # Returning `nil` makes this socket anonymous. @impl Phoenix.Socket diff --git a/lib/pescarte_web/controllers/landing_controller.ex b/lib/pescarte_web/controllers/landing_controller.ex new file mode 100644 index 00000000..a2a92829 --- /dev/null +++ b/lib/pescarte_web/controllers/landing_controller.ex @@ -0,0 +1,7 @@ +defmodule PescarteWeb.LandingController do + use PescarteWeb, :controller + + def show(conn, _params) do + render(conn, :show) + end +end diff --git a/apps/plataforma_digital/lib/plataforma_digital/controllers/login_controller.ex b/lib/pescarte_web/controllers/login_controller.ex similarity index 80% rename from apps/plataforma_digital/lib/plataforma_digital/controllers/login_controller.ex rename to lib/pescarte_web/controllers/login_controller.ex index a77dc014..ca2106ea 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/controllers/login_controller.ex +++ b/lib/pescarte_web/controllers/login_controller.ex @@ -1,8 +1,8 @@ -defmodule PlataformaDigital.LoginController do - use PlataformaDigital, :controller +defmodule PescarteWeb.LoginController do + use PescarteWeb, :controller - alias Identidades.Handlers.UsuarioHandler - alias PlataformaDigital.Authentication + alias Pescarte.Identidades.Handlers.UsuarioHandler + alias PescarteWeb.Authentication # Para evitar ataques de enumeração de usuários, não divulgue se o email está registrado. @err_msg "Email ou senha inválidos" diff --git a/apps/plataforma_digital/lib/plataforma_digital/design_system.ex b/lib/pescarte_web/design_system.ex similarity index 97% rename from apps/plataforma_digital/lib/plataforma_digital/design_system.ex rename to lib/pescarte_web/design_system.ex index 2c58289b..ca38d72f 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/design_system.ex +++ b/lib/pescarte_web/design_system.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigital.DesignSystem do +defmodule PescarteWeb.DesignSystem do @moduledoc """ Este módulo implementa os componentes que respeitam o design system, que pode ser encontrado no link @@ -6,11 +6,11 @@ defmodule PlataformaDigital.DesignSystem do """ use Phoenix.Component - use PlataformaDigital, :verified_routes + use PescarteWeb, :verified_routes import Phoenix.HTML.Tag, only: [content_tag: 3] - alias PlataformaDigital.DesignSystem.SearchInput + alias PescarteWeb.DesignSystem.SearchInput @text_sizes ~w(h1 h2 h3 h4 h5 base lg md sm giant) @@ -357,7 +357,7 @@ defmodule PlataformaDigital.DesignSystem do @doc """ Um componente de pesquisa. Esta função apenas renderiza um componente - com estado, definido em `PlataformaDigital.DesignSystem.SearchInput`. + com estado, definido em `PescarteWeb.DesignSystem.SearchInput`. Além dos atributos obrigatórios: `:id` e `:name`, também recebe as seguintes propriedades: @@ -441,12 +441,12 @@ defmodule PlataformaDigital.DesignSystem do - + <.button style="primary" class="login-button"> <.text size="base" color="text-white-100">Acessar - + """ @@ -466,7 +466,7 @@ defmodule PlataformaDigital.DesignSystem do Além desses atributos esse componente precisa de uma `label`, que será o texto exibido ao renderizar o link e também aceita um atributo opcional que controla o tamanho da fonte do texto renderizado. Os possíveis valores são os mesmos que - o componente de texto definido em `PlataformaDigital.DesignSystem.text/1`. + o componente de texto definido em `PescarteWeb.DesignSystem.text/1`. ## Exemplo diff --git a/apps/plataforma_digital/lib/plataforma_digital/design_system/authenticated_navbar.ex b/lib/pescarte_web/design_system/authenticated_navbar.ex similarity index 92% rename from apps/plataforma_digital/lib/plataforma_digital/design_system/authenticated_navbar.ex rename to lib/pescarte_web/design_system/authenticated_navbar.ex index a219420d..bbf2def0 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/design_system/authenticated_navbar.ex +++ b/lib/pescarte_web/design_system/authenticated_navbar.ex @@ -1,8 +1,8 @@ -defmodule PlataformaDigital.DesignSystem.AuthenticatedNavbar do - use PlataformaDigital, :live_component +defmodule PescarteWeb.DesignSystem.AuthenticatedNavbar do + use PescarteWeb, :live_component - alias Identidades.Models.Usuario - alias PlataformaDigital.DesignSystem + alias Pescarte.Identidades.Models.Usuario + alias PescarteWeb.DesignSystem attr :user, Usuario, required: true attr :open, :boolean, default: nil diff --git a/apps/plataforma_digital/lib/plataforma_digital/design_system/search_input.ex b/lib/pescarte_web/design_system/search_input.ex similarity index 96% rename from apps/plataforma_digital/lib/plataforma_digital/design_system/search_input.ex rename to lib/pescarte_web/design_system/search_input.ex index 7b1196f8..982574d9 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/design_system/search_input.ex +++ b/lib/pescarte_web/design_system/search_input.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigital.DesignSystem.SearchInput do +defmodule PescarteWeb.DesignSystem.SearchInput do use Phoenix.LiveComponent - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem @impl true def mount(socket) do diff --git a/apps/plataforma_digital/lib/plataforma_digital/endpoint.ex b/lib/pescarte_web/endpoint.ex similarity index 61% rename from apps/plataforma_digital/lib/plataforma_digital/endpoint.ex rename to lib/pescarte_web/endpoint.ex index 57fad423..a72898b7 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/endpoint.ex +++ b/lib/pescarte_web/endpoint.ex @@ -1,7 +1,14 @@ -defmodule PlataformaDigital.Endpoint do - use Phoenix.Endpoint, otp_app: :plataforma_digital +defmodule PescarteWeb.Endpoint do + use Phoenix.Endpoint, otp_app: :pescarte - plug PlataformaDigital.HealthCheck + if code_reloading? do + socket "/phoenix/live_reload/socket", Phoenix.LiveReloader.Socket + plug Phoenix.LiveReloader + plug Phoenix.CodeReloader + plug Phoenix.Ecto.CheckRepoStatus, otp_app: :pescarte + end + + plug PescarteWeb.Plugs.HealthCheck @session_options [ store: :cookie, @@ -9,7 +16,7 @@ defmodule PlataformaDigital.Endpoint do signing_salt: "7ZI1IH1h" ] - socket "/socket", PlataformaDigital.UserSocket, + socket "/socket", PescarteWeb.UserSocket, websocket: true, longpoll: false @@ -21,9 +28,9 @@ defmodule PlataformaDigital.Endpoint do # when deploying your static files in production. plug Plug.Static, at: "/", - from: :plataforma_digital, - gzip: false, - only: PlataformaDigital.static_paths() + from: :pescarte, + gzip: true, + only: PescarteWeb.static_paths() plug Plug.RequestId plug Plug.Telemetry, event_prefix: [:phoenix, :endpoint] @@ -37,5 +44,5 @@ defmodule PlataformaDigital.Endpoint do plug Plug.Head plug Plug.Session, @session_options - plug PlataformaDigital.Router + plug PescarteWeb.Router end diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/context.ex b/lib/pescarte_web/graphql/context.ex similarity index 83% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/context.ex rename to lib/pescarte_web/graphql/context.ex index c30d62cb..604e094f 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/context.ex +++ b/lib/pescarte_web/graphql/context.ex @@ -1,13 +1,13 @@ -defmodule PlataformaDigitalAPI.Context do +defmodule PescarteWeb.GraphQL.Context do @behaviour Plug import Plug.Conn - alias Identidades.Handlers.UsuarioHandler + alias Pescarte.Identidades.Handlers.UsuarioHandler @token_salt "autenticação de usuário" @day_seconds 86_400 - @endpoint PlataformaDigitalAPI.Endpoint + @endpoint PescarteWeb.GraphQL.Endpoint def init(opts), do: opts diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/error.ex b/lib/pescarte_web/graphql/error.ex similarity index 93% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/error.ex rename to lib/pescarte_web/graphql/error.ex index e9c65cca..1243eb5d 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/error.ex +++ b/lib/pescarte_web/graphql/error.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigitalAPI.Error do +defmodule PescarteWeb.GraphQL.Error do require Logger alias __MODULE__ @@ -52,7 +52,7 @@ defmodule PlataformaDigitalAPI.Error do defp metadata(:unknown), do: {500, "Algo deu errado"} defp metadata(code) do - Logger.warn("Unhandled error code: #{inspect(code)}") + Logger.warning("Unhandled error code: #{inspect(code)}") {422, to_string(code)} end end diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/ensure_authentication.ex b/lib/pescarte_web/graphql/middleware/ensure_authentication.ex similarity index 87% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/ensure_authentication.ex rename to lib/pescarte_web/graphql/middleware/ensure_authentication.ex index 7bc27701..efd35b82 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/ensure_authentication.ex +++ b/lib/pescarte_web/graphql/middleware/ensure_authentication.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigitalAPI.Middleware.EnsureAuthentication do +defmodule PescarteWeb.GraphQL.Middleware.EnsureAuthentication do @behaviour Absinthe.Middleware import Absinthe.Resolution, only: [path: 1, put_result: 2] diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/error_handler.ex b/lib/pescarte_web/graphql/middleware/error_handler.ex similarity index 80% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/error_handler.ex rename to lib/pescarte_web/graphql/middleware/error_handler.ex index e2dcdbd5..45d471d5 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/middleware/error_handler.ex +++ b/lib/pescarte_web/graphql/middleware/error_handler.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Middleware.ErrorHandler do +defmodule PescarteWeb.GraphQL.Middleware.ErrorHandler do @behaviour Absinthe.Middleware - alias PlataformaDigitalAPI.Error + alias PescarteWeb.GraphQL.Error @impl true def call(resolution, _config) do diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/categoria.ex b/lib/pescarte_web/graphql/resolver/categoria.ex similarity index 55% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/categoria.ex rename to lib/pescarte_web/graphql/resolver/categoria.ex index 0338c2e9..7e393ec5 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/categoria.ex +++ b/lib/pescarte_web/graphql/resolver/categoria.ex @@ -1,6 +1,6 @@ -defmodule PlataformaDigitalAPI.Resolver.Categoria do - alias ModuloPesquisa.Handlers.MidiasHandler - alias ModuloPesquisa.Models.Midia.Tag +defmodule PescarteWeb.GraphQL.Resolver.Categoria do + alias Pescarte.ModuloPesquisa.Handlers.MidiasHandler + alias Pescarte.ModuloPesquisa.Models.Midia.Tag def get(%Tag{} = tag, _args, _resolution) do MidiasHandler.fetch_categoria(tag.categoria_nome) diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/login.ex b/lib/pescarte_web/graphql/resolver/login.ex similarity index 60% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/login.ex rename to lib/pescarte_web/graphql/resolver/login.ex index 9bd983d1..dd8750fe 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/login.ex +++ b/lib/pescarte_web/graphql/resolver/login.ex @@ -1,12 +1,12 @@ -defmodule PlataformaDigitalAPI.Resolver.Login do - alias Identidades.Handlers.UsuarioHandler +defmodule PescarteWeb.GraphQL.Resolver.Login do + alias Pescarte.Identidades.Handlers.UsuarioHandler @token_salt "autenticação de usuário" def resolve(%{input: %{cpf: cpf, senha: password}}, _resolution) do case UsuarioHandler.fetch_usuario_by_cpf_and_password(cpf, password) do {:ok, user} -> - token = Phoenix.Token.sign(PlataformaDigitalAPI.Endpoint, @token_salt, user.id_publico) + token = Phoenix.Token.sign(PescarteWeb.GraphQL.Endpoint, @token_salt, user.id_publico) {:ok, %{usuario: user, token: token}} error -> diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/midia.ex b/lib/pescarte_web/graphql/resolver/midia.ex similarity index 84% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/midia.ex rename to lib/pescarte_web/graphql/resolver/midia.ex index 6358e3f1..a082bfa3 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/midia.ex +++ b/lib/pescarte_web/graphql/resolver/midia.ex @@ -1,6 +1,6 @@ -defmodule PlataformaDigitalAPI.Resolver.Midia do - alias ModuloPesquisa.Handlers.MidiasHandler - alias ModuloPesquisa.Models.Midia.Tag +defmodule PescarteWeb.GraphQL.Resolver.Midia do + alias Pescarte.ModuloPesquisa.Handlers.MidiasHandler + alias Pescarte.ModuloPesquisa.Models.Midia.Tag def adiciona_tags(%{input: args}, _resolution) do MidiasHandler.add_tags_to_midia(args.midia_id, args.tags_id) diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/tag.ex b/lib/pescarte_web/graphql/resolver/tag.ex similarity index 75% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/tag.ex rename to lib/pescarte_web/graphql/resolver/tag.ex index e6613e6a..e108a6d6 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/tag.ex +++ b/lib/pescarte_web/graphql/resolver/tag.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Resolver.Tag do - alias ModuloPesquisa.Handlers.MidiasHandler - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Categoria +defmodule PescarteWeb.GraphQL.Resolver.Tag do + alias Pescarte.ModuloPesquisa.Handlers.MidiasHandler + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria def create(%{input: args}, _resolution) do MidiasHandler.create_tag(args) diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/user.ex b/lib/pescarte_web/graphql/resolver/user.ex similarity index 69% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/user.ex rename to lib/pescarte_web/graphql/resolver/user.ex index 3c35002a..2bc07f5b 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/resolver/user.ex +++ b/lib/pescarte_web/graphql/resolver/user.ex @@ -1,6 +1,6 @@ -defmodule PlataformaDigitalAPI.Resolver.User do - alias Identidades.Handlers.UsuarioHandler - alias ModuloPesquisa.Models.Midia +defmodule PescarteWeb.GraphQL.Resolver.User do + alias Pescarte.Identidades.Handlers.UsuarioHandler + alias Pescarte.ModuloPesquisa.Models.Midia def list(_args, _resolution) do {:ok, UsuarioHandler.list_usuario()} diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema.ex b/lib/pescarte_web/graphql/schema.ex similarity index 82% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/schema.ex rename to lib/pescarte_web/graphql/schema.ex index a759b263..b236c9f1 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema.ex +++ b/lib/pescarte_web/graphql/schema.ex @@ -1,9 +1,9 @@ -defmodule PlataformaDigitalAPI.Schema do +defmodule PescarteWeb.GraphQL.Schema do use Absinthe.Schema - alias PlataformaDigitalAPI.Middleware - alias PlataformaDigitalAPI.Schema - alias PlataformaDigitalAPI.Type + alias PescarteWeb.GraphQL.Middleware + alias PescarteWeb.GraphQL.Schema + alias PescarteWeb.GraphQL.Type import_types(Type.Scalars.Date) diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/categoria.ex b/lib/pescarte_web/graphql/schema/categoria.ex similarity index 71% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/schema/categoria.ex rename to lib/pescarte_web/graphql/schema/categoria.ex index 5c20bdf5..dbe58f06 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/categoria.ex +++ b/lib/pescarte_web/graphql/schema/categoria.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Schema.Categoria do +defmodule PescarteWeb.GraphQL.Schema.Categoria do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver # Queries diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/midia.ex b/lib/pescarte_web/graphql/schema/midia.ex similarity index 95% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/schema/midia.ex rename to lib/pescarte_web/graphql/schema/midia.ex index 160b1bd9..c553644d 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/midia.ex +++ b/lib/pescarte_web/graphql/schema/midia.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Schema.Midia do +defmodule PescarteWeb.GraphQL.Schema.Midia do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver # Queries diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/tag.ex b/lib/pescarte_web/graphql/schema/tag.ex similarity index 91% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/schema/tag.ex rename to lib/pescarte_web/graphql/schema/tag.ex index 9d503a99..833b7212 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/tag.ex +++ b/lib/pescarte_web/graphql/schema/tag.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Schema.Tag do +defmodule PescarteWeb.GraphQL.Schema.Tag do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver # Queries diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/user.ex b/lib/pescarte_web/graphql/schema/user.ex similarity index 87% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/schema/user.ex rename to lib/pescarte_web/graphql/schema/user.ex index 23bbdc85..93ca06b1 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/schema/user.ex +++ b/lib/pescarte_web/graphql/schema/user.ex @@ -1,9 +1,9 @@ -defmodule PlataformaDigitalAPI.Schema.User do +defmodule PescarteWeb.GraphQL.Schema.User do @moduledoc false use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver # Queries diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/categoria.ex b/lib/pescarte_web/graphql/type/categoria.ex similarity index 75% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/type/categoria.ex rename to lib/pescarte_web/graphql/type/categoria.ex index 6c72cd21..a0c27b0a 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/categoria.ex +++ b/lib/pescarte_web/graphql/type/categoria.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Type.Categoria do +defmodule PescarteWeb.GraphQL.Type.Categoria do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver @desc "Representa uma Categoria de tags" object :categoria do diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/midia.ex b/lib/pescarte_web/graphql/type/midia.ex similarity index 89% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/type/midia.ex rename to lib/pescarte_web/graphql/type/midia.ex index 1323735d..3717e8b0 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/midia.ex +++ b/lib/pescarte_web/graphql/type/midia.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Type.Midia do +defmodule PescarteWeb.GraphQL.Type.Midia do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver @desc "Tipos possíveis de Midias" enum :tipo_midia_enum do diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/scalars/date.ex b/lib/pescarte_web/graphql/type/scalars/date.ex similarity index 89% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/type/scalars/date.ex rename to lib/pescarte_web/graphql/type/scalars/date.ex index 54244be1..4652343b 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/scalars/date.ex +++ b/lib/pescarte_web/graphql/type/scalars/date.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigitalAPI.Type.Scalars.Date do +defmodule PescarteWeb.GraphQL.Type.Scalars.Date do use Absinthe.Schema.Notation @desc "Tipo que representa uma data ISO8601" diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/tag.ex b/lib/pescarte_web/graphql/type/tag.ex similarity index 81% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/type/tag.ex rename to lib/pescarte_web/graphql/type/tag.ex index de20ed45..b507255e 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/tag.ex +++ b/lib/pescarte_web/graphql/type/tag.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.Type.Tag do +defmodule PescarteWeb.GraphQL.Type.Tag do use Absinthe.Schema.Notation - alias PlataformaDigitalAPI.Resolver + alias PescarteWeb.GraphQL.Resolver @desc "Representa uma Tag pertencente a uma Categoria" object :tag do diff --git a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/user.ex b/lib/pescarte_web/graphql/type/user.ex similarity index 95% rename from apps/plataforma_digital_api/lib/plataforma_digital_api/type/user.ex rename to lib/pescarte_web/graphql/type/user.ex index d1550cd5..54e7f64d 100644 --- a/apps/plataforma_digital_api/lib/plataforma_digital_api/type/user.ex +++ b/lib/pescarte_web/graphql/type/user.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigitalAPI.Type.User do +defmodule PescarteWeb.GraphQL.Type.User do use Absinthe.Schema.Notation @desc "Os possíveis tipo de um usuário" diff --git a/lib/pescarte_web/layouts.ex b/lib/pescarte_web/layouts.ex new file mode 100644 index 00000000..6aec3e80 --- /dev/null +++ b/lib/pescarte_web/layouts.ex @@ -0,0 +1,5 @@ +defmodule PescarteWeb.Layouts do + use PescarteWeb, :html + + embed_templates "layouts/*" +end diff --git a/apps/plataforma_digital/lib/plataforma_digital/layouts/app.html.heex b/lib/pescarte_web/layouts/app.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/layouts/app.html.heex rename to lib/pescarte_web/layouts/app.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/layouts/authenticated.html.heex b/lib/pescarte_web/layouts/authenticated.html.heex similarity index 71% rename from apps/plataforma_digital/lib/plataforma_digital/layouts/authenticated.html.heex rename to lib/pescarte_web/layouts/authenticated.html.heex index ecb61615..2c862c5a 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/layouts/authenticated.html.heex +++ b/lib/pescarte_web/layouts/authenticated.html.heex @@ -2,7 +2,7 @@ <.live_component id="auth-navbar" user={@current_user} - module={PlataformaDigital.DesignSystem.AuthenticatedNavbar} + module={PescarteWeb.DesignSystem.AuthenticatedNavbar} />
<%= @inner_content %> diff --git a/apps/plataforma_digital/lib/plataforma_digital/layouts/root.html.heex b/lib/pescarte_web/layouts/root.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/layouts/root.html.heex rename to lib/pescarte_web/layouts/root.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/list_pesquisador_live.ex b/lib/pescarte_web/live/pesquisa/list_pesquisador_live.ex similarity index 91% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/list_pesquisador_live.ex rename to lib/pescarte_web/live/pesquisa/list_pesquisador_live.ex index 7d919c4c..0a20d18e 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/list_pesquisador_live.ex +++ b/lib/pescarte_web/live/pesquisa/list_pesquisador_live.ex @@ -1,9 +1,9 @@ -defmodule PlataformaDigital.Pesquisa.ListPesquisadorLive do +defmodule PescarteWeb.Pesquisa.ListPesquisadorLive do @moduledoc false - use PlataformaDigital, :auth_live_view + use PescarteWeb, :auth_live_view - alias ModuloPesquisa.Handlers.PesquisadorHandler + alias Pescarte.ModuloPesquisa.Handlers.PesquisadorHandler @impl true def mount(_params, _session, socket) do diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/list_pesquisador_live.html.heex b/lib/pescarte_web/live/pesquisa/list_pesquisador_live.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/list_pesquisador_live.html.heex rename to lib/pescarte_web/live/pesquisa/list_pesquisador_live.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/profile_live.ex b/lib/pescarte_web/live/pesquisa/profile_live.ex similarity index 93% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/profile_live.ex rename to lib/pescarte_web/live/pesquisa/profile_live.ex index 3228ba1e..9bc1435b 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/profile_live.ex +++ b/lib/pescarte_web/live/pesquisa/profile_live.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigital.Pesquisa.ProfileLive do - use PlataformaDigital, :auth_live_view +defmodule PescarteWeb.Pesquisa.ProfileLive do + use PescarteWeb, :auth_live_view - alias PlataformaDigital.Authentication + alias PescarteWeb.Authentication @impl true def mount(_params, _session, socket) do diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/profile_live.html.heex b/lib/pescarte_web/live/pesquisa/profile_live.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/profile_live.html.heex rename to lib/pescarte_web/live/pesquisa/profile_live.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/form_component.ex b/lib/pescarte_web/live/pesquisa/relatorio/form_component.ex similarity index 95% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/form_component.ex rename to lib/pescarte_web/live/pesquisa/relatorio/form_component.ex index a7cf8bc8..8ddb8b88 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/form_component.ex +++ b/lib/pescarte_web/live/pesquisa/relatorio/form_component.ex @@ -1,8 +1,8 @@ -defmodule PlataformaDigital.Pesquisa.Relatorio.FormComponent do - use PlataformaDigital, :live_component +defmodule PescarteWeb.Pesquisa.Relatorio.FormComponent do + use PescarteWeb, :live_component - alias ModuloPesquisa.Handlers.RelatoriosHandler - alias ModuloPesquisa.Repository + alias Pescarte.ModuloPesquisa.Handlers.RelatoriosHandler + alias Pescarte.ModuloPesquisa.Repository @impl true def render(assigns) do diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.ex b/lib/pescarte_web/live/pesquisa/relatorio/index.ex similarity index 93% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.ex rename to lib/pescarte_web/live/pesquisa/relatorio/index.ex index fd81174c..7557983a 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.ex +++ b/lib/pescarte_web/live/pesquisa/relatorio/index.ex @@ -1,11 +1,11 @@ -defmodule PlataformaDigital.Pesquisa.RelatorioLive.Index do - use PlataformaDigital, :auth_live_view +defmodule PescarteWeb.Pesquisa.RelatorioLive.Index do + use PescarteWeb, :auth_live_view import Timex.Format.DateTime.Formatter, only: [lformat!: 3] - alias Database.Repo.Replica, as: Repo - alias ModuloPesquisa.Models.RelatorioPesquisa - alias ModuloPesquisa.Repository + alias Pescarte.Database.Repo.Replica, as: Repo + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa + alias Pescarte.ModuloPesquisa.Repository @locale "pt_BR" diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.html.heex b/lib/pescarte_web/live/pesquisa/relatorio/index.html.heex similarity index 83% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.html.heex rename to lib/pescarte_web/live/pesquisa/relatorio/index.html.heex index f369cb87..cd3c3cab 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/index.html.heex +++ b/lib/pescarte_web/live/pesquisa/relatorio/index.html.heex @@ -1,5 +1,5 @@ <.live_component - module={PlataformaDigital.Pesquisa.Relatorio.FormComponent} + module={PescarteWeb.Pesquisa.Relatorio.FormComponent} id={@relatorio.id_publico || :new} tipo_relatorio={@tipo_relatorio} title={@title} diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/list_report_live.ex b/lib/pescarte_web/live/pesquisa/relatorio/list_report_live.ex similarity index 88% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/list_report_live.ex rename to lib/pescarte_web/live/pesquisa/relatorio/list_report_live.ex index 4627508b..23dca8c2 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/list_report_live.ex +++ b/lib/pescarte_web/live/pesquisa/relatorio/list_report_live.ex @@ -1,5 +1,5 @@ -defmodule PlataformaDigital.Pesquisa.Relatorio.ListReportLive do - use PlataformaDigital, :auth_live_view +defmodule PescarteWeb.Pesquisa.Relatorio.ListReportLive do + use PescarteWeb, :auth_live_view @impl true def mount(_params, _session, socket) do diff --git a/apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/list_report_live.html.heex b/lib/pescarte_web/live/pesquisa/relatorio/list_report_live.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/live/pesquisa/relatorio/list_report_live.html.heex rename to lib/pescarte_web/live/pesquisa/relatorio/list_report_live.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/plugs/health_check.ex b/lib/pescarte_web/plugs/health_check.ex similarity index 86% rename from apps/plataforma_digital/lib/plataforma_digital/plugs/health_check.ex rename to lib/pescarte_web/plugs/health_check.ex index 7e77297e..8dceb1bc 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/plugs/health_check.ex +++ b/lib/pescarte_web/plugs/health_check.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigital.HealthCheck do +defmodule PescarteWeb.Plugs.HealthCheck do @moduledoc """ Plug to handle the API Health Check. """ diff --git a/apps/plataforma_digital/lib/plataforma_digital/router.ex b/lib/pescarte_web/router.ex similarity index 60% rename from apps/plataforma_digital/lib/plataforma_digital/router.ex rename to lib/pescarte_web/router.ex index d5ae0700..b77ecccd 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/router.ex +++ b/lib/pescarte_web/router.ex @@ -1,44 +1,55 @@ -defmodule PlataformaDigital.Router do - use PlataformaDigital, :router +defmodule PescarteWeb.Router do + use PescarteWeb, :router import PhoenixStorybook.Router - import PlataformaDigital.Authentication + import PescarteWeb.Authentication pipeline :browser do plug :accepts, ["html"] plug :fetch_session plug :fetch_live_flash - plug :put_root_layout, {PlataformaDigital.Layouts, :root} + plug :put_root_layout, {PescarteWeb.Layouts, :root} plug :protect_from_forgery plug :put_secure_browser_headers plug :fetch_current_user end + pipeline :api do + plug :accepts, ["json"] + plug :protect_from_forgery + plug :put_secure_browser_headers + plug PescarteWeb.GraphQL.Context + end + scope "/" do storybook_assets() end - scope "/", PlataformaDigital do + scope "/api" do + forward "/", Absinthe.Plug, schema: PescarteWeb.GraphQL.Schema + end + + scope "/", PescarteWeb do pipe_through :browser get "/", LandingController, :show - live_storybook("/storybook", backend_module: PlataformaDigital.Storybook) + live_storybook("/storybook", backend_module: PescarteWeb.Storybook) end - scope "/", PlataformaDigital do + scope "/", PescarteWeb do pipe_through [:browser, :redirect_if_user_is_authenticated] get "/acessar", LoginController, :show post "/acessar", LoginController, :create end - scope "/app/pesquisa", PlataformaDigital do + scope "/app/pesquisa", PescarteWeb do pipe_through :browser # pipe_through [:browser, :require_authenticated_user] live_session :require_authenticated_user, - on_mount: [{PlataformaDigital.Authentication, :ensure_authenticated}] do + on_mount: [{PescarteWeb.Authentication, :ensure_authenticated}] do live "/perfil", Pesquisa.ProfileLive live "/pesquisadores", Pesquisa.ListPesquisadorLive diff --git a/apps/plataforma_digital/lib/plataforma_digital/storybook.ex b/lib/pescarte_web/storybook.ex similarity index 58% rename from apps/plataforma_digital/lib/plataforma_digital/storybook.ex rename to lib/pescarte_web/storybook.ex index b54bcd2f..1b32da18 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/storybook.ex +++ b/lib/pescarte_web/storybook.ex @@ -1,7 +1,7 @@ -defmodule PlataformaDigital.Storybook do +defmodule PescarteWeb.Storybook do use PhoenixStorybook, - otp_app: :plataforma_digital, - content_path: Path.expand("../../../../storybook", __DIR__), + otp_app: :pescarte, + content_path: Path.expand("../../storybook", __DIR__), # assets path are remote path, not local file-system paths css_path: "/assets/storybook.css", js_path: "/assets/storybook.js", diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/error_html.ex b/lib/pescarte_web/templates/error_html.ex similarity index 68% rename from apps/plataforma_digital/lib/plataforma_digital/templates/error_html.ex rename to lib/pescarte_web/templates/error_html.ex index 1860f682..db78dbb0 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/templates/error_html.ex +++ b/lib/pescarte_web/templates/error_html.ex @@ -1,5 +1,5 @@ -defmodule PlataformaDigital.ErrorHTML do - use PlataformaDigital, :html +defmodule PescarteWeb.ErrorHTML do + use PescarteWeb, :html embed_templates "error_html/*" diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/error_html/404.html.heex b/lib/pescarte_web/templates/error_html/404.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/templates/error_html/404.html.heex rename to lib/pescarte_web/templates/error_html/404.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/error_html/500.html.heex b/lib/pescarte_web/templates/error_html/500.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/templates/error_html/500.html.heex rename to lib/pescarte_web/templates/error_html/500.html.heex diff --git a/lib/pescarte_web/templates/landing_html.ex b/lib/pescarte_web/templates/landing_html.ex new file mode 100644 index 00000000..036f8025 --- /dev/null +++ b/lib/pescarte_web/templates/landing_html.ex @@ -0,0 +1,5 @@ +defmodule PescarteWeb.LandingHTML do + use PescarteWeb, :html + + embed_templates "landing_html/*" +end diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/landing_html/show.html.heex b/lib/pescarte_web/templates/landing_html/show.html.heex similarity index 100% rename from apps/plataforma_digital/lib/plataforma_digital/templates/landing_html/show.html.heex rename to lib/pescarte_web/templates/landing_html/show.html.heex diff --git a/apps/plataforma_digital/lib/plataforma_digital/templates/login_html.ex b/lib/pescarte_web/templates/login_html.ex similarity index 94% rename from apps/plataforma_digital/lib/plataforma_digital/templates/login_html.ex rename to lib/pescarte_web/templates/login_html.ex index c71f275e..9694501e 100644 --- a/apps/plataforma_digital/lib/plataforma_digital/templates/login_html.ex +++ b/lib/pescarte_web/templates/login_html.ex @@ -1,5 +1,5 @@ -defmodule PlataformaDigital.LoginHTML do - use PlataformaDigital, :html +defmodule PescarteWeb.LoginHTML do + use PescarteWeb, :html def show(assigns) do assigns = Map.put(assigns, :form, to_form(%{}, as: :user)) diff --git a/apps/seeder/lib/seeder.ex b/lib/seeder.ex similarity index 97% rename from apps/seeder/lib/seeder.ex rename to lib/seeder.ex index 970aad1f..e097adf5 100644 --- a/apps/seeder/lib/seeder.ex +++ b/lib/seeder.ex @@ -1,6 +1,6 @@ defmodule Seeder do require Logger - alias Database.Repo + alias Pescarte.Database.Repo @spec append_multi(Ecto.Multi.t(), list(term), binary) :: Ecto.Multi.t() def append_multi(multi, entries, key) do diff --git a/apps/seeder/lib/seeder/identidades/contato.ex b/lib/seeder/identidades/contato.ex similarity index 96% rename from apps/seeder/lib/seeder/identidades/contato.ex rename to lib/seeder/identidades/contato.ex index bb8f3477..0c676046 100644 --- a/apps/seeder/lib/seeder/identidades/contato.ex +++ b/lib/seeder/identidades/contato.ex @@ -1,5 +1,5 @@ defmodule Seeder.Identidades.Contato do - alias Identidades.Models.Contato + alias Pescarte.Identidades.Models.Contato @behaviour Seeder.Entry @impl true diff --git a/apps/seeder/lib/seeder/identidades/endereco.ex b/lib/seeder/identidades/endereco.ex similarity index 92% rename from apps/seeder/lib/seeder/identidades/endereco.ex rename to lib/seeder/identidades/endereco.ex index b7591fd9..c988656f 100644 --- a/apps/seeder/lib/seeder/identidades/endereco.ex +++ b/lib/seeder/identidades/endereco.ex @@ -1,5 +1,5 @@ defmodule Seeder.Identidades.Endereco do - alias Identidades.Models.Endereco + alias Pescarte.Identidades.Models.Endereco @behaviour Seeder.Entry diff --git a/apps/seeder/lib/seeder/identidades/usuario.ex b/lib/seeder/identidades/usuario.ex similarity index 97% rename from apps/seeder/lib/seeder/identidades/usuario.ex rename to lib/seeder/identidades/usuario.ex index ee51ebf1..a47cbf6b 100644 --- a/apps/seeder/lib/seeder/identidades/usuario.ex +++ b/lib/seeder/identidades/usuario.ex @@ -1,5 +1,5 @@ defmodule Seeder.Identidades.Usuario do - alias Identidades.Models.Usuario + alias Pescarte.Identidades.Models.Usuario @behaviour Seeder.Entry defp hash_senha do diff --git a/apps/seeder/lib/seeder/modulo_pesquisa/campus.ex b/lib/seeder/modulo_pesquisa/campus.ex similarity index 91% rename from apps/seeder/lib/seeder/modulo_pesquisa/campus.ex rename to lib/seeder/modulo_pesquisa/campus.ex index f4094069..aeb7fa99 100644 --- a/apps/seeder/lib/seeder/modulo_pesquisa/campus.ex +++ b/lib/seeder/modulo_pesquisa/campus.ex @@ -1,5 +1,5 @@ defmodule Seeder.ModuloPesquisa.Campus do - alias ModuloPesquisa.Models.Campus + alias Pescarte.ModuloPesquisa.Models.Campus @behaviour Seeder.Entry @impl true diff --git a/apps/seeder/lib/seeder/modulo_pesquisa/categoria.ex b/lib/seeder/modulo_pesquisa/categoria.ex similarity index 88% rename from apps/seeder/lib/seeder/modulo_pesquisa/categoria.ex rename to lib/seeder/modulo_pesquisa/categoria.ex index 59dd7d99..0cfd1382 100644 --- a/apps/seeder/lib/seeder/modulo_pesquisa/categoria.ex +++ b/lib/seeder/modulo_pesquisa/categoria.ex @@ -1,5 +1,5 @@ defmodule Seeder.ModuloPesquisa.Categoria do - alias ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria @behaviour Seeder.Entry @impl true diff --git a/apps/seeder/lib/seeder/modulo_pesquisa/midia.ex b/lib/seeder/modulo_pesquisa/midia.ex similarity index 82% rename from apps/seeder/lib/seeder/modulo_pesquisa/midia.ex rename to lib/seeder/modulo_pesquisa/midia.ex index 398976bd..2191208b 100644 --- a/apps/seeder/lib/seeder/modulo_pesquisa/midia.ex +++ b/lib/seeder/modulo_pesquisa/midia.ex @@ -1,8 +1,9 @@ defmodule Seeder.ModuloPesquisa.Midia do - alias Database.Repo.Replica, as: Repo - alias Identidades.Models.Usuario - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Tag + alias Pescarte.Database.Repo.Replica, as: Repo + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Tag + @behaviour Seeder.Entry defp autor_id do diff --git a/apps/seeder/lib/seeder/modulo_pesquisa/pesquisador.ex b/lib/seeder/modulo_pesquisa/pesquisador.ex similarity index 94% rename from apps/seeder/lib/seeder/modulo_pesquisa/pesquisador.ex rename to lib/seeder/modulo_pesquisa/pesquisador.ex index 5a9df440..a0e387eb 100644 --- a/apps/seeder/lib/seeder/modulo_pesquisa/pesquisador.ex +++ b/lib/seeder/modulo_pesquisa/pesquisador.ex @@ -1,7 +1,8 @@ defmodule Seeder.ModuloPesquisa.Pesquisador do - alias Database.Repo.Replica - alias Identidades.Models.Usuario - alias ModuloPesquisa.Models.Pesquisador + alias Pescarte.Database.Repo.Replica + alias Pescarte.Identidades.Models.Usuario + alias Pescarte.ModuloPesquisa.Models.Pesquisador + @behaviour Seeder.Entry defp usuario_id_by_cpf(cpf) do diff --git a/apps/seeder/lib/seeder/modulo_pesquisa/tag.ex b/lib/seeder/modulo_pesquisa/tag.ex similarity index 94% rename from apps/seeder/lib/seeder/modulo_pesquisa/tag.ex rename to lib/seeder/modulo_pesquisa/tag.ex index ae0934fd..d4e14cc2 100644 --- a/apps/seeder/lib/seeder/modulo_pesquisa/tag.ex +++ b/lib/seeder/modulo_pesquisa/tag.ex @@ -1,5 +1,6 @@ defmodule Seeder.ModuloPesquisa.Tag do - alias ModuloPesquisa.Models.Midia.Tag + alias Pescarte.ModuloPesquisa.Models.Midia.Tag + @behaviour Seeder.Entry @impl true diff --git a/mix.exs b/mix.exs index 127c532d..673f474e 100644 --- a/mix.exs +++ b/mix.exs @@ -3,34 +3,51 @@ defmodule Pescarte.MixProject do def project do [ - apps_path: "apps", - name: :pescarte, + app: :pescarte, version: "0.1.0", - start_permanent: Mix.env() == :prod, deps: deps(), aliases: aliases(), - releases: [ - pescarte: [ - strip_beams: true, - cookie: Base.url_encode64(:crypto.strong_rand_bytes(40)), - validate_compile_env: true, - quiet: true, - include_erts: true, - include_executables_for: [:unix], - applications: [ - proxy_web: :permanent, - modulo_pesquisa: :permanent, - identidades: :permanent, - cotacoes: :permanent, - seeder: :load - ] - ] - ] + elixir: "~> 1.14", + elixirc_paths: elixirc_paths(Mix.env()), + start_permanent: Mix.env() == :prod ] end + def application do + [mod: {Pescarte.Application, []}, extra_applications: [:logger, :runtime_tools]] + end + + # Specifies which paths to compile per environment. + defp elixirc_paths(e) when e in ~w(dev test)a, do: ["lib", "test/support"] + defp elixirc_paths(_), do: ["lib"] + defp deps do [ + {:bandit, "~> 0.6"}, + {:tesla, "~> 1.4"}, + {:finch, "~> 0.16"}, + {:unzip, "~> 0.8"}, + {:ecto_sql, "~> 3.4"}, + {:postgrex, ">= 0.0.0"}, + {:ex_machina, "~> 2.7.0"}, + {:nanoid, "~> 2.0.5"}, + {:bcrypt_elixir, "~> 2.0"}, + {:brcpfcnpj, "~> 1.0.0"}, + {:timex, "~> 3.0"}, + {:phoenix, "~> 1.7"}, + {:phoenix_ecto, "~> 4.1"}, + {:phoenix_live_reload, "~> 1.2", only: :dev}, + {:phoenix_live_view, "~> 0.18"}, + {:floki, ">= 0.30.0"}, + {:jason, "~> 1.0"}, + {:lucide_icons, "~> 1.0"}, + {:absinthe, "~> 1.5"}, + {:absinthe_plug, "~> 1.5"}, + {:absinthe_phoenix, "~> 2.0.0"}, + {:phoenix_storybook, "~> 0.5"}, + {:esbuild, "~> 0.3", runtime: Mix.env() == :dev}, + {:tailwind, "~> 0.1", runtime: Mix.env() == :dev}, + {:dart_sass, "~> 0.5", runtime: Mix.env() == :dev}, {:dialyxir, "~> 1.3", only: [:dev], runtime: false}, {:credo, "~> 1.5", only: [:dev, :test], runtime: false}, {:ex_doc, "> 0.0.0", only: [:dev, :test], runtime: false}, @@ -42,8 +59,8 @@ defmodule Pescarte.MixProject do [ dev: ["setup", "phx.server"], setup: ["deps.get", "ecto.setup", "seed"], - "ecto.setup": ["ecto.create", "database.migrate"], - test: ["ecto.create --quiet", "database.migrate --quiet", "test"], + "ecto.setup": ["ecto.create", "ecto.migrate"], + test: ["ecto.create --quiet", "ecto.migrate --quiet", "test"], "assets.build": [ "esbuild default", "sass default", diff --git a/mix.lock b/mix.lock index 5753ddc2..9f192b4f 100644 --- a/mix.lock +++ b/mix.lock @@ -35,7 +35,7 @@ "expo": {:hex, :expo, "0.4.1", "1c61d18a5df197dfda38861673d392e642649a9cef7694d2f97a587b2cfb319b", [:mix], [], "hexpm", "2ff7ba7a798c8c543c12550fa0e2cbc81b95d4974c65855d8d15ba7b37a1ce47"}, "file_system": {:hex, :file_system, "0.2.10", "fb082005a9cd1711c05b5248710f8826b02d7d1784e7c3451f9c1231d4fc162d", [:mix], [], "hexpm", "41195edbfb562a593726eda3b3e8b103a309b733ad25f3d642ba49696bf715dc"}, "finch": {:hex, :finch, "0.16.0", "40733f02c89f94a112518071c0a91fe86069560f5dbdb39f9150042f44dcfb1a", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: false]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.3", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2.6 or ~> 1.0", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f660174c4d519e5fec629016054d60edd822cdfe2b7270836739ac2f97735ec5"}, - "floki": {:hex, :floki, "0.34.3", "5e2dcaec5d7c228ce5b1d3501502e308b2d79eb655e4191751a1fe491c37feac", [:mix], [], "hexpm", "9577440eea5b97924b4bf3c7ea55f7b8b6dce589f9b28b096cc294a8dc342341"}, + "floki": {:hex, :floki, "0.35.2", "87f8c75ed8654b9635b311774308b2760b47e9a579dabf2e4d5f1e1d42c39e0b", [:mix], [], "hexpm", "6b05289a8e9eac475f644f09c2e4ba7e19201fd002b89c28c1293e7bd16773d9"}, "gen_stage": {:hex, :gen_stage, "1.2.1", "19d8b5e9a5996d813b8245338a28246307fd8b9c99d1237de199d21efc4c76a1", [:mix], [], "hexpm", "83e8be657fa05b992ffa6ac1e3af6d57aa50aace8f691fcf696ff02f8335b001"}, "gettext": {:hex, :gettext, "0.23.1", "821e619a240e6000db2fc16a574ef68b3bd7fe0167ccc264a81563cc93e67a31", [:mix], [{:expo, "~> 0.4.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "19d744a36b809d810d610b57c27b934425859d158ebd56561bc41f7eeb8795db"}, "git_hooks": {:hex, :git_hooks, "0.4.2", "93604c8f6dff28500aaecc1988de319308fb7aa2c27bc89460b1f48aedd8bf7a", [:mix], [{:blankable, "~> 1.0.0", [hex: :blankable, repo: "hexpm", optional: false]}, {:recase, "~> 0.6.0", [hex: :recase, repo: "hexpm", optional: false]}], "hexpm", "0e46c04847b86d88857149840a614e018d57f79ca3f3b921a93e007cbea546d4"}, @@ -85,7 +85,7 @@ "table": {:hex, :table, "0.1.2", "87ad1125f5b70c5dea0307aa633194083eb5182ec537efc94e96af08937e14a8", [:mix], [], "hexpm", "7e99bc7efef806315c7e65640724bf165c3061cdc5d854060f74468367065029"}, "table_rex": {:hex, :table_rex, "3.1.1", "0c67164d1714b5e806d5067c1e96ff098ba7ae79413cc075973e17c38a587caa", [:mix], [], "hexpm", "678a23aba4d670419c23c17790f9dcd635a4a89022040df7d5d772cb21012490"}, "tailwind": {:hex, :tailwind, "0.2.2", "9e27288b568ede1d88517e8c61259bc214a12d7eed271e102db4c93fcca9b2cd", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "ccfb5025179ea307f7f899d1bb3905cd0ac9f687ed77feebc8f67bdca78565c4"}, - "telemetry": {:hex, :telemetry, "0.4.3", "a06428a514bdbc63293cd9a6263aad00ddeb66f608163bdec7c8995784080818", [:rebar3], [], "hexpm", "eb72b8365ffda5bed68a620d1da88525e326cb82a75ee61354fc24b844768041"}, + "telemetry": {:hex, :telemetry, "1.2.1", "68fdfe8d8f05a8428483a97d7aab2f268aaff24b49e0f599faa091f1d4e7f61c", [:rebar3], [], "hexpm", "dad9ce9d8effc621708f99eac538ef1cbe05d6a874dd741de2e689c47feafed5"}, "telemetry_metrics": {:hex, :telemetry_metrics, "0.6.1", "315d9163a1d4660aedc3fee73f33f1d355dcc76c5c3ab3d59e76e3edf80eef1f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "7be9e0871c41732c233be71e4be11b96e56177bf15dde64a8ac9ce72ac9834c6"}, "telemetry_poller": {:hex, :telemetry_poller, "0.5.1", "21071cc2e536810bac5628b935521ff3e28f0303e770951158c73eaaa01e962a", [:rebar3], [{:telemetry, "~> 0.4", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "4cab72069210bc6e7a080cec9afffad1b33370149ed5d379b81c7c5f0c663fd4"}, "tesla": {:hex, :tesla, "1.8.0", "d511a4f5c5e42538d97eef7c40ec4f3e44effdc5068206f42ed859e09e51d1fd", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:exjsx, ">= 3.0.0", [hex: :exjsx, repo: "hexpm", optional: true]}, {:finch, "~> 0.13", [hex: :finch, repo: "hexpm", optional: true]}, {:fuse, "~> 2.4", [hex: :fuse, repo: "hexpm", optional: true]}, {:gun, ">= 1.0.0", [hex: :gun, repo: "hexpm", optional: true]}, {:hackney, "~> 1.6", [hex: :hackney, repo: "hexpm", optional: true]}, {:ibrowse, "4.4.2", [hex: :ibrowse, repo: "hexpm", optional: true]}, {:jason, ">= 1.0.0", [hex: :jason, repo: "hexpm", optional: true]}, {:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.0", [hex: :mint, repo: "hexpm", optional: true]}, {:msgpax, "~> 2.3", [hex: :msgpax, repo: "hexpm", optional: true]}, {:poison, ">= 1.0.0", [hex: :poison, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: true]}], "hexpm", "10501f360cd926a309501287470372af1a6e1cbed0f43949203a4c13300bc79f"}, diff --git a/nix/pescarte.nix b/nix/pescarte.nix index ec15e92b..6387a899 100644 --- a/nix/pescarte.nix +++ b/nix/pescarte.nix @@ -18,7 +18,7 @@ in sha256 = "8yS5gtFzmgl8mV2nNJzYbdxxyqf/P30XougCMprGFa8="; }; postBuild = '' - ln -sf ${nodeDependencies}/lib/node_modules apps/plataforma_digital/assets/node_modules + ln -sf ${nodeDependencies}/lib/node_modules assets/node_modules mix do deps.loadpaths --no-deps-check, phx.digest ''; installPhase = '' diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs b/priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs similarity index 83% rename from apps/modulo_pesquisa/priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs rename to priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs index a6db9b14..65925b7e 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs +++ b/priv/repo/migrations/20210726191013_cria_nucleo_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaNucleoPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaNucleoPesquisa do use Ecto.Migration def change do diff --git a/apps/identidades/priv/repo/migrations/20210726191040_cria_endereco.exs b/priv/repo/migrations/20210726191040_cria_endereco.exs similarity index 88% rename from apps/identidades/priv/repo/migrations/20210726191040_cria_endereco.exs rename to priv/repo/migrations/20210726191040_cria_endereco.exs index ea73bd6c..d7dd102f 100644 --- a/apps/identidades/priv/repo/migrations/20210726191040_cria_endereco.exs +++ b/priv/repo/migrations/20210726191040_cria_endereco.exs @@ -1,4 +1,4 @@ -defmodule Identidades.EctoRepo.Migrations.CriaEndereco do +defmodule Pescarte.Identidades.EctoRepo.Migrations.CriaEndereco do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20210726192706_cria_campus.exs b/priv/repo/migrations/20210726192706_cria_campus.exs similarity index 87% rename from apps/modulo_pesquisa/priv/repo/migrations/20210726192706_cria_campus.exs rename to priv/repo/migrations/20210726192706_cria_campus.exs index 0c9029ad..b18ffa32 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20210726192706_cria_campus.exs +++ b/priv/repo/migrations/20210726192706_cria_campus.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaCampus do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaCampus do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs b/priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs similarity index 87% rename from apps/modulo_pesquisa/priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs rename to priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs index 21e08030..e58c8a4b 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs +++ b/priv/repo/migrations/20210726210228_cria_linha_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CreateLinhaPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CreateLinhaPesquisa do use Ecto.Migration def change do diff --git a/apps/identidades/priv/repo/migrations/20210727061626_cria_contato.exs b/priv/repo/migrations/20210727061626_cria_contato.exs similarity index 90% rename from apps/identidades/priv/repo/migrations/20210727061626_cria_contato.exs rename to priv/repo/migrations/20210727061626_cria_contato.exs index 1ee36c12..2876f3d9 100644 --- a/apps/identidades/priv/repo/migrations/20210727061626_cria_contato.exs +++ b/priv/repo/migrations/20210727061626_cria_contato.exs @@ -1,4 +1,4 @@ -defmodule Identidades.EctoRepo.Migrations.CriaContato do +defmodule Pescarte.Identidades.EctoRepo.Migrations.CriaContato do use Ecto.Migration def change do diff --git a/apps/identidades/priv/repo/migrations/20210728061626_cria_usuario.exs b/priv/repo/migrations/20210728061626_cria_usuario.exs similarity index 94% rename from apps/identidades/priv/repo/migrations/20210728061626_cria_usuario.exs rename to priv/repo/migrations/20210728061626_cria_usuario.exs index 5525b2cf..bb27a212 100644 --- a/apps/identidades/priv/repo/migrations/20210728061626_cria_usuario.exs +++ b/priv/repo/migrations/20210728061626_cria_usuario.exs @@ -1,4 +1,4 @@ -defmodule Identidades.EctoRepo.Migrations.CriaUsuario do +defmodule Pescarte.Identidades.EctoRepo.Migrations.CriaUsuario do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20210728202846_cria_pesquisador.exs b/priv/repo/migrations/20210728202846_cria_pesquisador.exs similarity index 93% rename from apps/modulo_pesquisa/priv/repo/migrations/20210728202846_cria_pesquisador.exs rename to priv/repo/migrations/20210728202846_cria_pesquisador.exs index 1eb44869..acf18046 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20210728202846_cria_pesquisador.exs +++ b/priv/repo/migrations/20210728202846_cria_pesquisador.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CreatePesquisador do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CreatePesquisador do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20211203004312_cria_midia.exs b/priv/repo/migrations/20211203004312_cria_midia.exs similarity index 88% rename from apps/modulo_pesquisa/priv/repo/migrations/20211203004312_cria_midia.exs rename to priv/repo/migrations/20211203004312_cria_midia.exs index 67498064..6ad6eecc 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20211203004312_cria_midia.exs +++ b/priv/repo/migrations/20211203004312_cria_midia.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaMidia do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaMidia do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs b/priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs similarity index 92% rename from apps/modulo_pesquisa/priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs rename to priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs index 9c60fbd1..3c94b44c 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs +++ b/priv/repo/migrations/20220831221055_cria_relatorio_mensal_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CreateRelatorioMensalPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CreateRelatorioMensalPesquisa do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20220831222207_cria_categoria.exs b/priv/repo/migrations/20220831222207_cria_categoria.exs similarity index 75% rename from apps/modulo_pesquisa/priv/repo/migrations/20220831222207_cria_categoria.exs rename to priv/repo/migrations/20220831222207_cria_categoria.exs index eb78676b..98ec8f57 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20220831222207_cria_categoria.exs +++ b/priv/repo/migrations/20220831222207_cria_categoria.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CreateCategories do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CreateCategories do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20220831223956_cria_tag.exs b/priv/repo/migrations/20220831223956_cria_tag.exs similarity index 90% rename from apps/modulo_pesquisa/priv/repo/migrations/20220831223956_cria_tag.exs rename to priv/repo/migrations/20220831223956_cria_tag.exs index 5c14d167..ebee290c 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20220831223956_cria_tag.exs +++ b/priv/repo/migrations/20220831223956_cria_tag.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaTag do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaTag do use Ecto.Migration def up do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230127180022_atualiza_midia.exs b/priv/repo/migrations/20230127180022_atualiza_midia.exs similarity index 81% rename from apps/modulo_pesquisa/priv/repo/migrations/20230127180022_atualiza_midia.exs rename to priv/repo/migrations/20230127180022_atualiza_midia.exs index 992013ab..baf8d0ad 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230127180022_atualiza_midia.exs +++ b/priv/repo/migrations/20230127180022_atualiza_midia.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.UpdateMidia do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.UpdateMidia do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230127180818_cria_midias_tags.exs b/priv/repo/migrations/20230127180818_cria_midias_tags.exs similarity index 79% rename from apps/modulo_pesquisa/priv/repo/migrations/20230127180818_cria_midias_tags.exs rename to priv/repo/migrations/20230127180818_cria_midias_tags.exs index cfe07000..8a8f163c 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230127180818_cria_midias_tags.exs +++ b/priv/repo/migrations/20230127180818_cria_midias_tags.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaMidiaTag do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaMidiaTag do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs b/priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs similarity index 91% rename from apps/modulo_pesquisa/priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs rename to priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs index 9463d1b3..4a09a4af 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs +++ b/priv/repo/migrations/20230524163910_cria_relatorio_trimestral_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaRelatorioTrimestralPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaRelatorioTrimestralPesquisa do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs b/priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs similarity index 92% rename from apps/modulo_pesquisa/priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs rename to priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs index 2e66aa36..cae0ad18 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs +++ b/priv/repo/migrations/20230524164432_cria_relatorio_anual_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaRelatorioAnualPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaRelatorioAnualPesquisa do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs b/priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs similarity index 74% rename from apps/modulo_pesquisa/priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs rename to priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs index 689e1b81..c061b8f1 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs +++ b/priv/repo/migrations/20230524194745_adiciona_responsavel_lp_linha_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.AdicionaResponsavelLpLinhaPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.AdicionaResponsavelLpLinhaPesquisa do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs b/priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs similarity index 78% rename from apps/modulo_pesquisa/priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs rename to priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs index f44804e4..7620dba7 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs +++ b/priv/repo/migrations/20230623011914_cria_linhas_pesquisas_pesquisadores.exs @@ -1,4 +1,4 @@ -defmodule ModuloPesquisa.Repo.Migrations.CriaLinhasPesquisasPesquisadores do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaLinhasPesquisasPesquisadores do use Ecto.Migration def change do diff --git a/apps/cotacoes/priv/repo/migrations/20230704182529_cria_pescado.exs b/priv/repo/migrations/20230704182529_cria_pescado.exs similarity index 83% rename from apps/cotacoes/priv/repo/migrations/20230704182529_cria_pescado.exs rename to priv/repo/migrations/20230704182529_cria_pescado.exs index 8496df32..0a70e51b 100644 --- a/apps/cotacoes/priv/repo/migrations/20230704182529_cria_pescado.exs +++ b/priv/repo/migrations/20230704182529_cria_pescado.exs @@ -1,4 +1,4 @@ -defmodule Database.Repo.Migrations.CriaPescado do +defmodule Pescarte.Cotacoes.Repo.Migrations.CriaPescado do use Ecto.Migration def change do diff --git a/apps/cotacoes/priv/repo/migrations/20230704182916_cria_fonte.exs b/priv/repo/migrations/20230704182916_cria_fonte.exs similarity index 84% rename from apps/cotacoes/priv/repo/migrations/20230704182916_cria_fonte.exs rename to priv/repo/migrations/20230704182916_cria_fonte.exs index 04a9b478..dc4aea46 100644 --- a/apps/cotacoes/priv/repo/migrations/20230704182916_cria_fonte.exs +++ b/priv/repo/migrations/20230704182916_cria_fonte.exs @@ -1,4 +1,4 @@ -defmodule Database.Repo.Migrations.CriaFonte do +defmodule Pescarte.Cotacoes.Repo.Migrations.CriaFonte do use Ecto.Migration def change do diff --git a/apps/cotacoes/priv/repo/migrations/20230704182917_cria_cotacao.exs b/priv/repo/migrations/20230704182917_cria_cotacao.exs similarity index 90% rename from apps/cotacoes/priv/repo/migrations/20230704182917_cria_cotacao.exs rename to priv/repo/migrations/20230704182917_cria_cotacao.exs index 124c0dc4..06db8335 100644 --- a/apps/cotacoes/priv/repo/migrations/20230704182917_cria_cotacao.exs +++ b/priv/repo/migrations/20230704182917_cria_cotacao.exs @@ -1,4 +1,4 @@ -defmodule Database.Repo.Migrations.CriaCotacao do +defmodule Pescarte.Cotacoes.Repo.Migrations.CriaCotacao do use Ecto.Migration def change do diff --git a/apps/cotacoes/priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs b/priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs similarity index 93% rename from apps/cotacoes/priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs rename to priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs index e5c6133a..70ae1a23 100644 --- a/apps/cotacoes/priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs +++ b/priv/repo/migrations/20230704182918_cria_cotacoes_pescados.exs @@ -1,4 +1,4 @@ -defmodule Database.Repo.Migrations.CriaCotacoesPescados do +defmodule Pescarte.Cotacoes.Repo.Migrations.CriaCotacoesPescados do use Ecto.Migration def change do diff --git a/apps/catalogo/priv/repo/migrations/20230801233456_cria_tabela_peixe.exs b/priv/repo/migrations/20230801233456_cria_tabela_peixe.exs similarity index 83% rename from apps/catalogo/priv/repo/migrations/20230801233456_cria_tabela_peixe.exs rename to priv/repo/migrations/20230801233456_cria_tabela_peixe.exs index 4530add0..10f0cbdc 100755 --- a/apps/catalogo/priv/repo/migrations/20230801233456_cria_tabela_peixe.exs +++ b/priv/repo/migrations/20230801233456_cria_tabela_peixe.exs @@ -1,4 +1,4 @@ -defmodule Catalogo.Repo.Migrations.CriaTabelaPeixe do +defmodule Pescarte.Catalogo.Repo.Migrations.CriaTabelaPeixe do use Ecto.Migration def change do diff --git a/apps/catalogo/priv/repo/migrations/20230829232839_cria_tabela_habitat.exs b/priv/repo/migrations/20230829232839_cria_tabela_habitat.exs similarity index 77% rename from apps/catalogo/priv/repo/migrations/20230829232839_cria_tabela_habitat.exs rename to priv/repo/migrations/20230829232839_cria_tabela_habitat.exs index 9f3e344c..7443cc36 100644 --- a/apps/catalogo/priv/repo/migrations/20230829232839_cria_tabela_habitat.exs +++ b/priv/repo/migrations/20230829232839_cria_tabela_habitat.exs @@ -1,4 +1,4 @@ -defmodule Catalogo.Repo.Migrations.CriaTabelaHabitat do +defmodule Pescarte.Catalogo.Repo.Migrations.CriaTabelaHabitat do use Ecto.Migration def change do diff --git a/apps/catalogo/priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs b/priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs similarity index 81% rename from apps/catalogo/priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs rename to priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs index 7f84ebf6..1c17b13c 100644 --- a/apps/catalogo/priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs +++ b/priv/repo/migrations/20230830003623_cria_tabela_peixes_habitats.exs @@ -1,4 +1,4 @@ -defmodule Catalogo.Repo.Migrations.CriaTabelaPeixesHabitats do +defmodule Pescarte.Catalogo.Repo.Migrations.CriaTabelaPeixesHabitats do use Ecto.Migration def change do diff --git a/apps/modulo_pesquisa/priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs b/priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs similarity index 88% rename from apps/modulo_pesquisa/priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs rename to priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs index 0a2012a1..aa647257 100644 --- a/apps/modulo_pesquisa/priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs +++ b/priv/repo/migrations/20230915181156_cria_relatorio_pesquisa.exs @@ -1,4 +1,4 @@ -defmodule Database.Repo.Migrations.CriaRelatorioPesquisa do +defmodule Pescarte.ModuloPesquisa.Repo.Migrations.CriaRelatorioPesquisa do use Ecto.Migration def change do diff --git a/apps/plataforma_digital/priv/static/android-chrome-192x192.png b/priv/static/android-chrome-192x192.png similarity index 100% rename from apps/plataforma_digital/priv/static/android-chrome-192x192.png rename to priv/static/android-chrome-192x192.png diff --git a/apps/plataforma_digital/priv/static/android-chrome-384x384.png b/priv/static/android-chrome-384x384.png similarity index 100% rename from apps/plataforma_digital/priv/static/android-chrome-384x384.png rename to priv/static/android-chrome-384x384.png diff --git a/apps/plataforma_digital/priv/static/apple-touch-icon.png b/priv/static/apple-touch-icon.png similarity index 100% rename from apps/plataforma_digital/priv/static/apple-touch-icon.png rename to priv/static/apple-touch-icon.png diff --git a/apps/plataforma_digital/priv/static/browserconfig.xml b/priv/static/browserconfig.xml similarity index 100% rename from apps/plataforma_digital/priv/static/browserconfig.xml rename to priv/static/browserconfig.xml diff --git a/apps/plataforma_digital/priv/static/favicon-16x16.png b/priv/static/favicon-16x16.png similarity index 100% rename from apps/plataforma_digital/priv/static/favicon-16x16.png rename to priv/static/favicon-16x16.png diff --git a/apps/plataforma_digital/priv/static/favicon-32x32.png b/priv/static/favicon-32x32.png similarity index 100% rename from apps/plataforma_digital/priv/static/favicon-32x32.png rename to priv/static/favicon-32x32.png diff --git a/apps/plataforma_digital/priv/static/favicon.ico b/priv/static/favicon.ico similarity index 100% rename from apps/plataforma_digital/priv/static/favicon.ico rename to priv/static/favicon.ico diff --git a/apps/plataforma_digital/priv/static/images/404.svg b/priv/static/images/404.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/404.svg rename to priv/static/images/404.svg diff --git a/apps/plataforma_digital/priv/static/images/500.svg b/priv/static/images/500.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/500.svg rename to priv/static/images/500.svg diff --git a/apps/plataforma_digital/priv/static/images/fish_background.svg b/priv/static/images/fish_background.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/fish_background.svg rename to priv/static/images/fish_background.svg diff --git a/apps/plataforma_digital/priv/static/images/footer_logos.svg b/priv/static/images/footer_logos.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/footer_logos.svg rename to priv/static/images/footer_logos.svg diff --git a/apps/plataforma_digital/priv/static/images/icon_logo.svg b/priv/static/images/icon_logo.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/icon_logo.svg rename to priv/static/images/icon_logo.svg diff --git a/apps/plataforma_digital/priv/static/images/landing/news/news1.png b/priv/static/images/landing/news/news1.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/news/news1.png rename to priv/static/images/landing/news/news1.png diff --git a/apps/plataforma_digital/priv/static/images/landing/news/news2.png b/priv/static/images/landing/news/news2.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/news/news2.png rename to priv/static/images/landing/news/news2.png diff --git a/apps/plataforma_digital/priv/static/images/landing/news/news3.png b/priv/static/images/landing/news/news3.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/news/news3.png rename to priv/static/images/landing/news/news3.png diff --git a/apps/plataforma_digital/priv/static/images/landing/news/news4.png b/priv/static/images/landing/news/news4.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/news/news4.png rename to priv/static/images/landing/news/news4.png diff --git a/apps/plataforma_digital/priv/static/images/landing/pescado.png b/priv/static/images/landing/pescado.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/pescado.png rename to priv/static/images/landing/pescado.png diff --git a/apps/plataforma_digital/priv/static/images/landing/pescadores.png b/priv/static/images/landing/pescadores.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/pescadores.png rename to priv/static/images/landing/pescadores.png diff --git a/apps/plataforma_digital/priv/static/images/landing/pesquisa.png b/priv/static/images/landing/pesquisa.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/pesquisa.png rename to priv/static/images/landing/pesquisa.png diff --git a/apps/plataforma_digital/priv/static/images/landing/projetos.png b/priv/static/images/landing/projetos.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/projetos.png rename to priv/static/images/landing/projetos.png diff --git a/apps/plataforma_digital/priv/static/images/landing/rede_pesca_horizonte.png b/priv/static/images/landing/rede_pesca_horizonte.png similarity index 100% rename from apps/plataforma_digital/priv/static/images/landing/rede_pesca_horizonte.png rename to priv/static/images/landing/rede_pesca_horizonte.png diff --git a/apps/plataforma_digital/priv/static/images/pescador_por_sol.svg b/priv/static/images/pescador_por_sol.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/pescador_por_sol.svg rename to priv/static/images/pescador_por_sol.svg diff --git a/apps/plataforma_digital/priv/static/images/pescarte_logo.svg b/priv/static/images/pescarte_logo.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/pescarte_logo.svg rename to priv/static/images/pescarte_logo.svg diff --git a/apps/plataforma_digital/priv/static/images/pesquisa.svg b/priv/static/images/pesquisa.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/pesquisa.svg rename to priv/static/images/pesquisa.svg diff --git a/apps/plataforma_digital/priv/static/images/rede_pesca_bottom.svg b/priv/static/images/rede_pesca_bottom.svg similarity index 100% rename from apps/plataforma_digital/priv/static/images/rede_pesca_bottom.svg rename to priv/static/images/rede_pesca_bottom.svg diff --git a/apps/plataforma_digital/priv/static/manifest.json b/priv/static/manifest.json similarity index 100% rename from apps/plataforma_digital/priv/static/manifest.json rename to priv/static/manifest.json diff --git a/apps/plataforma_digital/priv/static/mstile-150x150.png b/priv/static/mstile-150x150.png similarity index 100% rename from apps/plataforma_digital/priv/static/mstile-150x150.png rename to priv/static/mstile-150x150.png diff --git a/apps/plataforma_digital/priv/static/safari-pinned-tab.svg b/priv/static/safari-pinned-tab.svg similarity index 100% rename from apps/plataforma_digital/priv/static/safari-pinned-tab.svg rename to priv/static/safari-pinned-tab.svg diff --git a/apps/plataforma_digital/priv/static/service_worker.js b/priv/static/service_worker.js similarity index 100% rename from apps/plataforma_digital/priv/static/service_worker.js rename to priv/static/service_worker.js diff --git a/storybook/botaofiltro.story.exs b/storybook/botaofiltro.story.exs index 09645ed9..0b0ece11 100644 --- a/storybook/botaofiltro.story.exs +++ b/storybook/botaofiltro.story.exs @@ -1,7 +1,7 @@ defmodule Storybook.Botaofiltro do use PhoenixStorybook.Story, :page - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem def render(assigns) do ~H""" diff --git a/storybook/iconsearch.story.exs b/storybook/iconsearch.story.exs index 89b85afc..ca135d5e 100644 --- a/storybook/iconsearch.story.exs +++ b/storybook/iconsearch.story.exs @@ -1,7 +1,7 @@ defmodule Storybook.Iconsearch do use PhoenixStorybook.Story, :page - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem def render(assigns) do ~H""" diff --git a/storybook/searchinput.story.exs b/storybook/searchinput.story.exs index d2a8acf1..b999b11e 100644 --- a/storybook/searchinput.story.exs +++ b/storybook/searchinput.story.exs @@ -1,7 +1,7 @@ defmodule Storybook.Searchinput do use PhoenixStorybook.Story, :page - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem def render(assigns) do ~H""" diff --git a/storybook/tabela.story.exs b/storybook/tabela.story.exs index 485fe080..d2dc5476 100644 --- a/storybook/tabela.story.exs +++ b/storybook/tabela.story.exs @@ -1,7 +1,7 @@ defmodule Storybook.Tabela do use PhoenixStorybook.Story, :page - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem def render(assigns) do ~H""" diff --git a/storybook/typography.story.exs b/storybook/typography.story.exs index 7c73fc03..544ed869 100644 --- a/storybook/typography.story.exs +++ b/storybook/typography.story.exs @@ -1,7 +1,7 @@ defmodule Storybook.Typography do use PhoenixStorybook.Story, :page - alias PlataformaDigital.DesignSystem + alias PescarteWeb.DesignSystem def render(assigns) do ~H""" diff --git a/apps/catalogo/test/catalogo/models/habitat_test.exs b/test/pescarte/catalogo/models/habitat_test.exs similarity index 80% rename from apps/catalogo/test/catalogo/models/habitat_test.exs rename to test/pescarte/catalogo/models/habitat_test.exs index b49d1419..a64438f2 100644 --- a/apps/catalogo/test/catalogo/models/habitat_test.exs +++ b/test/pescarte/catalogo/models/habitat_test.exs @@ -1,7 +1,7 @@ defmodule Pescarte.Catalogo.Models.HabitatTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - alias Catalogo.Models.Habitat + alias Pescarte.Catalogo.Models.Habitat @moduletag :unit diff --git a/apps/catalogo/test/catalogo/models/peixe_test.exs b/test/pescarte/catalogo/models/peixe_test.exs similarity index 87% rename from apps/catalogo/test/catalogo/models/peixe_test.exs rename to test/pescarte/catalogo/models/peixe_test.exs index c6596ca8..8b46237b 100644 --- a/apps/catalogo/test/catalogo/models/peixe_test.exs +++ b/test/pescarte/catalogo/models/peixe_test.exs @@ -1,7 +1,7 @@ defmodule Pescarte.Catalogo.Models.PeixeTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - alias Catalogo.Models.Peixe + alias Pescarte.Catalogo.Models.Peixe @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/handlers/cotacao_handler_test.exs b/test/pescarte/cotacoes/handlers/cotacao_handler_test.exs similarity index 94% rename from apps/cotacoes/test/cotacoes/handlers/cotacao_handler_test.exs rename to test/pescarte/cotacoes/handlers/cotacao_handler_test.exs index c3bd4980..181b355d 100644 --- a/apps/cotacoes/test/cotacoes/handlers/cotacao_handler_test.exs +++ b/test/pescarte/cotacoes/handlers/cotacao_handler_test.exs @@ -1,9 +1,9 @@ -defmodule Cotacoes.Handlers.CotacaoHandlerTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.Handlers.CotacaoHandlerTest do + use Pescarte.DataCase, async: true - import Cotacoes.Factory + import Pescarte.Cotacoes.Factory - alias Cotacoes.Handlers.CotacaoHandler + alias Pescarte.Cotacoes.Handlers.CotacaoHandler @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/models/cotacao_pescado_test.exs b/test/pescarte/cotacoes/models/cotacao_pescado_test.exs similarity index 92% rename from apps/cotacoes/test/cotacoes/models/cotacao_pescado_test.exs rename to test/pescarte/cotacoes/models/cotacao_pescado_test.exs index 35817a95..7270d9fe 100644 --- a/apps/cotacoes/test/cotacoes/models/cotacao_pescado_test.exs +++ b/test/pescarte/cotacoes/models/cotacao_pescado_test.exs @@ -1,9 +1,9 @@ -defmodule Cotacoes.Models.CotacaoPescadoTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.Models.CotacaoPescadoTest do + use Pescarte.DataCase, async: true - import Cotacoes.Factory + import Pescarte.Cotacoes.Factory - alias Cotacoes.Models.CotacaoPescado + alias Pescarte.Cotacoes.Models.CotacaoPescado @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/models/cotacao_test.exs b/test/pescarte/cotacoes/models/cotacao_test.exs similarity index 88% rename from apps/cotacoes/test/cotacoes/models/cotacao_test.exs rename to test/pescarte/cotacoes/models/cotacao_test.exs index f50f7801..308c8d2e 100644 --- a/apps/cotacoes/test/cotacoes/models/cotacao_test.exs +++ b/test/pescarte/cotacoes/models/cotacao_test.exs @@ -1,9 +1,9 @@ -defmodule Cotacoes.Models.CotacaoTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.Models.CotacaoTest do + use Pescarte.DataCase, async: true - import Cotacoes.Factory + import Pescarte.Cotacoes.Factory - alias Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.Cotacao @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/models/fonte_test.exs b/test/pescarte/cotacoes/models/fonte_test.exs similarity index 88% rename from apps/cotacoes/test/cotacoes/models/fonte_test.exs rename to test/pescarte/cotacoes/models/fonte_test.exs index 21b75985..a5d2b81a 100644 --- a/apps/cotacoes/test/cotacoes/models/fonte_test.exs +++ b/test/pescarte/cotacoes/models/fonte_test.exs @@ -1,7 +1,7 @@ -defmodule Cotacoes.Models.FonteTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.Models.FonteTest do + use Pescarte.DataCase, async: true - alias Cotacoes.Models.Fonte + alias Pescarte.Cotacoes.Models.Fonte @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/models/pescado_test.exs b/test/pescarte/cotacoes/models/pescado_test.exs similarity index 86% rename from apps/cotacoes/test/cotacoes/models/pescado_test.exs rename to test/pescarte/cotacoes/models/pescado_test.exs index 8d6f9a22..cb031c27 100644 --- a/apps/cotacoes/test/cotacoes/models/pescado_test.exs +++ b/test/pescarte/cotacoes/models/pescado_test.exs @@ -1,7 +1,7 @@ -defmodule Cotacoes.Models.PescadoTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.Models.PescadoTest do + use Pescarte.DataCase, async: true - alias Cotacoes.Models.Pescado + alias Pescarte.Cotacoes.Models.Pescado @moduletag :unit diff --git a/apps/cotacoes/test/cotacoes/repository_test.exs b/test/pescarte/cotacoes/repository_test.exs similarity index 93% rename from apps/cotacoes/test/cotacoes/repository_test.exs rename to test/pescarte/cotacoes/repository_test.exs index ff159030..bbd8713a 100644 --- a/apps/cotacoes/test/cotacoes/repository_test.exs +++ b/test/pescarte/cotacoes/repository_test.exs @@ -1,9 +1,9 @@ -defmodule Cotacoes.RepositoryTest do - use Database.DataCase, async: true +defmodule Pescarte.Cotacoes.RepositoryTest do + use Pescarte.DataCase, async: true - import Cotacoes.Factory + import Pescarte.Cotacoes.Factory - alias Cotacoes.Repository + alias Pescarte.Cotacoes.Repository @moduletag :unit diff --git a/apps/identidades/test/identidades/handlers/credenciais_handler_test.exs b/test/pescarte/identidades/handlers/credenciais_handler_test.exs similarity index 96% rename from apps/identidades/test/identidades/handlers/credenciais_handler_test.exs rename to test/pescarte/identidades/handlers/credenciais_handler_test.exs index ed4c720a..a6bf6bd2 100644 --- a/apps/identidades/test/identidades/handlers/credenciais_handler_test.exs +++ b/test/pescarte/identidades/handlers/credenciais_handler_test.exs @@ -1,10 +1,10 @@ -defmodule Identidades.Handlers.CredenciaisHandlerTest do - use Database.DataCase, async: true +defmodule Pescarte.Identidades.Handlers.CredenciaisHandlerTest do + use Pescarte.DataCase, async: true - import Identidades.Factory + import Pescarte.Identidades.Factory - alias Identidades.Handlers.CredenciaisHandler - alias Identidades.Models.Token + alias Pescarte.Identidades.Handlers.CredenciaisHandler + alias Pescarte.Identidades.Models.Token @moduletag :unit diff --git a/apps/identidades/test/identidades/handlers/usuario_handler_test.exs b/test/pescarte/identidades/handlers/usuario_handler_test.exs similarity index 89% rename from apps/identidades/test/identidades/handlers/usuario_handler_test.exs rename to test/pescarte/identidades/handlers/usuario_handler_test.exs index 4ad27ba9..eefac219 100644 --- a/apps/identidades/test/identidades/handlers/usuario_handler_test.exs +++ b/test/pescarte/identidades/handlers/usuario_handler_test.exs @@ -1,10 +1,10 @@ -defmodule Identidades.Handlers.UsuarioHandlerTest do - use Database.DataCase, async: true +defmodule Pescarte.Identidades.Handlers.UsuarioHandlerTest do + use Pescarte.DataCase, async: true - import Identidades.Factory + import Pescarte.Identidades.Factory - alias Identidades.Handlers.UsuarioHandler - alias Identidades.Models.Usuario + alias Pescarte.Identidades.Handlers.UsuarioHandler + alias Pescarte.Identidades.Models.Usuario @moduletag :unit diff --git a/apps/identidades/test/identidades/models/contato_test.exs b/test/pescarte/identidades/models/contato_test.exs similarity index 88% rename from apps/identidades/test/identidades/models/contato_test.exs rename to test/pescarte/identidades/models/contato_test.exs index 079a5052..4b4a42fb 100644 --- a/apps/identidades/test/identidades/models/contato_test.exs +++ b/test/pescarte/identidades/models/contato_test.exs @@ -1,12 +1,14 @@ -defmodule Identidades.Models.ContatoTest do - use Database.DataCase, async: true +defmodule Pescarte.Identidades.Models.ContatoTest do + use Pescarte.DataCase, async: true - alias Identidades.Models.Contato + import Pescarte.Identidades.Factory + + alias Pescarte.Identidades.Models.Contato @moduletag :unit test "changeset com emails e celulares adicionais" do - endereco = Identidades.Factory.insert(:endereco) + endereco = insert(:endereco) attrs = %{ email_principal: "test@example.com", @@ -27,7 +29,7 @@ defmodule Identidades.Models.ContatoTest do end test "changeset com emails e celulares adicionais vazios" do - endereco = Identidades.Factory.insert(:endereco) + endereco = insert(:endereco) attrs = %{ email_principal: "test@example.com", @@ -48,7 +50,7 @@ defmodule Identidades.Models.ContatoTest do end test "changeset com emails e celulares adicionais duplicados" do - endereco = Identidades.Factory.insert(:endereco) + endereco = insert(:endereco) attrs = %{ email_principal: "test@example.com", @@ -66,7 +68,7 @@ defmodule Identidades.Models.ContatoTest do end test "changeset sem campos adicionais" do - endereco = Identidades.Factory.insert(:endereco) + endereco = insert(:endereco) attrs = %{ email_principal: "test@example.com", diff --git a/apps/identidades/test/identidades/models/endereco_test.exs b/test/pescarte/identidades/models/endereco_test.exs similarity index 82% rename from apps/identidades/test/identidades/models/endereco_test.exs rename to test/pescarte/identidades/models/endereco_test.exs index 1d562866..1c72ddd7 100644 --- a/apps/identidades/test/identidades/models/endereco_test.exs +++ b/test/pescarte/identidades/models/endereco_test.exs @@ -1,7 +1,7 @@ -defmodule Identidades.Models.EnderecoTest do - use Database.DataCase, async: true +defmodule Pescarte.Identidades.Models.EnderecoTest do + use Pescarte.DataCase, async: true - alias Identidades.Models.Endereco + alias Pescarte.Identidades.Models.Endereco @moduletag :unit diff --git a/apps/identidades/test/identidades/models/usuario_test.exs b/test/pescarte/identidades/models/usuario_test.exs similarity index 95% rename from apps/identidades/test/identidades/models/usuario_test.exs rename to test/pescarte/identidades/models/usuario_test.exs index 2ed548f0..a3898a90 100644 --- a/apps/identidades/test/identidades/models/usuario_test.exs +++ b/test/pescarte/identidades/models/usuario_test.exs @@ -1,9 +1,9 @@ -defmodule Identidades.Models.UsuarioTest do - use Database.DataCase, async: true +defmodule Pescarte.Identidades.Models.UsuarioTest do + use Pescarte.DataCase, async: true - import Identidades.Factory + import Pescarte.Identidades.Factory - alias Identidades.Models.Usuario + alias Pescarte.Identidades.Models.Usuario @moduletag :unit diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/campus_test.exs b/test/pescarte/modulo_pesquisa/models/campus_test.exs similarity index 84% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/campus_test.exs rename to test/pescarte/modulo_pesquisa/models/campus_test.exs index b5f4fd57..d83f4a1e 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/campus_test.exs +++ b/test/pescarte/modulo_pesquisa/models/campus_test.exs @@ -1,12 +1,13 @@ defmodule Pescarte.ModuloPesquisa.Models.CampusTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - alias ModuloPesquisa.Models.Campus + alias Pescarte.Identidades.Factory + alias Pescarte.ModuloPesquisa.Models.Campus @moduletag :unit test "changeset válido com campos obrigatórios" do - endereco = Identidades.Factory.insert(:endereco) + endereco = Factory.insert(:endereco) attrs = %{ acronimo: "ABC", @@ -23,7 +24,7 @@ defmodule Pescarte.ModuloPesquisa.Models.CampusTest do test "changeset válido com campos opcionais" do attrs = %{ acronimo: "ABC", - endereco_cep: Identidades.Factory.insert(:endereco).cep, + endereco_cep: Factory.insert(:endereco).cep, nome: "Campus ABC", nome_universidade: "Um Exemplo de Nome" } diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/categoria_test.exs b/test/pescarte/modulo_pesquisa/models/categoria_test.exs similarity index 85% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/categoria_test.exs rename to test/pescarte/modulo_pesquisa/models/categoria_test.exs index ead7984b..84921801 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/categoria_test.exs +++ b/test/pescarte/modulo_pesquisa/models/categoria_test.exs @@ -1,7 +1,7 @@ defmodule Pescarte.ModuloPesquisa.Models.CategoriaTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - alias ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria @moduletag :unit diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/linha_pesquisa_test.exs b/test/pescarte/modulo_pesquisa/models/linha_pesquisa_test.exs similarity index 94% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/linha_pesquisa_test.exs rename to test/pescarte/modulo_pesquisa/models/linha_pesquisa_test.exs index 8eabf038..1e6793ed 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/linha_pesquisa_test.exs +++ b/test/pescarte/modulo_pesquisa/models/linha_pesquisa_test.exs @@ -1,9 +1,9 @@ defmodule Pescarte.ModuloPesquisa.Models.LinhaPesquisaTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa @moduletag :unit diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/midia_test.exs b/test/pescarte/modulo_pesquisa/models/midia_test.exs similarity index 88% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/midia_test.exs rename to test/pescarte/modulo_pesquisa/models/midia_test.exs index 2003d90a..e8013505 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/midia_test.exs +++ b/test/pescarte/modulo_pesquisa/models/midia_test.exs @@ -1,14 +1,15 @@ defmodule Pescarte.ModuloPesquisa.Models.MidiaTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Models.Midia + alias Pescarte.Identidades.Factory + alias Pescarte.ModuloPesquisa.Models.Midia @moduletag :unit test "alterações válidas no changeset com campos obrigatórios" do - autor = Identidades.Factory.insert(:usuario) + autor = Factory.insert(:usuario) tag = insert(:tag) attrs = %{ diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/nucleo_pesquisa_test.exs b/test/pescarte/modulo_pesquisa/models/nucleo_pesquisa_test.exs similarity index 92% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/nucleo_pesquisa_test.exs rename to test/pescarte/modulo_pesquisa/models/nucleo_pesquisa_test.exs index ba2bfce4..83099141 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/nucleo_pesquisa_test.exs +++ b/test/pescarte/modulo_pesquisa/models/nucleo_pesquisa_test.exs @@ -1,7 +1,7 @@ defmodule Pescarte.ModuloPesquisa.Models.NucleoPesquisaTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - alias ModuloPesquisa.Models.NucleoPesquisa + alias Pescarte.ModuloPesquisa.Models.NucleoPesquisa @moduletag :unit diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/pesquisador_test.exs b/test/pescarte/modulo_pesquisa/models/pesquisador_test.exs similarity index 87% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/pesquisador_test.exs rename to test/pescarte/modulo_pesquisa/models/pesquisador_test.exs index 2be1e9a6..360587ec 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/pesquisador_test.exs +++ b/test/pescarte/modulo_pesquisa/models/pesquisador_test.exs @@ -1,9 +1,10 @@ defmodule Pescarte.ModuloPesquisa.Models.PesquisadorTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Models.Pesquisador + alias Pescarte.Identidades.Factory + alias Pescarte.ModuloPesquisa.Models.Pesquisador @moduletag :unit @@ -13,7 +14,7 @@ defmodule Pescarte.ModuloPesquisa.Models.PesquisadorTest do bolsa: :pesquisa, link_lattes: "https://linklattes.com", campus_acronimo: insert(:campus).acronimo, - usuario_id: Identidades.Factory.insert(:usuario).id_publico, + usuario_id: Factory.insert(:usuario).id_publico, data_inicio_bolsa: ~D[2023-01-01], data_fim_bolsa: ~D[2023-12-31], data_contratacao: ~D[2023-01-01], @@ -35,7 +36,7 @@ defmodule Pescarte.ModuloPesquisa.Models.PesquisadorTest do bolsa: :pesquisa, link_lattes: "https://linklattes.com", campus_acronimo: insert(:campus).acronimo, - usuario_id: Identidades.Factory.insert(:usuario).id_publico, + usuario_id: Factory.insert(:usuario).id_publico, data_inicio_bolsa: ~D[2023-01-01], data_fim_bolsa: ~D[2023-12-31], data_contratacao: ~D[2023-01-01] diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/models/relatorio_pesquisa_test.exs b/test/pescarte/modulo_pesquisa/models/relatorio_pesquisa_test.exs similarity index 86% rename from apps/modulo_pesquisa/test/modulo_pesquisa/models/relatorio_pesquisa_test.exs rename to test/pescarte/modulo_pesquisa/models/relatorio_pesquisa_test.exs index f496d7d4..23c7f441 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/models/relatorio_pesquisa_test.exs +++ b/test/pescarte/modulo_pesquisa/models/relatorio_pesquisa_test.exs @@ -1,9 +1,9 @@ defmodule Pescarte.ModuloPesquisa.Models.RelatorioPesquisaTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Models.RelatorioPesquisa + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa @moduletag :unit diff --git a/apps/modulo_pesquisa/test/modulo_pesquisa/repository_test.exs b/test/pescarte/modulo_pesquisa/repository_test.exs similarity index 98% rename from apps/modulo_pesquisa/test/modulo_pesquisa/repository_test.exs rename to test/pescarte/modulo_pesquisa/repository_test.exs index ec1b155b..cd34bb37 100644 --- a/apps/modulo_pesquisa/test/modulo_pesquisa/repository_test.exs +++ b/test/pescarte/modulo_pesquisa/repository_test.exs @@ -1,9 +1,9 @@ defmodule Pescarte.ModuloPesquisa.RepositoryTest do - use Database.DataCase, async: true + use Pescarte.DataCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Repository + alias Pescarte.ModuloPesquisa.Repository @moduletag :unit diff --git a/apps/plataforma_digital/test/plataforma_digital/authentication_test.exs b/test/pescarte_web/authentication_test.exs similarity index 97% rename from apps/plataforma_digital/test/plataforma_digital/authentication_test.exs rename to test/pescarte_web/authentication_test.exs index fb8c597f..e6778551 100644 --- a/apps/plataforma_digital/test/plataforma_digital/authentication_test.exs +++ b/test/pescarte_web/authentication_test.exs @@ -1,11 +1,11 @@ -defmodule PlataformaDigital.AuthenticationTest do - use PlataformaDigital.ConnCase, async: true +defmodule PescarteWeb.AuthenticationTest do + use PescarteWeb.ConnCase, async: true - import Identidades.Factory + import Pescarte.Identidades.Factory - alias Identidades.Handlers.CredenciaisHandler + alias Pescarte.Identidades.Handlers.CredenciaisHandler + alias PescarteWeb.Authentication alias Phoenix.LiveView - alias PlataformaDigital.Authentication @remember_me_cookie "_pescarte_web_user_remember_me" diff --git a/apps/plataforma_digital_api/test/plataforma_digital_api/categoria_schema_test.exs b/test/pescarte_web/categoria_schema_test.exs similarity index 90% rename from apps/plataforma_digital_api/test/plataforma_digital_api/categoria_schema_test.exs rename to test/pescarte_web/categoria_schema_test.exs index 310cb03b..30cee5b9 100644 --- a/apps/plataforma_digital_api/test/plataforma_digital_api/categoria_schema_test.exs +++ b/test/pescarte_web/categoria_schema_test.exs @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.CategoriaSchemaTest do - use PlataformaDigitalAPI.ConnCase, async: true +defmodule PescarteWeb.GraphQL.CategoriaSchemaTest do + use PescarteWeb.ConnCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory @moduletag :integration diff --git a/apps/plataforma_digital_api/test/plataforma_digital_api/login_schema_test.exs b/test/pescarte_web/login_schema_test.exs similarity index 93% rename from apps/plataforma_digital_api/test/plataforma_digital_api/login_schema_test.exs rename to test/pescarte_web/login_schema_test.exs index 0a05fc50..5cb17fc0 100644 --- a/apps/plataforma_digital_api/test/plataforma_digital_api/login_schema_test.exs +++ b/test/pescarte_web/login_schema_test.exs @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.LoginSchemaTest do - use PlataformaDigitalAPI.ConnCase, async: true +defmodule PescarteWeb.GraphQL.LoginSchemaTest do + use PescarteWeb.ConnCase, async: true - import Identidades.Factory + import Pescarte.Identidades.Factory @moduletag :integration diff --git a/apps/plataforma_digital_api/test/plataforma_digital_api/midia_schema_test.exs b/test/pescarte_web/midia_schema_test.exs similarity index 96% rename from apps/plataforma_digital_api/test/plataforma_digital_api/midia_schema_test.exs rename to test/pescarte_web/midia_schema_test.exs index d35633d9..47ac451d 100644 --- a/apps/plataforma_digital_api/test/plataforma_digital_api/midia_schema_test.exs +++ b/test/pescarte_web/midia_schema_test.exs @@ -1,9 +1,10 @@ -defmodule PlataformaDigitalAPI.MidiaSchemaTest do - use PlataformaDigitalAPI.ConnCase, async: true +defmodule PescarteWeb.GraphQL.MidiaSchemaTest do + use PescarteWeb.ConnCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory - alias ModuloPesquisa.Handlers.MidiasHandler + alias Pescarte.Identidades.Factory + alias Pescarte.ModuloPesquisa.Handlers.MidiasHandler @moduletag :integration @@ -38,7 +39,7 @@ defmodule PlataformaDigitalAPI.MidiaSchemaTest do end test "quando há midias", %{conn: conn} do - autor = Identidades.Factory.insert(:usuario) + autor = Factory.insert(:usuario) categoria = insert(:categoria) tag = insert(:tag, categoria_nome: categoria.nome) midia = insert(:midia, autor_id: autor.id_publico, tags: [tag]) @@ -88,7 +89,7 @@ defmodule PlataformaDigitalAPI.MidiaSchemaTest do end test "quando a mídia existe", %{conn: conn} do - autor = Identidades.Factory.insert(:usuario) + autor = Factory.insert(:usuario) categoria = insert(:categoria) tag = insert(:tag, categoria_nome: categoria.nome) midia = insert(:midia, autor_id: autor.id_publico, tags: [tag]) @@ -143,7 +144,7 @@ defmodule PlataformaDigitalAPI.MidiaSchemaTest do test "quando os parâmetros são válidos", %{conn: conn} do categoria = insert(:categoria) - autor = Identidades.Factory.insert(:usuario) + autor = Factory.insert(:usuario) params = %{ "autorId" => autor.id_publico, diff --git a/apps/plataforma_digital_api/test/plataforma_digital_api/tag_schema_test.exs b/test/pescarte_web/tag_schema_test.exs similarity index 98% rename from apps/plataforma_digital_api/test/plataforma_digital_api/tag_schema_test.exs rename to test/pescarte_web/tag_schema_test.exs index 24a4ce45..780292a5 100644 --- a/apps/plataforma_digital_api/test/plataforma_digital_api/tag_schema_test.exs +++ b/test/pescarte_web/tag_schema_test.exs @@ -1,7 +1,7 @@ -defmodule PlataformaDigitalAPI.TagSchemaTest do - use PlataformaDigitalAPI.ConnCase, async: true +defmodule PescarteWeb.GraphQL.TagSchemaTest do + use PescarteWeb.ConnCase, async: true - import ModuloPesquisa.Factory + import Pescarte.ModuloPesquisa.Factory @moduletag :integration diff --git a/apps/plataforma_digital_api/test/plataforma_digital_api/user_schema_test.exs b/test/pescarte_web/user_schema_test.exs similarity index 82% rename from apps/plataforma_digital_api/test/plataforma_digital_api/user_schema_test.exs rename to test/pescarte_web/user_schema_test.exs index f945de7d..8b45a16b 100644 --- a/apps/plataforma_digital_api/test/plataforma_digital_api/user_schema_test.exs +++ b/test/pescarte_web/user_schema_test.exs @@ -1,8 +1,10 @@ -defmodule PlataformaDigitalAPI.UserSchemaTest do - use PlataformaDigitalAPI.ConnCase, async: true +defmodule PescarteWeb.GraphQL.UserSchemaTest do + use PescarteWeb.ConnCase, async: true @moduletag :integration + alias Pescarte.Identidades.Factory + describe "listar usuários query" do setup :register_and_generate_jwt_token @@ -26,7 +28,7 @@ defmodule PlataformaDigitalAPI.UserSchemaTest do end test "quando há um usuário", %{conn: conn} do - user = Identidades.Factory.insert(:usuario) + user = Factory.insert(:usuario) conn = post(conn, "/", %{"query" => @list_user_query}) assert %{"data" => %{"listarUsuarios" => [_, listed]}} = json_response(conn, 200) diff --git a/apps/plataforma_digital/test/support/conn_case.ex b/test/support/conn_case.ex similarity index 56% rename from apps/plataforma_digital/test/support/conn_case.ex rename to test/support/conn_case.ex index 9600de00..db75f3b1 100644 --- a/apps/plataforma_digital/test/support/conn_case.ex +++ b/test/support/conn_case.ex @@ -1,4 +1,4 @@ -defmodule PlataformaDigital.ConnCase do +defmodule PescarteWeb.ConnCase do @moduledoc """ This module defines the test case to be used by tests that require setting up a connection. @@ -11,33 +11,35 @@ defmodule PlataformaDigital.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 PlataformaDigital.ConnCase, async: true`, although + by setting `use PescarteWeb.ConnCase, async: true`, although this option is not recommended for other databases. """ use ExUnit.CaseTemplate - alias Ecto.Adapters.SQL.Sandbox - using do quote do - use PlataformaDigital, :verified_routes + use PescarteWeb, :verified_routes # Import conveniences for testing with connections import Plug.Conn import Phoenix.ConnTest - import PlataformaDigital.ConnCase + import PescarteWeb.ConnCase # The default endpoint for testing - @endpoint PlataformaDigital.Endpoint + @endpoint PescarteWeb.Endpoint end end setup tags do - pid = Sandbox.start_owner!(Database.Repo, shared: not tags[:async]) - on_exit(fn -> Sandbox.stop_owner(pid) end) + Pescarte.DataCase.setup_sandbox(tags) + conn = setup_conn() + {:ok, conn: conn } + end + + defp setup_conn do conn = Phoenix.ConnTest.build_conn() - secret_key_base = PlataformaDigital.Endpoint.config(:secret_key_base) - {:ok, conn: Map.replace!(conn, :secret_key_base, secret_key_base)} + secret_key_base = PescarteWeb.Endpoint.config(:secret_key_base) + Map.replace!(conn, :secret_key_base, secret_key_base) end @doc """ @@ -49,7 +51,8 @@ defmodule PlataformaDigital.ConnCase do contexto de teste. """ def register_and_log_in_user(%{conn: conn}) do - user = Identidades.Factory.insert(:usuario) + alias Pescarte.Identidades.Factory + user = Factory.insert(:usuario) %{conn: log_in_user(conn, user), user: user} end @@ -59,7 +62,7 @@ defmodule PlataformaDigital.ConnCase do Ele retorna um `conn` atualizado. """ def log_in_user(conn, user) do - alias Identidades.Handlers.CredenciaisHandler + alias Pescarte.Identidades.Handlers.CredenciaisHandler token = CredenciaisHandler.generate_session_token(user) @@ -67,4 +70,22 @@ defmodule PlataformaDigital.ConnCase do |> Phoenix.ConnTest.init_test_session(%{}) |> Plug.Conn.put_session(:user_token, token) end + + @token_salt "autenticação de usuário" + + @doc """ + Insere e cria um JWT para um usuário, para ser usado nos testes + de API. + + setup :register_and_generate_jwt_token + + Atente-se pois essa função adiciona um header na `conn` + """ + def register_and_generate_jwt_token(%{conn: conn}) do + alias Pescarte.Identidades.Factory + + user = Factory.insert(:usuario) + token = Phoenix.Token.sign(PescarteWeb.Endpoint, @token_salt, user.id_publico) + %{conn: Plug.Conn.put_req_header(conn, "authorization", "Bearer " <> token), user: user} + end end diff --git a/apps/database/lib/database/data_case.ex b/test/support/data_case.ex similarity index 84% rename from apps/database/lib/database/data_case.ex rename to test/support/data_case.ex index 97dbc56c..388b9631 100644 --- a/apps/database/lib/database/data_case.ex +++ b/test/support/data_case.ex @@ -1,4 +1,4 @@ -defmodule Database.DataCase do +defmodule Pescarte.DataCase do @moduledoc """ This module defines the setup for tests requiring access to the application's data layer. @@ -21,13 +21,13 @@ defmodule Database.DataCase do import Ecto import Ecto.Changeset import Ecto.Query - import Database.DataCase - alias Database.Repo + import Pescarte.DataCase + alias Pescarte.Database.Repo end end setup tags do - Database.DataCase.setup_sandbox(tags) + Pescarte.DataCase.setup_sandbox(tags) :ok end @@ -36,7 +36,7 @@ defmodule Database.DataCase do """ def setup_sandbox(tags) do alias Ecto.Adapters.SQL.Sandbox - pid = Sandbox.start_owner!(Database.Repo, shared: not tags[:async]) + pid = Sandbox.start_owner!(Pescarte.Database.Repo, shared: not tags[:async]) on_exit(fn -> Sandbox.stop_owner(pid) end) end diff --git a/apps/cotacoes/test/support/factory.ex b/test/support/fixtures/cotacoes.ex similarity index 83% rename from apps/cotacoes/test/support/factory.ex rename to test/support/fixtures/cotacoes.ex index 64a3b2f5..af9e407a 100644 --- a/apps/cotacoes/test/support/factory.ex +++ b/test/support/fixtures/cotacoes.ex @@ -1,10 +1,10 @@ -defmodule Cotacoes.Factory do - use ExMachina.Ecto, repo: Database.Repo +defmodule Pescarte.Cotacoes.Factory do + use ExMachina.Ecto, repo: Pescarte.Database.Repo - alias Cotacoes.Models.Cotacao - alias Cotacoes.Models.CotacaoPescado - alias Cotacoes.Models.Fonte - alias Cotacoes.Models.Pescado + alias Pescarte.Cotacoes.Models.Cotacao + alias Pescarte.Cotacoes.Models.CotacaoPescado + alias Pescarte.Cotacoes.Models.Fonte + alias Pescarte.Cotacoes.Models.Pescado def cotacao_factory do %Cotacao{ diff --git a/apps/identidades/test/support/factory.ex b/test/support/fixtures/identidades.ex similarity index 88% rename from apps/identidades/test/support/factory.ex rename to test/support/fixtures/identidades.ex index 408c3ee8..280987b1 100644 --- a/apps/identidades/test/support/factory.ex +++ b/test/support/fixtures/identidades.ex @@ -1,12 +1,12 @@ -defmodule Identidades.Factory do +defmodule Pescarte.Identidades.Factory do @moduledoc false - use ExMachina.Ecto, repo: Database.Repo + use ExMachina.Ecto, repo: Pescarte.Database.Repo - alias Identidades.Models.Contato - alias Identidades.Models.Endereco - alias Identidades.Models.Token - alias Identidades.Models.Usuario + alias Pescarte.Identidades.Models.Contato + alias Pescarte.Identidades.Models.Endereco + alias Pescarte.Identidades.Models.Token + alias Pescarte.Identidades.Models.Usuario def contato_factory do %Contato{ @@ -14,7 +14,7 @@ defmodule Identidades.Factory do celular_principal: sequence(:celular, &"221245167#{digit_rem(&1 + 1)}"), emails_adicionais: sequence_list(:emails, &"test-#{&1}@example.com", limit: 3), celulares_adicionais: sequence_list(:celulares, &"221234567#{digit_rem(&1)}", limit: 4), - endereco_cep: Identidades.Factory.insert(:endereco).cep + endereco_cep: __MODULE__.insert(:endereco).cep } end diff --git a/apps/modulo_pesquisa/test/support/factory.ex b/test/support/fixtures/modulo_pesquisa.ex similarity index 79% rename from apps/modulo_pesquisa/test/support/factory.ex rename to test/support/fixtures/modulo_pesquisa.ex index 84567d17..bd44a5cc 100644 --- a/apps/modulo_pesquisa/test/support/factory.ex +++ b/test/support/fixtures/modulo_pesquisa.ex @@ -1,20 +1,21 @@ -defmodule ModuloPesquisa.Factory do - use ExMachina.Ecto, repo: Database.Repo +defmodule Pescarte.ModuloPesquisa.Factory do + use ExMachina.Ecto, repo: Pescarte.Database.Repo - alias ModuloPesquisa.Models.Campus - alias ModuloPesquisa.Models.LinhaPesquisa - alias ModuloPesquisa.Models.Midia - alias ModuloPesquisa.Models.Midia.Categoria - alias ModuloPesquisa.Models.Midia.Tag - alias ModuloPesquisa.Models.NucleoPesquisa - alias ModuloPesquisa.Models.Pesquisador - alias ModuloPesquisa.Models.RelatorioPesquisa + alias Pescarte.Identidades.Factory, as: Identidades + alias Pescarte.ModuloPesquisa.Models.Campus + alias Pescarte.ModuloPesquisa.Models.LinhaPesquisa + alias Pescarte.ModuloPesquisa.Models.Midia + alias Pescarte.ModuloPesquisa.Models.Midia.Categoria + alias Pescarte.ModuloPesquisa.Models.Midia.Tag + alias Pescarte.ModuloPesquisa.Models.NucleoPesquisa + alias Pescarte.ModuloPesquisa.Models.Pesquisador + alias Pescarte.ModuloPesquisa.Models.RelatorioPesquisa def campus_factory do %Campus{ id_publico: Nanoid.generate_non_secure(), nome: sequence(:nome, &"Campus #{&1}"), - endereco_cep: Identidades.Factory.insert(:endereco).cep, + endereco_cep: Identidades.insert(:endereco).cep, acronimo: sequence(:sigla, &"C#{&1 + 1}") } end @@ -41,7 +42,7 @@ defmodule ModuloPesquisa.Factory do def midia_factory do %Midia{ id_publico: Nanoid.generate_non_secure(), - autor_id: Identidades.Factory.insert(:usuario).id_publico, + autor_id: Identidades.insert(:usuario).id_publico, tipo: sequence(:tipo, ["video", "documento", "imagem"]), link: sequence(:link, &"https://example#{&1}.com"), nome_arquivo: sequence(:arquivo, &"arquivo#{&1}.jpg"), @@ -63,7 +64,7 @@ defmodule ModuloPesquisa.Factory do def pesquisador_factory do %Pesquisador{ id_publico: Nanoid.generate_non_secure(), - usuario_id: Identidades.Factory.insert(:usuario).id_publico, + usuario_id: Identidades.insert(:usuario).id_publico, minibio: sequence(:minibiografia, &"Esta e minha minibiografia gerada: #{&1}"), bolsa: sequence(:tipo_bolsa, ["ic", "pesquisa", "voluntario"]), link_lattes: sequence(:link_lattes, &"http://buscatextual.cnpq.br/buscatextual/:#{&1}"), diff --git a/test/test_helper.exs b/test/test_helper.exs new file mode 100644 index 00000000..7f3444a1 --- /dev/null +++ b/test/test_helper.exs @@ -0,0 +1,2 @@ +ExUnit.start() +Ecto.Adapters.SQL.Sandbox.mode(Pescarte.Database.Repo, :manual)