Commit 5f0bdfaa authored by Emiliano Balbuena's avatar Emiliano Balbuena
Browse files

(feat): Hydrate referrer

parent 3454e3c8
Loading
Loading
Loading
Loading
+28 −4
Original line number Original line Diff line number Diff line
@@ -25,7 +25,11 @@ class RequestHydrationDelegate
            return $request;
            return $request;
        }
        }


        try {
            $user = new User($userGuid);
            $user = new User($userGuid);
        } catch (Exception $exception) {
            $user = null;
        }


        return $request
        return $request
            ->setUser($user);
            ->setUser($user);
@@ -33,10 +37,30 @@ class RequestHydrationDelegate


    public function hydrateForAdmin(Request $request)
    public function hydrateForAdmin(Request $request)
    {
    {
        // TBD
        if (!$request->getUser()) {
            $request = $this->hydrate($request);

            if (!$request->getUser()) {
                return $request;
            }
        }


        // TODO: Hydrate referrer
        $referrerGuid = $request->getUser()->referrer;


        if (!$referrerGuid) {
            return $request;
            return $request;
        }
        }

        try {
            $user = new User($referrerGuid);
        } catch (Exception $exception) {
            // Faux user in case of banned/deleted accounts
            $user = new User();
            $user->guid = $referrerGuid;
            $user->username = $referrerGuid;
        }

        return $request
            ->setReferrer($user);
    }
}
}
+2 −0
Original line number Original line Diff line number Diff line
@@ -28,6 +28,8 @@ use Minds\Traits\MagicAttributes;
 * @method Request setTimestamp(int $timestamp)
 * @method Request setTimestamp(int $timestamp)
 * @method User|null getUser()
 * @method User|null getUser()
 * @method Request setUser(User|null $user)
 * @method Request setUser(User|null $user)
 * @method User|null getReferrer()
 * @method Request setReferrer(User|null $referrer)
 */
 */
class Request implements JsonSerializable
class Request implements JsonSerializable
{
{