void StorageService::UpdateDocumentByDocId(string dbName, string collectionName, string docId,string json, CCObject* pTarget, cocos2d::SEL_CallFuncND pSelector) { App42StorageResponse *response = new App42StorageResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(dbName, "Database Name"); Util::throwExceptionIfStringNullOrBlank(collectionName, "Collection Name"); Util::throwExceptionIfStringNullOrBlank(docId, "Doc ID"); Util::throwExceptionIfStringNullOrBlank(json, "Json String"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((cocos2d::CCNode *)pTarget, response); } delete e; e = NULL; return; } map<string, string> postMap; string timestamp = Util::getTimeStamp(); populateSignParams(postMap); postMap["dbName"] = dbName; postMap["collectionName"] = collectionName; postMap["docId"] = docId; string storageBody = BuildStorageBody(json); postMap["body"] = storageBody; string signature = Util::signMap(secretKey, postMap); string resource = "storage/updateByDocId/dbName/"; resource.append(dbName + "/collectionName/"); resource.append(collectionName+"/docId/"); resource.append(docId); string baseUrl = getBaseUrl(resource); baseUrl.append("?"); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executePut(baseUrl, headers, storageBody.c_str(), response, callfuncND_selector(App42StorageResponse::onComplete)); }
void EmailService::getEmailConfigurations(App42CallBack* pTarget, SEL_App42CallFuncND pSelector) { App42EmailResponse *response = new App42EmailResponse::App42EmailResponse(pTarget,pSelector); try { Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((App42CallBack *)pTarget, response); } delete e; e = NULL; return; } string timestamp = Util::getTimeStamp(); /** * Creating SignParams and signature */ map<string, string> signParams; populateSignParams(signParams); string signature = Util::signMap(secretKey, signParams); /** * Creating URL */ string resource = "email"; resource.append("/configuration"); string baseUrl = getBaseUrl(resource); baseUrl.append("?"); string encodedUrl = url_encode(baseUrl); // Util::app42Trace("\n baseUrl = %s",baseUrl.c_str()); // Util::app42Trace("\n createUserbody = %s",createUserbody.c_str()); /** * Creating Headers */ std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); /** * Initiating Http call */ Util::executeGet(encodedUrl, headers, response, httpresponse_selector(App42UserResponse::onComplete)); }
void StorageService::FindDocumentByQuery(string dbName, string collectionName, Query *query, CCObject* pTarget, cocos2d::SEL_CallFuncND pSelector) { App42StorageResponse *response = new App42StorageResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(dbName, "Database Name"); Util::throwExceptionIfStringNullOrBlank(collectionName, "Collection Name"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((cocos2d::CCNode *)pTarget, response); } delete e; e = NULL; return; } string resource = "storage/findDocsByQuery/dbName/"; resource.append(dbName + "/collectionName/"); resource.append(collectionName); string url = getBaseUrl(resource); string timestamp = Util::getTimeStamp(); map<string, string> getMap; Util::BuildGetSigningMap(apiKey, timestamp, VERSION, getMap); getMap["dbName"] = dbName; getMap["collectionName"] = collectionName; getMap["jsonQuery"] = query->getString(); //Util::printMap(getMap); string signature = Util::signMap(secretKey, getMap); url.append("?"); map<string, string> queryParamsMap; queryParamsMap["jsonQuery"]=query->getString(); string queryString = buildQueryString(queryParamsMap); url.append(queryString); //char *encodedUrl = Util::url_encode(url); printf("\nQueryString=%s",queryString.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executeGet(url.c_str(),headers, response, callfuncND_selector(App42StorageResponse::onComplete)); }
void GameService::GetAllGamesCount(App42CallBack* pTarget, SEL_App42CallFuncND pSelector) { App42GameResponse *response = new App42GameResponse(pTarget,pSelector); try { Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((App42CallBack *)pTarget, response); } delete e; e = NULL; return; } string timestamp = Util::getTimeStamp(); /** * Creating SignParams and signature */ map<string, string> signParams; Util::BuildGetSigningMap(apiKey, timestamp, VERSION, signParams); string signature = Util::signMap(secretKey, signParams); /** * Creating URL */ string resource = "game/"; resource.append("count"); string url = getBaseUrl(resource); url.append("?"); string encodedUrl = url_encode(url); /** * Creating Headers */ std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); /** * Initiating Http call */ Util::executeGet(encodedUrl,headers, response, app42response_selector(App42GameResponse::onComplete)); }
void StorageService::FindDocumentByKeyValue(string dbName, string collectionName, string key,string value, CCObject* pTarget, cocos2d::SEL_CallFuncND pSelector) { App42StorageResponse *response = new App42StorageResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(dbName, "Database Name"); Util::throwExceptionIfStringNullOrBlank(collectionName, "Collection Name"); Util::throwExceptionIfStringNullOrBlank(key, "Key"); Util::throwExceptionIfStringNullOrBlank(value, "Value"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((cocos2d::CCNode *)pTarget, response); } delete e; e = NULL; return; } string resource = "storage/findDocByKV/dbName/"; resource.append(dbName+ "/collectionName/"); resource.append(collectionName+ "/"); resource.append(key+ "/"); resource.append(value+ "/"); string url = getBaseUrl(resource); string timestamp = Util::getTimeStamp(); map<string, string> getMap; Util::BuildGetSigningMap(apiKey, timestamp, VERSION, getMap); getMap["dbName"] = dbName; getMap["collectionName"] = collectionName; getMap["key"] = key; getMap["value"] = value; string signature = Util::signMap(secretKey, getMap); url.append("?"); //Util::app42Trace("\n baseUrl = %s",url.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executeGet(url,headers, response, callfuncND_selector(App42StorageResponse::onComplete)); }
void RewardService::CreateReward(string rewardName,string description, App42CallBack* pTarget, SEL_App42CallFuncND pSelector) { App42RewardResponse *response = new App42RewardResponse::App42RewardResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(description, "Description"); Util::throwExceptionIfStringNullOrBlank(rewardName, "Reward Name"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((App42CallBack *)pTarget, response); } delete e; e = NULL; return; } map<string, string> postMap; populateSignParams(postMap); string rewardbody = BuildCreateRewardBody(rewardName, description); postMap["body"] = rewardbody; string signature = Util::signMap(secretKey, postMap); string baseUrl = getBaseUrl("game/reward"); baseUrl.append("?"); //Util::app42Trace("\n baseUrl = %s",baseUrl.c_str()); //Util::app42Trace("\n createRewardbody = %s",rewardbody.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); string timestamp = Util::getTimeStamp(); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executePost(baseUrl, headers, rewardbody.c_str(), response, httpresponse_selector(App42RewardResponse::onComplete)); }
void RewardService::GetGameRewardPointsForUser(string gameName, string userName, App42CallBack* pTarget, SEL_App42CallFuncND pSelector) { App42RewardResponse *response = new App42RewardResponse::App42RewardResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(gameName, "Game Name"); Util::throwExceptionIfStringNullOrBlank(userName, "User Name"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((App42CallBack *)pTarget, response); } delete e; e = NULL; return; } string resource = "game/reward/"; resource.append(gameName+"/"); resource.append(userName); string url = getBaseUrl(resource); string timestamp = Util::getTimeStamp(); map<string, string> getMap; Util::BuildGetSigningMap(apiKey, timestamp, VERSION, getMap); getMap["gameName"] = gameName; getMap["userName"] = userName; string signature = Util::signMap(secretKey, getMap); url.append("?"); //Util::app42Trace("\n baseUrl = %s",url.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executeGet(url,headers, response, httpresponse_selector(App42RewardResponse::onComplete)); }
void ScoreService::AddScore(string gameName, string userName, double score, Object* pTarget, cocos2d::SEL_CallFuncND pSelector) { App42GameResponse *response = new App42GameResponse::App42GameResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(gameName, "Game Name"); Util::throwExceptionIfStringNullOrBlank(userName, "User Name"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((cocos2d::Node *)pTarget, response); } delete e; e = NULL; return; } map<string, string> postMap; populateSignParams(postMap); string addScoreBody = BuildScoreBody(gameName, userName,score); postMap["body"] = addScoreBody; string signature = Util::signMap(secretKey, postMap); string baseUrl = getBaseUrl("game/score/add"); baseUrl.append("?"); //Util::app42Trace("\n baseUrl = %s",baseUrl.c_str()); //Util::app42Trace("\n addScoreBody = %s",addScoreBody.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); string timestamp = Util::getTimeStamp(); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executePost(baseUrl, headers, addScoreBody.c_str(), response, httpresponse_selector(App42GameResponse::onComplete)); }
void GameService::GetAllGames(CCObject* pTarget, cocos2d::SEL_CallFuncND pSelector) { App42GameResponse *response = new App42GameResponse::App42GameResponse(pTarget,pSelector); try { Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((cocos2d::CCNode *)pTarget, response); } delete e; e = NULL; return; } string resource = "game/"; string url = getBaseUrl(resource); string timestamp = Util::getTimeStamp(); map<string, string> getMap; Util::BuildGetSigningMap(apiKey, timestamp, VERSION, getMap); string signature = Util::signMap(secretKey, getMap); url.append("?"); //Util::app42Trace("\n baseUrl = %s",url.c_str()); std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); Util::executeGet(url,headers, response, callfuncND_selector(App42GameResponse::onComplete)); }
void UploadService::UploadFile(string fileName, string filePath,string fileType, string description,App42CallBack* pTarget, SEL_App42CallFuncND pSelector) { App42UploadResponse *response = new App42UploadResponse::App42UploadResponse(pTarget,pSelector); try { Util::throwExceptionIfStringNullOrBlank(fileName, "File Name"); Util::throwExceptionIfStringNullOrBlank(filePath, "File Path"); Util::throwExceptionIfStringNullOrBlank(fileType, "File Type"); Util::throwExceptionIfStringNullOrBlank(description, "Description"); Util::throwExceptionIfTargetIsNull(pTarget, "Callback's Target"); Util::throwExceptionIfCallBackIsNull(pSelector, "Callback"); } catch (App42Exception *e) { std::string ex = e->what(); response->httpErrorCode = e->getHttpErrorCode(); response->appErrorCode = e->getAppErrorCode(); response->errorDetails = ex; response->isSuccess = false; if (pTarget && pSelector) { (pTarget->*pSelector)((App42CallBack *)pTarget, response); } delete e; e = NULL; return; } try { /** * Creating SignParams and signature */ map<string, string> signParams; string timestamp = Util::getTimeStamp(); populateSignParams(signParams); signParams["dbName"] = dbName; signParams["collectionName"] = collectionName; string signature = Util::signMap(secretKey, signParams); /** * Creating URL */ string resource = "storage/insert/dbName/"; resource.append(dbName + "/collectionName/"); resource.append(collectionName); string baseUrl = getBaseUrl(resource); baseUrl.append("?"); /** * Creating Headers */ std::vector<std::string> headers; map<string, string> metaHeaders; populateMetaHeaderParams(metaHeaders); Util::BuildHeaders(metaHeaders, headers); Util::BuildHeaders(apiKey, timestamp, VERSION, signature, headers); /** * Initiating Http call */ //Util::executePost(baseUrl, headers, storageBody.c_str(), response, httpresponse_selector(App42StorageResponse::onComplete)); } catch (exception *e) { throw e; } }