Sha256: 03767fb7a7f2226787ca76399d1693c4b7b48eaddf4de95097e2bf4a77f9166f
Contents?: true
Size: 759 Bytes
Versions: 27
Compression:
Stored size: 759 Bytes
Contents
# frozen_string_literal: true module SdrClient # The namespace for the "login" command module Login LOGIN_PATH = '/v1/auth/login' extend Dry::Monads[:result] # @return [Result] the status of the call def self.run(url:, login_service: LoginPrompt) request_json = JSON.generate(login_service.run) response = Faraday.post(url + LOGIN_PATH, request_json, 'Content-Type' => 'application/json') case response.status when 200 Credentials.write(response.body) Success() when 400 Failure('Email address is not a valid email') when 401 Failure('Invalid username or password') else Failure("Status: #{response.status}\n#{response.body}") end end end end
Version data entries
27 entries across 27 versions & 1 rubygems