/*! * Copyright (c) 2024 PLANKA Software GmbH * Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md */ /** * unauthorized.js * * A custom response. * * Example usage: * ``` * return res.unauthorized(); * // -or- * return res.unauthorized(optionalData); * ``` * * Or with actions2: * ``` * exits: { * somethingHappened: { * responseType: 'unauthorized' * } * } * ``` * * ``` * throw 'somethingHappened'; * // -or- * throw { somethingHappened: optionalData } * ``` */ /** * @swagger * components: * responses: * Unauthorized: * description: Authentication required or invalid credentials * content: * application/json: * schema: * type: object * required: * - code * - message * properties: * code: * type: string * description: Error code * example: E_UNAUTHORIZED * message: * type: string * description: Error message * example: Access token is missing, invalid or expired */ module.exports = function unauthorized(message) { const { res } = this; return res.status(401).json({ code: 'E_UNAUTHORIZED', message, }); };