20 lines
861 B
Go
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)
|
|
}
|