This commit is contained in:
NyxiumYuuki 2021-05-31 23:09:58 +02:00
parent 67a37d16ec
commit c5406006da
8 changed files with 74 additions and 10 deletions

View file

@ -0,0 +1,22 @@
const {sendError, sendMessage} = require ("./message");
const queries = require('./mongodbQueries');
async function changePassword (req,res) {
if (typeof req.body.username === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ username');
if (typeof req.body.password === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ password');
if (typeof req.body.newpassword === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ newpassword');
const change = await queries.changePasswordQuery(req.body.username, req.body.password, req.body.newpassword);
if (change){
return sendMessage(res, change);
}
else{
return sendError(res, 'cant change');
}
}
module.exports = changePassword;

View file

@ -42,3 +42,17 @@ function getUsersQuery(username){
}
module.exports.getUsersQuery = getUsersQuery
function changePasswordQuery(login, password, newPassword){
return new Promise((resolve, reject) => {
mongoDB.collection(config.mongodbUtilisateurs).findOneAndUpdate(
{'login': login, 'password': password},
{$set: { 'login': login, 'password': newPassword}}
,function(err,res){
if(res !== undefined){
console.log(res);
resolve(res.lastErrorObject.n === 1);
}
});
});
}
module.exports.changePasswordQuery = changePasswordQuery;

View file

@ -2,19 +2,19 @@ const {sendError, sendMessage} = require ("./message");
const queries = require('./mongodbQueries');
async function register(req,res) {
if (typeof req.body.login === 'undefined')
if (typeof req.body.username === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ login');
if (typeof req.body.password === 'undefined')
return sendError(res, 'Vous n\'avez pas envoyé le champ password');
const register = await queries.register(req.body.login, req.body.password);
const register = await queries.register(req.body.username, req.body.password);
if (register){
console.log('Register : '+req.body.login);
console.log('Register : '+req.body.username);
return sendMessage(res, null);
}
else{
return sendError(res, 'Error registering');
return sendError(res, 'Username already taken');
}
}
module.exports = register;

View file

@ -18,6 +18,7 @@ mongoConnect.connectToServer(function( err, client ) {
if (err) console.log(err);
const checkLogin = require('./checkLogin');
const register = require('./register');
const changePassword = require('./changePassword');
const getUsers = require('./getUsers');
const queries = require('./mongodbQueries');
const auth = require('./auth');
@ -46,6 +47,10 @@ mongoConnect.connectToServer(function( err, client ) {
getUsers(req,res);
});
app.post('/changePassword', (req, res) => {
changePassword(req,res);
});
app.listen(port, () => {
console.log (`listening on port ${port}`);
});

View file

@ -1 +1,4 @@
<nav class="navbar navbar-expand-xl navbar-dark bg-dark">
<a [routerLink]="['/']" class="navbar-brand" >Chat Polytech</a>
</nav>
<router-outlet></router-outlet>

View file

@ -1,10 +1,22 @@
import { Component } from '@angular/core';
import { Component, OnInit } from '@angular/core';
import { Router } from '@angular/router';
import {Title} from '@angular/platform-browser';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {
title = 'frontend';
export class AppComponent implements OnInit{
constructor(private titleService: Title, private router: Router) {
}
ngOnInit(): void {
this.setTitle('Chat Polytech');
}
public setTitle(newTitle: string): void {
this.titleService.setTitle(newTitle);
}
}

View file

@ -9,6 +9,9 @@ import {CommonModule, DatePipe} from "@angular/common";
import { PrivateComponent } from './private/private.component';
import { ChatComponent } from './chat/chat.component';
import { MessageComponent } from './message/message.component';
import { RegisterComponent } from './register/register.component';
import { ChangePasswordComponent } from './change-password/change-password.component';
import { NavbarComponent } from './navbar/navbar.component';
@NgModule({
@ -17,10 +20,14 @@ import { MessageComponent } from './message/message.component';
LoginComponent,
PrivateComponent,
ChatComponent,
MessageComponent
MessageComponent,
RegisterComponent,
ChangePasswordComponent,
NavbarComponent
],
imports: [
BrowserModule,
AppRoutingModule,
HttpClientModule,
FormsModule,
CommonModule,

View file

@ -7,8 +7,8 @@
<div class="row">
<div class="col-md-10">
<div class="form-group mb-0">
<input class="form-control" type="text" required="" [(ngModel)]="login" autocomplete="login" name="login">
<input class="form-control" type="password" required="" [(ngModel)]="password" autocomplete="password" name="password">
<input class="form-control" type="text" required="" [(ngModel)]="login" autocomplete="login" id="login" name="login" placeholder="login">
<input class="form-control" type="password" required="" [(ngModel)]="password" autocomplete="password" id="password" name="password" placeholder="password">
</div>
</div>
</div>
@ -20,3 +20,4 @@
<br>
<div class="alert alert-danger" *ngIf="errorMessage!==''">{{errorMessage}}</div>
</div>
<app-register></app-register>