Files
sxchnge/backend/product/sessions/store/refreshtokens.go
T

20 lines
861 B
Go

package refreshtokens
import (
"context"
sessionmodel "git.sendico.io/tech/sxchnge/product/sessions/model"
"git.sendico.io/tech/sxchnge/shared/database/template"
"go.mongodb.org/mongo-driver/v2/bson"
)
type DB interface {
template.DB[*sessionmodel.RefreshToken]
Revoke(ctx context.Context, accountRef bson.ObjectID, session *sessionmodel.SessionIdentifier) error
RevokeToken(ctx context.Context, token *sessionmodel.ClientRefreshToken) (bool, error)
RevokeAll(ctx context.Context, accountRef bson.ObjectID, deviceID string) error
GetSession(ctx context.Context, accountRef bson.ObjectID, session *sessionmodel.SessionIdentifier) (*sessionmodel.RefreshToken, error)
GetByCRT(ctx context.Context, t *sessionmodel.ClientRefreshToken) (*sessionmodel.RefreshToken, error)
GetClient(ctx context.Context, clientID string) (*sessionmodel.Client, error)
}