| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- '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()
- this.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,
- })
|