30 lines
883 B
Go
30 lines
883 B
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/tech/sendico/pkg/db/storable"
|
|
"github.com/tech/sendico/pkg/mservice"
|
|
"go.mongodb.org/mongo-driver/v2/bson"
|
|
)
|
|
|
|
type ClientRefreshToken struct {
|
|
SessionIdentifier `bson:",inline" json:",inline"`
|
|
RefreshToken string `bson:"token" json:"token"`
|
|
}
|
|
|
|
type RefreshToken struct {
|
|
storable.Base `bson:",inline" json:",inline"`
|
|
ClientRefreshToken `bson:",inline" json:",inline"`
|
|
AccountRef *bson.ObjectID `bson:"accountRef,omitempty" json:"accountRef,omitempty"`
|
|
ExpiresAt time.Time `bson:"expiresAt"`
|
|
IsRevoked bool `bson:"isRevoked"`
|
|
LastUsedAt time.Time `bson:"lastUsedAt,omitempty"`
|
|
UserAgent string `bson:"userAgent"`
|
|
IPAddress string `bson:"ipAddress"`
|
|
}
|
|
|
|
func (*RefreshToken) Collection() string {
|
|
return mservice.RefreshTokens
|
|
}
|