vibeStonk/server/repository/defSession.go
2025-06-12 16:57:42 -04:00

23 lines
467 B
Go

package repository
import (
"database/sql"
models "vibeStonk/server/models/v1"
)
type SessionRepo interface {
Create(user *models.User) (*models.Session, error)
Get(token string) (*models.Session, error)
Revoke(session *models.Session) error
DeleteExpired() error
}
func NewSessionRepo(config *Config, db *sql.DB) (SessionRepo, error) {
switch config.DBEngine {
case Sqlite:
return newSqliteSessionRepo(db), nil
default:
return nil, ErrBadEngine
}
}