12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import { toast } from 'react-toastify';
- const axios = require('axios');
- axios.defaults.baseURL = 'http://localhost:3000';
- const error = (message:string) =>
- toast.error(`🔥 ${message}!`, {
- position: 'bottom-left',
- autoClose: 3000,
- hideProgressBar: false,
- closeOnClick: true,
- pauseOnHover: true,
- draggable: true,
- progress: undefined,
- });
- const success = (message:string) =>
- toast.success(`⚡ ${message}`, {
- position: 'bottom-left',
- autoClose: 3000,
- hideProgressBar: false,
- closeOnClick: true,
- pauseOnHover: true,
- draggable: true,
- progress: undefined,
- });
- const setToken = {
- set(token:string) {
- axios.defaults.headers.common.Authorization = `Bearer ${token}`;
- },
- unset() {
- axios.defaults.headers.common.Authorization = '';
- },
- };
- const authorizeUser = async (number:string,country:string):Promise<string | undefined> => {
- try {
- const { data : {data} } = await axios.post('/auth/register', { number,country });
- success(`check ${number}`);
- return data
- } catch (e) {
- error('bad request');
- }
- };
- const loginUser = async <T>(number:string,code:string):Promise<T | undefined> => {
- try {
- const { data : {data} } = await axios.post('/auth/login', { number,code });
- success(`AUTHORIZED`);
- return data
- } catch (e) {
- error('UNAUTHORIZED');
- }
- };
- const updateCredentials = async <T>(name: string,lastName: string):Promise<T | undefined> => {
- try {
- const { data } = await axios.patch('/users/current', { name, lastName });
- success(`CREDENTIALS UPDATED`);
- console.log(data)
- return data;
- } catch (e) {
- console.log(e)
- error('bad request');
- }
- };
- const updateUserAvatar = async <T>(avatarFile: object):Promise<T | undefined> => {
- try {
- const { data } = await axios.patch('/users/avatars', avatarFile);
- success(`AVATAR UPDATED`);
- return data;
- } catch (e) {
- error('bad request');
- }
- };
- export {
- setToken,
- authorizeUser,
- loginUser,
- updateCredentials,
- updateUserAvatar
- };
|