Igris/internal/domain/session.go

29 lines
585 B
Go

package domain
import (
"context"
"time"
"github.com/google/uuid"
)
type SessionRepo interface {
Create(ctx context.Context, session *UserSession) error
GetByID(ctx context.Context, id uuid.UUID) (*UserSession, error)
Delete(ctx context.Context, id uuid.UUID) error
GetUserSessions(ctx context.Context, userID uuid.UUID) ([]UserSession, error)
}
type UserSession struct {
ID uuid.UUID
UserID uuid.UUID
User User
WalletID uuid.UUID
IPaddress string
Agent string
ExpiresAt time.Time
CreatedAt time.Time
UpdatedAt time.Time
DeletedAt *time.Time
}