20 lines
778 B
Go
20 lines
778 B
Go
package refreshtokens
|
|
|
|
import (
|
|
"context"
|
|
|
|
"git.sendico.io/tech/sxchnge/bff/pkg/db/template"
|
|
"git.sendico.io/tech/sxchnge/bff/pkg/model"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
type DB interface {
|
|
template.DB[*model.RefreshToken]
|
|
Revoke(ctx context.Context, accountRef bson.ObjectID, session *model.SessionIdentifier) error
|
|
RevokeToken(ctx context.Context, token *model.ClientRefreshToken) (bool, error)
|
|
RevokeAll(ctx context.Context, accountRef bson.ObjectID, deviceID string) error
|
|
GetSession(ctx context.Context, accountRef bson.ObjectID, session *model.SessionIdentifier) (*model.RefreshToken, error)
|
|
GetByCRT(ctx context.Context, t *model.ClientRefreshToken) (*model.RefreshToken, error)
|
|
GetClient(ctx context.Context, clientID string) (*model.Client, error)
|
|
}
|