forked from Alexey/DAS_2024_1
39 lines
1.4 KiB
Python
39 lines
1.4 KiB
Python
from db import db, Faculty, FacultyUniversity
|
|
|
|
|
|
class FacultyService:
|
|
def get_all_faculties(self):
|
|
return [faculty.to_dict() for faculty in Faculty.query.all()]
|
|
|
|
def get_faculty(self, faculty_id):
|
|
return Faculty.query.get(faculty_id)
|
|
|
|
def create_faculty(self, name, university_id):
|
|
faculty = Faculty(name=name, university_id=university_id)
|
|
db.session.add(faculty)
|
|
db.session.commit()
|
|
return faculty
|
|
|
|
def update_faculty(self, faculty_id, name):
|
|
faculty = self.get_faculty(faculty_id)
|
|
if faculty:
|
|
faculty.name = name
|
|
db.session.commit()
|
|
return faculty.to_dict()
|
|
return None
|
|
|
|
def delete_faculty(self, faculty_id):
|
|
faculty = self.get_faculty(faculty_id)
|
|
if faculty:
|
|
db.session.delete(Faculty.query.get(faculty_id))
|
|
db.session.commit()
|
|
def add_university_to_faculty(self, faculty_id, university_id):
|
|
association = FacultyUniversity(faculty_id=faculty_id, university_id=university_id)
|
|
db.session.add(association)
|
|
db.session.commit()
|
|
|
|
def remove_university_from_faculty(self, faculty_id, university_id):
|
|
association = FacultyUniversity.query.filter_by(faculty_id=faculty_id, university_id=university_id).first()
|
|
if association:
|
|
db.session.delete(association)
|
|
db.session.commit() |