From 7d69e1592eb9945512a9858cf467cea4b0d8f04b Mon Sep 17 00:00:00 2001
From: Armin Felder <armin.felder@osalliance.com>
Date: Tue, 13 Nov 2018 00:31:11 +0100
Subject: [PATCH] missing ddp methods

---
 ...ketchatchangeuserpresencedefaultstatus.cpp | 45 +++++++++++++++++++
 .../rocketchatchangeuserpresencestatus.cpp    | 44 ++++++++++++++++++
 .../rocketchatchangeuserpresencestatus.h      | 37 +++++++++++++++
 3 files changed, 126 insertions(+)
 create mode 100644 ddpRequests/rocketchatchangeuserpresencedefaultstatus.cpp
 create mode 100644 ddpRequests/rocketchatchangeuserpresencestatus.cpp
 create mode 100644 ddpRequests/rocketchatchangeuserpresencestatus.h

diff --git a/ddpRequests/rocketchatchangeuserpresencedefaultstatus.cpp b/ddpRequests/rocketchatchangeuserpresencedefaultstatus.cpp
new file mode 100644
index 0000000..bdea603
--- /dev/null
+++ b/ddpRequests/rocketchatchangeuserpresencedefaultstatus.cpp
@@ -0,0 +1,45 @@
+/********************************************************************************************
+ *                                                                                          *
+ * Copyright (C) 2017 Armin Felder, Dennis Beier                                            *
+ * This file is part of RocketChatMobileEngine <https://git.fairkom.net/chat/fairchat>.     *
+ *                                                                                          *
+ * RocketChatMobileEngine is free software: you can redistribute it and/or modify           *
+ * it under the terms of the GNU General Public License as published by                     *
+ * the Free Software Foundation, either version 3 of the License, or                        *
+ * (at your option) any later version.                                                      *
+ *                                                                                          *
+ * RocketChatMobileEngine is distributed in the hope that it will be useful,                *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of                           *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                            *
+ * GNU General Public License for more details.                                             *
+ *                                                                                          *
+ * You should have received a copy of the GNU General Public License                        *
+ * along with RocketChatMobileEngine. If not, see <http://www.gnu.org/licenses/>.           *
+ *                                                                                          *
+ ********************************************************************************************/
+
+
+#include "rocketchatchangeuserpresencedefaultstatus.h"
+#include "repos/entities/rocketchatuser.h"
+
+RocketChatChangeUserPresenceDefaultStatus::RocketChatChangeUserPresenceDefaultStatus( const RocketChatUser::status &pStatus )
+{
+    QJsonArray params;
+
+    QString statusText;
+
+    if ( pStatus == RocketChatUser::status::AWAY ) {
+        statusText = QStringLiteral( "away" );
+    } else if ( pStatus == RocketChatUser::status::ONLINE ) {
+        statusText = QStringLiteral( "online" );
+    } else if ( pStatus == RocketChatUser::status::OFFLINE ) {
+        statusText = QStringLiteral( "offline" );
+    } else if ( pStatus == RocketChatUser::status::BUSY ) {
+        statusText = QStringLiteral( "busy" );
+    }
+
+    params.append( statusText );
+
+    buildRequest( QStringLiteral( "UserPresence:setDefaultStatus" ), params );
+}
+
diff --git a/ddpRequests/rocketchatchangeuserpresencestatus.cpp b/ddpRequests/rocketchatchangeuserpresencestatus.cpp
new file mode 100644
index 0000000..0bc7260
--- /dev/null
+++ b/ddpRequests/rocketchatchangeuserpresencestatus.cpp
@@ -0,0 +1,44 @@
+/********************************************************************************************
+ *                                                                                          *
+ * Copyright (C) 2017 Armin Felder, Dennis Beier                                            *
+ * This file is part of RocketChatMobileEngine <https://git.fairkom.net/chat/fairchat>.     *
+ *                                                                                          *
+ * RocketChatMobileEngine is free software: you can redistribute it and/or modify           *
+ * it under the terms of the GNU General Public License as published by                     *
+ * the Free Software Foundation, either version 3 of the License, or                        *
+ * (at your option) any later version.                                                      *
+ *                                                                                          *
+ * RocketChatMobileEngine is distributed in the hope that it will be useful,                *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of                           *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                            *
+ * GNU General Public License for more details.                                             *
+ *                                                                                          *
+ * You should have received a copy of the GNU General Public License                        *
+ * along with RocketChatMobileEngine. If not, see <http://www.gnu.org/licenses/>.           *
+ *                                                                                          *
+ ********************************************************************************************/
+
+
+#include "rocketchatchangeuserpresencestatus.h"
+#include "repos/entities/rocketchatuser.h"
+
+RocketChatChangeUserPresenceStatus::RocketChatChangeUserPresenceStatus( const RocketChatUser::status &pStatus )
+{
+    QJsonArray params;
+
+    QString statusText;
+
+    if ( pStatus == RocketChatUser::status::AWAY ) {
+        statusText = QStringLiteral( "away" );
+    } else if ( pStatus == RocketChatUser::status::ONLINE ) {
+        statusText = QStringLiteral( "online" );
+    } else if ( pStatus == RocketChatUser::status::OFFLINE ) {
+        statusText = QStringLiteral( "offline" );
+    } else if ( pStatus == RocketChatUser::status::BUSY ) {
+        statusText = QStringLiteral( "busy" );
+    }
+
+    params.append( QJsonValue::Null );
+
+    buildRequest( QStringLiteral( "UserPresence:" ) + statusText, params );
+}
diff --git a/ddpRequests/rocketchatchangeuserpresencestatus.h b/ddpRequests/rocketchatchangeuserpresencestatus.h
new file mode 100644
index 0000000..b6e356c
--- /dev/null
+++ b/ddpRequests/rocketchatchangeuserpresencestatus.h
@@ -0,0 +1,37 @@
+/********************************************************************************************
+ *                                                                                          *
+ * Copyright (C) 2017 Armin Felder, Dennis Beier                                            *
+ * This file is part of RocketChatMobileEngine <https://git.fairkom.net/chat/fairchat>.     *
+ *                                                                                          *
+ * RocketChatMobileEngine is free software: you can redistribute it and/or modify           *
+ * it under the terms of the GNU General Public License as published by                     *
+ * the Free Software Foundation, either version 3 of the License, or                        *
+ * (at your option) any later version.                                                      *
+ *                                                                                          *
+ * RocketChatMobileEngine is distributed in the hope that it will be useful,                *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of                           *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                            *
+ * GNU General Public License for more details.                                             *
+ *                                                                                          *
+ * You should have received a copy of the GNU General Public License                        *
+ * along with RocketChatMobileEngine. If not, see <http://www.gnu.org/licenses/>.           *
+ *                                                                                          *
+ ********************************************************************************************/
+
+
+#ifndef ROCKETCHATCHANGEUSERPRESANCESTATUS_H
+#define ROCKETCHATCHANGEUSERPRESANCESTATUS_H
+
+#include "ddpmethodrequest.h"
+#include "repos/entities/rocketchatuser.h"
+
+
+class RocketChatChangeUserPresenceStatus:  public DDPMethodRequest
+{
+    public:
+
+        RocketChatChangeUserPresenceStatus( const RocketChatUser::status &pStatus );
+
+};
+
+#endif // ROCKETCHATCHANGEUSERPRESANCEDEFAULTSTATUS_H
-- 
GitLab