package crud import ( "context" "aijianzhan/platform/internal/meta" ) type Engine interface { List(ctx context.Context, ref *meta.ResourceRef, tenantID int64, page, pageSize int, filters map[string]string, sortBy string) (items []map[string]any, total int, err error) Get(ctx context.Context, ref *meta.ResourceRef, tenantID int64, id string) (map[string]any, error) Create(ctx context.Context, ref *meta.ResourceRef, tenantID, userID int64, body map[string]any) (map[string]any, error) Update(ctx context.Context, ref *meta.ResourceRef, tenantID int64, id string, body map[string]any) (map[string]any, error) Delete(ctx context.Context, ref *meta.ResourceRef, tenantID int64, id string) error }