diff --git a/app/cinema.db3 b/app/cinema.db3 new file mode 100644 index 00000000..e6f022cb Binary files /dev/null and b/app/cinema.db3 differ diff --git a/app/main.py b/app/main.py index 6f12a826..3f26bed2 100644 --- a/app/main.py +++ b/app/main.py @@ -1,5 +1,5 @@ -# from models import Actor -# from managers import ActorManager +# from app.models import Actor +# from app.managers import ActorManager # # if __name__ == "__main__": # Actor.objects = ActorManager() diff --git a/app/managers.py b/app/managers.py new file mode 100644 index 00000000..7bfb4f0f --- /dev/null +++ b/app/managers.py @@ -0,0 +1,38 @@ +import sqlite3 + +from app.models import Actor + + +class ActorManager: + db_name = "cinema.db3" + + def __init__(self, db_name: str) -> None: + self._connection = sqlite3.connect(db_name) + + def all(self) -> None: + actors_cursor = self._connection.execute( + "SELECT * FROM actors" + ) + + return [Actor(*line) for line in actors_cursor] + + def create(self, first_name: str, last_name: str) -> None: + self._connection.execute( + "INSERT INTO actors(first_name, last_name) VALUES(?, ?)", + (first_name, last_name) + ) + self._connection.commit() + + def update(self, id_update: int, first_name: str, last_name: str) -> None: + self._connection.execute( + "UPDATE actors SET first_name = ?, last_name = ? WHERE id = ?", + (first_name, last_name, id_update) + ) + self._connection.commit() + + def delete(self, id_delete: int) -> None: + self._connection.execute( + "DELETE FROM actors WHERE id = ?", + (id_delete,) + ) + self._connection.commit() diff --git a/app/models.py b/app/models.py new file mode 100644 index 00000000..870c5cf9 --- /dev/null +++ b/app/models.py @@ -0,0 +1,8 @@ +from dataclasses import dataclass + + +@dataclass() +class Actor: + id: int + first_name: str + last_name: str