Spaces:
Running
Running
| from datetime import datetime, timedelta | |
| # -- Create a table called "stats" | |
| # create table | |
| # stats ( | |
| # -- A column called "time" with data type "timestamp" | |
| # time timestamp, | |
| # -- A column called "details" with data type "text" | |
| # chat boolean, | |
| # embedding boolean, | |
| # details text, | |
| # metadata jsonb, | |
| # -- An "integer" primary key column called "id" that is generated always as identity | |
| # id integer primary key generated always as identity | |
| # ); | |
| def get_usage_today(supabase): | |
| # Returns the number of rows in the stats table for the last 24 hours | |
| response = supabase.table("stats").select("id", count="exact").gte("time", datetime.now() - timedelta(hours=24)).execute() | |
| return response.count | |
| def add_usage(supabase, type, details, metadata): | |
| # Adds a row to the stats table | |
| supabase.table("stats").insert({ | |
| "time": datetime.now().isoformat(), | |
| "chat": type == "chat", | |
| "embedding": type == "embedding", | |
| "details": details, | |
| "metadata": metadata | |
| }).execute() | |
| def get_usage(supabase): | |
| # Returns the number of rows in the stats table for the last 24 hours | |
| response = supabase.table("stats").select("id", count="exact").execute() | |
| return response.count | |