'use strict'; class session { /** * Отправить входной псевдоним на сервер * * Записывает входной псевдоним в сессию, а так же проверяет существование аккаунта с ним * * @param {string} login Входной псевдоним * * @return {object} {(bool) exist, (array) errors} */ static async login(login) { // Запрос к серверу return await fetch('https://account.mirzaev.sexy/session/login', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `login=${login}&remember=1&return=exist,errors` }) .then((response) => response.json()) .then((data) => { return data; }); } /** * Отправить пароль на сервер * * Записывает пароль в сессию, а так же проверяет его на соответствование требованиям * * @param {string} password Пароль * * @return {object} {(bool) verify, (bool) account, (array) errors} */ static async password(password) { // Запрос к серверу return await fetch('https://account.mirzaev.sexy/session/password', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: `password=${password}&remember=1&return=verify,account,errors` }) .then((response) => response.json()) .then((data) => { return data; }); } /** * Отправить ключ приглашения на сервер * * Записывает ключ приглашения в сессию, а так же проверяет существование приглашения * * @param {string} invite Ключ приглашения * * @return {object} {(bool) exist, (array) from, (array) errors} */ static async invite(invite) { // Запрос к серверу return await fetch("https://account.mirzaev.sexy/session/invite", { method: "POST", headers: { "Content-Type": "application/x-www-form-urlencoded", }, body: `invite=${invite}&remember=1&return=exist,from,errors`, }) .then((response) => response.json()) .then((data) => { if (data.exist === false) { // Не найдено приглашение // Инициализация категории ошибок if (typeof data.errors.session === 'undefined') data.errors.session = []; // Запись ошибки data.errors.session.push('Не найдено приглашение'); } return data; }); } }