modified: db/db.go modified: handlers/dashboard.go modified: main.go modified: services/openrouter.go modified: templates/dashboard.html
56 lines
1.1 KiB
Go
56 lines
1.1 KiB
Go
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
|
|
_ "modernc.org/sqlite"
|
|
)
|
|
|
|
var Conn *sql.DB
|
|
|
|
func Init() {
|
|
var err error
|
|
Conn, err = sql.Open("sqlite", "./bot.db")
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
schema := `
|
|
CREATE TABLE IF NOT EXISTS clients (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT,
|
|
tier TEXT,
|
|
msg_count INTEGER DEFAULT 0
|
|
);
|
|
CREATE TABLE IF NOT EXISTS appointments (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
client_id TEXT,
|
|
customer_phone TEXT,
|
|
appointment_date TEXT,
|
|
status TEXT DEFAULT 'confirmed'
|
|
);
|
|
CREATE TABLE IF NOT EXISTS chats (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
title TEXT DEFAULT 'New Chat',
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS messages (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
chat_id INTEGER,
|
|
role TEXT, -- 'user' or 'assistant'
|
|
content TEXT,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
FOREIGN KEY(chat_id) REFERENCES chats(id)
|
|
);`
|
|
Conn.Exec(schema)
|
|
}
|
|
|
|
func SaveAppointment(phone string, date string) error {
|
|
_, err := Conn.Exec(
|
|
"INSERT INTO appointments (customer_phone, appointment_date, status) VALUES (?, ?, ?)",
|
|
phone, date, "confirmed",
|
|
)
|
|
return err
|
|
}
|