Deploy Stride with encrypted manual and scheduled Garmin sync
This commit is contained in:
@@ -27,6 +27,19 @@ class User(UserMixin, db.Model):
|
||||
return check_password_hash(self.password_hash, password)
|
||||
|
||||
|
||||
class GarminConnection(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
user_id = db.Column(db.Integer, db.ForeignKey("user.id"), unique=True, nullable=False)
|
||||
account_key = db.Column(db.String(24), unique=True, nullable=False)
|
||||
tokens = db.Column(db.Text, nullable=False)
|
||||
pending = db.Column(db.Boolean, nullable=False, default=True)
|
||||
scheduled = db.Column(db.Boolean, nullable=False, default=True)
|
||||
next_sync = db.Column(db.DateTime(timezone=True), nullable=False)
|
||||
last_success = db.Column(db.DateTime(timezone=True))
|
||||
message = db.Column(db.String(200), nullable=False, default="Sync queued.")
|
||||
failures = db.Column(db.Integer, nullable=False, default=0)
|
||||
|
||||
|
||||
class Activity(db.Model):
|
||||
id = db.Column(db.Integer, primary_key=True)
|
||||
owner_id = db.Column(db.Integer, db.ForeignKey("user.id"), nullable=False, index=True)
|
||||
@@ -40,6 +53,7 @@ class Activity(db.Model):
|
||||
avg_hr = db.Column(db.Float)
|
||||
metrics = db.Column(db.JSON, nullable=False, default=dict, server_default="{}")
|
||||
visibility = db.Column(db.String(12), nullable=False, default="private")
|
||||
share_token = db.Column(db.String(64), unique=True)
|
||||
samples = db.Column(db.JSON, nullable=False, default=list)
|
||||
laps = db.Column(db.JSON, nullable=False, default=list)
|
||||
created_at = db.Column(db.DateTime(timezone=True), default=lambda: datetime.now(UTC))
|
||||
|
||||
Reference in New Issue
Block a user