Packages
pow
0.1.0-alpha.7
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
Retired package: Release invalid
Security advisory:
This version has known vulnerabilities.
View advisories
Current section
Files
Jump to
Current section
Files
lib/mix/tasks/ecto/pow.ecto.install.ex
defmodule Mix.Tasks.Pow.Ecto.Install do
@shortdoc "Generates user schema module and migrations file"
@moduledoc """
Generates a user schema module and migrations file.
mix pow.ecto.install -r MyApp.Repo
mix pow.ecto.install -r MyApp.Repo Accounts.Organization organizations
This generator will add the following files to `lib/`:
* a schema in `lib/my_app/users/user.ex` for `users` table
* a migration file in `priv/repo/migrations` for `users` table
## Arguments
* `--no-migrations` don't generate migration files
* `--no-schema` don't generate schema file
* `--extension` extension to generate migrations for
"""
use Mix.Task
alias Mix.Tasks.Pow.Ecto.Gen.Schema, as: SchemaTask
alias Mix.Tasks.Pow.Ecto.Gen.Migration, as: MigrationTask
alias Mix.Tasks.Pow.Extension.Ecto.Gen.Migrations, as: ExtensionMigrationsTask
alias Mix.Pow
@switches [migrations: :boolean, schema: :boolean, extension: :keep]
@default_opts [migrations: true, schema: true]
@doc false
def run(args) do
Pow.no_umbrella!("pow.ecto.install")
args
|> Pow.parse_options(@switches, @default_opts)
|> parse()
|> maybe_run_gen_migration(args)
|> maybe_run_extension_gen_migrations(args)
|> maybe_run_gen_schema(args)
end
defp parse({config, _parsed, _invalid}), do: config
defp maybe_run_gen_migration(%{migrations: true} = config, args) do
MigrationTask.run(args)
config
end
defp maybe_run_gen_migration(config, _args), do: config
defp maybe_run_extension_gen_migrations(%{migrations: true} = config, args) do
ExtensionMigrationsTask.run(args)
config
end
defp maybe_run_extension_gen_migrations(config, _args), do: config
defp maybe_run_gen_schema(%{schema: true} = config, args) do
SchemaTask.run(args ++ ~w(--no-migrations))
config
end
defp maybe_run_gen_schema(config, _args), do: config
end