]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Add new OAuth application tables and DataObjects. Also add a new
authorZach Copley <zach@status.net>
Wed, 11 Nov 2009 01:10:56 +0000 (17:10 -0800)
committerZach Copley <zach@status.net>
Mon, 25 Jan 2010 00:36:01 +0000 (16:36 -0800)
column for consumer secret to consumer table.

classes/Consumer.php
classes/Oauth_application.php [new file with mode: 0755]
classes/Oauth_application_user.php [new file with mode: 0755]
db/statusnet.sql

index d5b7b7e33ad440f04a5b16886692c11874f48d94..d17f183a88f017389cecf3dfedebc1fa6f29e166 100644 (file)
@@ -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 (executable)
index 0000000..6ad2db6
--- /dev/null
@@ -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 (executable)
index 0000000..a8922f5
--- /dev/null
@@ -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
+}
index a9ed66cb4f4d59d73c489f256403e25be0f586cf..be0d140927a95d4dc5e00ee2d98161000efb533a 100644 (file)
@@ -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 (