session.rb 1.39 KB
module API

#   require 'api/validations/uniqueness'

  # Users API
  class Session < Grape::API
#params do
#  requires :login, :uniqueness => true
#end

    # Login to get token
    #
    # Parameters:
    #   login (*required) - user login or email
    #   password (required) - user password
    #
    # Example Request:
    #  POST /session
    get "/login" do
#    post "/session" do
environment = nil #FIXME load the correct environment create a method in helper
      user ||= User.authenticate(params[:login], params[:password], environment)

      return unauthorized! unless user
      user.generate_private_token!
      present user, :with => Entities::UserLogin
    end

      # Create user.
      #
      # Parameters:
      #   email (required)                  - Email
      #   password (required)               - Password
      #   name                              - Name
      # Example Request:
      #   POST /users
#      post do
      get "register" do
        required_attributes! [:email, :login, :password]
        attrs = attributes_for_keys [:email, :login, :password]
        attrs[:password_confirmation] = attrs[:password]
        user = User.new(attrs)
begin
        if user.save
          present user, :with => Entities::User
        else
          not_found!
        end
rescue
#          not_found!
#FIXME See  why notfound is not working
{}
end
#        user
      end



  end
end