'use strict'; const Schmervice = require('@hapipal/schmervice'); const internals = {}; module.exports = class DisplayService extends Schmervice.Service { user({ password, ...user }, token) { return { ...user, token } } membershipList() { const { Membership } = this.server.models() const memberships = Membership.query() server.log(Membership) return [ { foo: 'bar', membership_type: 'baz' }, { foo: 'buz', membership_type: 'biz' }, ] } async profile(currentUserId, user, transaction) { const { User } = this.server.models() const { toProfile } = internals const result = await User.fetchGraph(user, `[ followedBy(currentUser) as following ]`, { transaction }).modifiers({ currentUser: (builder) => builder.where('Users.id', currentUserId) }) return toProfile(result) } } internals.toProfile = ({ password, email, following, ...user }) => ({ ...user, following: (following.length > 0) })