1package store23import (4 "context"5 "time"67 "github.com/charmbracelet/soft-serve/pkg/db"8 "github.com/charmbracelet/soft-serve/pkg/db/models"9)1011// AccessTokenStore is an interface for managing access tokens.12type AccessTokenStore interface {13 GetAccessToken(ctx context.Context, h db.Handler, id int64) (models.AccessToken, error)14 GetAccessTokenByToken(ctx context.Context, h db.Handler, token string) (models.AccessToken, error)15 GetAccessTokensByUserID(ctx context.Context, h db.Handler, userID int64) ([]models.AccessToken, error)16 CreateAccessToken(ctx context.Context, h db.Handler, name string, userID int64, token string, expiresAt time.Time) (models.AccessToken, error)17 DeleteAccessToken(ctx context.Context, h db.Handler, id int64) error18 DeleteAccessTokenForUser(ctx context.Context, h db.Handler, userID int64, id int64) error19}