проблема с типами: есть User, у которого должны быть имя, краткое описание и пароль. При этом пароль должен отсутствовать при выдаче данных (например GET /users), но присутствовать и обрабатываться при создании пользователя (например POST /users). В одном типе это сделать не получается, если создавать два - страшно неудобно (в record синтаксисе нельзя одинаково поля называть), либо получается запись а ля data UserWithPassword Text Text Text, и какой текст какое поле обозначает - тоже непонятно. Как такие проблемы принято решать? Тайп алиасами для текста?
Если делать Maybe Text, не получается парсить строку из бд, но возможно это моя криворукость
можно сделать дженерик User a, где при Get a это (), а при Post - Passwd можно включить {-# LANGUAGE DuplicateRecordFields #-} и создавать разные рекорды с одинаковыми полями
Первое выглядит более перспективно, попробую, спасибо)
А нельзя просто не выдавать пароль при кодировании в json на выдаче?
Обсуждают сегодня