FCC-Project_File-Metadata/scripts/API/actions/metadata.js

24 lines
No EOL
838 B
JavaScript

const CustomErrors = require(`../../utilities/errors`);
const Messaging = require(`../../utilities/messaging`);
const MetadataExtractor = require(`../../file-management/analyze`);
const Cleaner = require(`../response/simple-data`);
const MetadataRequest = class Request {
static analyze (REQUEST, RESPONSE) {
// Check if the file is valid.
if (REQUEST.file) {
// Get the file information.
const fileInfo = new MetadataExtractor(REQUEST.file).extract([ `originalname`, `mimetype`, `size`]);
const cleanedData = (new Cleaner(fileInfo)).format();
RESPONSE.status(200).json(cleanedData);
} else {
// If the file is not valid, return an error.
const ERROR = new CustomErrors.Data.Missing(REQUEST.file);
Messaging.exception(RESPONSE, ERROR);
};
};
}
module.exports = MetadataRequest;