Adding doorkeeper, adding a REST API
POST /api/statuses Params: status (text contents), in_reply_to_id (optional) GET /api/statuses/:id POST /api/statuses/:id/reblog GET /api/accounts/:id GET /api/accounts/:id/following GET /api/accounts/:id/followers POST /api/accounts/:id/follow POST /api/accounts/:id/unfollow POST /api/follows Params: uri (e.g. user@domain) OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
This commit is contained in:
		
							
								
								
									
										50
									
								
								db/migrate/20160306172223_create_doorkeeper_tables.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								db/migrate/20160306172223_create_doorkeeper_tables.rb
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,50 @@
 | 
			
		||||
class CreateDoorkeeperTables < ActiveRecord::Migration
 | 
			
		||||
  def change
 | 
			
		||||
    create_table :oauth_applications do |t|
 | 
			
		||||
      t.string  :name,         null: false
 | 
			
		||||
      t.string  :uid,          null: false
 | 
			
		||||
      t.string  :secret,       null: false
 | 
			
		||||
      t.text    :redirect_uri, null: false
 | 
			
		||||
      t.string  :scopes,       null: false, default: ''
 | 
			
		||||
      t.timestamps
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    add_index :oauth_applications, :uid, unique: true
 | 
			
		||||
 | 
			
		||||
    create_table :oauth_access_grants do |t|
 | 
			
		||||
      t.integer  :user_id,           null: false
 | 
			
		||||
      t.integer  :application_id,    null: false
 | 
			
		||||
      t.string   :token,             null: false
 | 
			
		||||
      t.integer  :expires_in,        null: false
 | 
			
		||||
      t.text     :redirect_uri,      null: false
 | 
			
		||||
      t.datetime :created_at,        null: false
 | 
			
		||||
      t.datetime :revoked_at
 | 
			
		||||
      t.string   :scopes
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    add_index :oauth_access_grants, :token, unique: true
 | 
			
		||||
 | 
			
		||||
    create_table :oauth_access_tokens do |t|
 | 
			
		||||
      t.integer  :resource_owner_id
 | 
			
		||||
      t.integer  :application_id
 | 
			
		||||
 | 
			
		||||
      # If you use a custom token generator you may need to change this column
 | 
			
		||||
      # from string to text, so that it accepts tokens larger than 255
 | 
			
		||||
      # characters. More info on custom token generators in:
 | 
			
		||||
      # https://github.com/doorkeeper-gem/doorkeeper/tree/v3.0.0.rc1#custom-access-token-generator
 | 
			
		||||
      #
 | 
			
		||||
      # t.text     :token,             null: false
 | 
			
		||||
      t.string   :token,             null: false
 | 
			
		||||
 | 
			
		||||
      t.string   :refresh_token
 | 
			
		||||
      t.integer  :expires_in
 | 
			
		||||
      t.datetime :revoked_at
 | 
			
		||||
      t.datetime :created_at,        null: false
 | 
			
		||||
      t.string   :scopes
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    add_index :oauth_access_tokens, :token, unique: true
 | 
			
		||||
    add_index :oauth_access_tokens, :resource_owner_id
 | 
			
		||||
    add_index :oauth_access_tokens, :refresh_token, unique: true
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										42
									
								
								db/schema.rb
									
									
									
									
									
								
							
							
						
						
									
										42
									
								
								db/schema.rb
									
									
									
									
									
								
							@@ -11,7 +11,7 @@
 | 
			
		||||
#
 | 
			
		||||
# It's strongly recommended that you check this file into your version control system.
 | 
			
		||||
 | 
			
		||||
ActiveRecord::Schema.define(version: 20160305115639) do
 | 
			
		||||
ActiveRecord::Schema.define(version: 20160306172223) do
 | 
			
		||||
 | 
			
		||||
  # These are extensions that must be enabled in order to support this database
 | 
			
		||||
  enable_extension "plpgsql"
 | 
			
		||||
@@ -67,6 +67,46 @@ ActiveRecord::Schema.define(version: 20160305115639) do
 | 
			
		||||
 | 
			
		||||
  add_index "mentions", ["account_id", "status_id"], name: "index_mentions_on_account_id_and_status_id", unique: true, using: :btree
 | 
			
		||||
 | 
			
		||||
  create_table "oauth_access_grants", force: :cascade do |t|
 | 
			
		||||
    t.integer  "user_id",        null: false
 | 
			
		||||
    t.integer  "application_id", null: false
 | 
			
		||||
    t.string   "token",          null: false
 | 
			
		||||
    t.integer  "expires_in",     null: false
 | 
			
		||||
    t.text     "redirect_uri",   null: false
 | 
			
		||||
    t.datetime "created_at",     null: false
 | 
			
		||||
    t.datetime "revoked_at"
 | 
			
		||||
    t.string   "scopes"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  add_index "oauth_access_grants", ["token"], name: "index_oauth_access_grants_on_token", unique: true, using: :btree
 | 
			
		||||
 | 
			
		||||
  create_table "oauth_access_tokens", force: :cascade do |t|
 | 
			
		||||
    t.integer  "resource_owner_id"
 | 
			
		||||
    t.integer  "application_id"
 | 
			
		||||
    t.string   "token",             null: false
 | 
			
		||||
    t.string   "refresh_token"
 | 
			
		||||
    t.integer  "expires_in"
 | 
			
		||||
    t.datetime "revoked_at"
 | 
			
		||||
    t.datetime "created_at",        null: false
 | 
			
		||||
    t.string   "scopes"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  add_index "oauth_access_tokens", ["refresh_token"], name: "index_oauth_access_tokens_on_refresh_token", unique: true, using: :btree
 | 
			
		||||
  add_index "oauth_access_tokens", ["resource_owner_id"], name: "index_oauth_access_tokens_on_resource_owner_id", using: :btree
 | 
			
		||||
  add_index "oauth_access_tokens", ["token"], name: "index_oauth_access_tokens_on_token", unique: true, using: :btree
 | 
			
		||||
 | 
			
		||||
  create_table "oauth_applications", force: :cascade do |t|
 | 
			
		||||
    t.string   "name",                      null: false
 | 
			
		||||
    t.string   "uid",                       null: false
 | 
			
		||||
    t.string   "secret",                    null: false
 | 
			
		||||
    t.text     "redirect_uri",              null: false
 | 
			
		||||
    t.string   "scopes",       default: "", null: false
 | 
			
		||||
    t.datetime "created_at"
 | 
			
		||||
    t.datetime "updated_at"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  add_index "oauth_applications", ["uid"], name: "index_oauth_applications_on_uid", unique: true, using: :btree
 | 
			
		||||
 | 
			
		||||
  create_table "statuses", force: :cascade do |t|
 | 
			
		||||
    t.string   "uri"
 | 
			
		||||
    t.integer  "account_id",                  null: false
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user