41 lines
1.5 KiB
Python
41 lines
1.5 KiB
Python
from .connection import DatabaseConnection
|
|
from .models import Classification, Member, ServiceType, Service, ServiceAvailability
|
|
|
|
class Repository:
|
|
def __init__(self, db: DatabaseConnection):
|
|
self.db = db
|
|
|
|
def create_classification(self, classification_name: str):
|
|
classification = Classification(classification_name)
|
|
classification.save(self.db)
|
|
|
|
def create_member(self, first_name: str, last_name: str, email: str, phone_number: str, classification_id: int, notes: str = None):
|
|
member = Member(first_name, last_name, email, phone_number, classification_id, notes)
|
|
member.save(self.db)
|
|
|
|
def create_service_type(self, type_name: str):
|
|
service_type = ServiceType(type_name)
|
|
service_type.save(self.db)
|
|
|
|
def create_service(self, service_type_id: int, service_date: str):
|
|
service = Service(service_type_id, service_date)
|
|
service.save(self.db)
|
|
|
|
def create_service_availability(self, member_id: int, service_type_id: int):
|
|
service_availability = ServiceAvailability(member_id, service_type_id)
|
|
service_availability.save(self.db)
|
|
|
|
def get_all_classifications(self):
|
|
return Classification.get_all(self.db)
|
|
|
|
def get_all_members(self):
|
|
return Member.get_all(self.db)
|
|
|
|
def get_all_service_types(self):
|
|
return ServiceType.get_all(self.db)
|
|
|
|
def get_all_services(self):
|
|
return Service.get_all(self.db)
|
|
|
|
def get_all_service_availability(self):
|
|
return ServiceAvailability.get_all(self.db) |