init auth
This commit is contained in:
@@ -10,6 +10,19 @@ const api = axios.create({
|
||||
})
|
||||
|
||||
// Request interceptor handling can be added here if needed
|
||||
api.interceptors.request.use(
|
||||
config => {
|
||||
const user = JSON.parse(localStorage.getItem('user'));
|
||||
if (user && user.token) {
|
||||
config.headers['Authorization'] = `${user.tokenType} ${user.token}`;
|
||||
}
|
||||
return config;
|
||||
},
|
||||
error => {
|
||||
return Promise.reject(error);
|
||||
}
|
||||
);
|
||||
|
||||
api.interceptors.response.use(
|
||||
response => response,
|
||||
error => {
|
||||
|
||||
46
src/services/authService.js
Normal file
46
src/services/authService.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import api from "./api";
|
||||
|
||||
export const authService = {
|
||||
async login(username, password) {
|
||||
const formData = new URLSearchParams();
|
||||
formData.append("username", username);
|
||||
formData.append("password", password);
|
||||
|
||||
const response = await api.post("/auth/token", formData, {
|
||||
headers: {
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
},
|
||||
});
|
||||
return response.data;
|
||||
},
|
||||
|
||||
async register(username, password, fullName) {
|
||||
const payload = {
|
||||
username,
|
||||
password,
|
||||
full_name: fullName,
|
||||
};
|
||||
const response = await api.post("/auth/register", payload);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
async getMe() {
|
||||
const response = await api.get("/auth/me");
|
||||
return response.data;
|
||||
},
|
||||
|
||||
async getApprovals() {
|
||||
const response = await api.get("/admin/approvals");
|
||||
return response.data;
|
||||
},
|
||||
|
||||
async approveUser(username) {
|
||||
const response = await api.post(`/admin/approve/${username}`);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
async denyUser(username) {
|
||||
const response = await api.post(`/admin/deny/${username}`);
|
||||
return response.data;
|
||||
},
|
||||
};
|
||||
@@ -48,6 +48,11 @@ export const dataService = {
|
||||
return response.data
|
||||
},
|
||||
|
||||
deleteGeneration: async (id) => {
|
||||
const response = await api.delete(`/generations/${id}`)
|
||||
return response.data
|
||||
},
|
||||
|
||||
generatePromptFromImage: async (files, prompt) => {
|
||||
const formData = new FormData()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user