auto/utils/database.js

34 lines
1.2 KiB
JavaScript
Raw Permalink Normal View History

2023-03-28 15:52:17 +01:00
const { PrismaClient } = require('@prisma/client')
const prisma = new PrismaClient()
const metadata = require('./metadata.js')
const upload = require('./upload.js')
async function createDatabaseVideo(id, videoUrl, playlistId) {
const data = await metadata.getVideoMetadata(id)
const channelData = await metadata.getChannel(data.authorId)
const uploaderAvatar = await upload.uploadImage(data.authorId, channelData.authorThumbnails[1].url)
2023-08-02 15:51:19 +01:00
const thumbnailUrl = await upload.uploadImage(id, data.videoThumbnails[0].url)
2023-03-28 15:52:17 +01:00
await prisma.videos.create({
data: {
id: id,
title: data.title,
description: (data.descriptionHtml).replaceAll('\n', '<br>'),
2023-03-28 15:52:17 +01:00
thumbnail: thumbnailUrl,
source: videoUrl,
published: (new Date(data.published*1000)).toISOString().slice(0,10),
2023-03-28 15:52:17 +01:00
archived: (new Date()).toISOString().slice(0,10),
channel: channelData.author,
channelId: channelData.authorId,
2023-03-28 15:52:17 +01:00
channelAvatar: uploaderAvatar,
channelVerified: channelData.authorVerified,
2023-03-28 15:52:17 +01:00
playlist: playlistId
}
})
return true
}
module.exports = { createDatabaseVideo }