summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@status.net>2009-11-10 17:10:56 -0800
committerZach Copley <zach@status.net>2010-01-14 02:41:04 +0000
commit14bcac31b87e05d176235111a8ad316927317118 (patch)
tree4fcb5ca332b2c7f6899bb17eb4116573fff95ae1
parentaa23698553b9eeed1397a8c9144b14ca16ca53a4 (diff)
Add new OAuth application tables and DataObjects. Also add a new
column for consumer secret to consumer table.
-rw-r--r--classes/Consumer.php5
-rwxr-xr-xclasses/Oauth_application.php33
-rwxr-xr-xclasses/Oauth_application_user.php24
-rw-r--r--db/statusnet.sql26
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 (