Class: PersonalKeyController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- PersonalKeyController
- Defined in:
- app/controllers/personal_key_controller.rb
Overview
This class defines the API methods related to personal_key management
Instance Method Summary (collapse)
-
- (Object) create
Revokes the active personal key and creates a new one.
-
- (Object) destroy
Deletes the specified key.
-
- (Object) index
Lists all the @user's personal keys.
-
- (Object) show
Gets the personal key of the required @user.
Instance Method Details
- (Object) create
Revokes the active personal key and creates a new one
Return values:
-
On success: 201 CREATED => personal_key
-
On failure:
-
422 UNPROCESSABLE ENTITY => false (bad parameters)
-
404 NOT FOUND => false (no such @user)
-
POST params:
-
empty parameter set to avoid 411 LENGTH REQUIRED
-
auth_token: time-based token generated (string, length == 8)
URL params:
-
<login>: User's login
-
<format>: Output format wanted
Query URLs:
-
POST /users/<login>/personal_key
-
POST /users/<login>/personal_key.<format>
49 50 51 52 53 54 55 56 |
# File 'app/controllers/personal_key_controller.rb', line 49 def create PersonalKey.current.find_by_user_id(@user.id).revoke personal_key = @user.personal_keys.create success = personal_key.save @response.body = success ? personal_key : personal_key.errors @response.status = success ? :created : :unprocessable_entity respond end |
- (Object) destroy
Deletes the specified key
Return values:
-
On success: 200 OK => true
-
On failure: 404 NOT FOUND => false (no such @user, or no such personal_key)
URL params:
-
<login>: User's login
-
<key_id>: ID of the personal key
-
<format>: Output format wanted
DELETE params:
-
auth_token: time-based token generated (string, length == 8)
Query URLs:
-
DELETE /users/<login>/personal_key/<key_id>
-
DELETE /users/<login>/personal_key/<key_id>.<format>
100 101 102 103 104 105 106 107 |
# File 'app/controllers/personal_key_controller.rb', line 100 def destroy personal_key = @user.personal_keys.find_by_id(params[:id]) unless @user.nil? success = !(personal_key.nil? or personal_key.revoked?) @response.body = success ? true : false @response.status = success ? :ok : :not_found personal_key.revoke if success respond end |
- (Object) index
Lists all the @user's personal keys
Return values;
-
On success: 200 OK => personal keys
-
On failure: 404 NOT FOUND => false (no such @user)
URL params:
-
<login>: the @user the personal keys belongs to
-
<format>: the output format wanted
GET params:
-
auth_token: time-based token generated (string, length == 8)
Query URLs: GET * /users/<login>/personal_key GET * /users/<login>/personal_key.<format>
23 24 25 26 27 28 |
# File 'app/controllers/personal_key_controller.rb', line 23 def index success = !@user.nil? @response.body = success ? @user.personal_keys : false @response.status = success ? :ok : :not_found respond end |
- (Object) show
Gets the personal key of the required @user
Return values:
-
On success: 200 OK => personal_key
-
On failure: 404 NOT FOUND => false (no such @user, or no such personal_key)
URL params:
-
<login>: User's login
-
<key_id>: ID of the personal key
-
<format>: Output format wanted
GET params:
-
auth_token: time-based token generated (string, length == 8)
Query URLs:
-
GET /users/<login>/personal_key/<key_id>
-
GET /users/<login>/personal_key/<key_id>.<format>
75 76 77 78 79 80 81 |
# File 'app/controllers/personal_key_controller.rb', line 75 def show personal_key = @user.personal_keys.find_by_id(params[:id]) unless @user.nil? success = !(personal_key.nil? or personal_key.revoked?) @response.body = success ? personal_key : false @response.status = success ? :ok : :not_found respond end |