Packages
pow
0.1.0-alpha
1.0.39
1.0.38
1.0.37
1.0.36
1.0.35
1.0.34
1.0.33
1.0.32
1.0.31
1.0.30
1.0.29
1.0.28
1.0.27
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.1.0-rc.1
0.1.0-alpha.8
0.1.0-alpha.7
retired
0.1.0-alpha.6
0.1.0-alpha.5
0.1.0-alpha.4
0.1.0-alpha.3
0.1.0-alpha.2
0.1.0-alpha.1
0.1.0-alpha
Robust user authentication solution
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/pow.install.ex
defmodule Mix.Tasks.Pow.Install do
@shortdoc "Generates pow module, user schema module, migrations file"
@moduledoc """
Generates a user schema module and migrations file by default
mix pow.install -r MyApp.Repo
"""
use Mix.Task
alias Mix.Generator
alias Mix.Pow.{Extension, Utils}
alias Mix.Tasks.Pow.Ecto
@switches [context_app: :string, extension: :keep]
@doc false
def run(args) do
Utils.no_umbrella!("pow.install")
args
|> Utils.parse_options(@switches, [])
|> create_pow_module()
|> run_ecto_install(args)
end
defp create_pow_module(config) do
context_app = Map.get(config, :context_app, Utils.context_app())
context_base = Utils.context_base(context_app)
settings = case Extension.Utils.extensions(config) do
[] -> ""
extensions -> ",
extensions: #{inspect(extensions)}"
end
file_name = "pow.ex"
content = """
defmodule #{context_base}.Pow do
use Pow,
user: #{context_base}.Users.User,
repo: #{context_base}.Repo#{settings}
end
"""
context_app
|> Utils.context_lib_path("")
|> Path.join(file_name)
|> Generator.create_file(content)
config
end
defp run_ecto_install(config, args) do
Ecto.Install.run(args)
config
end
end