package store

// QueryOptions Store 查询选项
// 用于控制 Store 层查询行为，支持分页、排序、数据权限过滤控制等
type QueryOptions struct {
	// 分页选项
	Page     int `json:"page"`      // 页码（从 1 开始）
	PageSize int `json:"page_size"` // 每页记录数

	// 排序选项
	OrderBy string `json:"order_by"` // 排序字段（例如 "created_at DESC"）

	// 数据权限过滤控制
	WithoutDataFilter bool `json:"without_data_filter"` // 跳过数据权限过滤（谨慎使用）
}

// DefaultQueryOptions 返回默认查询选项
func DefaultQueryOptions() *QueryOptions {
	return &QueryOptions{
		Page:              1,
		PageSize:          20,
		OrderBy:           "id DESC",
		WithoutDataFilter: false,
	}
}
