Moved networks to GraphQL.
This commit is contained in:
35
src/media.js
35
src/media.js
@@ -48,6 +48,7 @@ async function createThumbnail(buffer) {
|
||||
}
|
||||
|
||||
async function createMediaDirectory(domain, subpath) {
|
||||
console.log(domain, subpath);
|
||||
const filepath = path.join(config.media.path, domain, subpath);
|
||||
|
||||
await fs.mkdir(filepath, { recursive: true });
|
||||
@@ -246,8 +247,6 @@ async function storeTrailer(trailers, {
|
||||
const [sourceDuplicates, sourceOriginals] = await findDuplicates([trailer], 'source', 'src', label);
|
||||
|
||||
const metaFiles = await Promise.map(sourceOriginals, async (trailerX) => {
|
||||
console.log('trailer x', trailerX, trailerX.src);
|
||||
|
||||
const { pathname } = new URL(trailerX.src);
|
||||
const mimetype = trailerX.type || mime.getType(pathname);
|
||||
|
||||
@@ -256,6 +255,7 @@ async function storeTrailer(trailers, {
|
||||
const filepath = path.join(domain, subpath, `trailer${trailerX.quality ? `_${trailerX.quality}` : ''}.${mime.getExtension(mimetype)}`);
|
||||
|
||||
return {
|
||||
trailer: res.body,
|
||||
path: filepath,
|
||||
mime: mimetype,
|
||||
source: trailerX.src,
|
||||
@@ -264,25 +264,28 @@ async function storeTrailer(trailers, {
|
||||
};
|
||||
});
|
||||
|
||||
const [hashDuplicates, hashOriginals] = await findDuplicates(metaFiles, 'hash', null, label);
|
||||
|
||||
console.log('hash dup', hashDuplicates, hashOriginals);
|
||||
const [hashDuplicates, hashOriginals] = await findDuplicates(metaFiles, 'hash', 'hash', label);
|
||||
|
||||
const newTrailers = await knex('media')
|
||||
.insert(hashOriginals)
|
||||
.insert(hashOriginals.map(trailerX => ({
|
||||
path: trailerX.path,
|
||||
mime: trailerX.mime,
|
||||
source: trailerX.source,
|
||||
quality: trailerX.quality,
|
||||
hash: trailerX.hash,
|
||||
})))
|
||||
.returning('*');
|
||||
|
||||
console.log(newTrailers);
|
||||
await Promise.all(hashOriginals.map(trailerX => fs.writeFile(path.join(config.media.path, trailerX.path), trailerX.trailer)));
|
||||
|
||||
await Promise.all([
|
||||
// fs.writeFile(path.join(config.media.path, filepath), res.body),
|
||||
/*
|
||||
knex('releases_trailers').insert({
|
||||
release_id: targetId,
|
||||
media_id: mediaEntries[0].id,
|
||||
}),
|
||||
*/
|
||||
]);
|
||||
const trailerEntries = Array.isArray(newTrailers)
|
||||
? [...sourceDuplicates, ...hashDuplicates, ...newTrailers]
|
||||
: [...sourceDuplicates, ...hashDuplicates];
|
||||
|
||||
await upsert('releases_trailers', trailerEntries.map(trailerEntry => ({
|
||||
release_id: targetId,
|
||||
media_id: trailerEntry.id,
|
||||
})), ['release_id', 'media_id']);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
|
||||
Reference in New Issue
Block a user