From 4fe2d39fbae37be2308d7cfb8bcd42961189cf78 Mon Sep 17 00:00:00 2001 From: IluaAir Date: Thu, 9 Oct 2025 22:51:50 +0300 Subject: [PATCH] login axios --- taskncoffee-app/src/apiv1/auth.service.js | 32 ++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/taskncoffee-app/src/apiv1/auth.service.js b/taskncoffee-app/src/apiv1/auth.service.js index b833122..6110795 100644 --- a/taskncoffee-app/src/apiv1/auth.service.js +++ b/taskncoffee-app/src/apiv1/auth.service.js @@ -1,5 +1,6 @@ import client from './client'; import { API_ENDPOINTS } from './ApiSources'; +import { getFingerprint } from './fingerprint'; /** @@ -50,4 +51,33 @@ export const logout = async () => { localStorage.removeItem('fingerprint'); throw error.response?.data || error.message; } -}; \ No newline at end of file +}; + +/** + * User login + * @param {string} username - Username + * @param {string} password - Password + * @returns {Promise} Login result + */ +export const login = async (username, password) => { + try { + const fingerprint = await getFingerprint(); + const formData = new FormData(); + formData.append('username', username); + formData.append('password', password); + formData.append('fingerprint', fingerprint); + const response = await client.post(API_ENDPOINTS.AUTH.LOGIN, formData, + { + headers: { + 'Content-Type': 'multipart/form-data', + }, + }); + console.log(response.data); + if (response.data.access_token && response.data.token_type === 'bearer') { + localStorage.setItem('access_token', response.data.access_token); + } + return response.data; + } catch (error) { + throw error.response?.data || error.message; + } +};