Asma-yaseen commited on
Commit
be04e86
·
verified ·
1 Parent(s): fa320e0

Upload models.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. models.py +34 -0
models.py ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Database models for Evolution Todo API.
3
+
4
+ Task: 1.2
5
+ Spec: specs/database/schema.md
6
+ """
7
+ from sqlmodel import SQLModel, Field
8
+ from datetime import datetime
9
+ from typing import Optional
10
+
11
+
12
+ class User(SQLModel, table=True):
13
+ """User model (managed by Better Auth)."""
14
+ __tablename__ = "users"
15
+
16
+ id: str = Field(primary_key=True)
17
+ email: str = Field(unique=True, index=True, max_length=255)
18
+ name: str = Field(max_length=255)
19
+ password_hash: str = Field(max_length=255)
20
+ created_at: datetime = Field(default_factory=datetime.utcnow)
21
+ updated_at: datetime = Field(default_factory=datetime.utcnow)
22
+
23
+
24
+ class Task(SQLModel, table=True):
25
+ """Task model for todo items."""
26
+ __tablename__ = "tasks"
27
+
28
+ id: Optional[int] = Field(default=None, primary_key=True)
29
+ user_id: str = Field(foreign_key="users.id", index=True)
30
+ title: str = Field(min_length=1, max_length=200)
31
+ description: Optional[str] = Field(default=None)
32
+ completed: bool = Field(default=False)
33
+ created_at: datetime = Field(default_factory=datetime.utcnow)
34
+ updated_at: datetime = Field(default_factory=datetime.utcnow)