fixing ProfileUser CSS and adding delete account button, in progress
This commit is contained in:
@@ -334,6 +334,24 @@ export class FriendshipService {
|
||||
return this.friendshipRepository.remove(friendship);
|
||||
}
|
||||
|
||||
async deleteAllFriendships(user : User) {
|
||||
let friendships = await this.friendshipRepository
|
||||
.createQueryBuilder('friendship')
|
||||
.leftJoinAndSelect('friendship.sender', 'sender')
|
||||
.leftJoinAndSelect('friendship.receiver', 'receiver')
|
||||
.where('friendship.sender = :sender', { sender: user })
|
||||
.orWhere('friendship.receiver = :receiver', { receiver: user})
|
||||
.getMany()
|
||||
|
||||
// return this.friendshipRepository.remove(friendships);
|
||||
// return this.friendshipRepository.delete(friendships);
|
||||
|
||||
for (const friendship of friendships) {
|
||||
this.friendshipRepository.remove(friendship);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
async findIfUserIsBlockedOrHasBlocked(userConnectedId: number, userToFindId: number) {
|
||||
// console.log("finding if user is blocked")
|
||||
// console.log('user connected: ' + userConnectedId)
|
||||
|
||||
@@ -43,14 +43,14 @@ export class User {
|
||||
@Column({ nullable: true })
|
||||
secretTwoFactorAuth: string;
|
||||
|
||||
@OneToMany(type => Friendship , (friendship) => friendship.sender)
|
||||
@OneToMany(type => Friendship , (friendship) => friendship.sender, { onDelete: 'CASCADE' })
|
||||
sentFriendRequest: Friendship[];
|
||||
|
||||
@OneToMany(type => Friendship , (friendship) => friendship.receiver)
|
||||
@OneToMany(type => Friendship , (friendship) => friendship.receiver, { onDelete: 'CASCADE' })
|
||||
receivedFriendRequest: Friendship[];
|
||||
|
||||
@JoinColumn()
|
||||
@OneToOne(() => UserStats, { cascade: true })
|
||||
@OneToOne(() => UserStats, { cascade: true, onDelete: 'CASCADE' })
|
||||
stats: UserStats;
|
||||
|
||||
// ROOMS :
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {
|
||||
Body, Controller, Delete, Get, NotFoundException,HttpStatus, Param, Patch, Post, Query, Redirect, Req, Res, UploadedFile, UseGuards, UseInterceptors
|
||||
Body, Controller, Delete, Get, NotFoundException,HttpStatus, Param, Patch, Post, Query, Redirect, Req, Res, UploadedFile, UseGuards, UseInterceptors, Next,
|
||||
} from '@nestjs/common';
|
||||
import { FileInterceptor } from '@nestjs/platform-express';
|
||||
import { Response } from 'express';
|
||||
@@ -73,8 +73,14 @@ export class UsersController {
|
||||
@UseGuards(AuthenticateGuard)
|
||||
@UseGuards(TwoFactorGuard)
|
||||
@Delete()
|
||||
remove(@Req() req) {
|
||||
return this.usersService.remove(req.user.id);
|
||||
remove(@Req() request, @Res() response, @Next() next) {
|
||||
this.usersService.remove(request.user.id);
|
||||
request.logout(function(err) {
|
||||
if (err) { return next(err); }
|
||||
response.redirect('/');
|
||||
});
|
||||
request.session.cookie.maxAge = 0;
|
||||
return {msg : 'You have deleted your account'};
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -113,10 +113,23 @@ export class UsersService {
|
||||
}
|
||||
|
||||
async remove(id: number) {
|
||||
const user = await this.userRepository.findOneBy({id: id});
|
||||
if (!user)
|
||||
throw new HttpException(`The user could not be deleted.`,HttpStatus.NOT_FOUND);
|
||||
return this.userRepository.remove(user);
|
||||
console.log("deleting a user user.services")
|
||||
// const user = await this.userRepository.findOneBy({id: id});
|
||||
// if (!user)
|
||||
// throw new HttpException(`The user could not be deleted.`,HttpStatus.NOT_FOUND);
|
||||
|
||||
let deleting = await this.userRepository
|
||||
.createQueryBuilder()
|
||||
.delete()
|
||||
.from(User)
|
||||
.where("user.id = :id", { id: id })
|
||||
.execute();
|
||||
|
||||
// this.friendshipService.deleteAllFriendships(user)
|
||||
// return this.userRepository.remove(user.id);
|
||||
console.log("done delete user users.service")
|
||||
// await this.userRepository.delete(user);
|
||||
|
||||
}
|
||||
|
||||
async enableTwoFactorAuth(id: number) {
|
||||
|
||||
Reference in New Issue
Block a user