Files
Trackeep/backend/models/control_service_auth.go
T
2026-04-10 12:06:01 +02:00

27 lines
929 B
Go

package models
import (
"time"
"gorm.io/gorm"
)
// ControlServiceSession stores the opaque hq.trackeep.org token for a Trackeep user.
type ControlServiceSession struct {
ID uint `json:"id" gorm:"primaryKey"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DeletedAt gorm.DeletedAt `json:"-" gorm:"index"`
UserID uint `json:"user_id" gorm:"column:user_id;not null;uniqueIndex"`
ControllerUserID int `json:"controller_user_id" gorm:"column:controller_user_id;not null;index"`
GitHubID int `json:"github_id" gorm:"column:github_id;index"`
Username string `json:"username" gorm:"size:255"`
Email string `json:"email" gorm:"size:255"`
Token string `json:"-" gorm:"type:text;not null"`
LastValidatedAt *time.Time `json:"last_validated_at"`
User User `json:"-" gorm:"foreignKey:UserID;-:migration"`
}