import http from '@/api/http'; export interface LoginResponse { complete: boolean; intended?: string; confirmationToken?: string; } export interface LoginData { username: string; password: string; recaptchaData?: string | null; } export default ({ username, password, recaptchaData }: LoginData): Promise => { return new Promise((resolve, reject) => { http.post('/auth/login', { user: username, password, 'g-recaptcha-response': recaptchaData, }) .then(response => { if (!(response.data instanceof Object)) { return reject(new Error('An error occurred while processing the login request.')); } return resolve({ complete: response.data.data.complete, intended: response.data.data.intended || undefined, confirmationToken: response.data.data.confirmation_token || undefined, }); }) .catch(reject); }); };