public function toArray() { $result = ConvertUtil::objectToArray($this, $dst, ['id' => 'uid', 'username' => 'account', 'nick', 'motto', 'token']); $result['avatar'] = $this->avatar ? PIC_HOST . $this->avatar : null; $result['present'] = JegarnUtil::getUserPresent($this->id); return $result; }
public function receiveRequest($userTwo, $userOne) { $resp = $this->request('/api/roster/update', ['uid' => $userTwo->id, 'token' => $userTwo->token, 'target_id' => $userOne->id, 'status' => Roster::STATUS_AGREE, 'remark' => 'jack', 'group_id' => 0, 'rank' => 1], true); $this->assertRequestSuccess($resp); $roster = $this->getResponseBody($resp); // check cache, when user agree the request, both user will receive a agree message $this->assertNotificationPacket($userTwo->id, new FriendAgreeNotification()); $this->assertNotificationPacket($userOne->id, new FriendAgreeNotification()); return ConvertUtil::arrayToObject($roster, new Roster(), ['roster_id' => 'id', 'target_id' => 'targetId', 'status']); }
public function createUserByAccount($account, $password, $nick) { // create a user $resp = $this->request('/api/user/create', ['account' => $account, 'password' => $password, 'nick' => $nick], true); $this->assertRequestSuccess($resp); $user = $this->getResponseBody($resp); // cache check, user should be register into cache database self::assertTrue(\jegarn\manager\UserManager::getInstance()->getUser($account) !== null); return ConvertUtil::arrayToObject($user, new User(), ['uid' => 'id', 'account' => 'username', 'nick', 'token']); }
public function toArray() { return ConvertUtil::objectToArray($this, $dst, ['id', 'gid', 'uid', 'status', 'permission', 'create_time', 'remark']); }
public function toArray() { return ConvertUtil::objectToArray($this, $dst, ['id', 'from', 'to', 'create_time', 'message']); }
public function quitGroup(Group $group, GroupUser $model) { if ($resp = $this->checkGroupWithUser($group, $model)) { return $resp; } if (($result = $this->getGroupUserArray($model)) instanceof ApiResponse) { return $result; } if ($result) { ConvertUtil::arrayToObject($result, $model, ['id', 'gid', 'uid', 'permission', 'create_time', 'status', 'remark']); if (Group::TYPE_CHATROOM == $group->type) { return GroupManager::getInstance()->quitOrDeleteChatroom($group, $model); } else { if ($group->uid == $model->uid) { return new ApiResponse(Code::FAIL_PERMISSION_DENY, 'create user can not quit'); } if ($resp = $this->removeGroupUserById($model)) { return $resp; } JegarnUtil::quitGroup($group->id, $model->uid); JegarnUtil::sendGroupQuitNotification($group->uid, $model->uid, $group->id, $group->name); } } return null; }
public function toArray() { $result = ConvertUtil::objectToArray($this, $dst, ['id' => 'group_id', 'uid', 'type', 'name', 'create_time', 'description', 'member_count']); $result['icon'] = $this->icon ? PIC_HOST . $this->icon : ''; return $result; }
public function getRoster(Roster $model) { $dbManager = Db::getInstance(); if ($model->id) { $statement = $dbManager->prepare(self::GET_ROSTER_BY_ID); $executeRet = $statement->execute([$model->id]); } else { if ($model->uid && $model->target_id) { $statement = $dbManager->prepare(self::GET_ROSTER_BY_FRIEND); $executeRet = $statement->execute([$model->uid, $model->target_id]); } else { return new ApiResponse(Code::FAIL_ROSTER_NOT_EXISTS, 'id is empty || uid & target_id is empty'); } } if (!$executeRet) { return new ApiResponse(Code::FAIL_DATABASE_ERROR, 'get roster failed'); } $result = $statement->fetch(PDO::FETCH_ASSOC); if (!$result) { return new ApiResponse(Code::FAIL_ROSTER_NOT_EXISTS, 'get roster failed'); } ConvertUtil::arrayToObject($result, $model, ['id', 'uid', 'target_id', 'status', 'remark', 'group_id', 'rank']); return null; }
function toArray() { return ConvertUtil::objectToArray($this, $dst, ['id' => 'roster_id', 'uid', 'target_id', 'status', 'create_time', 'update_time', 'remark', 'group_id', 'rank']); }
public function listUsers($groupId, $status, User $user) { $resp = $this->request('/api/group/list_user', ['uid' => $user->id, 'token' => $user->token, 'group_id' => $groupId, 'status' => $status]); $this->assertResponseNotEmptyList($resp); $results = $this->getResponseBody($resp); $objList = []; foreach ($results as $result) { $objList[] = ConvertUtil::arrayToObject($result, new GroupUser(), ['id', 'gid', 'uid', 'status', 'permission', 'create_time', 'remark']); } return $objList; }
public function getUser(User $model) { $dbManager = Db::getInstance(); if ($model->id) { $statement = $dbManager->prepare(self::GET_USER_BY_UID); $statement->bindValue(1, $model->id, PDO::PARAM_INT); } else { if ($model->username) { $statement = $dbManager->prepare(self::GET_USER_BY_USERNAME); $statement->bindValue(1, $model->username, PDO::PARAM_STR); } else { return new ApiResponse(Code::FAIL_USER_UID_OR_NAME_NOT_EXISTS, null); } } if (!$statement->execute()) { return new ApiResponse(Code::FAIL_DATABASE_ERROR, 'get user failed'); } $result = $statement->fetch(PDO::FETCH_ASSOC); if (!$result) { return new ApiResponse(Code::FAIL_USER_NOT_EXISTS, null); } ConvertUtil::arrayToObject($result, $model, ['id', 'username', 'password', 'avatar', 'token', 'nick', 'motto']); return null; }
function toArray() { $dst = ConvertUtil::objectToArray($this, $dst, ['id' => 'group_id', 'uid', 'rank']); $dst['name'] = $this->isDefaultGroup() ? self::DEFAULT_NAME : $this->name; return $dst; }