diff options
author | Zach Copley <zach@status.net> | 2009-11-10 17:10:56 -0800 |
---|---|---|
committer | Zach Copley <zach@status.net> | 2010-01-14 02:41:04 +0000 |
commit | 14bcac31b87e05d176235111a8ad316927317118 (patch) | |
tree | 4fcb5ca332b2c7f6899bb17eb4116573fff95ae1 | |
parent | aa23698553b9eeed1397a8c9144b14ca16ca53a4 (diff) |
Add new OAuth application tables and DataObjects. Also add a new
column for consumer secret to consumer table.
-rw-r--r-- | classes/Consumer.php | 5 | ||||
-rwxr-xr-x | classes/Oauth_application.php | 33 | ||||
-rwxr-xr-x | classes/Oauth_application_user.php | 24 | ||||
-rw-r--r-- | db/statusnet.sql | 26 |
4 files changed, 86 insertions, 2 deletions
diff --git a/classes/Consumer.php b/classes/Consumer.php index d5b7b7e33..d17f183a8 100644 --- a/classes/Consumer.php +++ b/classes/Consumer.php @@ -11,9 +11,10 @@ class Consumer extends Memcached_DataObject public $__table = 'consumer'; // table name public $consumer_key; // varchar(255) primary_key not_null + public $consumer_secret; // varchar(255) not_null public $seed; // char(32) not_null - public $created; // datetime() not_null - public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP + public $created; // datetime not_null + public $modified; // timestamp not_null default_CURRENT_TIMESTAMP /* Static get */ function staticGet($k,$v=null) diff --git a/classes/Oauth_application.php b/classes/Oauth_application.php new file mode 100755 index 000000000..6ad2db6dd --- /dev/null +++ b/classes/Oauth_application.php @@ -0,0 +1,33 @@ +<?php +/** + * Table Definition for oauth_application + */ +require_once 'classes/Memcached_DataObject'; + +class Oauth_application extends Memcached_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'oauth_application'; // table name + public $id; // int(4) primary_key not_null + public $consumer_key; // varchar(255) not_null + public $name; // varchar(255) not_null + public $description; // varchar(255) + public $icon; // varchar(255) not_null + public $source_url; // varchar(255) + public $organization; // varchar(255) + public $homepage; // varchar(255) + public $callback_url; // varchar(255) not_null + public $type; // tinyint(1) + public $access_type; // tinyint(1) + public $created; // datetime not_null + public $modified; // timestamp not_null default_CURRENT_TIMESTAMP + + /* Static get */ + function staticGet($k,$v=null) + { return Memcached_DataObject::staticGet('Oauth_application_user',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/classes/Oauth_application_user.php b/classes/Oauth_application_user.php new file mode 100755 index 000000000..a8922f5e7 --- /dev/null +++ b/classes/Oauth_application_user.php @@ -0,0 +1,24 @@ +<?php +/** + * Table Definition for oauth_application_user + */ +require_once 'classes/Memcached_DataObject'; + +class Oauth_application_user extends Memcached_DataObject +{ + ###START_AUTOCODE + /* the code below is auto generated do not remove the above tag */ + + public $__table = 'oauth_application_user'; // table name + public $user_id; // int(4) primary_key not_null + public $application_id; // int(4) primary_key not_null + public $access_type; // tinyint(1) + public $created; // datetime not_null + + /* Static get */ + function staticGet($k,$v=null) + { return Memcached_DataObject::staticGet('Oauth_application_user',$k,$v); } + + /* the code above is auto generated do not remove the tag below */ + ###END_AUTOCODE +} diff --git a/db/statusnet.sql b/db/statusnet.sql index cb33ccf33..67d3ee5f0 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -176,6 +176,7 @@ create table fave ( create table consumer ( consumer_key varchar(255) primary key comment 'unique identifier, root URL', + consumer_secret varchar(255) not null comment 'secret value', seed char(32) not null comment 'seed for new tokens by this consumer', created datetime not null comment 'date this record was created', @@ -207,6 +208,31 @@ create table nonce ( constraint primary key (consumer_key, ts, nonce) ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; +create table oauth_application ( + id integer auto_increment primary key comment 'unique identifier', + consumer_key varchar(255) not null comment 'application consumer key' references consumer (consumer_key), + name varchar(255) not null comment 'name of the application', + description varchar(255) comment 'description of the application', + icon varchar(255) not null comment 'application icon', + source_url varchar(255) comment 'application homepage - used for source link', + organization varchar(255) comment 'name of the organization running the application', + homepage varchar(255) comment 'homepage for the organization', + callback_url varchar(255) not null comment 'url to redirect to after authentication', + type tinyint default 0 comment 'type of app, 0 = browser, 1 = desktop', + access_type tinyint default 0 comment 'default access type, 0 = read-write, 1 = read-only', + created datetime not null comment 'date this record was created', + modified timestamp comment 'date this record was modified' +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + +create table oauth_application_user ( + user_id integer not null comment 'id of the application user' references user (id), + application_id integer not null comment 'id of the application' references oauth_application (id), + access_type tinyint default 0 comment 'access type, 0 = read-write, 1 = read-only', + created datetime not null comment 'date this record was created', + + constraint primary key (user_id, application_id) +) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin; + /* These are used by JanRain OpenID library */ create table oid_associations ( |