lib/rest-api-errors.js:4: * REST API specific error classes that can be mapped to HTTP status codes
lib/rest-api-errors.js:12:export class RestApiValidationError extends HookedApiError {
lib/rest-api-errors.js:39:export class RestApiResourceError extends HookedApiError {
lib/rest-api-errors.js:68:export class RestApiPayloadError extends HookedApiError {
lib/error-formatter.js:14:export function formatError (error, options = {}) {
lib/error-formatter.js:116:export function formatErrorString (error, options = {}) {
lib/error-formatter.js:117:  const formatted = formatError(error, options)
lib/error-formatter.js:126:export function formatErrorSummary (error) {
plugins/core/connectors/express-plugin.js:11: * - Error mapping to HTTP status codes
plugins/core/connectors/express-plugin.js:111:    router.use(express.json({
plugins/core/connectors/express-plugin.js:142:          status: null
plugins/core/connectors/express-plugin.js:159:        return res.status(context.rejection.status || 500).json({
plugins/core/connectors/express-plugin.js:161:            status: String(context.rejection.status || 500),
plugins/core/connectors/express-plugin.js:187:            return res.status(415).json({
plugins/core/connectors/express-plugin.js:189:                status: '415',
plugins/core/connectors/express-plugin.js:210:      let status = 500
plugins/core/connectors/express-plugin.js:213:          status: '500',
plugins/core/connectors/express-plugin.js:219:      // Map error codes to HTTP status
plugins/core/connectors/express-plugin.js:221:        status = 422
plugins/core/connectors/express-plugin.js:223:          status: '422',
plugins/core/connectors/express-plugin.js:230:            status: '422',
plugins/core/connectors/express-plugin.js:239:            status = 404
plugins/core/connectors/express-plugin.js:240:            errorResponse.errors[0].status = '404'
plugins/core/connectors/express-plugin.js:244:            status = 409
plugins/core/connectors/express-plugin.js:245:            errorResponse.errors[0].status = '409'
plugins/core/connectors/express-plugin.js:249:            status = 403
plugins/core/connectors/express-plugin.js:250:            errorResponse.errors[0].status = '403'
plugins/core/connectors/express-plugin.js:254:            status = 400
plugins/core/connectors/express-plugin.js:255:            errorResponse.errors[0].status = '400'
plugins/core/connectors/express-plugin.js:259:        status = 400
plugins/core/connectors/express-plugin.js:261:          status: '400',
plugins/core/connectors/express-plugin.js:270:        req.transportData.response.status = status
plugins/core/connectors/express-plugin.js:281:      res.status(status).json(errorResponse)
plugins/core/connectors/express-plugin.js:310:            // Prepare response status
plugins/core/connectors/express-plugin.js:312:            if (result && typeof result.statusCode === 'number') {
plugins/core/connectors/express-plugin.js:313:              responseStatus = result.statusCode
plugins/core/connectors/express-plugin.js:335:              req.transportData.response.status = responseStatus
plugins/core/connectors/express-plugin.js:361:            // Handle response based on status
plugins/core/connectors/express-plugin.js:366:              // This happens when handler returns { statusCode, body, headers }
plugins/core/connectors/express-plugin.js:368:              res.status(responseStatus).json(responseBody)
plugins/core/connectors/express-plugin.js:421:          // Note: Routes from RestApiPlugin already include the full path with mountPath
plugins/core/connectors/express-plugin.js:440:        throw routeError
plugins/core/connectors/express-plugin.js:473:              status: 404,
plugins/core/connectors/express-plugin.js:476:                  status: '404',
plugins/core/connectors/express-plugin.js:495:          res.status(404).json(transportData.response.body)
plugins/core/rest-api-plugin-methods/post-relationship.js:1:import { RestApiResourceError, RestApiValidationError, RestApiPayloadError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/post-relationship.js:32:      throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/post-relationship.js:39:      throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/post-relationship.js:46:      throw new RestApiPayloadError('POST to relationship requires array of resource identifiers')
plugins/core/rest-api-plugin-methods/post-relationship.js:60:      throw new RestApiResourceError('Resource not found', { subtype: 'not_found' })
plugins/core/rest-api-plugin-methods/query.js:1:import { RestApiValidationError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/query.js:17: * @param {object} [queryParams.filters] - An object to filter the collection. Keys are filter parameters (specific to your API's implementation, e.g., 'status', 'title'), values are the filter criteria.
plugins/core/rest-api-plugin-methods/query.js:86:      throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/query.js:104:    // If there are validation errors, throw an error
plugins/core/rest-api-plugin-methods/query.js:112:      throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/query.js:151:    throw e
plugins/core/rest-api-plugin-methods/get.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/get.js:76:    throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/get.js:106:    throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/add-route.js:12:    throw new ValidationError('Route requires method, path, and handler')
plugins/core/rest-api-plugin-methods/get-relationship.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/get-relationship.js:24:    throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/get-relationship.js:47:    throw new RestApiResourceError('Resource not found', { subtype: 'not_found' })
plugins/core/rest-api-plugin-methods/put.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/put.js:102:        throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/delete.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/delete.js:54:      throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/common.js:2:  RestApiValidationError,
plugins/core/rest-api-plugin-methods/common.js:3:  RestApiPayloadError
plugins/core/rest-api-plugin-methods/common.js:148:          throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:158:    throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:173:    throw new RestApiPayloadError(
plugins/core/rest-api-plugin-methods/common.js:182:    throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:208: * @throws {Error} Re-throws the original error after cleanup
plugins/core/rest-api-plugin-methods/common.js:227:  throw error
plugins/core/rest-api-plugin-methods/common.js:236: * @throws {RestApiValidationError} If the pivot resource doesn't exist
plugins/core/rest-api-plugin-methods/common.js:240:    throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:273: * @throws {RestApiValidationError} If validation fails
plugins/core/rest-api-plugin-methods/common.js:335:    throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:396:    throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/common.js:421: * @throws {Error} If user doesn't have access to any related resource
plugins/core/rest-api-plugin-methods/common.js:436:        throw new Error(`Unknown resource type: ${item.type}`)
plugins/core/rest-api-plugin-methods/common.js:457:        throw new Error(`Cannot create relationship to non-existent ${item.type} with id ${item.id}`)
plugins/core/rest-api-plugin-methods/common.js:621:  throw new Error(`Invalid returnMode: ${returnMode}`)
plugins/core/rest-api-plugin-methods/get-related.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/get-related.js:28:    throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/get-related.js:45:    throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/get-related.js:62:    throw new RestApiResourceError('Resource not found', { subtype: 'not_found' })
plugins/core/rest-api-plugin-methods/get-related.js:172:        throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/get-related.js:273:      throw new Error('Missing foreignKey or otherKey in many-to-many relationship')
plugins/core/rest-api-plugin-methods/get-related.js:277:      throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/patch.js:1:import { RestApiResourceError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/patch.js:94:      throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/delete-relationship.js:1:import { RestApiResourceError, RestApiValidationError, RestApiPayloadError } from '../../../lib/rest-api-errors.js'
plugins/core/rest-api-plugin-methods/delete-relationship.js:30:      throw new RestApiResourceError(
plugins/core/rest-api-plugin-methods/delete-relationship.js:37:      throw new RestApiValidationError(
plugins/core/rest-api-plugin-methods/delete-relationship.js:44:      throw new RestApiPayloadError('DELETE from relationship requires array of resource identifiers')
plugins/core/rest-api-plugin-methods/delete-relationship.js:58:      throw new RestApiResourceError('Resource not found', { subtype: 'not_found' })
