mirror of
https://github.com/EDeev/tablo.git
synced 2026-10-07 20:49:31 +03:00
37 lines
1.5 KiB
Python
37 lines
1.5 KiB
Python
from app import db
|
|
|
|
METRIC_TYPES = [
|
|
'checkpoints', 'progress_bar', 'counter', 'stages',
|
|
'checklist', 'attendance', 'grades', 'deadlines',
|
|
'streak', 'effort_hours', 'rating_history',
|
|
]
|
|
|
|
METRIC_LABELS = {
|
|
'checkpoints': 'Контрольные точки',
|
|
'progress_bar': 'Накопление баллов',
|
|
'counter': 'Счётчик',
|
|
'stages': 'Этапы',
|
|
'checklist': 'Чеклист',
|
|
'attendance': 'Посещаемость',
|
|
'grades': 'Оценки',
|
|
'deadlines': 'Дедлайны',
|
|
'streak': 'Серия',
|
|
'effort_hours': 'Трудозатраты',
|
|
'rating_history': 'История оценок',
|
|
}
|
|
|
|
|
|
class Metric(db.Model):
|
|
__tablename__ = 'metrics'
|
|
|
|
id = db.Column(db.Integer, primary_key=True)
|
|
subject_config_id = db.Column(db.Integer, db.ForeignKey('subject_configs.id'), nullable=False)
|
|
type = db.Column(db.String(32), nullable=False)
|
|
label = db.Column(db.String(256), nullable=False)
|
|
config = db.Column(db.JSON, nullable=False, default=dict)
|
|
progress = db.Column(db.JSON, nullable=False, default=dict)
|
|
grid_col = db.Column(db.Integer, nullable=False, default=0)
|
|
grid_row = db.Column(db.Integer, nullable=False, default=0)
|
|
grid_w = db.Column(db.Integer, nullable=False, default=1)
|
|
grid_h = db.Column(db.Integer, nullable=False, default=1)
|
|
ai_prompt = db.Column(db.Text, nullable=True)
|