File size: 613 Bytes
3e21b19 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | defmodule Mix.Tasks.CreateFreeSubscription do
@moduledoc false
use Mix.Task
use Plausible.Repo
alias Plausible.Billing.Subscription
# coveralls-ignore-start
def run([user_id]) do
Application.ensure_all_started(:plausible)
execute(user_id)
end
def run(_), do: IO.puts("Usage - mix create_free_subscription <user_id>")
def execute(user_id) do
user = Repo.get(Plausible.Auth.User, user_id)
{:ok, team} = Plausible.Teams.get_or_create(user)
team
|> Subscription.free()
|> Repo.insert!()
IO.puts("Created a free subscription for user: #{user.name}")
end
end
|