Taimwe commited on
Commit
1ec87da
·
verified ·
1 Parent(s): 873f081

Add meta router

Browse files
Files changed (1) hide show
  1. app/routers/meta.py +37 -0
app/routers/meta.py ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Health, stats and root meta routes."""
2
+ import datetime
3
+
4
+ from fastapi import APIRouter, Depends
5
+ from sqlalchemy.orm import Session
6
+
7
+ from .. import models
8
+ from ..database import get_db
9
+
10
+ router = APIRouter(tags=["meta"])
11
+
12
+
13
+ @router.get("/")
14
+ def root():
15
+ return {
16
+ "name": "TrainHub API",
17
+ "version": "1.0.0",
18
+ "docs": "/docs",
19
+ "health": "/health",
20
+ }
21
+
22
+
23
+ @router.get("/health")
24
+ def health():
25
+ return {"status": "ok", "time": datetime.datetime.utcnow().isoformat() + "Z"}
26
+
27
+
28
+ @router.get("/stats")
29
+ def stats(db: Session = Depends(get_db)):
30
+ return {
31
+ "users": db.query(models.User).count(),
32
+ "models": db.query(models.ModelRepo).count(),
33
+ "datasets": db.query(models.DatasetRepo).count(),
34
+ "spaces": db.query(models.SpaceRepo).count(),
35
+ "jobs": db.query(models.TrainingJob).count(),
36
+ "running_jobs": db.query(models.TrainingJob).filter(models.TrainingJob.status == "running").count(),
37
+ }