jcnok commited on
Commit
082345d
路
verified 路
1 Parent(s): 75fda48

Update app/database.py

Browse files
Files changed (1) hide show
  1. app/database.py +50 -0
app/database.py CHANGED
@@ -0,0 +1,50 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from typing import List, Optional
2
+ from app.models import Task
3
+ from datetime import datetime
4
+
5
+ # Simulando um banco de dados com lista em mem贸ria
6
+ tasks_db: List[Task] = []
7
+ next_id = 1
8
+
9
+ def get_next_id() -> int:
10
+ """Gera o pr贸ximo ID 煤nico para tarefa"""
11
+ global next_id
12
+ current_id = next_id
13
+ next_id += 1
14
+ return current_id
15
+
16
+ def create_task(task: Task) -> Task:
17
+ """Cria uma nova tarefa no banco"""
18
+ task.id = get_next_id()
19
+ task.created_at = datetime.now()
20
+ tasks_db.append(task)
21
+ return task
22
+
23
+ def get_all_tasks() -> List[Task]:
24
+ """Retorna todas as tarefas"""
25
+ return tasks_db
26
+
27
+ def get_task_by_id(task_id: int) -> Optional[Task]:
28
+ """Busca uma tarefa por ID"""
29
+ for task in tasks_db:
30
+ if task.id == task_id:
31
+ return task
32
+ return None
33
+
34
+ def update_task(task_id: int, updated_task: Task) -> Optional[Task]:
35
+ """Atualiza uma tarefa existente"""
36
+ for index, task in enumerate(tasks_db):
37
+ if task.id == task_id:
38
+ updated_task.id = task_id
39
+ updated_task.created_at = task.created_at
40
+ tasks_db[index] = updated_task
41
+ return updated_task
42
+ return None
43
+
44
+ def delete_task(task_id: int) -> bool:
45
+ """Remove uma tarefa do banco"""
46
+ for index, task in enumerate(tasks_db):
47
+ if task.id == task_id:
48
+ tasks_db.pop(index)
49
+ return True
50
+ return False