Tabs agora aparecem somente para usuários logados

This commit is contained in:
Matheus Albino Brunhara
2022-05-25 17:06:39 -05:00
parent 9061b152d5
commit 3c8e204339
9 changed files with 129 additions and 30 deletions

8
src/services/api/api.ts Normal file
View File

@@ -0,0 +1,8 @@
import axios from 'axios';
import apiConfig from '../../config/api.config';
const instance = axios.create({
baseURL: apiConfig.getBaseUrl(),
});
export default instance;

View File

@@ -0,0 +1,33 @@
import instance from './api';
import sessionRoutes from '../../constants/routes/sessionRoutes';
import LocalStorage from '../../LocalStorage';
import { AxiosRequestHeaders } from 'axios';
let token: string | null;
let header: AxiosRequestHeaders;
interface createData {
login: string,
password: string,
}
function updateHeader() {
token = LocalStorage.getToken();
header = {
"Accept": 'application/json',
"Content-Type": 'application/json',
"Authorization": 'Bearer ' + token
}
}
export async function create(data: createData) {
const response = await instance.post(sessionRoutes.create.url, data);
return response.data;
}
export async function refresh() {
updateHeader();
let response = await instance.post(sessionRoutes.refresh.url, { token }, { headers: header });
return response.data;
}

71
src/services/api/users.ts Normal file
View File

@@ -0,0 +1,71 @@
import instance from './api';
// import LocalStorage from '../LocalStorage';
import userRoutes from '../../constants/routes/usersRoutes';
import { AxiosRequestHeaders } from 'axios';
import LocalStorage from '../../LocalStorage';
let token: string;
let header: AxiosRequestHeaders;
function updateHeader() {
token = LocalStorage.getToken();
header = {
"Accept": 'application/json',
"Content-Type": 'application/json',
"Authorization": 'Bearer ' + token
}
}
export interface CadastroResponse {
message?: string;
token?: {
token: string;
};
error?: string;
}
export interface CadastroRequest {
name: string;
lastname: string;
email: string;
birth_date: string;
password: string;
}
export interface UpdateUserRequest {
name: string;
email: string;
bio: string;
}
// export async function get(cpf) {
// updateHeader();
// const response = await instance.get(userRoutes.get.url + `/${cpf}`, { headers: header });
// return response.data;
// }
export async function create(CadastroRequest: any) {
updateHeader();
const response = await instance.post(userRoutes.create.url, CadastroRequest);
return response.data;
}
export async function getById(userId: string) {
updateHeader();
const response = await instance.get(userRoutes.get.url + `/${userId}`, { headers: header });
return response.data;
}
export async function update(userData: UpdateUserRequest) {
updateHeader();
const response = await instance.patch(userRoutes.update.url, userData, { headers: header });
return response.data;
}