entity

package
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2026 License: MIT Imports: 1 Imported by: 0

Documentation

Overview

Package entity contains domain data models representing application domain objects.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Account

type Account struct {
	ID        string    `json:"id"`
	UserID    string    `json:"userId"`
	Provider  string    `json:"provider"`
	Password  string    `json:"-"`
	CreatedAt time.Time `json:"createdAt"`
	UpdatedAt time.Time `json:"updatedAt"`
}

Account represents an authentication provider account associated with a user.

type Passkey added in v0.9.0

type Passkey struct {
	ID           string    `json:"id"`
	Name         *string   `json:"name,omitempty"`       // Nombre amigable o resuelto por AAGUID
	UserID       string    `json:"userId"`               // ID del usuario propietario
	CredentialID string    `json:"credentialID"`         // Identificador único de credencial (Base64URL)
	PublicKey    string    `json:"publicKey"`            // Clave pública COSE / PKIX (Base64)
	Counter      uint32    `json:"counter"`              // Contador de firmas para mitigación de repetición/clonado
	DeviceType   string    `json:"deviceType"`           // "singleDevice" o "multiDevice" (sincronizada)
	BackedUp     bool      `json:"backedUp"`             // Indica si la clave tiene respaldo en la nube (iCloud, Google, etc.)
	Transports   *string   `json:"transports,omitempty"` // Transportes soportados ("usb,ble,nfc,internal,hybrid")
	AAGUID       *string   `json:"aaguid,omitempty"`     // GUID del modelo de autenticador
	CreatedAt    time.Time `json:"createdAt"`
	UpdatedAt    time.Time `json:"updatedAt"`
}

Passkey representa una credencial WebAuthn registrada para un usuario.

type Session

type Session struct {
	ID             string     `json:"id"`
	UserID         string     `json:"userId"`
	Token          string     `json:"token"`
	ExpiresAt      time.Time  `json:"expiresAt"`
	CreatedAt      time.Time  `json:"createdAt"`
	IPAddress      string     `json:"ipAddress,omitempty"`
	UserAgent      string     `json:"userAgent,omitempty"`
	ImpersonatedBy *string    `json:"impersonatedBy,omitempty"`
	UpdatedAt      *time.Time `json:"updatedAt,omitempty"`
}

Session represents an active authentication session belonging to a user.

type User

type User struct {
	ID               string     `json:"id"`
	Name             string     `json:"name"`
	Email            string     `json:"email"`
	PasswordHash     string     `json:"-"`
	EmailVerified    bool       `json:"emailVerified"`
	TwoFactorEnabled bool       `json:"twoFactorEnabled"`
	Role             string     `json:"role,omitempty"`
	Banned           bool       `json:"banned"`
	BanReason        *string    `json:"banReason,omitempty"`
	BanExpires       *time.Time `json:"banExpires,omitempty"`
	CreatedAt        time.Time  `json:"createdAt"`
	UpdatedAt        time.Time  `json:"updatedAt"`
}

User represents an authenticated application user.

type VerificationToken

type VerificationToken struct {
	Identifier string    `json:"identifier"`
	Token      string    `json:"token"`
	ExpiresAt  time.Time `json:"expiresAt"`
}

VerificationToken represents a token used for email verification or password reset operations.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL