您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

display.js 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940
  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. membershipList() {
  9. const { Membership } = this.server.models()
  10. const memberships = Membership.query()
  11. server.log(Membership)
  12. return [
  13. { foo: 'bar', membership_type: 'baz' },
  14. { foo: 'buz', membership_type: 'biz' },
  15. ]
  16. }
  17. async profile(currentUserId, user, transaction) {
  18. const { User } = this.server.models()
  19. const { toProfile } = internals
  20. const result = await User.fetchGraph(user, `[
  21. followedBy(currentUser) as following
  22. ]`, {
  23. transaction
  24. }).modifiers({
  25. currentUser: (builder) => builder.where('Users.id', currentUserId)
  26. })
  27. return toProfile(result)
  28. }
  29. }
  30. internals.toProfile = ({ password, email, following, ...user }) => ({
  31. ...user,
  32. following: (following.length > 0)
  33. })