accounts/mirzaev/site/account/system/\

75 lines
2.3 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
declare(strict_types=1);
namespace mirzaev\site\account\controllers;
// Файлы проекта
use mirzaev\site\account\controllers\core,
mirzaev\site\account\models\generators\password,
mirzaev\site\account\models\invite;
/**
* Контроллер API
*
* @package mirzaev\site\account\controllers
* @author Arsen Mirzaev Tatyano-Muradovich <arsen@mirzaev.sexy>
*/
final class api extends core
{
/**
* Проверить существование
*
* @param array $parameters Параметры запроса
*
* @return string JSON с параметром exist
*/
public function invite_verify(array $parameters = []): string
{
// Инициализация буфера ответа
$return = ['errors' => &$this->errors];
// Запрос проверки на существование приглашения
$invite = invite::read($parameters['key'], $this->errors['account']);
$return['exist'] = isset($invite);
if ($parameters['from'] == 1) $return['from'] = ['login' => 'mirzaev'] ?? $invite->from();
// Запись заголовка ответа
header('Content-Type: application/json');
return json_encode($return);
}
/**
* Сгенерировать классический пароль
*
* @param array $parameters Параметры запроса
*
* @return string JSON с параметром password
*/
public function password_classic(array $parameters = []): string
{
// Запись заголовка ответа
header('Content-Type: application/json');
return json_encode(['password' => password::classic((int) $parameters['length'], $this->errors), 'errors' => $this->errors]);
}
/**
* Сгенерировать мнемонический пароль
*
* @param array $parameters Параметры запроса
*
* @return string JSON с параметром password
*/
public function password_mnemonic(array $parameters = []): string
{
// Запись заголовка ответа
header('Content-Type: application/json');
return json_encode(['password' => password::mnemonic((int) $parameters['length'], $this->errors), 'errors' => $this->errors]);
}
}