Может у тебя база данных не работает? Я развернул твой проект, у меня работает все. По идее в логах терминала должно что-то выводиться. Из списка пользователей не получается перейти?
>> А вот как мутации прописывать и вообще, что делать дальше: туманно.
Ну ты хотя бы как-то сформулировать задачу должен. Как без этого? Тут видится несколько отдельных задач:
1. Написать мутацию для загрузки файла/файлов для топика (к слову, ты сам себе же задачу усложнил, потому что выбрал модель многие-ко-многим через PostImage, ну да ладно, зато может узнаешь больше).
2. На фронте написать механизм загрузки фото (то есть форму)
3. Вывод списка фото.
И т.п.
Задачи обязательно надо выделять отдельно, потому что они не всегда одни и те же. К примеру, то, что ты прописал картинки постам, не обязывает делать механизм загрузки этих фото со фронта. Может ты парсер на сервере пропишешь и будешь тянуть их со стороннего ресурса. Это для примера.
Плюс к этому, надо четко писать какую именно ты задачу выполняешь, потому что не ясно где ты что знаешь, а что нет.
Я тебе скажу так: тебе сейчас лучше развернуть локально у себя freecode.academy и поиграться с ним. Там ты найдешь примеры того, что тебе нужно. Загрузка фото есть в профиле пользователя. Работа с моделью многие-ко-многим есть в связке Пользователь-Технологии как минимум. Покопайся там, разбери что сможешь понять. Что не сможешь - спрашивай. Так будет эффективней. Когда нет мыслей для решения новых задач с нуля, посмотри как подобное делается у других.
model Post {
id String @id @default(cuid()) @db.VarChar(32)...
Files File[]}
А прописал множественную (то есть один-ко-многим). В твоем случае даже при множественном, твоя схема не очень удачная.
model File {
id String @id @default(cuid()) @db.VarChar(32)...
postId String? @db.VarChar(32)
Post Post? @relation(fields:[postId],references:[id])}
Таким образом ты завязал файл на посте, а не пост на файле. Улавливай разницу. Здесь речь о первоисточниках. Если ты в дальнейшем будешь картинки добавлять к грибам, лайкам и т.п., ты для всех этих типов будешь прописывать ключи в объект картинки? Что в таком случае получится? Можно будет загрузить картинку, которая одновременно относится к посту, грибу, лайку и еще к чему-то? Ведь технически это будет возможно. (Хотя и в другом случае тоже можно будет, но не буду в дебри лезть).
В твоем случае, если бы ты хотел сделать одну картинку на одну публикацию, то надо было ссылку на картинку писать в самом посте, а не в картинке. А если ты хочешь много картинок для поста, то правильней завести связующий тип PostImage, у которого два ключа: ссылка на пост и ссылка на картинку. А схема такая: