Skip to content
Snippets Groups Projects
Commit b421df52 authored by alec.schmidt's avatar alec.schmidt
Browse files

MERCI RICHARD

parent ac88b367
Branches
Tags
No related merge requests found
Showing
with 195 additions and 11 deletions
export type User = {
id: number;
username: string;
password: string;
type: string;
};
export type QandA = {
QUESTIONS: Question[];
ANSWERS: Answer[];
};
export type Question = {
question: string;
category: string;
}
export type Answer = {
CORRECT: string;
WRONG: string[];
}
export type Category = {
id: number;
category: string;
};
\ No newline at end of file
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
const routes: Routes = [];
@NgModule({
imports: [RouterModule.forChild(routes)],
exports: [RouterModule]
})
export class AdminRoutingModule { }
<table>
<thead>
<th>Username</th>
<th>Type</th>
</thead>
<tbody>
<tr *ngFor="let user of users">
<td>{{user.username}}</td>
<td>{{user.user_type}}</td>
<td><button (click)="deleteUser(user)">DELETE</button></td>
</tr>
</tbody>
</table>
<table>
<thead>
<th>Question</th>
<th>Catégorie</th>
</thead>
<tbody>
<tr *ngFor="let question of questions">
<td>{{question.question}}</td>
<td>{{question.category}}</td>
</tr>
</tbody>
</table>
\ No newline at end of file
import { ComponentFixture, TestBed } from '@angular/core/testing';
import { AdminComponent } from './admin.component';
describe('AdminComponent', () => {
let component: AdminComponent;
let fixture: ComponentFixture<AdminComponent>;
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [AdminComponent]
});
fixture = TestBed.createComponent(AdminComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Answer, QandA, Question, User } from '../Types/types';
import { UsersService } from '../services/users.service';
@Component({
selector: 'app-admin',
templateUrl: './admin.component.html',
styleUrls: ['./admin.component.css']
})
export class AdminComponent implements OnInit {
public data;
public users: User[] = [];
public questions: Question[] = [];
public answers: Answer[] = [];
constructor(
private router: Router,
private http: HttpClient,
private userController: UsersService) { }
ngOnInit(): void {
let header = new HttpHeaders().set(
"Authorization", localStorage.getItem("token")
);
console.log(header);
this.http.get("http://0.0.0.0:30992/API/v1/user", {headers:header})
.subscribe(users => {
this.users = users as User[];
});
this.http.get("http://0.0.0.0:30992/API/v1/question", {headers:header})
.subscribe(res => {
let questions = res as QandA;
this.questions = questions.QUESTIONS;
this.answers = questions.ANSWERS;
});
}
deleteUser(user:User) {this.userController.deleteUser(user)}
}
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { AdminRoutingModule } from './admin-routing.module';
@NgModule({
declarations: [],
imports: [
CommonModule,
AdminRoutingModule
]
})
export class AdminModule { }
import { NgModule } from '@angular/core'; import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router'; import { RouterModule, Routes } from '@angular/router';
import { LoginComponent } from './login/login.component';
import { AdminComponent } from './admin/admin.component';
const routes: Routes = [ const routes: Routes = [
{ {
path: 'login', path: 'login', component: LoginComponent
loadChildren: () => import('./login/login.module').then(m => m.LoginModule) },
{
path: 'admin', component: AdminComponent
} }
]; ];
......
...@@ -4,15 +4,21 @@ import { BrowserModule } from '@angular/platform-browser'; ...@@ -4,15 +4,21 @@ import { BrowserModule } from '@angular/platform-browser';
import { AppRoutingModule } from './app-routing.module'; import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component'; import { AppComponent } from './app.component';
import {HttpClientModule} from '@angular/common/http'; import {HttpClientModule} from '@angular/common/http';
import { AdminComponent } from './admin/admin.component';
import { LoginComponent } from './login/login.component';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({ @NgModule({
declarations: [ declarations: [
AppComponent AppComponent,
AdminComponent,
LoginComponent
], ],
imports: [ imports: [
BrowserModule, BrowserModule,
AppRoutingModule, AppRoutingModule,
HttpClientModule HttpClientModule,
ReactiveFormsModule
], ],
providers: [], providers: [],
bootstrap: [AppComponent] bootstrap: [AppComponent]
......
import { Component, OnInit } from '@angular/core'; import { Component, OnInit } from '@angular/core';
import { FormControl, FormGroup, Validators } from '@angular/forms'; import { FormControl, FormGroup, Validators } from '@angular/forms';
import { Router } from '@angular/router'; import { Router } from '@angular/router';
import { AuthenticationService } from '../authentication.service'; import { AuthenticationService } from '../services/authentication.service';
@Component({ @Component({
selector: 'app-login', selector: 'app-login',
......
...@@ -2,17 +2,12 @@ import { NgModule } from '@angular/core'; ...@@ -2,17 +2,12 @@ import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
import { LoginRoutingModule } from './login-routing.module'; import { LoginRoutingModule } from './login-routing.module';
import { LoginComponent } from './login.component';
import { ReactiveFormsModule } from '@angular/forms';
@NgModule({ @NgModule({
declarations: [ declarations: [
LoginComponent
], ],
imports: [ imports: [
CommonModule, CommonModule,
ReactiveFormsModule,
LoginRoutingModule LoginRoutingModule
] ]
}) })
......
import { TestBed } from '@angular/core/testing';
import { UsersService } from './users.service';
describe('UsersService', () => {
let service: UsersService;
beforeEach(() => {
TestBed.configureTestingModule({});
service = TestBed.inject(UsersService);
});
it('should be created', () => {
expect(service).toBeTruthy();
});
});
import { Injectable } from '@angular/core';
import { User } from '../Types/types';
import { HttpClient } from '@angular/common/http';
@Injectable({
providedIn: 'root'
})
export class UsersService {
constructor(private http: HttpClient) { }
deleteUser(user: User) {
console.log("DELETE START")
this.http.delete("http://0.0.0.0:30992/API/v1/user", {body:user}).subscribe(res => {
console.log("PLZ REFRESH")
});
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment