From 7848046322e4a4c674cf5ac1da8de8d1b586c142 Mon Sep 17 00:00:00 2001 From: gevorgmansuryan Date: Tue, 23 Jul 2024 01:33:51 +0400 Subject: [PATCH] Endpoint for pending invites --- controllers/user/InviteController.php | 4 +++- definitions/InviteDefinitions.php | 13 +++++++++++++ models/Invite.php | 25 +++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 models/Invite.php diff --git a/controllers/user/InviteController.php b/controllers/user/InviteController.php index 89509a5..c8e2a2e 100644 --- a/controllers/user/InviteController.php +++ b/controllers/user/InviteController.php @@ -57,7 +57,9 @@ public function actionIndex() public function actionList() { - $query = Invite::find()->where(['source' => Invite::SOURCE_INVITE]); + $query = Invite::find() + ->where(['source' => Invite::SOURCE_INVITE]) + ->with(['space', 'originator', 'createdBy', 'updatedBy']); $pagination = $this->handlePagination($query, 10); diff --git a/definitions/InviteDefinitions.php b/definitions/InviteDefinitions.php index a048c11..bf673c5 100644 --- a/definitions/InviteDefinitions.php +++ b/definitions/InviteDefinitions.php @@ -6,11 +6,24 @@ class InviteDefinitions { + /** + * @param Invite|\humhub\modules\rest\models\Invite $invite + * @return array + */ public static function getInvite(Invite $invite) { return [ 'id' => $invite->id, 'email' => $invite->email, + 'firstname' => $invite->firstname, + 'lastname' => $invite->lastname, + 'language' => $invite->language, + 'space' => $invite->space ? SpaceDefinitions::getSpaceShort($invite->space) : null, + 'originator' => $invite->originator ? UserDefinitions::getUserShort($invite->originator) : null, + 'createdBy' => $invite->createdBy ? UserDefinitions::getUserShort($invite->createdBy) : null, + 'updatedBy' => $invite->updatedBy ? UserDefinitions::getUserShort($invite->updatedBy) : null, + 'createdAt' => $invite->created_at, + 'updatedAt' => $invite->updated_at, ]; } } diff --git a/models/Invite.php b/models/Invite.php new file mode 100644 index 0000000..0af7662 --- /dev/null +++ b/models/Invite.php @@ -0,0 +1,25 @@ +hasOne(User::class, ['id' => 'created_by']); + } + + public function getUpdatedBy() + { + return $this->hasOne(User::class, ['id' => 'updated_by']); + } +} \ No newline at end of file