package repository

import (
	"context"

	"haixun-backend/internal/model/setting/domain/entity"
)

type Repository interface {
	List(ctx context.Context, scope, scopeID string, offset, limit int64) ([]*entity.Setting, int64, error)
	Find(ctx context.Context, scope, scopeID, key string) (*entity.Setting, error)
	Upsert(ctx context.Context, setting *entity.Setting) (*entity.Setting, error)
	Delete(ctx context.Context, scope, scopeID, key string) error
	EnsureIndexes(ctx context.Context) error
}
