@r1tsu/payload
Version:
48 lines (47 loc) • 1.5 kB
JavaScript
import jwt from 'jsonwebtoken';
export const meOperation = async ({ collection, currentToken, req })=>{
let result = {
user: null
};
if (req.user) {
const { pathname } = req;
const isGraphQL = 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;
result = {
collection: req.user.collection,
user
};
if (currentToken) {
const decoded = jwt.decode(currentToken);
if (decoded) result.exp = decoded.exp;
result.token = currentToken;
}
}
// /////////////////////////////////////
// After Me - Collection
// /////////////////////////////////////
await collection.config.hooks.afterMe.reduce(async (priorHook, hook)=>{
await priorHook;
result = await hook({
collection: collection?.config,
context: req.context,
req,
response: result
}) || result;
}, Promise.resolve());
return result;
};
//# sourceMappingURL=me.js.map