<?php
namespace api\models\profile;

use api\models\base\ApiForm;
use common\models\Account;
use yii\base\ErrorException;
use const \common\LATEST_RULES_VERSION;

class AcceptRulesForm extends ApiForm {

    /**
     * @var Account
     */
    private $account;

    public function __construct(Account $account, array $config = []) {
        $this->account = $account;
        parent::__construct($config);
    }

    public function agreeWithLatestRules() : bool {
        $account = $this->getAccount();
        $account->rules_agreement_version = LATEST_RULES_VERSION;
        if (!$account->save(false)) {
            throw new ErrorException('Cannot set user rules version');
        }

        return true;
    }

    public function getAccount() : Account {
        return $this->account;
    }

}