Added provider and provider_data columns to user.

This commit is contained in:
Adirelle 2015-03-08 17:20:16 +01:00 committed by Dmitry Khomutov
parent ff74b2f0c5
commit d901ca74ab
No known key found for this signature in database
GPG key ID: 7EB36C9576F9ECB9
2 changed files with 151 additions and 31 deletions

View file

@ -0,0 +1,41 @@
<?php
use Phinx\Db\Adapter\MysqlAdapter;
use Phinx\Migration\AbstractMigration;
class AddUserProviders extends AbstractMigration
{
/**
* Migrate Up.
*/
public function up()
{
// Add the provider columns
$this
->table('user')
// The provider name
->addColumn('provider_key', 'string', array(
'default' => 'internal',
'limit' => MysqlAdapter::TEXT_SMALL
))
// A data used by the provider
->addColumn('provider_data', 'string', array(
'null' => true,
'limit' => MysqlAdapter::TEXT_SMALL
))
->save();
}
/**
* Migrate Down.
*/
public function down()
{
// Remove the provider columns
$this
->table('user')
->removeColumn('provider_key')
->removeColumn('provider_data')
->save();
}
}

View file

@ -33,13 +33,15 @@ class UserBase extends Model
* @var array * @var array
*/ */
protected $data = [ protected $data = [
'id' => null, 'id' => null,
'email' => null, 'email' => null,
'hash' => null, 'hash' => null,
'is_admin' => null, 'is_admin' => null,
'name' => null, 'name' => null,
'language' => null, 'language' => null,
'per_page' => null, 'per_page' => null,
'provider_key' => null,
'provider_data' => null,
]; ];
/** /**
@ -47,13 +49,15 @@ class UserBase extends Model
*/ */
protected $getters = [ protected $getters = [
// Direct property getters: // Direct property getters:
'id' => 'getId', 'id' => 'getId',
'email' => 'getEmail', 'email' => 'getEmail',
'hash' => 'getHash', 'hash' => 'getHash',
'is_admin' => 'getIsAdmin', 'is_admin' => 'getIsAdmin',
'name' => 'getName', 'name' => 'getName',
'language' => 'getLanguage', 'language' => 'getLanguage',
'per_page' => 'getPerPage', 'per_page' => 'getPerPage',
'provider_key' => 'getProviderKey',
'provider_data' => 'getProviderData',
// Foreign key getters: // Foreign key getters:
]; ];
@ -62,13 +66,15 @@ class UserBase extends Model
*/ */
protected $setters = [ protected $setters = [
// Direct property setters: // Direct property setters:
'id' => 'setId', 'id' => 'setId',
'email' => 'setEmail', 'email' => 'setEmail',
'hash' => 'setHash', 'hash' => 'setHash',
'is_admin' => 'setIsAdmin', 'is_admin' => 'setIsAdmin',
'name' => 'setName', 'name' => 'setName',
'language' => 'setLanguage', 'language' => 'setLanguage',
'per_page' => 'setPerPage', 'per_page' => 'setPerPage',
'provider_key' => 'setProviderKey',
'provider_data' => 'setProviderData',
// Foreign key setters: // Foreign key setters:
]; ];
@ -112,6 +118,17 @@ class UserBase extends Model
'length' => 11, 'length' => 11,
'default' => null, 'default' => null,
], ],
'provider_key' => [
'type' => 'varchar',
'length' => 255,
'default' => 'internal',
],
'provider_data' => [
'type' => 'varchar',
'length' => 255,
'nullable' => true,
'default' => null,
],
]; ];
/** /**
@ -165,6 +182,18 @@ class UserBase extends Model
return $rtn; return $rtn;
} }
/**
* Get the value of Name / name.
*
* @return string
*/
public function getName()
{
$rtn = $this->data['name'];
return $rtn;
}
/** /**
* Get the value of IsAdmin / is_admin. * Get the value of IsAdmin / is_admin.
* *
@ -178,13 +207,25 @@ class UserBase extends Model
} }
/** /**
* Get the value of Name / name. * Get the value of ProviderKey / provider_key.
* *
* @return string * @return string
*/ */
public function getName() public function getProviderKey()
{ {
$rtn = $this->data['name']; $rtn = $this->data['provider_key'];
return $rtn;
}
/**
* Get the value of ProviderData / provider_data.
*
* @return string
*/
public function getProviderData()
{
$rtn = $this->data['provider_data'];
return $rtn; return $rtn;
} }
@ -273,6 +314,26 @@ class UserBase extends Model
$this->setModified('hash'); $this->setModified('hash');
} }
/**
* Set the value of Name / name.
*
* Must not be null.
* @param $value string
*/
public function setName($value)
{
$this->validateNotNull('Name', $value);
$this->validateString('Name', $value);
if ($this->data['name'] === $value) {
return;
}
$this->data['name'] = $value;
$this->setModified('name');
}
/** /**
* Set the value of IsAdmin / is_admin. * Set the value of IsAdmin / is_admin.
* *
@ -294,23 +355,41 @@ class UserBase extends Model
} }
/** /**
* Set the value of Name / name. * Set the value of ProviderKey / provider_key.
* *
* Must not be null. * Must not be null.
* @param $value string * @param $value string
*/ */
public function setName($value) public function setProviderKey($value)
{ {
$this->validateNotNull('Name', $value); $this->validateNotNull('ProviderKey', $value);
$this->validateString('Name', $value); $this->validateString('ProviderKey', $value);
if ($this->data['name'] === $value) { if ($this->data['provider_key'] === $value) {
return; return;
} }
$this->data['name'] = $value; $this->data['provider_key'] = $value;
$this->setModified('name'); $this->setModified('provider_key');
}
/**
* Set the value of ProviderData / provider_data.
*
* @param $value string
*/
public function setProviderData($value)
{
$this->validateString('ProviderData', $value);
if ($this->data['provider_data'] === $value) {
return;
}
$this->data['provider_data'] = $value;
$this->setModified('provider_data');
} }
/** /**