-- +goose Up
-- +goose StatementBegin

-- Recria tabela de pontos com qtd_peca como threshold exato (não range)
DROP TABLE IF EXISTS bordado_cfg_ponto;
CREATE TABLE IF NOT EXISTS bordado_cfg_ponto (
    id            UUID         PRIMARY KEY DEFAULT uuid_generate_v4(),
    tenant_id     UUID         NOT NULL,
    tipo          TEXT         NOT NULL CHECK (tipo IN ('plano','bone')),
    qtd_peca      INTEGER      NOT NULL,   -- threshold: usa esta linha se qtd_pecas >= qtd_peca
    valor_ponto   NUMERIC(10,4) NOT NULL DEFAULT 0,  -- R$ por 1000 pontos
    valor_minimo  NUMERIC(10,2) NOT NULL DEFAULT 0,  -- valor mínimo unitário
    UNIQUE(tenant_id, tipo, qtd_peca)
);

-- cfg_fechado passa a ser o ADICIONAL por peça fechada (ex: +R$ 1,50)
-- (a coluna "valor" já existe e serve para isso)

-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
DROP TABLE IF EXISTS bordado_cfg_ponto;
CREATE TABLE IF NOT EXISTS bordado_cfg_ponto (
    id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
    tenant_id UUID NOT NULL,
    tipo TEXT NOT NULL,
    qtd_peca_min INTEGER NOT NULL DEFAULT 1,
    qtd_peca_max INTEGER NOT NULL DEFAULT 9999,
    valor_ponto NUMERIC(10,4) NOT NULL DEFAULT 0,
    valor_minimo NUMERIC(10,2) NOT NULL DEFAULT 0
);
-- +goose StatementEnd
