use Mix.Config

# For development, we disable any cache and enable
# debugging and code reloading.
#
# The watchers configuration can be used to run external
# watchers to your application. For example, we use it
# with webpack to recompile .js and .css sources.
[
  {:admin, Admin},
  {:app, AppWeb},
  {:core, AuthWeb},
  {:content, Content},
  {:core, CoreWeb},
]
|> Enum.map(fn {otp_app, module} ->
  config otp_app, Module.concat(module, "Endpoint"),
    http: [port: 4000],
    debug_errors: true,
    code_reloader: true,
    check_origin: false,
    watchers: [
      node: [
        "node_modules/webpack/bin/webpack.js",
        "--mode",
        "development",
        "--watch-stdin",
        cd: Path.expand("../apps/#{otp_app}/assets", __DIR__)
      ]
    ]

  config otp_app, Module.concat(module, "Endpoint"),
    live_reload: [
      patterns: [
        ~r"priv/static/.*(js|css|png|jpeg|jpg|gif|svg)$",
        ~r"priv/gettext/.*(po)$",
        ~r"lib/app/(live|views)/.*(ex)$",
        ~r"lib/app/templates/.*(eex)$"
      ]
    ]
end)

[
  {:admin, Admin.Repo},
  {:app, App.Repo},
  {:content, Content.Repo},
  {:core, Core.Repo}
]
|> Enum.map(fn {otp_app, repo} ->
  config otp_app, repo,
    username: "postgres",
    password: "postgres",
    database: "legendary_dev",
    hostname: "localhost",
    show_sensitive_data_on_connection_error: true,
    pool_size: 10
end)

config :core, CoreMailer, adapter: Bamboo.LocalAdapter

# ## SSL Support
#
# In order to use HTTPS in development, a self-signed
# certificate can be generated by running the following
# Mix task:
#
#     mix phx.gen.cert
#
# Note that this task requires Erlang/OTP 20 or later.
# Run `mix help phx.gen.cert` for more information.
#
# The `http:` config above can be replaced with:
#
#     https: [
#       port: 4001,
#       cipher_suite: :strong,
#       keyfile: "priv/cert/selfsigned_key.pem",
#       certfile: "priv/cert/selfsigned.pem"
#     ],
#
# If desired, both `http:` and `https:` keys can be
# configured to run both http and https servers on
# different ports.
