| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 'use strict';
-
- const Schmervice = require('@hapipal/schmervice');
- const internals = {};
-
- module.exports = class DisplayService extends Schmervice.Service {
- user({ password, ...user }, token) {
- return { ...user, token }
- }
-
- /**
- * List all memberships
- * @returns
- */
- membershipList() {
- const { Membership } = this.server.models()
- const memberships = Membership.query()
- server.log(Membership)
- return memberships
- }
-
- /**
- *
- * @param {number} currentUserId
- * @param {User} user
- * @param {*} txn
- * @returns
- */
- async profile(currentUserId, user, txn) {
- const { User } = this.server.models()
- const { toProfile } = internals
-
- const result = await User.fetchGraph(user, `[
- followedBy(currentUser) as following
- ]`, {
- txn
- }).modifiers({
- currentUser: (builder) => builder.where('Users.id', currentUserId)
- })
-
- return toProfile(result)
- }
- }
-
- internals.toProfile = ({ password, email, following, ...user }) => ({
- ...user,
- following: (following.length > 0)
- })
|