Moved networks to GraphQL.

This commit is contained in:
2020-01-03 00:59:02 +01:00
parent e77dbca954
commit 70e27a6cd9
14 changed files with 169 additions and 76 deletions

View File

@@ -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 = {