#Licensed to the Apache Software Foundation (ASF) under one or more contributor
#license agreements.  See the NOTICE.txt file distributed with this work for
#additional information regarding copyright ownership.  The ASF licenses this
#file to you under the Apache License, Version 2.0 (the "License"); you may not
#use this file except in compliance with the License.  You may obtain a copy of
#the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
#Unless required by applicable law or agreed to in writing, software
#distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
#WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the
#License for the specific language governing permissions and limitations under
#the License.

require 'io/console'

desc 'Performs a login to the current profile'
arg_name 'username'

command :login do |c|

  c.switch [:a,:admin]
  c.flag [:p,:password]
  c.action do |global_options,options,args|

    help_now! unless args[0]

    password = options[:password] || ask('password: ') { |q| q.echo = '*' }

    if password
      if options[:admin]
        management = Ugc::Management.new
        management.login args[0], password
      else
        application = Ugc::Application.new
        application.login args[0], password
      end
    end
    puts "logged in user: #{args[0]}"
  end
end
