require 'ak4r/api_key' require 'ak4r/token_generator'

namespace :ak4r do

desc "List all API Key"
task :list => :environment do
  Ak4r::ApiKey.all.each do |api_key|
    puts "#{api_key.name}\t#{api_key.prefix}\t#{api_key.scopes.join(";")}"
  end
end
desc "Create new API Key"
task :create, [:name, :scopes] => :environment do |t, args| 
  secret, hash = Ak4r::TokenGenerator.generate
  api_key = Ak4r::ApiKey.create(
    name: args[:name],
    key_hash: hash,
    prefix: Ak4r::TokenGenerator.friendly_token(7),
    scopes:  args[:scopes].split(';')
  )
  puts "#{api_key.prefix}.#{secret}"
end

end