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

29 lines
991 B
Go

package models
import (
"time"
"gorm.io/gorm"
)
// GitHubUserAuth stores encrypted GitHub App user tokens for a Trackeep user.
type GitHubUserAuth 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"`
GitHubUserID int `json:"github_user_id" gorm:"column:github_user_id;not null;uniqueIndex"`
GitHubLogin string `json:"github_login" gorm:"column:github_login;not null;size:255"`
AccessToken string `json:"-" gorm:"type:text;not null"`
RefreshToken string `json:"-" gorm:"type:text"`
AccessTokenExpiresAt *time.Time `json:"access_token_expires_at"`
RefreshTokenExpiresAt *time.Time `json:"refresh_token_expires_at"`
LastRefreshedAt *time.Time `json:"last_refreshed_at"`
User User `json:"-" gorm:"foreignKey:UserID;-:migration"`
}