Дима, привет!
А я не понял, ты ничего не попробовал еще, никакой коммит не выкатил. А чего именно спрашивашь?
Николай, привет!
Таки даю заднюю (на время) и добавляю одну картинку к одному посту.
Можешь посмотреть "план":
1. Добавляю поле image к посту.
2. Понять что делать, если картинку добавлять при создании поста ,а id поста еще нет.
Спасибо! Разбираюсь
Дима, привет!
Нет, не ОК. У тебя работает все, только потому что ты каждый раз передаешь mashroomId. Но это-то не обязательное поле. И что будет, если его не передать? Правильно, ошибка:
Потому что ты в резолвере пишешь "Подключи сюда гриб", а призма в ответ "А какой именно? Идентификатор-то не указан. Я мухожук".
Обрати внимание в нем на указанный тип Prisma.PostCreateInput. Если его не указать (а просто создать переменную с заданным объектом-свойством), то ты не сможешь ниже по условию добавить в него дополнительное свойство (TypeScript не позволит, потому что тип изначальной переменной будет ограничен ее заданным значением).
Николай, привет!
Добавил - даже работает.
Можешь посмотреть код: норм, не норм?
Спасибо! Еще учиться и учиться...
Постарался разобраться с изменениями, но не очень понял - может позже придет понимание.
Следующий вопрос не задержался: почему может поле mashroomId не записываться в БД, пост создается, а mashroomId = NULL?
Спасибо, изучаю!
Решил перед картинками что-то проще добавить.
>> добавил селект тестовым объектом для списка, но добавлять пост при выбранном пункте списка категорически отказывается,
Это потому что ты не вывел в поле сообщение об ошибке. Точнее ты скопипастил и передал в селект параметр error, но там он не обрабатывается.
И вот ошибка:
Суть в том, что в селект ты в качестве value передаешь не текстовый айдишник, а сам объект Option. На onChange и устанавливается не текстовый id, а целиком объект. Вот и косяк. Решение: писать свой обработчик onChange.
Вот сейчас все корректно работает.
>> Коммит с --no-verify, так как не могу понять, чего TS ругается на options
Да, с TS там не все так просто. Селект (<select>) же в себе содержит множество опшенов (<option>), и в него надо передать заданный тип, плюс этот тип учитывать и в других местах. В общем, это темный лес. Я написал все и отправил ПР, надеюсь ты разберешься.