Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added uniplanWeb/pr-review.patch
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface FacultyElm {
export interface Faculty {
id: string;
facultyName: string;
position: number;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface MajorElm {
export interface Major {
id: string;
courseId: string;
facultyId: string;
Expand Down
6 changes: 3 additions & 3 deletions uniplanWeb/src/app/core/interfaces/room-view-model.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { RoomElm } from "./room-elm";
import { Room } from "./room";

export interface RoomViewModel extends RoomElm {
export interface RoomViewModel extends Room {
position: number;
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface RoomElm {
export interface Room {
id: string;
facultyId: string;
roomNumber: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
export interface StudentElm {
export interface Student {
position: number;
name: string;
facultyNumber: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { MatOptionModule } from '@angular/material/core';
import { AddForm } from '../../../core/shared/add-form/add-form';
import { FacultyService } from '../faculty-service';
import {
UniversityElm,
University,
UniversityService,
} from '../../university/university-service';
import { TranslatePipe } from '@ngx-translate/core';
Expand Down Expand Up @@ -39,7 +39,7 @@ export class FacultyAddForm implements OnInit {
facultyName = '';
location = '';
universityId = '';
universities: UniversityElm[] = [];
universities: University[] = [];

ngOnInit(): void {
this.universityService.getAllUniversities().subscribe({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ import { Subject, of } from 'rxjs';
import { translateTestingProviders } from '@testing/translate-testing';
import { FacultyPanel } from './faculty-panel';
import { FacultyService } from '../faculty-service';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Faculty } from '../../../core/interfaces/faculty';

describe('FacultyPanel', () => {
let component: FacultyPanel;
let fixture: ComponentFixture<FacultyPanel>;
let facultyServiceSpy: jasmine.SpyObj<FacultyService>;
let dialogSpy: jasmine.SpyObj<MatDialog>;

const buildFaculty = (overrides: Partial<FacultyElm> = {}): FacultyElm => ({
const buildFaculty = (overrides: Partial<Faculty> = {}): Faculty => ({
id: '1',
facultyName: 'Faculty of Engineering',
location: 'Sofia',
Expand Down
8 changes: 4 additions & 4 deletions uniplanWeb/src/app/features/faculty/faculty-service.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { HttpClient } from '@angular/common/http';
import { inject, Injectable } from '@angular/core';
import { map, Observable, Subject, tap } from 'rxjs';
import { FacultyElm } from '../../core/interfaces/faculty-elm';
import { API_ENDPOINTS } from '../../config/endpoints';
import { Faculty } from '../../core/interfaces/faculty';
import {API_ENDPOINTS} from '../../config/endpoints';

@Injectable({
providedIn: 'root',
Expand All @@ -12,8 +12,8 @@ export class FacultyService {

refreshNeeded = new Subject<void>();

getFaculties(): Observable<FacultyElm[]> {
return this.http.get<FacultyElm[]>(API_ENDPOINTS.faculties).pipe(
getFaculties(): Observable<Faculty[]> {
return this.http.get<Faculty[]>(API_ENDPOINTS.faculties).pipe(
map((faculties) =>
faculties.map((faculty, index) => ({
id: faculty.id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Component, ChangeDetectionStrategy, signal, inject, OnInit } from '@ang
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatTableModule } from '@angular/material/table';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Faculty } from '../../../core/interfaces/faculty';
import { FacultyService } from '../faculty-service';
import { MatDialog, MatDialogModule } from '@angular/material/dialog';
import { FacultyEdit } from '../faculty-edit/faculty-edit';
Expand Down Expand Up @@ -32,7 +32,7 @@ export class FacultyTable implements OnInit {
'location',
'actions',
];
dataSource = signal<FacultyElm[]>([]);
dataSource = signal<Faculty[]>([]);

ngOnInit(): void {
this.loadFaculties();
Expand All @@ -48,7 +48,7 @@ export class FacultyTable implements OnInit {
});
}

onEdit(element: FacultyElm): void {
onEdit(element: Faculty): void {
this.dialog.open(FacultyEdit, {
data: {
id: element.id,
Expand All @@ -59,7 +59,7 @@ export class FacultyTable implements OnInit {
});
}

onDelete(element: FacultyElm): void {
onDelete(element: Faculty): void {
this.dialog.open(FacultyDeleteForm, {
data: {
id: element.id,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { FormsModule } from '@angular/forms';
import { MatInputModule } from '@angular/material/input';
import { MatSelectModule } from '@angular/material/select';
import { MajorService } from '../major-service';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Faculty } from '../../../core/interfaces/faculty';
import { FacultyService } from '../../faculty/faculty-service';
import { TranslatePipe } from '@ngx-translate/core';

Expand Down Expand Up @@ -38,7 +38,7 @@ export class MajorAddForm implements OnInit {
type = '';
subtype = '';

faculties: FacultyElm[] = [];
faculties: Faculty[] = [];

ngOnInit(): void {
this.facultyService.getFaculties().subscribe({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { MatInputModule } from '@angular/material/input';
import { FormsModule } from '@angular/forms';
import { MajorService } from '../major-service';
import { FacultyService } from '../../faculty/faculty-service';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Faculty } from '../../../core/interfaces/faculty';
import { TranslatePipe } from '@ngx-translate/core';

@Component({
Expand Down Expand Up @@ -40,7 +40,7 @@ export class MajorEditForm implements OnInit {
majorName = '';
facultyId = '';

faculties: FacultyElm[] = [];
faculties: Faculty[] = [];

constructor() {
this.majorName = this.data.majorName;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import { MajorService } from '../major-service';
import { MajorTable } from '../major-table/major-table';
import { MajorFilters } from '../major-filters/major-filters';
import { FacultyService } from '../../faculty/faculty-service';
import { MajorElm } from '../../../core/interfaces/major-elm';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Major } from '../../../core/interfaces/major';
import { Faculty } from '../../../core/interfaces/faculty';

describe('MajorPanel', () => {
let component: MajorPanel;
Expand All @@ -19,15 +19,15 @@ describe('MajorPanel', () => {
let facultyServiceSpy: jasmine.SpyObj<FacultyService>;
let dialogSpy: jasmine.SpyObj<MatDialog>;

const faculty: FacultyElm = {
const faculty: Faculty = {
id: 'f1',
facultyName: 'Faculty of Engineering',
location: 'Sofia',
universityId: 'u1',
position: 1,
};

const major: MajorElm = {
const major: Major = {
id: 'm1',
courseId: 'c1',
facultyId: 'f1',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Component, DestroyRef, OnInit, inject } from '@angular/core';
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
import { catchError, combineLatest, map, merge, of, switchMap } from 'rxjs';

import { MajorElm } from '../../../core/interfaces/major-elm';
import { Major } from '../../../core/interfaces/major';
import { FacultyService } from '../../faculty/faculty-service';
import { MajorOptions } from '../major-options/major-options';
import { MajorFilters } from '../major-filters/major-filters';
Expand All @@ -29,7 +29,7 @@ export class MajorPanel implements OnInit {
types: string[] = [];
subtypes: string[] = [];

private majors: MajorElm[] = [];
private majors: Major[] = [];
private facultyMap: Map<string, string> = new Map<string, string>();

ngOnInit(): void {
Expand Down
16 changes: 8 additions & 8 deletions uniplanWeb/src/app/features/major/major-service.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { HttpClient } from '@angular/common/http';
import { inject, Injectable } from '@angular/core';
import { map, Observable, Subject, switchMap, tap } from 'rxjs';
import { MajorElm } from '../../core/interfaces/major-elm';
import { Major } from '../../core/interfaces/major';
import {API_ENDPOINTS} from '../../config/endpoints';
import { CourseElm } from '../../core/interfaces/course-elm';

Expand All @@ -13,8 +13,8 @@ export class MajorService {

refreshNeeded = new Subject<void>();

getMajors(): Observable<MajorElm[]> {
return this.http.get<MajorElm[]>(API_ENDPOINTS.majors).pipe(
getMajors(): Observable<Major[]> {
return this.http.get<Major[]>(API_ENDPOINTS.majors).pipe(
map((majors) =>
majors.map((major, index) => ({
id: major.id,
Expand All @@ -32,8 +32,8 @@ export class MajorService {
createMajor(createMajor: {
facultyId: string;
majorName: string;
}): Observable<MajorElm> {
return this.http.post<MajorElm>(`${API_ENDPOINTS.majors}`, createMajor).pipe(
}): Observable<Major> {
return this.http.post<Major>(`${API_ENDPOINTS.majors}`, createMajor).pipe(
map((res) => {
this.refreshNeeded.next();
return res;
Expand Down Expand Up @@ -89,7 +89,7 @@ export class MajorService {
return this.http.delete<void>(`${API_ENDPOINTS.courses}/${courseId}`);
}

deleteMajorWithCourse(major: MajorElm): Observable<void> {
deleteMajorWithCourse(major: Major): Observable<void> {
return this.deleteCourse(major.courseId).pipe(
switchMap(() => this.deleteMajor(major.id))
);
Expand All @@ -98,8 +98,8 @@ export class MajorService {
editMajor(
id: string,
updateMajor: { facultyId: string; majorName: string }
): Observable<MajorElm> {
return this.http.put<MajorElm>(`${API_ENDPOINTS.majors}/${id}`, updateMajor).pipe(
): Observable<Major> {
return this.http.put<Major>(`${API_ENDPOINTS.majors}/${id}`, updateMajor).pipe(
tap((res) => {
this.refreshNeeded.next();
return res;
Expand Down
12 changes: 6 additions & 6 deletions uniplanWeb/src/app/features/major/major-table/major-table.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Component, Input, OnInit, ChangeDetectionStrategy, signal, inject } fro
import { MatButtonModule } from '@angular/material/button';
import { MatIconModule } from '@angular/material/icon';
import { MatTableModule } from '@angular/material/table';
import { MajorElm } from '../../../core/interfaces/major-elm';
import { Major } from '../../../core/interfaces/major';
import { MajorFilterOptions } from '../../../core/interfaces/major-filter-options';
import { MajorEditForm } from '../major-edit-form/major-edit-form';
import { MatDialog } from '@angular/material/dialog';
Expand Down Expand Up @@ -32,7 +32,7 @@ export class MajorTable implements OnInit {
'actions',
];

dataSource = signal<MajorElm[]>([]);
dataSource = signal<Major[]>([]);
facultyMap = signal(new Map<string, string>());

@Input() searchText = '';
Expand Down Expand Up @@ -66,7 +66,7 @@ export class MajorTable implements OnInit {
return this.facultyMap().get(id) || '—';
}

get filteredMajors(): MajorElm[] {
get filteredMajors(): Major[] {
return this.dataSource().filter((major) => {
const matchesFaculty = !this.faculty || major.facultyId === this.faculty;
const matchesType = !this.type || major.courseType === this.type;
Expand All @@ -80,7 +80,7 @@ export class MajorTable implements OnInit {
});
}

onEdit(element: MajorElm): void {
onEdit(element: Major): void {
this.dialog.open(MajorEditForm, {
data: {
id: element.id,
Expand All @@ -90,7 +90,7 @@ export class MajorTable implements OnInit {
});
}

onDelete(element: MajorElm): void {
onDelete(element: Major): void {
this.dialog.open(MajorDeleteForm, {
data: {
id: element.id,
Expand All @@ -102,7 +102,7 @@ export class MajorTable implements OnInit {
}

static getFilterOptions(
data: MajorElm[],
data: Major[],
facultyMap: Map<string, string>
): MajorFilterOptions {
const faculties = [...new Set(data.map((e) => e.facultyId))].map((id) => ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import { TranslatePipe, TranslateService } from '@ngx-translate/core';
import { finalize } from 'rxjs';
import { AddForm } from '../../../core/shared/add-form/add-form';
import { FacultyService } from '../../faculty/faculty-service';
import { FacultyElm } from '../../../core/interfaces/faculty-elm';
import { Faculty } from '../../../core/interfaces/faculty';
import { RoomService } from '../room-service';

@Component({
Expand All @@ -36,7 +36,7 @@ export class RoomAddForm implements OnInit {
private dialogRef = inject(MatDialogRef<AddForm>);
private facultyService = inject(FacultyService);
private roomService = inject(RoomService)
faculties: FacultyElm[] = [];
faculties: Faculty[] = [];
private destroyRef = inject(DestroyRef);
private translate = inject(TranslateService);
private isSubmitting = false;
Expand Down
10 changes: 5 additions & 5 deletions uniplanWeb/src/app/features/room/room-service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { Injectable, inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { map, Observable, shareReplay } from 'rxjs';
import { RoomViewModel } from '../../core/interfaces/room-view-model';
import { RoomElm } from '../../core/interfaces/room-elm';
import { Room } from '../../core/interfaces/room';
import { Subject } from 'rxjs';
import { API_ENDPOINTS } from '../../config/endpoints';

Expand All @@ -16,7 +16,7 @@ export class RoomService {
private http = inject(HttpClient);

getRooms(): Observable<RoomViewModel[]> {
return this.http.get<RoomElm[] | null>(API_ENDPOINTS.rooms).pipe(
return this.http.get<Room[] | null>(API_ENDPOINTS.rooms).pipe(
map(rooms => rooms ?? []),
map(rooms =>
rooms.map((room, index) => ({
Expand All @@ -33,12 +33,12 @@ export class RoomService {
createRoom(room: {
roomNumber: string;
facultyId: string;
}): Observable<RoomElm> {
return this.http.post<RoomElm>(`${(API_ENDPOINTS.rooms)}`, room).pipe(
}): Observable<Room> {
return this.http.post<Room>(`${(API_ENDPOINTS.rooms)}`, room).pipe(
map((res) => {
this.refreshNeeded.next();
return res;
})
);
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, OnInit } from '@angular/core';

import { StudentElm } from '../../../core/interfaces/student-elm';
import { Student} from '../../../core/interfaces/student';
import { StudentOptions } from '../student-options/student-options';
import { StudentFilters } from '../student-filters/student-filters';
import { StudentTable, ELEMENT_STUDENT_DATA } from '../student-table/student-table';
Expand All @@ -19,7 +19,7 @@ export class StudentPanel implements OnInit {
studentSubtypes: string[] = [];

ngOnInit(): void {
const students: StudentElm[] = ELEMENT_STUDENT_DATA;
const students: Student[] = ELEMENT_STUDENT_DATA;
this.studentSubtypes = StudentTable.getFilterOptions(students).subtypes;
}
}
Loading