mirror of
https://github.com/AmanTahiliani/PeerNotes.git
synced 2026-08-07 19:56:19 -04:00
proper api call
This commit is contained in:
@@ -25,7 +25,9 @@ SECRET_KEY = "django-insecure-rh0s*u8$uugtt10cxbifjriaz%@&p1w!)c2=y^undd2*nx5
|
|||||||
# SECURITY WARNING: don't run with debug turned on in production!
|
# SECURITY WARNING: don't run with debug turned on in production!
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
ALLOWED_HOSTS = ["10.20.4.109", "73.7.29.136", "localhost", "127.0.0.1"]
|
ALLOWED_HOSTS = ["10.20.4.109", "73.7.29.136", "localhost", "127.0.0.1", "http://localhost:5173"]
|
||||||
|
# ALLOWED_HOSTS = []
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Application definition
|
# Application definition
|
||||||
@@ -50,6 +52,7 @@ REST_FRAMEWORK = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MIDDLEWARE = [
|
MIDDLEWARE = [
|
||||||
|
"corsheaders.middleware.CorsMiddleware",
|
||||||
"django.middleware.security.SecurityMiddleware",
|
"django.middleware.security.SecurityMiddleware",
|
||||||
"django.contrib.sessions.middleware.SessionMiddleware",
|
"django.contrib.sessions.middleware.SessionMiddleware",
|
||||||
"django.middleware.common.CommonMiddleware",
|
"django.middleware.common.CommonMiddleware",
|
||||||
@@ -57,7 +60,6 @@ MIDDLEWARE = [
|
|||||||
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
"django.contrib.auth.middleware.AuthenticationMiddleware",
|
||||||
"django.contrib.messages.middleware.MessageMiddleware",
|
"django.contrib.messages.middleware.MessageMiddleware",
|
||||||
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
"django.middleware.clickjacking.XFrameOptionsMiddleware",
|
||||||
"corsheaders.middleware.CorsMiddleware",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
ROOT_URLCONF = "peer_notes.urls"
|
ROOT_URLCONF = "peer_notes.urls"
|
||||||
@@ -134,6 +136,7 @@ STATIC_URL = "static/"
|
|||||||
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
|
||||||
AUTH_USER_MODEL = "api.PeerUser"
|
AUTH_USER_MODEL = "api.PeerUser"
|
||||||
CORS_ALLOW_ALL_ORIGINS = True
|
CORS_ALLOW_ALL_ORIGINS = True
|
||||||
|
CORS_ALLOW_ALL_METHODS = True
|
||||||
# CORS_ALLOWED_ORIGINS = [
|
# CORS_ALLOWED_ORIGINS = [
|
||||||
# "http://localhost:5173"
|
# "http://localhost:5173"
|
||||||
# ]
|
# ]
|
||||||
|
|||||||
@@ -21,9 +21,20 @@ export default function Login() {
|
|||||||
},
|
},
|
||||||
body: JSON.stringify({ username, password }),
|
body: JSON.stringify({ username, password }),
|
||||||
})
|
})
|
||||||
.then(() => {
|
.then(response => response.json())
|
||||||
navigate('/');
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
console.log("Login response data:", data);
|
||||||
|
if (data.token) {
|
||||||
|
localStorage.setItem('authToken', data.token);
|
||||||
|
navigate('/search');
|
||||||
|
} else {
|
||||||
|
console.error('No token received:', data);
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
// .then(() => {
|
||||||
|
// navigate('/');
|
||||||
|
// })
|
||||||
.catch((error) => {
|
.catch((error) => {
|
||||||
console.error('Error:', error);
|
console.error('Error:', error);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -28,14 +28,29 @@ const MainSearch: React.FC = () => {
|
|||||||
fetchTopics();
|
fetchTopics();
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
|
const getAuthHeaders = () => {
|
||||||
|
const token = localStorage.getItem('authToken');
|
||||||
|
console.log("Using token for API call:", token);
|
||||||
|
return {
|
||||||
|
'Authorization': `Token ${token}`,
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const fetchProfessors = async () => {
|
const fetchProfessors = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('{{host}}/api/professors', {
|
const response = await fetch('http://localhost:8000/api/professors', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
credentials: 'include',
|
//credentials: 'include',
|
||||||
|
headers: getAuthHeaders(),
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
setProfessors(data);
|
//setProfessors(data);
|
||||||
|
if (Array.isArray(data)) {
|
||||||
|
setProfessors(data);
|
||||||
|
} else {
|
||||||
|
console.error('Data fetched is not an array:', data);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error fetching professors:', error);
|
console.error('Error fetching professors:', error);
|
||||||
}
|
}
|
||||||
@@ -43,12 +58,18 @@ const MainSearch: React.FC = () => {
|
|||||||
|
|
||||||
const fetchCourses = async () => {
|
const fetchCourses = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('{{host}}/api/courses', {
|
const response = await fetch('http://localhost:8000/api/courses', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
credentials: 'include',
|
//credentials: 'include',
|
||||||
|
headers: getAuthHeaders(),
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
setCourses(data);
|
//setCourses(data);
|
||||||
|
if (Array.isArray(data)) {
|
||||||
|
setCourses(data);
|
||||||
|
} else {
|
||||||
|
console.error('Data fetched is not an array:', data);
|
||||||
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error fetching courses:', error);
|
console.error('Error fetching courses:', error);
|
||||||
}
|
}
|
||||||
@@ -56,12 +77,18 @@ const MainSearch: React.FC = () => {
|
|||||||
|
|
||||||
const fetchTopics = async () => {
|
const fetchTopics = async () => {
|
||||||
try {
|
try {
|
||||||
const response = await fetch('{{host}}/api/topics', {
|
const response = await fetch('http://localhost:8000/api/topics', {
|
||||||
method: 'GET',
|
method: 'GET',
|
||||||
credentials: 'include',
|
//credentials: 'include',
|
||||||
|
headers: getAuthHeaders(),
|
||||||
});
|
});
|
||||||
const data = await response.json();
|
const data = await response.json();
|
||||||
setTopics(data);
|
if (Array.isArray(data)) {
|
||||||
|
setTopics(data);
|
||||||
|
} else {
|
||||||
|
console.error('Data fetched is not an array:', data);
|
||||||
|
}
|
||||||
|
//setTopics(data);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error fetching topics:', error);
|
console.error('Error fetching topics:', error);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user