updated
This commit is contained in:
parent
67a37d16ec
commit
c5406006da
8 changed files with 74 additions and 10 deletions
22
backend/service-authentication/changePassword.js
Normal file
22
backend/service-authentication/changePassword.js
Normal 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;
|
||||||
|
|
@ -42,3 +42,17 @@ function getUsersQuery(username){
|
||||||
}
|
}
|
||||||
module.exports.getUsersQuery = getUsersQuery
|
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;
|
||||||
|
|
|
||||||
|
|
@ -2,19 +2,19 @@ const {sendError, sendMessage} = require ("./message");
|
||||||
const queries = require('./mongodbQueries');
|
const queries = require('./mongodbQueries');
|
||||||
|
|
||||||
async function register(req,res) {
|
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');
|
return sendError(res, 'Vous n\'avez pas envoyé le champ login');
|
||||||
if (typeof req.body.password === 'undefined')
|
if (typeof req.body.password === 'undefined')
|
||||||
return sendError(res, 'Vous n\'avez pas envoyé le champ password');
|
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){
|
if (register){
|
||||||
console.log('Register : '+req.body.login);
|
console.log('Register : '+req.body.username);
|
||||||
return sendMessage(res, null);
|
return sendMessage(res, null);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
return sendError(res, 'Error registering');
|
return sendError(res, 'Username already taken');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
module.exports = register;
|
module.exports = register;
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@ mongoConnect.connectToServer(function( err, client ) {
|
||||||
if (err) console.log(err);
|
if (err) console.log(err);
|
||||||
const checkLogin = require('./checkLogin');
|
const checkLogin = require('./checkLogin');
|
||||||
const register = require('./register');
|
const register = require('./register');
|
||||||
|
const changePassword = require('./changePassword');
|
||||||
const getUsers = require('./getUsers');
|
const getUsers = require('./getUsers');
|
||||||
const queries = require('./mongodbQueries');
|
const queries = require('./mongodbQueries');
|
||||||
const auth = require('./auth');
|
const auth = require('./auth');
|
||||||
|
|
@ -46,6 +47,10 @@ mongoConnect.connectToServer(function( err, client ) {
|
||||||
getUsers(req,res);
|
getUsers(req,res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
app.post('/changePassword', (req, res) => {
|
||||||
|
changePassword(req,res);
|
||||||
|
});
|
||||||
|
|
||||||
app.listen(port, () => {
|
app.listen(port, () => {
|
||||||
console.log (`listening on port ${port}`);
|
console.log (`listening on port ${port}`);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -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>
|
<router-outlet></router-outlet>
|
||||||
|
|
|
||||||
|
|
@ -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({
|
@Component({
|
||||||
selector: 'app-root',
|
selector: 'app-root',
|
||||||
templateUrl: './app.component.html',
|
templateUrl: './app.component.html',
|
||||||
styleUrls: ['./app.component.scss']
|
styleUrls: ['./app.component.scss']
|
||||||
})
|
})
|
||||||
export class AppComponent {
|
export class AppComponent implements OnInit{
|
||||||
title = 'frontend';
|
|
||||||
|
constructor(private titleService: Title, private router: Router) {
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnInit(): void {
|
||||||
|
this.setTitle('Chat Polytech');
|
||||||
|
}
|
||||||
|
|
||||||
|
public setTitle(newTitle: string): void {
|
||||||
|
this.titleService.setTitle(newTitle);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ import {CommonModule, DatePipe} from "@angular/common";
|
||||||
import { PrivateComponent } from './private/private.component';
|
import { PrivateComponent } from './private/private.component';
|
||||||
import { ChatComponent } from './chat/chat.component';
|
import { ChatComponent } from './chat/chat.component';
|
||||||
import { MessageComponent } from './message/message.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({
|
@NgModule({
|
||||||
|
|
@ -17,10 +20,14 @@ import { MessageComponent } from './message/message.component';
|
||||||
LoginComponent,
|
LoginComponent,
|
||||||
PrivateComponent,
|
PrivateComponent,
|
||||||
ChatComponent,
|
ChatComponent,
|
||||||
MessageComponent
|
MessageComponent,
|
||||||
|
RegisterComponent,
|
||||||
|
ChangePasswordComponent,
|
||||||
|
NavbarComponent
|
||||||
],
|
],
|
||||||
imports: [
|
imports: [
|
||||||
BrowserModule,
|
BrowserModule,
|
||||||
|
AppRoutingModule,
|
||||||
HttpClientModule,
|
HttpClientModule,
|
||||||
FormsModule,
|
FormsModule,
|
||||||
CommonModule,
|
CommonModule,
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,8 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-10">
|
<div class="col-md-10">
|
||||||
<div class="form-group mb-0">
|
<div class="form-group mb-0">
|
||||||
<input class="form-control" type="text" required="" [(ngModel)]="login" autocomplete="login" name="login">
|
<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" name="password">
|
<input class="form-control" type="password" required="" [(ngModel)]="password" autocomplete="password" id="password" name="password" placeholder="password">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -20,3 +20,4 @@
|
||||||
<br>
|
<br>
|
||||||
<div class="alert alert-danger" *ngIf="errorMessage!==''">{{errorMessage}}</div>
|
<div class="alert alert-danger" *ngIf="errorMessage!==''">{{errorMessage}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
<app-register></app-register>
|
||||||
|
|
|
||||||
Reference in a new issue