user-serializer.js 496 B

123456789101112131415161718192021222324252627
  1. function omitInsecureAttributes(user) {
  2. // omit password
  3. delete user.password;
  4. // omit email
  5. if (!user.isEmailPublished) {
  6. delete user.email;
  7. }
  8. return user;
  9. }
  10. function serializeUserSecurely(user) {
  11. let serialized = user;
  12. // invoke toObject if page is a model instance
  13. if (user.toObject != null) {
  14. serialized = user.toObject();
  15. }
  16. omitInsecureAttributes(serialized);
  17. return serialized;
  18. }
  19. module.exports = {
  20. omitInsecureAttributes,
  21. serializeUserSecurely,
  22. };