]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
add oauth_token_association to core.php so it gets set up correctly
authorEvan Prodromou <evan@status.net>
Thu, 2 Jun 2011 14:04:00 +0000 (10:04 -0400)
committerEvan Prodromou <evan@status.net>
Thu, 2 Jun 2011 14:04:00 +0000 (10:04 -0400)
actions/apioauthauthorize.php
classes/Oauth_token_association.php
db/core.php

index d76ae060f2f778a2a018265e2dbba0263ba28e5b..3a83fd27fc2d8590da217217233902fc3c797692 100644 (file)
@@ -196,12 +196,6 @@ class ApiOauthAuthorizeAction extends Action
                 )
             );
 
-            // XXX: Make sure we have a oauth_token_association table. The table
-            // is now in the main schema, but because it is being added with
-            // a point release, it's unlikely to be there. This code can be
-            // removed as of 1.0.
-            $this->ensureOauthTokenAssociationTable();
-
             $tokenAssoc = new Oauth_token_association();
 
             $tokenAssoc->profile_id     = $user->id;
@@ -295,30 +289,6 @@ class ApiOauthAuthorizeAction extends Action
         }
     }
 
-    // XXX Remove this function when we hit 1.0
-    function ensureOauthTokenAssociationTable()
-    {
-        $schema = Schema::get();
-
-        $reqTokenCols = array(
-            new ColumnDef('profile_id', 'integer', null, true, 'PRI'),
-            new ColumnDef('application_id', 'integer', null, true, 'PRI'),
-            new ColumnDef('token', 'varchar', 255, true, 'PRI'),
-            new ColumnDef('created', 'datetime', null, false),
-            new ColumnDef(
-                'modified',
-                'timestamp',
-                null,
-                false,
-                null,
-                'CURRENT_TIMESTAMP',
-                'on update CURRENT_TIMESTAMP'
-            )
-        );
-
-        $schema->ensureTable('oauth_token_association', $reqTokenCols);
-    }
-
     /**
      * Show body - override to add a special CSS class for the authorize
      * page's "desktop mode" (minimal display)
index 66be22b5d3b7bc9b01b8390a691d57dadc971b67..40527fa74231c9f25e74b2ad75201490c018ec3c 100644 (file)
@@ -39,4 +39,23 @@ class Oauth_token_association extends Memcached_DataObject
 
         return empty($result) ? null : $oau;
     }
+
+    public static function schemaDef()
+    {
+        return array(
+            'description' => 'Associate an application ID and profile ID with an OAuth token',
+            'fields' => array(
+                'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'associated user'),
+                'application_id' => array('type' => 'int', 'not null' => true, 'description' => 'the application'),
+                'token' => array('type' => 'varchar', 'length' => '255', 'not null' => true, 'description' => 'token used for this association'),
+                'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'),
+                'modified' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was modified'),
+            ),
+            'primary key' => array('profile_id', 'application_id', 'token'),
+            'foreign keys' => array(
+                'oauth_token_association_profile_fkey' => array('profile_id', array('profile' => 'id')),
+                'oauth_token_association_application_fkey' => array('application_id', array('application' => 'id')),
+            )
+        );
+    }
 }
index 626672bf5fea3e5bdc5428c3652c534ed8d013c9..fe9f4735d9b4467e7cad71eb326d0bf4ff3f8123 100644 (file)
@@ -1110,3 +1110,5 @@ $schema['schema_version'] = array(
 $schema['group_join_queue'] = Group_join_queue::schemaDef();
 
 $schema['subscription_queue'] = Subscription_queue::schemaDef();
+
+$schema['oauth_token_association'] = Oauth_token_association::schemaDef();