From 53c2caa45ec1f5904e1b1acb8c3d1f4946162212 Mon Sep 17 00:00:00 2001 From: Chneemann Date: Sun, 4 Aug 2024 10:48:52 +0200 Subject: [PATCH] added auth.service & config HttpClient --- backend/videoflix/users/serializer.py | 2 +- backend/videoflix/videoflix/settings.py | 6 +++++ frontend/src/app/app.config.ts | 4 ++-- .../src/app/components/auth/auth.component.ts | 1 - frontend/src/app/services/auth.service.ts | 22 +++++++++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 frontend/src/app/services/auth.service.ts diff --git a/backend/videoflix/users/serializer.py b/backend/videoflix/users/serializer.py index 859a17e..5e666f8 100644 --- a/backend/videoflix/users/serializer.py +++ b/backend/videoflix/users/serializer.py @@ -4,4 +4,4 @@ from .models import CustomUser class UserSerializer(serializers.ModelSerializer): class Meta: model = CustomUser - fields = ["id", "username", "first_name", "last_name", "email"] \ No newline at end of file + fields = ["id", "username", "email"] \ No newline at end of file diff --git a/backend/videoflix/videoflix/settings.py b/backend/videoflix/videoflix/settings.py index e32ce30..a72cffe 100644 --- a/backend/videoflix/videoflix/settings.py +++ b/backend/videoflix/videoflix/settings.py @@ -27,6 +27,9 @@ DEBUG = True ALLOWED_HOSTS = [] +CORS_ALLOWED_ORIGINS = [ + 'http://localhost:4200' +] # Application definition @@ -38,6 +41,7 @@ INSTALLED_APPS = [ 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', + 'corsheaders', 'users', ] @@ -52,6 +56,8 @@ MIDDLEWARE = [ 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', + 'corsheaders.middleware.CorsMiddleware', + 'django.middleware.common.CommonMiddleware' ] ROOT_URLCONF = 'videoflix.urls' diff --git a/frontend/src/app/app.config.ts b/frontend/src/app/app.config.ts index 6c6ef60..d637592 100644 --- a/frontend/src/app/app.config.ts +++ b/frontend/src/app/app.config.ts @@ -1,8 +1,8 @@ import { ApplicationConfig } from '@angular/core'; import { provideRouter } from '@angular/router'; - import { routes } from './app.routes'; +import { provideHttpClient } from '@angular/common/http'; export const appConfig: ApplicationConfig = { - providers: [provideRouter(routes)] + providers: [provideRouter(routes), provideHttpClient()], }; diff --git a/frontend/src/app/components/auth/auth.component.ts b/frontend/src/app/components/auth/auth.component.ts index faf6dfe..b919e39 100644 --- a/frontend/src/app/components/auth/auth.component.ts +++ b/frontend/src/app/components/auth/auth.component.ts @@ -15,7 +15,6 @@ export class AuthComponent { authData = { mail: '', }; - constructor(private router: Router) {} isUserEmailValid(emailValue: string) { diff --git a/frontend/src/app/services/auth.service.ts b/frontend/src/app/services/auth.service.ts new file mode 100644 index 0000000..2da4c98 --- /dev/null +++ b/frontend/src/app/services/auth.service.ts @@ -0,0 +1,22 @@ +import { HttpClient, HttpHeaders } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; + +@Injectable({ + providedIn: 'root', +}) +export class AuthService { + constructor(private http: HttpClient) {} + + getAllUsers(): Observable { + const headers = this.getAuthHeaders(); + return this.http.get('http://127.0.0.1:8000/users/', { headers }); + } + + private getAuthHeaders(): HttpHeaders { + const authToken = localStorage.getItem('authToken'); + return new HttpHeaders({ + Authorization: `token ${authToken}`, + }); + } +}