Sha256: 6c2361d935609c6f94937bac80cd6a529b532f360955ef0af70945e823a61f2c

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require_relative '../../user'

module Hippo::API::Handlers


    module UserSession

        def self.create
            lambda do
                wrap_reply(with_transaction: false) do
                    user = Hippo::User.where(login: data['login']).first
                    if user && user.authenticate(data['password'])
                        { success: true, message: "Login succeeded",
                          data: user.workspace_data }
                    else
                        { success: false, message: "Login failed", errors: { login: 'failed' }, data: {} }
                    end
                end
            end
        end


        def self.check
            lambda do
                wrap_reply do
                    user = Hippo::API::AuthenticationProvider.user_for_request(self)
                    if user
                        { success: true, message: "Login succeeded",
                          data: user.workspace_data.merge(
                              csrf: session[:csrf]
                          )
                        }
                    else
                        { success: true, message: "not logged in", errors: { login: 'none' }, data: {} }
                    end
                end
            end
        end

    end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
hippo-fw-0.9.5 lib/hippo/api/handlers/user_session.rb
hippo-fw-0.9.4 lib/hippo/api/handlers/user_session.rb