feat: Implement user authentication, admin user management, and role-based access control.

This commit is contained in:
Missez 2026-01-16 16:37:16 +07:00
parent 8a2ca592bc
commit 38648581ec
19 changed files with 1762 additions and 514 deletions

View file

@ -1,34 +0,0 @@
import type { UseFetchOptions } from 'nuxt/app';
export const useApi = () => {
const config = useRuntimeConfig();
const baseURL = config.public.apiBaseUrl as string;
const apiFetch = <T>(url: string, options?: UseFetchOptions<T>) => {
return $fetch<T>(url, {
baseURL,
...options,
headers: {
...options?.headers,
},
onRequest({ options }) {
// Add auth token if available
const token = localStorage.getItem('token');
if (token) {
options.headers = {
...options.headers,
Authorization: `Bearer ${token}`
};
}
},
onResponseError({ response }) {
// Handle errors globally
console.error('API Error:', response.status, response._data);
}
});
};
return {
apiFetch
};
};