-- +goose Up
-- +goose StatementBegin

-- Adiciona producao:update para admins que ainda não têm
UPDATE users
SET permissoes = array_append(permissoes, 'producao:update')
WHERE role IN ('admin','operador')
  AND NOT ('producao:update' = ANY(permissoes))
  AND NOT ('*:*' = ANY(permissoes));

-- Admin com *:* já tem tudo. Garante que operadores também possam avançar etapas
UPDATE users
SET permissoes = array_cat(permissoes, ARRAY['producao:update','producao:read','producao:create'])
WHERE role = 'operador'
  AND NOT ('producao:update' = ANY(permissoes));

-- +goose StatementEnd
-- +goose Down
-- +goose StatementBegin
-- sem rollback destrutivo
-- +goose StatementEnd
