/** * Get formated datas for a single entry. * * @param \Subbly\Model\User $user * * @return array */ public function single($user) { $entry = new Entry($user); $entry->conditionalField('id', function () { return Subbly::api('subbly.user')->hasAccess('subbly.backend.auth'); })->field('uid')->field('email')->field('firstname')->field('lastname')->compositeField('displayName', 'firstname', 'lastname')->relationshipField('addresses', 'Subbly\\Presenter\\V1\\UserAddressPresenter')->integer('orders_total', $user->countOrders())->relationshipField('orders', 'Subbly\\Presenter\\V1\\OrderPresenter')->relationshipField('groups', 'Subbly\\Presenter\\V1\\GroupPresenter')->dateField('last_login')->dateField('created_at')->dateField('updated_at'); return $entry->toArray(); }
/** * Count user's orders. * * @param User|string $user The user_uid or the user model * * @return User * * @pi */ public function countOrders($user) { if ($user instanceof User) { return $user->countOrders(); } }