package paymethoddb

import (
	"context"

	"github.com/tech/sendico/pkg/mutil/mzap"
	"go.mongodb.org/mongo-driver/v2/bson"
	"go.uber.org/zap"
)

func (db *PaymentMethodsDB) SetArchived(ctx context.Context, accountRef, organizationRef, objectRef bson.ObjectID, isArchived, cascade bool) error {
	// Use the ArchivableDB for the main archiving logic
	if err := db.ArchivableDB.SetArchived(ctx, accountRef, objectRef, isArchived); err != nil {
		db.DBImp.Logger.Warn("Failed to chnage object archive status", zap.Error(err),
			mzap.ObjRef("account_ref", accountRef), mzap.ObjRef("organization_ref", organizationRef),
			mzap.ObjRef("object_ref", objectRef), zap.Bool("archived", isArchived), zap.Bool("cascade", cascade))
		return err
	}
	return nil
}
