]>
Commit | Line | Data |
---|---|---|
c53853ca C |
1 | import { remove } from 'fs-extra' |
2 | import { join } from 'path' | |
3 | import { processImage } from '@server/helpers/image-utils' | |
4 | import { doRequestAndSaveToFile } from '@server/helpers/requests' | |
5 | import { CONFIG } from '@server/initializers/config' | |
6 | ||
7 | async function downloadImage (options: { | |
8 | url: string | |
9 | destDir: string | |
10 | destName: string | |
11 | size: { width: number, height: number } | |
12 | }) { | |
13 | const { url, destDir, destName, size } = options | |
14 | ||
15 | const tmpPath = join(CONFIG.STORAGE.TMP_DIR, 'pending-' + destName) | |
16 | await doRequestAndSaveToFile(url, tmpPath) | |
17 | ||
18 | const destPath = join(destDir, destName) | |
19 | ||
20 | try { | |
21 | await processImage(tmpPath, destPath, size) | |
22 | } catch (err) { | |
23 | await remove(tmpPath) | |
24 | ||
25 | throw err | |
26 | } | |
27 | } | |
28 | ||
29 | module.exports = downloadImage | |
30 | ||
31 | export { | |
32 | downloadImage | |
33 | } |