Calculating tag photo dimensions in seed file, improved tag photo lazy loading.
This commit is contained in:
@@ -1,4 +1,7 @@
|
||||
// const nanoid = require('nanoid/non-secure');
|
||||
const path = require('path');
|
||||
const Promise = require('bluebird');
|
||||
const sharp = require('sharp');
|
||||
|
||||
const upsert = require('../src/utils/upsert');
|
||||
|
||||
const sfw = Object.entries({
|
||||
@@ -951,13 +954,27 @@ exports.seed = knex => Promise.resolve()
|
||||
[entity.slug]: entity,
|
||||
}), {});
|
||||
|
||||
const { inserted, updated } = await upsert('media', tagMedia.map(media => ({
|
||||
const tagMediaWithDimensions = await Promise.map(tagMedia, async (media) => {
|
||||
const { width, height } = await sharp(path.join('public/img', media.path)).metadata(); // size not available from filepath
|
||||
|
||||
return {
|
||||
...media,
|
||||
width,
|
||||
height,
|
||||
};
|
||||
}, {
|
||||
concurrency: 20,
|
||||
});
|
||||
|
||||
const { inserted, updated } = await upsert('media', tagMediaWithDimensions.map(media => ({
|
||||
id: media.id,
|
||||
path: media.path,
|
||||
thumbnail: media.thumbnail,
|
||||
lazy: media.lazy,
|
||||
mime: media.mime,
|
||||
index: media.index,
|
||||
width: media.width,
|
||||
height: media.height,
|
||||
comment: media.comment,
|
||||
entity_id: entitiesBySlug[media.entitySlug]?.id,
|
||||
})), 'path', knex);
|
||||
|
||||
Reference in New Issue
Block a user