Skip to content

Commit 9e3470a

Browse files
committed
More overall structure for the project. Added roster and lots of TODOs
1 parent de8ce8c commit 9e3470a

File tree

21 files changed

+202
-73
lines changed

21 files changed

+202
-73
lines changed

api/auth/controller.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from api.database.db import db
2+
3+
def create_account(username, numeric_identifier, auth_level='student'):
4+
db.create_account(username, numeric_identifier)
5+
pass

api/auth/routes.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,8 @@ def signup():
2929
The status of the sign-up attempt
3030
"""
3131
return "Signup arrived"
32+
33+
34+
# TODO: update preferred name
35+
36+
# TODO: accounts has UBIT (For AL lookups) and pn (For card swipes)

api/database/IAccounts.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
from abc import ABC, abstractmethod
3+
4+
class IAccounts:
5+
6+
@abstractmethod
7+
def create_account(self, ubit, pn):
8+
# return id
9+
raise NotImplementedError()

api/database/IRoster.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
2+
from abc import ABC, abstractmethod
3+
4+
class IRoster:
5+
6+
@abstractmethod
7+
def add_to_roster(self, user_id, role):
8+
raise NotImplementedError()
9+

api/database/interface.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
from abc import ABC, abstractmethod
22

3-
from IQueue import IQueue
4-
from IRatings import IRatings
3+
from api.database.IQueue import IQueue
4+
from api.database.IRatings import IRatings
5+
from api.database.IAccounts import IAccounts
6+
from api.database.IRoster import IRoster
57

6-
class DBInterface(IQueue, IRatings, ABC):
8+
class DBInterface(IQueue, IRatings, IAccounts, IRoster, ABC):
79

810
# All database implements must extend this class
911

api/database/mock_db/MockDB.py

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
1-
from api.database.mock_db.MockDBQueue import MockDBQueue
2-
from api.database.mock_db.MockDBRatings import MockDBRatings
1+
from api.database.interface import DBInterface
32

43

5-
class MockDB(MockDBQueue, MockDBRatings):
4+
class MockDB(DBInterface):
65

7-
pass
6+
def connect(self):
7+
pass
8+
9+
def enqueue_student(self, student):
10+
pass
11+
12+
def dequeue_student(self):
13+
pass
14+
15+
def rate_student(self, student, rating, feedback):
16+
pass
17+
18+
def create_account(self, ubit, pn):
19+
pass
20+
21+
def add_to_roster(self, user_id, role):
22+
pass

api/database/mock_db/MockDBQueue.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

api/database/mock_db/MockDBRatings.py

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
from api.database.interface import DBInterface
2+
13
from api.database.relational_db.RelationalDBQueue import RelationalDBQueue
24
from api.database.relational_db.RelationalDBRatings import RelationalDBRatings
35

46

5-
class RelationalDB(RelationalDBQueue, RelationalDBRatings):
7+
class RelationalDB(DBInterface, RelationalDBQueue, RelationalDBRatings):
68

79
pass

api/database/testing_db/TestingDB.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,17 @@
1+
from api.database.interface import DBInterface
2+
13
from api.database.testing_db.TestingDBQueue import TestingDBQueue
24
from api.database.testing_db.TestingDBRatings import TestingDBRatings
35

46

5-
class TestingDB(TestingDBQueue, TestingDBRatings):
7+
class TestingDB(DBInterface, TestingDBQueue, TestingDBRatings):
8+
9+
def connect(self):
10+
pass
11+
12+
def create_account(self, ubit, pn):
13+
print("Welcome " + ubit)
14+
15+
def add_to_roster(self, user_id, role):
16+
pass
617

7-
pass

0 commit comments

Comments
 (0)