package models

import (
	"time"

	"go.mongodb.org/mongo-driver/v2/bson"
)

type ConsoleSession struct {
	ID         bson.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	InstanceID string        `bson:"instance_id" json:"instance_id"`
	SessionID  string        `bson:"session_id" json:"session_id"`
	ServerID   string        `bson:"server_id" json:"server_id"`
	Protocol   string        `bson:"protocol" json:"protocol"`
	KeyID      string        `bson:"key_id,omitempty" json:"key_id,omitempty"`
	User       string        `bson:"user" json:"user"`
	StartedAt  time.Time     `bson:"started_at" json:"started_at"`
	EndedAt    *time.Time    `bson:"ended_at,omitempty" json:"ended_at,omitempty"`
	ClientIP   string        `bson:"client_ip,omitempty" json:"client_ip,omitempty"`

	TokenConsumedAt *time.Time `bson:"token_consumed_at,omitempty" json:"-"`

	SSHUsername string `bson:"ssh_username,omitempty" json:"ssh_username,omitempty"`

	RDPUserEnc string `bson:"rdp_user_enc,omitempty" json:"-"`
	RDPPassEnc string `bson:"rdp_pass_enc,omitempty" json:"-"`
}
