eduverse-backend / src /modules /campus /exceptions /campus.exceptions.ts
tarekdx3's picture
Campus Feature
d0c3eef
Raw
History Blame Contribute Delete
2.12 kB
import {
NotFoundException,
ConflictException,
BadRequestException,
} from '@nestjs/common';
export class CampusNotFoundException extends NotFoundException {
constructor(id?: number) {
super(`Campus ${id ? `with ID ${id}` : ''} not found`);
}
}
export class DepartmentNotFoundException extends NotFoundException {
constructor(id?: number) {
super(`Department ${id ? `with ID ${id}` : ''} not found`);
}
}
export class ProgramNotFoundException extends NotFoundException {
constructor(id?: number) {
super(`Program ${id ? `with ID ${id}` : ''} not found`);
}
}
export class SemesterNotFoundException extends NotFoundException {
constructor(id?: number) {
super(`Semester ${id ? `with ID ${id}` : ''} not found`);
}
}
export class CampusCodeAlreadyExistsException extends ConflictException {
constructor(code: string) {
super(`Campus code "${code}" already exists`);
}
}
export class DepartmentCodeAlreadyExistsException extends ConflictException {
constructor(code: string) {
super(`Department code "${code}" already exists in this campus`);
}
}
export class ProgramCodeAlreadyExistsException extends ConflictException {
constructor(code: string) {
super(`Program code "${code}" already exists in this department`);
}
}
export class InvalidHeadOfDepartmentException extends BadRequestException {
constructor() {
super('Head of department must have INSTRUCTOR or ADMIN role');
}
}
export class CannotDeleteCampusWithDepartmentsException extends ConflictException {
constructor() {
super('Cannot delete campus with existing departments');
}
}
export class CannotDeleteDepartmentWithProgramsException extends ConflictException {
constructor() {
super('Cannot delete department with existing programs');
}
}
export class InvalidDateRangeException extends BadRequestException {
constructor(message: string) {
super(`Invalid date range: ${message}`);
}
}
export class SemesterCodeAlreadyExistsException extends ConflictException {
constructor(code: string) {
super(`Semester code "${code}" already exists`);
}
}