package quote_persistence_service

import (
	"time"

	"github.com/tech/sendico/payments/storage/model"
	quotationv2 "github.com/tech/sendico/pkg/proto/payments/quotation/v2"
	"go.mongodb.org/mongo-driver/v2/bson"
)

type StatusInput struct {
	State       quotationv2.QuoteState
	BlockReason quotationv2.QuoteBlockReason
}

type PersistItemInput struct {
	Intent *model.PaymentIntent
	Quote  *model.PaymentQuoteSnapshot
	Status *StatusInput
}

type PersistInput struct {
	OrganizationID bson.ObjectID
	QuoteRef       string
	IdempotencyKey string
	Hash           string
	ExpiresAt      time.Time
	RequestShape   model.QuoteRequestShape
	Items          []PersistItemInput
}
