fragments / src / routes / api / getByIdInfo.js
getByIdInfo.js
Raw
const { Fragment } = require('../../model/fragment');
const logger = require('../../logger');

const {createSuccessResponse} = require('../../response');
const {createErrorResponse} = require('../../response');
/**
 * Gets an authenticated user's fragment data with the given ID
 */
module.exports = async (req, res) => {
	try {
		logger.info(`owner id and id: ${req.user}, ${req.params.id}`);
		const fragment = await Fragment.byId(req.user, req.params.id);

        // If id is invalid or fragment returns undefined, returns status 404
		if (!fragment) {
			return res.status(404).json(createErrorResponse(404, 'invalid id'));
		}


		logger.debug(`fragmentData: ${fragment}`);

		logger.info("sucessfully get the fragment data by id");

		res.status(200).json(createSuccessResponse({ fragment: fragment }));
	} catch (err) {
		logger.error("GET /fragments/:id/info ERROR");
		res.status(404).json(createErrorResponse(404, err.message));
	}
};