Sha256: c120c8b13ac8f069576b04de04452b6b7741bcf6fbb1cb73360e0a2116f3b96d

Contents?: true

Size: 1.6 KB

Versions: 5

Compression:

Stored size: 1.6 KB

Contents

require_dependency "anoubis/output/login"

module Anoubis
  module Core
    ##
    # Module contains all procedures and function for {IndexController}. Consists of {Actions} and {Callbacks} module.
    module Index
      ##
      # Module contains all basic actions for {IndexController}.
      module Actions
        ##
        # <i>Logout</i> action of index controller. Procedure logouts user out of the system and deletes active sessions.
        # Authorization bearer is required. Procedure no need additional parameters.
        #
        # <b>API request:</b>
        #   POST /api/<version>/logout
        # <b>Request Header:</b>
        #   {
        #     "Authorization": "Bearer <Session token>"
        #   }
        # <b>Request example:</b>
        #   curl --header "Content-Type: application/json" -header 'Authorization: Bearer <session-token>' http://<server>:<port>/api/<api-version>/logout
        #
        # <b>Results:</b><br>
        #
        # Resulting data returns in JSON format.
        #
        # <b>Examples:</b>
        #
        # <b>Success:</b> HTTP response code 200
        #   {
        #     "result": 0,
        #     "message": "Successful"
        #   }
        #
        # <b>Error:</b> HTTP response code 422
        #   {
        #     "result": -1,
        #     "message": "Session expired"
        #   }
        def logout
          self.output = Anoubis::Output::Basic.new
          self.redis.del(self.redis_prefix + 'ses_'+self.token)
          respond_to do |format|
            format.json { render json: self.output.to_h }
          end
        end


      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
anoubis-1.0.12 app/controllers/anoubis/core/index/actions.rb
anoubis-1.0.11 app/controllers/anoubis/core/index/actions.rb
anoubis-1.0.10 app/controllers/anoubis/core/index/actions.rb
anoubis-1.0.8 app/controllers/anoubis/core/index/actions.rb
anoubis-1.0.7 app/controllers/anoubis/core/index/actions.rb