Skip to content
Snippets Groups Projects
Commit 1af47fd0 authored by Nabilsenko's avatar Nabilsenko
Browse files

feat: delete student from groups, and delete its files

parent ccdb9e3d
No related branches found
No related tags found
No related merge requests found
......@@ -161,6 +161,16 @@ export class GroupsDao {
resolve();
});
});
findByStudentIdAndRemove = (id: string): Promise<Group | void> =>
new Promise((resolve, reject) => {
this._groupModel.updateMany({ students: id }, { $pull: { students: id } }, (err) => {
if (err) {
return reject(err.message);
}
resolve();
});
});
findByParentAndRemove = (parent: string): Promise<Group | void> =>
new Promise((resolve, reject) => {
......
......@@ -45,4 +45,8 @@ export class GroupsService {
}
});
}
deleteStudentFromGroups = (id: string): Promise<GroupEntity | void> =>
this._groupsDao.findByStudentIdAndRemove(id);
}
......@@ -14,6 +14,8 @@ import config from 'src/config';
import * as bcrypt from 'bcrypt';
import { PeopleEntity } from '../entities/people.entity';
import { CONFLICT } from 'src/shared/HttpError';
import { InternshipService } from 'src/internships/internships.service';
import { GroupsService } from 'src/groups/groups.service';
@Injectable()
export class PeopleDao {
......@@ -25,6 +27,8 @@ export class PeopleDao {
constructor(
@InjectModel(People.name)
private readonly _peopleModel: Model<People>,
private _internshipService: InternshipService,
private _groupService: GroupsService
) {}
login = (email: string, password: string): Promise<People | void> =>
......@@ -132,8 +136,10 @@ export class PeopleDao {
findByIdAndRemove = (id: string): Promise<People | void> =>
new Promise((resolve, reject) => {
this._peopleModel.deleteOne({ id: id }, {}, (err) => {
this._peopleModel.deleteOne({ _id: id }, {}, (err) => {
if (err) reject(err.message);
this._internshipService.delete(id);
this._groupService.deleteStudentFromGroups(id);
resolve();
});
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment