From deab7caed978527dbe0cd4a55f021058713869d0 Mon Sep 17 00:00:00 2001 From: Christy Jacob Date: Mon, 20 Mar 2023 15:57:14 +0530 Subject: [PATCH] feat: update docker image --- src/Appwrite/Platform/Tasks/Hamster.php | 52 +++++++++++++------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/src/Appwrite/Platform/Tasks/Hamster.php b/src/Appwrite/Platform/Tasks/Hamster.php index 85f751ec49..cf484f2703 100644 --- a/src/Appwrite/Platform/Tasks/Hamster.php +++ b/src/Appwrite/Platform/Tasks/Hamster.php @@ -94,16 +94,18 @@ class Hamster extends Action Query::equal('teamInternalId', [$teamInternalId]), ]); - if($membership && !$membership->isEmpty()) { - $userInternalId = $membership->getAttribute('userInternalId', null); - if ($userInternalId) { - $user = $dbForConsole->findOne('users', [ - Query::equal('_id', [$userInternalId]), - ]); + if (!$membership || $membership->isEmpty()) { + throw new Exception('Membership not found. Skipping project : ' . $project->getId()); + } - $stats['email'] = $user->getAttribute('email', null); - $stats['name'] = $user->getAttribute('name', null); - } + $userInternalId = $membership->getAttribute('userInternalId', null); + if ($userInternalId) { + $user = $dbForConsole->findOne('users', [ + Query::equal('_id', [$userInternalId]), + ]); + + $stats['email'] = $user->getAttribute('email', null); + $stats['name'] = $user->getAttribute('name', null); } } @@ -238,23 +240,25 @@ class Hamster extends Action $statsPerProject = $this->getStats($dbForConsole, $dbForProject, $project); - /** Send data to mixpanel */ - $res = $this->mixpanel->createProfile($statsPerProject['email'], '', [ - 'name' => $statsPerProject['name'], - 'email' => $statsPerProject['email'] - ]); + if (isset($statsPerProject['email'])) { + /** Send data to mixpanel */ + $res = $this->mixpanel->createProfile($statsPerProject['email'], '', [ + 'name' => $statsPerProject['name'], + 'email' => $statsPerProject['email'] + ]); - if (!$res) { - Console::error('Failed to create user profile for project: ' . $project->getId()); - } + if (!$res) { + Console::error('Failed to create user profile for project: ' . $project->getId()); + } - $event = new Event(); - $event - ->setName('Appwrite Cloud Project Stats') - ->setProps($statsPerProject); - $res = $this->mixpanel->createEvent($event); - if (!$res) { - Console::error('Failed to create event for project: ' . $project->getId()); + $event = new Event(); + $event + ->setName('Appwrite Cloud Project Stats') + ->setProps($statsPerProject); + $res = $this->mixpanel->createEvent($event); + if (!$res) { + Console::error('Failed to create event for project: ' . $project->getId()); + } } } catch (\Throwable $th) { Console::error('Failed to get stats for project ("' . $project->getId() . '") with error: ' . $th->getMessage());