В базе появился статус refunded, а сервис молча показывает заказы как «новые»
type OrderStatus = 'new' | 'paid' | 'shipped';
function label(status: OrderStatus) {
if (status === 'paid') return 'Оплачен';
if (status === 'shipped') return 'Отправлен';
return 'Новый';
}
Соседний сервис начал писать в общую таблицу статус refunded. Ошибок нет, а возвращённые заказы показываются как новые. Что сделать?
- Проверять статус при чтении и падать на неизвестном
- Добавить refunded в тип и перекомпилировать
- Хранить статус числом вместо строки
- Заменить if на switch без изменения логики
