Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

display.js 800B

123456789101112131415161718192021222324252627282930
  1. 'use strict';
  2. const Schmervice = require('@hapipal/schmervice');
  3. const internals = {};
  4. module.exports = class DisplayService extends Schmervice.Service {
  5. user({ password, ...user }, token) {
  6. return { ...user, token }
  7. }
  8. async profile(currentUserId, user, transaction) {
  9. const { User } = this.server.models()
  10. const { toProfile } = internals
  11. const result = await User.fetchGraph(user, `[
  12. followedBy(currentUser) as following
  13. ]`, {
  14. transaction
  15. }).modifiers({
  16. currentUser: (builder) => builder.where('Users.id', currentUserId)
  17. })
  18. return toProfile(result)
  19. }
  20. }
  21. internals.toProfile = ({ password, email, following, ...user }) => ({
  22. ...user,
  23. following: (following.length > 0)
  24. })