package store

import (
	"context"

	"finance-portal/model"
)

type CloudCollectionStore interface {
	List(_ context.Context) (records []model.CloudCollection, err error)
	ListByMonth(_ context.Context, billMonth string, sync int) (records []*model.CloudCollection, err error)
	GetByID(_ context.Context, id uint64) (record model.CloudCollection, err error)
	DeleteAndSave(_ context.Context, records []model.CloudCollection) ([]model.CloudCollection, error)
	Update(_ context.Context, record *model.CloudCollection) error
	ListUncollected(ctx context.Context) (records []*model.CloudCollection, err error)
	UpdateFields(ctx context.Context, id uint64, updates map[string]interface{}) error
}
