Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package services {
- import classes.*;
- import flash.events.Event;
- import flash.events.HTTPStatusEvent;
- import flash.events.IOErrorEvent;
- import flash.net.URLLoader;
- import flash.net.URLRequest;
- import flash.net.URLRequestHeader;
- import flash.net.URLRequestMethod;
- import flash.net.URLVariables;
- import flash.system.Capabilities;
- import flashx.textLayout.formats.LineBreak;
- import mx.collections.ArrayCollection;
- import vo.UserVO;
- public class UserService {
- public function UserService() {
- var deviceType:String=Capabilities.manufacturer;
- if(deviceType == "Android Linux")
- API_URL=LIVE_URL;
- else
- API_URL=DEV_URL;
- trace(API_URL)
- }
- /*Variables used in api helper*/
- private const LIVE_URL:String = 'https://trekrecord.simpleapps.gr/'
- private const DEV_URL:String = 'http://localhost:8080/'
- private var API_URL:String = DEV_URL
- public var API_KEY:String;
- /*Instant of this class*/
- private static var _instance:UserService;
- public static function get instance():UserService {
- if (!_instance) _instance = new UserService();
- return _instance;
- }
- /*Used for Callbacks*/
- private var onResultCallback:Function;
- /*Header used in all calls*/
- public var headers:Array;
- public function init(key:String):void
- {
- API_KEY=key;
- headers = [
- new URLRequestHeader("contentType", "application/x-www-form-urlencoded"),
- new URLRequestHeader("Accept-Language", "en_US"),
- new URLRequestHeader("X-Authorization", "Bearer " + API_KEY)
- ];
- }
- private function loaderHelper(urlRequest:URLRequest, onCompleteCallback:Function ):void{
- function _onComplete(e:Event) {
- var results:ArrayCollection = new ArrayCollection();
- var stringJson:String=String (e.target.data);
- var result = JSON.parse(stringJson);
- if( onCompleteCallback != null ) onCompleteCallback(result);
- }
- function _onNotify(e:IOErrorEvent) {
- trace("error");
- trace(e.errorID);
- e.target.removeEventListener(IOErrorEvent.IO_ERROR, _onNotify);
- var result:Object = new Object();
- result.error=true;
- result.message=e.errorID;
- if( onCompleteCallback != null ) onCompleteCallback(result);
- }
- var _jsonLoader:URLLoader = new URLLoader();
- _jsonLoader.load(urlRequest);
- _jsonLoader.addEventListener(Event.COMPLETE, _onComplete);
- _jsonLoader.addEventListener(IOErrorEvent.IO_ERROR, _onNotify)
- _jsonLoader.addEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, onHTTPResponseStatus );
- _jsonLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
- }
- /**
- * Get all Users from server
- * */
- public function getAllUsers(callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'users');
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- /**
- * Get all UserVO data from server
- * */
- public function getUserDataFromServerWithID(id:int,callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'user/'+id);
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- /**
- * Get all UserVO data from server
- * */
- public function getUserDataFromServerWithFirebaseID(firebase_id:String,callback):void
- {
- onResultCallback=callback;
- var urlReq:URLRequest = new URLRequest(API_URL+'user/withFirebaseId/'+firebase_id);
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- public function setUser(tempUser:Object ):void
- {
- if (tempUser) {
- globals.MY_USER.fname = tempUser.fname;
- globals.MY_USER.lname = tempUser.lname;
- globals.MY_USER.displayName = tempUser.lname + " " + tempUser.fname;
- globals.MY_USER.photo_url = tempUser.photo_url;
- globals.MY_USER.bio = tempUser.bio;
- globals.MY_USER.country_id = tempUser.country_id;
- globals.MY_USER.homebase = tempUser.country_name;
- globals.MY_USER.email = tempUser.email;
- }
- }
- public function getUserPoints(userId:int, callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'user/points/'+userId);
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- /**
- * Get all countries in the wishlist of a user
- * */
- public function getUserWishlist(userId:int, callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'user/wishlist/'+userId);
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- public function addToUserWishlist(userId:int, countryId:int, callback):void
- {
- onResultCallback=callback;
- var urlReq:URLRequest = new URLRequest(API_URL+'/api/records//');
- urlReq.method = URLRequestMethod.POST;
- urlReq.requestHeaders = APIHelper.instance.headers;
- var paramss:URLVariables = new URLVariables();
- paramss.user_id=userId;
- paramss.countries_id=countryId;
- urlReq.data = paramss;
- }
- /**
- * Get users visited countries with map
- * */
- public function getVisitedCountries(userId:int, callback):void {
- var urlReq:URLRequest = new URLRequest(API_URL+'user/visitedCountries/'+userId);
- urlReq.method = URLRequestMethod.GET;
- urlReq.requestHeaders = UserService.instance.headers;
- loaderHelper(urlReq,callback);
- }
- /**
- * Register user in local database. Used to register a user in local db after registered in Firebase
- * */
- public function registerInformationForUser(user:UserVO, callback):void{
- var urlReq:URLRequest = new URLRequest(API_URL+'api/records/users');
- urlReq.method = URLRequestMethod.POST;
- urlReq.requestHeaders = UserService.instance.headers;
- var paramss:URLVariables = new URLVariables();
- paramss.fname=user.fname;
- paramss.lname=user.lname;
- paramss.bio = user.bio;
- paramss.photo_url = user.photo_url;
- paramss.firebase_id = user.firebase_id;
- paramss.email = user.email;
- paramss.homebase_id = user.homebase_id;
- urlReq.data = paramss;
- loaderHelper(urlReq,callback);
- }
- /**
- * Update user in local database. Used to update users information
- * */
- public function updateUser(userId:int, fname:String, lname:String, email:String, bio:String, photoUrl:String, homebase_id:int, callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'api/records/users/'+userId);
- urlReq.method = URLRequestMethod.PUT;
- urlReq.requestHeaders = APIHelper.instance.headers;
- var paramss:URLVariables = new URLVariables();
- paramss.fname=fname;
- paramss.lname=lname;
- paramss.bio=bio;
- paramss.email=email;
- paramss.homebase_id = homebase_id;
- if(photoUrl!=null) paramss.photo_url=photoUrl;
- urlReq.data = paramss;
- loaderHelper(urlReq,callback);
- }
- /**
- * Used to remove items from users wishlits. This uses api.php
- * */
- public function removeFromUserWishlist(wishlistId:int, callback):void
- {
- var urlReq:URLRequest = new URLRequest(API_URL+'api/records/users_wishlist/'+wishlistId);
- urlReq.method = URLRequestMethod.DELETE;
- urlReq.requestHeaders = APIHelper.instance.headers;
- loaderHelper(urlReq,callback);
- }
- /*These functions are help functions to return results*/
- public static function onHTTPStatus( event:HTTPStatusEvent ):void
- {
- trace("Status is: "+ event.status );
- event.target.removeEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatus);
- }
- /*Used to check which URL was called*/
- public static function onHTTPResponseStatus( event:HTTPStatusEvent ):void
- {
- trace("Status responseURL: "+ event.responseURL );
- event.target.removeEventListener(HTTPStatusEvent.HTTP_RESPONSE_STATUS, onHTTPResponseStatus );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement