UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

60 lines (59 loc) 2.01 kB
import { getTranslation } from '@payloadcms/translations'; import { status as httpStatus } from 'http-status'; import { getRequestCollection } from '../../utilities/getRequestEntity.js'; import { headersWithCors } from '../../utilities/headersWithCors.js'; import { parseParams } from '../../utilities/parseParams/index.js'; import { updateOperation } from '../operations/update.js'; export const updateHandler = async (req)=>{ const collection = getRequestCollection(req); const { depth, draft, limit, overrideLock, populate, select, sort, trash, where } = parseParams(req.query); const result = await updateOperation({ collection, data: req.data, depth, draft, limit, overrideLock: overrideLock ?? false, populate, req, select, sort, trash, where: where }); const headers = headersWithCors({ headers: new Headers(), req }); if (result.errors.length === 0) { const message = req.t('general:updatedCountSuccessfully', { count: result.docs.length, label: getTranslation(collection.config.labels[result.docs.length === 1 ? 'singular' : 'plural'], req.i18n) }); return Response.json({ ...result, message }, { headers, status: httpStatus.OK }); } result.errors = result.errors.map((error)=>error.isPublic ? error : { ...error, message: 'Something went wrong.' }); const total = result.docs.length + result.errors.length; const message = req.t('error:unableToUpdateCount', { count: result.errors.length, label: getTranslation(collection.config.labels[total === 1 ? 'singular' : 'plural'], req.i18n), total }); return Response.json({ ...result, message }, { headers, status: httpStatus.BAD_REQUEST }); }; //# sourceMappingURL=update.js.map