package models

import (
	"time"

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

type Key struct {
	ID                  bson.ObjectID `bson:"_id,omitempty" json:"_id,omitempty"`
	InstanceID          string        `bson:"instance_id" json:"instance_id"`
	KeyID               string        `bson:"key_id" json:"key_id"`
	Label               string        `bson:"label" json:"label"`
	PublicKey           string        `bson:"public_key" json:"public_key"`
	Fingerprint         string        `bson:"fingerprint" json:"fingerprint"`
	Source              string        `bson:"source" json:"source"`
	GeneratedByServerID string        `bson:"generated_by_server_id,omitempty" json:"generated_by_server_id,omitempty"`
	PrivateKeyEncrypted string        `bson:"private_key_enc,omitempty" json:"-"`
	HasPrivateKey       bool          `bson:"-" json:"has_private_key"`
	PassphraseEncrypted string        `bson:"passphrase_enc,omitempty" json:"-"`
	HasPassphrase       bool          `bson:"-" json:"has_passphrase"`
	CreatedAt           time.Time     `bson:"created_at" json:"created_at"`
}
