feat(backend): add the db connection

This commit is contained in:
2025-08-20 15:08:30 -04:00
parent 7b64dbe150
commit 8f0dc0d658
13 changed files with 375 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
# database/models/__init__.py
from .classification import Classification
from .member import Member
from .service_type import ServiceType
from .service import Service
from .service_availability import ServiceAvailability

View File

@@ -0,0 +1,14 @@
from ..connection import DatabaseConnection
class Classification:
def __init__(self, classification_name: str):
self.classification_name = classification_name
def save(self, db: DatabaseConnection):
query = "INSERT INTO Classifications (ClassificationName) VALUES (?)"
db.execute_query(query, (self.classification_name,))
@classmethod
def get_all(cls, db: DatabaseConnection):
query = "SELECT * FROM Classifications"
return db.execute_query_with_return(query)

View File

@@ -0,0 +1,19 @@
from ..connection import DatabaseConnection
class Member:
def __init__(self, first_name: str, last_name: str, email: str, phone_number: str, classification_id: int, notes: str = None):
self.first_name = first_name
self.last_name = last_name
self.email = email
self.phone_number = phone_number
self.classification_id = classification_id
self.notes = notes
def save(self, db: DatabaseConnection):
query = "INSERT INTO Members (FirstName, LastName, Email, PhoneNumber, ClassificationId, Notes) VALUES (?, ?, ?, ?, ?, ?)"
db.execute_query(query, (self.first_name, self.last_name, self.email, self.phone_number, self.classification_id, self.notes))
@classmethod
def get_all(cls, db: DatabaseConnection):
query = "SELECT * FROM Members"
return db.execute_query_with_return(query)

View File

@@ -0,0 +1,15 @@
from ..connection import DatabaseConnection
class Service:
def __init__(self, service_type_id: int, service_date: str):
self.service_type_id = service_type_id
self.service_date = service_date
def save(self, db: DatabaseConnection):
query = "INSERT INTO Services (ServiceTypeId, ServiceDate) VALUES (?, ?)"
db.execute_query(query, (self.service_type_id, self.service_date))
@classmethod
def get_all(cls, db: DatabaseConnection):
query = "SELECT * FROM Services"
return db.execute_query_with_return(query)

View File

@@ -0,0 +1,15 @@
from ..connection import DatabaseConnection
class ServiceAvailability:
def __init__(self, member_id: int, service_type_id: int):
self.member_id = member_id
self.service_type_id = service_type_id
def save(self, db: DatabaseConnection):
query = "INSERT INTO ServiceAvailability (MemberId, ServiceTypeId) VALUES (?, ?)"
db.execute_query(query, (self.member_id, self.service_type_id))
@classmethod
def get_all(cls, db: DatabaseConnection):
query = "SELECT * FROM ServiceAvailability"
return db.execute_query_with_return(query)

View File

@@ -0,0 +1,14 @@
from ..connection import DatabaseConnection
class ServiceType:
def __init__(self, type_name: str):
self.type_name = type_name
def save(self, db: DatabaseConnection):
query = "INSERT INTO ServiceTypes (TypeName) VALUES (?)"
db.execute_query(query, (self.type_name,))
@classmethod
def get_all(cls, db: DatabaseConnection):
query = "SELECT * FROM ServiceTypes"
return db.execute_query_with_return(query)