Prisma не добавляет список в SqLite
Схема призма:
model Countrie {
id Int @id @default(autoincrement())
nameCountrie String
Video Video? @relation(fields: [videoId], references: [id])
videoId Int?
}
model Actor {
id Int @id @default(autoincrement())
posterUrl String?
name String
surname String?
patronymic String?
Video Video? @relation(fields: [videoId], references: [id])
videoId Int?
}
model Video {
id Int @id @default(autoincrement())
title String @unique
ratingFilm Float
postersUrl String
yearCreate Int
countries Countrie[]
gendre String
content String
ageRestriction Int
description String
actors Actor[]
url String
published Boolean @default(true)
}
Контроллер express:
export const downloadVideo = asyncHandler(async (req, res) => {
const {
id,
title,
ratingFilm,
postersUrl,
yearCreate,
countries,
gendre,
content,
ageRestriction,
description,
actors,
url,
} = req.body;
const isHaveVideo = await prisma.video.findUnique({
where: {
title,
},
});
if (isHaveVideo) {
res.status(400);
throw new Error("Video already exists");
}
console.log(countries)
const createVideoToDatabase = await prisma.video.create({
data: {
title: title,
ratingFilm: ratingFilm,
postersUrl: postersUrl,
yearCreate: yearCreate,
countries: countries,
gendre: gendre,
content: content,
ageRestriction: ageRestriction,
description: description,
actors: actors,
url: url
},
});
res.status(201);
res.json(createVideoToDatabase);
});
Текст ошибки:
Error:
Invalid prisma.video.create() invocation:
{
data: {
title: 'Гей среди нас',
ratingFilm: 9.7,
postersUrl: '/films/Airbuss/1.png',
yearCreate: 2019,
countries: [
'Василий',
'Иван'
],
~~~~~~~~~~
gendre: 'Хорор',
content: 'Любовь самолет вертолет корабль',
ageRestriction: 18,
description: 'Король кокаина, террорист, один из известнейших и богатейших преступников… Да, речь идёт о Пабло Эскобаре! Кража надгробий, продажа сигарет и подделка лотерейных билетов переросли в угон дорогих авто, рэкет и убийства. Фильм «Эскобар» – история наркобарона, семьянина и политика.1982 год. Наркобарон Пабло Эскобар знакомится с Вирхинией Валехо – известной журналисткой. Девушка становится его биографом и любовницей. Из мемуаров женщины мы узнаём о жизни и стремлениях Эскобара: он появляется в большой политике и занимает место в Конгрессе Колумбии. Будучи в большой политике, он сохраняет верность своим старым методам, отработанным в преступном мире: угрозы, насилие и шантаж. Но с началом антикокаиновой кампании его карьера в этой сфере заканчивается.После громкого скандала со взрывом Бионга над Баготой и волны политического террора карьера бывшего босса идёт к закату; на Эскобара начинается настоящая охота властей. Спустя пару лет он всё же сдаётся и переезжает в специальную тюрьму… Где для него организованы коттедж, сады, джакузи и рабочее место – ведь он продолжает управлять своим бизнесом. Впрочем, Пабло сбежал и оттуда. Смотри фильм «Эскобар» и узнай обо всех перипетиях судьбы одного из самых знаменитых в мире криминальных авторитетов!Кинокартина, снятая при участии Болгарии, Испании и США, основана на мемуарах Вирхинии Вальехо – той самой журналистки, по сюжету ставшей биографом Эскобара. Цепляет не только сюжет, но и звёздный актёрский состав: Хавьер Бардем и Пенелопа Крус, Питер Сарсгаард и Жульет Рестрепо. Впрочем, каждому из них пришлось потратить немало сил на то, чтобы вжиться в роль: Хавьер Бардем, к примеру, сильно набрал вес для роли, а Пенелопа Крус посмотрела десятки видео со своей героиней и призналась, что это была одна из сложнейших ролей в её карьере.',
actors: [
'Василий',
'Иван'
],
~~~~~~~~~~
url: '/films/Airbuss/1.mp4'
}
}
Argument countries: Got invalid value
[
'Василий',
'Иван'
]
on prisma.createOneVideo. Provided List<String>, expected CountrieCreateNestedManyWithoutVideoInput:
type CountrieCreateNestedManyWithoutVideoInput {
create?: CountrieCreateWithoutVideoInput | List<CountrieCreateWithoutVideoInput> | CountrieUncheckedCreateWithoutVideoInput | List<CountrieUncheckedCreateWithoutVideoInput>
connectOrCreate?: CountrieCreateOrConnectWithoutVideoInput | List<CountrieCreateOrConnectWithoutVideoInput>
connect?: CountrieWhereUniqueInput | List<CountrieWhereUniqueInput>
}
Argument actors: Got invalid value
[
'Василий',
'Иван'
]
on prisma.createOneVideo. Provided List<String>, expected ActorCreateNestedManyWithoutVideoInput:
type ActorCreateNestedManyWithoutVideoInput {
create?: ActorCreateWithoutVideoInput | List<ActorCreateWithoutVideoInput> | ActorUncheckedCreateWithoutVideoInput | List<ActorUncheckedCreateWithoutVideoInput>
connectOrCreate?: ActorCreateOrConnectWithoutVideoInput | List<ActorCreateOrConnectWithoutVideoInput>
connect?: ActorWhereUniqueInput | List<ActorWhereUniqueInput>
}
at Ui.validate (C:\Users\admin\Desktop\New\smotriTyt\server\node_modules\@prisma\client\runtime\library.js:148:73)
at gn.createMessage (C:\Users\admin\Desktop\New\smotriTyt\server\node_modules\@prisma\client\runtime\library.js:164:1298)
at C:\Users\admin\Desktop\New\smotriTyt\server\node_modules\@prisma\client\runtime\library.js:177:11600
at Object.runInChildSpan (C:\Users\admin\Desktop\New\smotriTyt\server\node_modules\@prisma\client\runtime\library.js:174:1394)
at t._executeRequest (C:\Users\admin\Desktop\New\smotriTyt\server\node_modules\@prisma\client\runtime\library.js:177:11577)
at async file:///C:/Users/admin/Desktop/New/smotriTyt/server/video/video.controller.js:33:33
JSON из инсомнии:
{
"title": "Гей среди нас",
"ratingFilm": 9.7,
"postersUrl": "/films/Airbuss/1.png",
"yearCreate": 2019,
"countries": ["Василий", "Иван"],
"gendre": "Хорор",
"content": "Любовь самолет вертолет корабль",
"ageRestriction": 18,
"description": "Король кокаина, террорист, один из известнейших и богатейших преступников… Да, речь идёт о Пабло Эскобаре! Кража надгробий, продажа сигарет и подделка лотерейных билетов переросли в угон дорогих авто, рэкет и убийства. Фильм «Эскобар» – история наркобарона, семьянина и политика.1982 год. Наркобарон Пабло Эскобар знакомится с Вирхинией Валехо – известной журналисткой. Девушка становится его биографом и любовницей. Из мемуаров женщины мы узнаём о жизни и стремлениях Эскобара: он появляется в большой политике и занимает место в Конгрессе Колумбии. Будучи в большой политике, он сохраняет верность своим старым методам, отработанным в преступном мире: угрозы, насилие и шантаж. Но с началом антикокаиновой кампании его карьера в этой сфере заканчивается.После громкого скандала со взрывом Бионга над Баготой и волны политического террора карьера бывшего босса идёт к закату; на Эскобара начинается настоящая охота властей. Спустя пару лет он всё же сдаётся и переезжает в специальную тюрьму… Где для него организованы коттедж, сады, джакузи и рабочее место – ведь он продолжает управлять своим бизнесом. Впрочем, Пабло сбежал и оттуда. Смотри фильм «Эскобар» и узнай обо всех перипетиях судьбы одного из самых знаменитых в мире криминальных авторитетов!Кинокартина, снятая при участии Болгарии, Испании и США, основана на мемуарах Вирхинии Вальехо – той самой журналистки, по сюжету ставшей биографом Эскобара. Цепляет не только сюжет, но и звёздный актёрский состав: Хавьер Бардем и Пенелопа Крус, Питер Сарсгаард и Жульет Рестрепо. Впрочем, каждому из них пришлось потратить немало сил на то, чтобы вжиться в роль: Хавьер Бардем, к примеру, сильно набрал вес для роли, а Пенелопа Крус посмотрела десятки видео со своей героиней и призналась, что это была одна из сложнейших ролей в её карьере.",
"actors": ["Василий", "Иван"],
"url": "/films/Airbuss/1.mp4"
}
Не понимаю в чем проблема ибо я передаю список строк как и требует призма