payload
Version:
Node, React and MongoDB Headless CMS and Application Framework
68 lines (67 loc) • 7.25 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "default", {
enumerable: true,
get: function() {
return _default;
}
});
const _jsonwebtoken = /*#__PURE__*/ _interop_require_default(require("jsonwebtoken"));
const _url = /*#__PURE__*/ _interop_require_default(require("url"));
const _getExtractJWT = /*#__PURE__*/ _interop_require_default(require("../getExtractJWT"));
function _interop_require_default(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
async function me({ collection, req }) {
const extractJWT = (0, _getExtractJWT.default)(req.payload.config);
let response = {
user: null
};
if (req.user) {
const parsedURL = _url.default.parse(req.originalUrl);
const isGraphQL = parsedURL.pathname === `/api${req.payload.config.routes.graphQL}`;
const user = await req.payload.findByID({
id: req.user.id,
collection: collection.config.slug,
depth: isGraphQL ? 0 : collection.config.auth.depth,
overrideAccess: false,
req,
showHiddenFields: false
});
if (req.user.collection !== collection.config.slug) {
return {
user: null
};
}
delete user.collection;
response = {
collection: req.user.collection,
user
};
const token = extractJWT(req);
if (token) {
const decoded = _jsonwebtoken.default.decode(token);
if (decoded) response.exp = decoded.exp;
if (!collection.config.auth.removeTokenFromResponses) response.token = token;
}
}
// /////////////////////////////////////
// After Me - Collection
// /////////////////////////////////////
await collection.config.hooks.afterMe.reduce(async (priorHook, hook)=>{
await priorHook;
response = await hook({
collection: collection?.config,
context: req.context,
req,
response
}) || response;
}, Promise.resolve());
return response;
}
const _default = me;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL29wZXJhdGlvbnMvbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGp3dCBmcm9tICdqc29ud2VidG9rZW4nXG5pbXBvcnQgdXJsIGZyb20gJ3VybCdcblxuaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJy4uLy4uL2V4cHJlc3MvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFVzZXIgfSBmcm9tICcuLi90eXBlcydcblxuaW1wb3J0IGdldEV4dHJhY3RKV1QgZnJvbSAnLi4vZ2V0RXh0cmFjdEpXVCdcblxuZXhwb3J0IHR5cGUgUmVzdWx0ID0ge1xuICBjb2xsZWN0aW9uPzogc3RyaW5nXG4gIGV4cD86IG51bWJlclxuICB0b2tlbj86IHN0cmluZ1xuICB1c2VyPzogVXNlclxufVxuXG5leHBvcnQgdHlwZSBBcmd1bWVudHMgPSB7XG4gIGNvbGxlY3Rpb246IENvbGxlY3Rpb25cbiAgcmVxOiBQYXlsb2FkUmVxdWVzdFxufVxuXG5hc3luYyBmdW5jdGlvbiBtZSh7IGNvbGxlY3Rpb24sIHJlcSB9OiBBcmd1bWVudHMpOiBQcm9taXNlPFJlc3VsdD4ge1xuICBjb25zdCBleHRyYWN0SldUID0gZ2V0RXh0cmFjdEpXVChyZXEucGF5bG9hZC5jb25maWcpXG4gIGxldCByZXNwb25zZTogUmVzdWx0ID0ge1xuICAgIHVzZXI6IG51bGwsXG4gIH1cblxuICBpZiAocmVxLnVzZXIpIHtcbiAgICBjb25zdCBwYXJzZWRVUkwgPSB1cmwucGFyc2UocmVxLm9yaWdpbmFsVXJsKVxuICAgIGNvbnN0IGlzR3JhcGhRTCA9IHBhcnNlZFVSTC5wYXRobmFtZSA9PT0gYC9hcGkke3JlcS5wYXlsb2FkLmNvbmZpZy5yb3V0ZXMuZ3JhcGhRTH1gXG5cbiAgICBjb25zdCB1c2VyID0gKGF3YWl0IHJlcS5wYXlsb2FkLmZpbmRCeUlEKHtcbiAgICAgIGlkOiByZXEudXNlci5pZCxcbiAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24uY29uZmlnLnNsdWcsXG4gICAgICBkZXB0aDogaXNHcmFwaFFMID8gMCA6IGNvbGxlY3Rpb24uY29uZmlnLmF1dGguZGVwdGgsXG4gICAgICBvdmVycmlkZUFjY2VzczogZmFsc2UsXG4gICAgICByZXEsXG4gICAgICBzaG93SGlkZGVuRmllbGRzOiBmYWxzZSxcbiAgICB9KSkgYXMgVXNlclxuXG4gICAgaWYgKHJlcS51c2VyLmNvbGxlY3Rpb24gIT09IGNvbGxlY3Rpb24uY29uZmlnLnNsdWcpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHVzZXI6IG51bGwsXG4gICAgICB9XG4gICAgfVxuXG4gICAgZGVsZXRlIHVzZXIuY29sbGVjdGlvblxuXG4gICAgcmVzcG9uc2UgPSB7XG4gICAgICBjb2xsZWN0aW9uOiByZXEudXNlci5jb2xsZWN0aW9uLFxuICAgICAgdXNlcixcbiAgICB9XG5cbiAgICBjb25zdCB0b2tlbiA9IGV4dHJhY3RKV1QocmVxKVxuXG4gICAgaWYgKHRva2VuKSB7XG4gICAgICBjb25zdCBkZWNvZGVkID0gand0LmRlY29kZSh0b2tlbikgYXMgand0Lkp3dFBheWxvYWRcbiAgICAgIGlmIChkZWNvZGVkKSByZXNwb25zZS5leHAgPSBkZWNvZGVkLmV4cFxuICAgICAgaWYgKCFjb2xsZWN0aW9uLmNvbmZpZy5hdXRoLnJlbW92ZVRva2VuRnJvbVJlc3BvbnNlcykgcmVzcG9uc2UudG9rZW4gPSB0b2tlblxuICAgIH1cbiAgfVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gQWZ0ZXIgTWUgLSBDb2xsZWN0aW9uXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuICBhd2FpdCBjb2xsZWN0aW9uLmNvbmZpZy5ob29rcy5hZnRlck1lLnJlZHVjZShhc3luYyAocHJpb3JIb29rLCBob29rKSA9PiB7XG4gICAgYXdhaXQgcHJpb3JIb29rXG5cbiAgICByZXNwb25zZSA9XG4gICAgICAoYXdhaXQgaG9vayh7XG4gICAgICAgIGNvbGxlY3Rpb246IGNvbGxlY3Rpb24/LmNvbmZpZyxcbiAgICAgICAgY29udGV4dDogcmVxLmNvbnRleHQsXG4gICAgICAgIHJlcSxcbiAgICAgICAgcmVzcG9uc2UsXG4gICAgICB9KSkgfHwgcmVzcG9uc2VcbiAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgcmV0dXJuIHJlc3BvbnNlXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lXG4iXSwibmFtZXMiOlsibWUiLCJjb2xsZWN0aW9uIiwicmVxIiwiZXh0cmFjdEpXVCIsImdldEV4dHJhY3RKV1QiLCJwYXlsb2FkIiwiY29uZmlnIiwicmVzcG9uc2UiLCJ1c2VyIiwicGFyc2VkVVJMIiwidXJsIiwicGFyc2UiLCJvcmlnaW5hbFVybCIsImlzR3JhcGhRTCIsInBhdGhuYW1lIiwicm91dGVzIiwiZ3JhcGhRTCIsImZpbmRCeUlEIiwiaWQiLCJzbHVnIiwiZGVwdGgiLCJhdXRoIiwib3ZlcnJpZGVBY2Nlc3MiLCJzaG93SGlkZGVuRmllbGRzIiwidG9rZW4iLCJkZWNvZGVkIiwiand0IiwiZGVjb2RlIiwiZXhwIiwicmVtb3ZlVG9rZW5Gcm9tUmVzcG9uc2VzIiwiaG9va3MiLCJhZnRlck1lIiwicmVkdWNlIiwicHJpb3JIb29rIiwiaG9vayIsImNvbnRleHQiLCJQcm9taXNlIiwicmVzb2x2ZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFpRkE7OztlQUFBOzs7cUVBakZnQjs0REFDQTtzRUFNVTs7Ozs7O0FBYzFCLGVBQWVBLEdBQUcsRUFBRUMsVUFBVSxFQUFFQyxHQUFHLEVBQWE7SUFDOUMsTUFBTUMsYUFBYUMsSUFBQUEsc0JBQWEsRUFBQ0YsSUFBSUcsT0FBTyxDQUFDQyxNQUFNO0lBQ25ELElBQUlDLFdBQW1CO1FBQ3JCQyxNQUFNO0lBQ1I7SUFFQSxJQUFJTixJQUFJTSxJQUFJLEVBQUU7UUFDWixNQUFNQyxZQUFZQyxZQUFHLENBQUNDLEtBQUssQ0FBQ1QsSUFBSVUsV0FBVztRQUMzQyxNQUFNQyxZQUFZSixVQUFVSyxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUVaLElBQUlHLE9BQU8sQ0FBQ0MsTUFBTSxDQUFDUyxNQUFNLENBQUNDLE9BQU8sQ0FBQyxDQUFDO1FBRW5GLE1BQU1SLE9BQVEsTUFBTU4sSUFBSUcsT0FBTyxDQUFDWSxRQUFRLENBQUM7WUFDdkNDLElBQUloQixJQUFJTSxJQUFJLENBQUNVLEVBQUU7WUFDZmpCLFlBQVlBLFdBQVdLLE1BQU0sQ0FBQ2EsSUFBSTtZQUNsQ0MsT0FBT1AsWUFBWSxJQUFJWixXQUFXSyxNQUFNLENBQUNlLElBQUksQ0FBQ0QsS0FBSztZQUNuREUsZ0JBQWdCO1lBQ2hCcEI7WUFDQXFCLGtCQUFrQjtRQUNwQjtRQUVBLElBQUlyQixJQUFJTSxJQUFJLENBQUNQLFVBQVUsS0FBS0EsV0FBV0ssTUFBTSxDQUFDYSxJQUFJLEVBQUU7WUFDbEQsT0FBTztnQkFDTFgsTUFBTTtZQUNSO1FBQ0Y7UUFFQSxPQUFPQSxLQUFLUCxVQUFVO1FBRXRCTSxXQUFXO1lBQ1ROLFlBQVlDLElBQUlNLElBQUksQ0FBQ1AsVUFBVTtZQUMvQk87UUFDRjtRQUVBLE1BQU1nQixRQUFRckIsV0FBV0Q7UUFFekIsSUFBSXNCLE9BQU87WUFDVCxNQUFNQyxVQUFVQyxxQkFBRyxDQUFDQyxNQUFNLENBQUNIO1lBQzNCLElBQUlDLFNBQVNsQixTQUFTcUIsR0FBRyxHQUFHSCxRQUFRRyxHQUFHO1lBQ3ZDLElBQUksQ0FBQzNCLFdBQVdLLE1BQU0sQ0FBQ2UsSUFBSSxDQUFDUSx3QkFBd0IsRUFBRXRCLFNBQVNpQixLQUFLLEdBQUdBO1FBQ3pFO0lBQ0Y7SUFFQSx3Q0FBd0M7SUFDeEMsd0JBQXdCO0lBQ3hCLHdDQUF3QztJQUV4QyxNQUFNdkIsV0FBV0ssTUFBTSxDQUFDd0IsS0FBSyxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQyxPQUFPQyxXQUFXQztRQUM3RCxNQUFNRDtRQUVOMUIsV0FDRSxBQUFDLE1BQU0yQixLQUFLO1lBQ1ZqQyxZQUFZQSxZQUFZSztZQUN4QjZCLFNBQVNqQyxJQUFJaUMsT0FBTztZQUNwQmpDO1lBQ0FLO1FBQ0YsTUFBT0E7SUFDWCxHQUFHNkIsUUFBUUMsT0FBTztJQUVsQixPQUFPOUI7QUFDVDtNQUVBLFdBQWVQIn0=