Refactored fabookauthentication class and moved cookiehandler to situaraeservice
[situare] / src / situareservice / situareservice.cpp
index 6563f59..c9080a8 100644 (file)
@@ -27,7 +27,6 @@
 #include <QNetworkReply>
 #include "situareservice.h"
 #include "situarecommon.h"
-#include "../cookiehandler/cookiehandler.h"
 #include "parser.h"
 
 SituareService::SituareService(QObject *parent)
@@ -68,11 +67,9 @@ void SituareService::fetchLocations()
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    CookieHandler cookieHandler;
-
-    QString cookie = cookieHandler.formCookie(API_KEY, m_credentials.expires(), m_credentials.userID(),
-                                              m_credentials.sessionKey(), m_credentials.sessionSecret(),
-                                              m_credentials.sig(), EN_LOCALE);
+    QString cookie = formCookie(API_KEY, m_credentials.expires(),m_credentials.userID(),
+                                m_credentials.sessionKey(), m_credentials.sessionSecret(),
+                                m_credentials.sig(), EN_LOCALE);
 
     QUrl url = formUrl(SITUARE_URL, GET_LOCATIONS);
     sendRequest(url, COOKIE, cookie);
@@ -82,11 +79,9 @@ void SituareService::reverseGeo(const QPointF &coordinates)
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    CookieHandler cookieHandler;
-
-    QString cookie = cookieHandler.formCookie(API_KEY, m_credentials.expires(), m_credentials.userID(),
-                                              m_credentials.sessionKey(), m_credentials.sessionSecret(),
-                                              m_credentials.sig(), EN_LOCALE);
+    QString cookie = formCookie(API_KEY, m_credentials.expires(),m_credentials.userID(),
+                                m_credentials.sessionKey(), m_credentials.sessionSecret(),
+                                m_credentials.sig(), EN_LOCALE);
 
     QString urlParameters = formUrlParameters(coordinates);
     QUrl url = formUrl(SITUARE_URL, REVERSE_GEO, urlParameters);
@@ -99,11 +94,9 @@ void SituareService::updateLocation(const QPointF &coordinates, const QString &s
 {
     qDebug() << __PRETTY_FUNCTION__;
 
-    CookieHandler cookieHandler;
-
-    QString cookie = cookieHandler.formCookie(API_KEY, m_credentials.expires(), m_credentials.userID(),
-                                              m_credentials.sessionKey(), m_credentials.sessionSecret(),
-                                              m_credentials.sig(), EN_LOCALE);
+    QString cookie = formCookie(API_KEY, m_credentials.expires(),m_credentials.userID(),
+                                m_credentials.sessionKey(), m_credentials.sessionSecret(),
+                                m_credentials.sig(), EN_LOCALE);
 
 
     QString publishValue;
@@ -119,7 +112,64 @@ void SituareService::updateLocation(const QPointF &coordinates, const QString &s
     sendRequest(url, COOKIE, cookie);
 }
 
-QUrl SituareService::formUrl(const QString &baseUrl, const QString &phpScript, QString urlParameters)
+QString SituareService::formCookie(const QString &apiKeyValue, QString expiresValue,
+                                   QString userValue, QString sessionKeyValue,
+                                   QString sessionSecretValue, const QString &signatureValue,
+                                   const QString &localeValue)
+{
+    qDebug() << __PRETTY_FUNCTION__;
+
+    QString cookie;
+    QString apiKey;
+    QString user;
+    QString expires;
+    QString sessionKey;
+    QString sessionSecret;
+    QString locale;
+    QString variable;
+    QString signature = EQUAL_MARK;
+    QStringList variableList;
+
+    signature.append(signatureValue);
+    apiKey.append(apiKeyValue);
+    apiKey.append(UNDERLINE_MARK);
+
+    user.append(USER);
+    user.append(EQUAL_MARK);
+    expires.append(EXPIRES);
+    expires.append(EQUAL_MARK);
+    sessionKey.append(SESSION_KEY);
+    sessionKey.append(EQUAL_MARK);
+    sessionSecret.append(SESSION_SECRET);
+    sessionSecret.append(EQUAL_MARK);
+    locale.append(LOCALE);
+    locale.append(EQUAL_MARK);
+    locale.append(localeValue);
+
+    variableList.append(expires.append(expiresValue.append(BREAK_MARK)));
+    variableList.append(sessionKey.append(sessionKeyValue.append(BREAK_MARK)));
+    variableList.append(user.append(userValue).append(BREAK_MARK));
+    variableList.append(sessionSecret.append(sessionSecretValue.append(BREAK_MARK)));
+
+    cookie.append(BREAK_MARK);
+
+    foreach(variable, variableList) {
+        cookie.append(apiKey);
+        cookie.append(variable);
+    }
+    apiKey.remove(UNDERLINE_MARK);
+    cookie.append(apiKey);
+    cookie.append(signature);
+    cookie.append(BREAK_MARK);
+    cookie.append(locale);
+
+    qDebug() << cookie;
+
+    return cookie;
+}
+
+QUrl SituareService::formUrl(const QString &baseUrl, const QString &phpScript,
+                             QString urlParameters)
 {
     qDebug() << __PRETTY_FUNCTION__;
     QString urlString;
@@ -136,7 +186,8 @@ QUrl SituareService::formUrl(const QString &baseUrl, const QString &phpScript, Q
     return url;
 }
 
-QString SituareService::formUrlParameters(const QPointF &coordinates, QString status, QString publish)
+QString SituareService::formUrlParameters(const QPointF &coordinates, QString status,
+                                          QString publish)
 {
     QString parameters;
 
@@ -299,9 +350,12 @@ void SituareService::parseUserData(const QByteArray &jsonReply)
           m_defaultImage = true;
       }
 
-      User *user = new User(friendMap["address"].toString(), coordinates, friendMap["name"].toString(),
-                            friendMap["note"].toString(), imageUrl, friendMap["timestamp"].toString(),
-                            false, friendMap["uid"].toString(), distanceMap["units"].toString(),
+      User *user = new User(friendMap["address"].toString(), coordinates,
+                            friendMap["name"].toString(),
+                            friendMap["note"].toString(), imageUrl,
+                            friendMap["timestamp"].toString(),
+                            false, friendMap["uid"].toString(),
+                            distanceMap["units"].toString(),
                             distanceMap["value"].toDouble());
 
       m_friendsList.append(user);