mirror of
https://github.com/elyby/accounts.git
synced 2024-12-27 07:30:18 +05:30
7e90f1838e
Реализована форма подтверждения email, обмазана тестами Слегка отрефакторена форма регистрации и авторизации в пользу выноса части логики в общего родителя Проект зачищен от стандартных тестовых параметров Пофикшены методы доступа к API
50 lines
1.4 KiB
PHP
50 lines
1.4 KiB
PHP
<?php
|
||
namespace common\models;
|
||
|
||
use Yii;
|
||
use yii\behaviors\TimestampBehavior;
|
||
|
||
/**
|
||
* Поля модели:
|
||
* @property string $key
|
||
* @property integer $account_id
|
||
* @property integer $type
|
||
* @property integer $created_at
|
||
*
|
||
* Отношения:
|
||
* @property Account $account
|
||
*
|
||
* Поведения:
|
||
* @mixin TimestampBehavior
|
||
*
|
||
* TODO: у модели могут быть проблемы с уникальностью, т.к. key является первичным и не автоинкрементом
|
||
* TODO: мб стоит ловить beforeCreate и именно там генерировать уникальный ключ для модели.
|
||
* Но опять же нужно продумать, а как пробросить формат и обеспечить преемлемую уникальность.
|
||
*/
|
||
class EmailActivation extends \yii\db\ActiveRecord {
|
||
|
||
const TYPE_REGISTRATION_EMAIL_CONFIRMATION = 0;
|
||
|
||
public static function tableName() {
|
||
return '{{%email_activations}}';
|
||
}
|
||
|
||
public function behaviors() {
|
||
return [
|
||
[
|
||
'class' => TimestampBehavior::class,
|
||
'updatedAtAttribute' => false,
|
||
],
|
||
];
|
||
}
|
||
|
||
public function rules() {
|
||
return [];
|
||
}
|
||
|
||
public function getAccount() {
|
||
return $this->hasOne(Account::class, ['id' => 'account_id']);
|
||
}
|
||
|
||
}
|