35 lines
957 B
Python
35 lines
957 B
Python
import sqlite3
|
|
from flask import Flask
|
|
|
|
# =====================================================
|
|
# Database Helpers
|
|
# =====================================================
|
|
|
|
def get_db(app: Flask):
|
|
"""
|
|
Returnerar en SQLite-connection baserat på appens DB_PATH
|
|
"""
|
|
conn = sqlite3.connect(app.config["DB_PATH"])
|
|
conn.row_factory = sqlite3.Row
|
|
return conn
|
|
|
|
|
|
def init_db(app: Flask):
|
|
"""
|
|
Skapar databasen och todo-tabellen om den inte redan finns
|
|
"""
|
|
with get_db(app) as conn:
|
|
conn.execute(
|
|
"""
|
|
CREATE TABLE IF NOT EXISTS todo (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
title TEXT NOT NULL,
|
|
description TEXT NOT NULL,
|
|
status TEXT NOT NULL DEFAULT 'not-started'
|
|
CHECK (status IN ('not-started','in-progress','done')),
|
|
created TEXT NOT NULL,
|
|
edited TEXT
|
|
);
|
|
"""
|
|
)
|