{
games: { deleteMany: {}, create: games?.map((slug) => ({ game: { connect: { slug } } })) },
platforms: { deleteMany: {}, create: platforms?.map((id) => ({ platform: { connect: { id } } })) },
discs: { deleteMany: {}, createMany: { data: body.discs ?? [] } },
- relatedAlbums: { deleteMany: {}, create: related?.map((id) => ({ relatedAlbum: { connect: { id } } })) }
+ relatedAlbums: { deleteMany: {}, create: related?.map((id) => ({ relatedAlbum: { connect: { id } } })) },
+ downloads: { deleteMany: {} }
}
})
await Promise.all([
- cover ? handleCover(cover, 'album', albumId, tx) : undefined,
+ cover && cover.size > 0 ? handleCover(cover, 'album', albumId, tx) : undefined,
downloads
- ? tx.downloads.createMany({
- data: downloads.map((d) => ({
- title: d.title,
- albumId: albumId,
- links: { create: d.links }
- }))
- })
+ ? Promise.all(
+ downloads.map((d) =>
+ tx.downloads.create({
+ data: {
+ title: d.title,
+ albumId: albumId,
+ links: { create: d.links }
+ }
+ })
+ )
+ )
: undefined
])
})