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) }