add oauth_token_association to core.php so it gets set up correctly

This commit is contained in:
Evan Prodromou 2011-06-02 10:04:00 -04:00
parent 7f1a30dc40
commit 9a11003c08
3 changed files with 21 additions and 30 deletions

View 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 = new Oauth_token_association();
$tokenAssoc->profile_id = $user->id; $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 * Show body - override to add a special CSS class for the authorize
* page's "desktop mode" (minimal display) * page's "desktop mode" (minimal display)

View File

@ -39,4 +39,23 @@ class Oauth_token_association extends Memcached_DataObject
return empty($result) ? null : $oau; 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')),
)
);
}
} }

View File

@ -1110,3 +1110,5 @@ $schema['schema_version'] = array(
$schema['group_join_queue'] = Group_join_queue::schemaDef(); $schema['group_join_queue'] = Group_join_queue::schemaDef();
$schema['subscription_queue'] = Subscription_queue::schemaDef(); $schema['subscription_queue'] = Subscription_queue::schemaDef();
$schema['oauth_token_association'] = Oauth_token_association::schemaDef();