UNPKG

medusa-file-local

Version:
55 lines (48 loc) 1.25 kB
import { AbstractFileService } from '@medusajs/medusa' import fs from "fs" class LocalFileService extends AbstractFileService { // eslint-disable-next-line no-empty-pattern constructor({}, options) { super() this.base_url_ = process.env.BASE_URL ? process.env.BASE_URL : options.base_url ? options.base_url : "http://localhost:9000" this.upload_dir_ = process.env.UPLOAD_DIR ? process.env.UPLOAD_DIR : options.upload_dir ? options.upload_dir : "uploads/images" if (!fs.existsSync(this.upload_dir_)) { fs.mkdirSync(this.upload_dir_) } } upload(file) { return new Promise((resolve, _) => { fs.copyFile( file.path, `${this.upload_dir_}/${file.originalname}`, (err) => { if (err) { throw err } resolve({ url: `${this.base_url_}/${this.upload_dir_}/${file.originalname}`, }) } ) }) } delete(file) { return new Promise((resolve, _) => { fs.unlink(file, (err) => { if (err) { throw err } resolve("Ok") }) }) } } export default LocalFileService