private User Authenticate(string api_token, string refresh_token, long token_expiration) { RestRequest request = new RestRequest(String.Format("{0}/profiles", ApiPath), Method.GET); request.AddParameter("api_token", api_token); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.Unauthorized) { return(new User("Unauthorized")); } User CurrentUser = JsonConvert.DeserializeObject <Datas.User>(httpResponse.Content, TSCloud.serializer_settings()); RefreshToken = refresh_token; Expiration = token_expiration; ApiToken = api_token; CurrentUser.SysInfo = GetSysInfo(); CurrentUser.StatusCode = httpResponse.StatusCode; CurrentUser.ApiToken = api_token; this.CurrentUser = CurrentUser; //UserClient UserClient = new UserClient(this); //m_users = UserClient.All(); RefreshThread = new Thread(new RefreshTokenWorker(this).Start); RefreshThread.Start(); return(CurrentUser); } catch (Exception ee) { return(new User(ee.ToString())); } }
public Hash UpdateDesktopSettings(Hash settings) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/profiles/desktop_settings", ApiPath), Method.PUT); request.AddParameter("api_token", ApiToken); request.AddParameter("desktop_settings", settings.Stringify()); try { IRestResponse httpResponse = RestClient.Execute(request); Hash responseHash = JsonConvert.DeserializeObject <Hash>(httpResponse.Content, TSCloud.serializer_settings()); return(responseHash); } catch { return(null); } }
//public Users All() //{ // RestRequest request = new RestRequest(String.Format("{0}/users", ApiPath), Method.GET); // request.AddParameter("api_token", ApiToken); // try // { // IRestResponse httpResponse = RestClient.Execute(request); // List<User> user_list = JsonConvert.DeserializeObject<List<User>>(httpResponse.Content, TSCloud.serializer_settings()); // user_list.ForEach(x => x.SysInfo = GetSysInfo()); // return new Users(user_list); // } // catch // { // return new Users(); // } //} public User Create(User user) { if (String.IsNullOrEmpty(user.Email)) { throw new Exception("Email required"); } if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/users", ApiPath), Method.POST); request.AddParameter("api_token", ApiToken); request.AddParameter("email", user.Email); request.AddParameter("password", user.Password); request.AddParameter("name", user.Name); request.AddParameter("phone", user.Phone); request.AddParameter("address", user.Address); request.AddParameter("company", user.Company); request.AddParameter("role", user.Role); request.AddParameter("meta", user.Meta.Stringify()); try { IRestResponse httpResponse = RestClient.Execute(request); User created_user = JsonConvert.DeserializeObject <User>(httpResponse.Content, TSCloud.serializer_settings()); created_user.SysInfo = GetSysInfo(); return(created_user); } catch (Exception ee) { return(new User(Convert.ToString(ee))); } }
public User Authenticate(string Email, string Password, string External) { var request = new RestRequest(ApiPath + "/authenticates", Method.POST); request.AddParameter("email", Email.ToLower()); request.AddParameter("password", Password); if (!string.IsNullOrEmpty(External)) { request.AddParameter("external", External); } request.RequestFormat = DataFormat.Json; try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { User CurrentUser = JsonConvert.DeserializeObject <Datas.User>(httpResponse.Content, TSCloud.serializer_settings()); ApiToken = CurrentUser.ApiToken; RefreshToken = CurrentUser.RefreshToken; Expiration = CurrentUser.TokenExpiration; CurrentUser.SysInfo = GetSysInfo(); this.CurrentUser = CurrentUser; //UserClient UserClient = new UserClient(this); //m_users = UserClient.All(); if (ApiToken != null) { RefreshThread = new Thread(new RefreshTokenWorker(this).Start); RefreshThread.Start(); return(CurrentUser); } else { return(new User("api_token is null")); } } else { return(new User(httpResponse.Content)); } } catch (Exception ee) { return(new User(ee.ToString())); } }
public ClientBase(string AppHost) : base(AppHost) { m_TSCloud = this; }
public RefreshTokenWorker(TSCloud client) { m_TSCloud = client; m_expiration = client.ExpirationDateTime; }
private List <Printer> index(int Page) { RestRequest request = new RestRequest(String.Format("{0}/printers", ApiPath), Method.GET); request.AddParameter("api_token", ApiToken); request.AddParameter("root", "true"); if (Page != 0) { request.AddParameter("page", Page); } try { IRestResponse httpResponse = RestClient.Execute(request); Printers printers = JsonConvert.DeserializeObject <Printers>(httpResponse.Content, TSCloud.serializer_settings()); int num_pages = printers.Pagination.NumPages; if (Page == 0) { List <Printer> printer_list = new List <Printer>(); for (int i = 1; i <= num_pages; i++) { printer_list.AddRange(index(i)); } return(printer_list); } else { return(printers.Contents); } } catch { return(new List <Printer>()); } }
string GetApiHost() { RestClient = new RestClient(AppHost); RestRequest request = new RestRequest(String.Format("/api_host"), Method.GET); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode != HttpStatusCode.OK) { return(AppHost); } Hash response = JsonConvert.DeserializeObject <Hash>(httpResponse.Content, TSCloud.serializer_settings()); return(Convert.ToString(response["api_host"])); } catch { return(null); } }
public Group Create(Group group) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/groups", ApiPath), Method.POST); request.AddParameter("api_token", ApiToken); if (!String.IsNullOrEmpty(group.Name)) { request.AddParameter("name", group.Name); } if (!String.IsNullOrEmpty(group.Description)) { request.AddParameter("description", group.Description); } if (group.Acl != null) { request.AddParameter("acl", group.Acl.Stringify()); } if (group.Users != null && group.Users.Count > 0) { request.AddParameter("user_ids", TSUtil.ConvertToIds(group.Users)); } if (group.ParentId != 0) { request.AddParameter("parent_id", Convert.ToString(group.ParentId)); } Group created_group = new Group(); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { created_group = JsonConvert.DeserializeObject <Group>(httpResponse.Content, TSCloud.serializer_settings()); created_group.StatusCode = httpResponse.StatusCode; return(created_group); } else { created_group.StatusCode = httpResponse.StatusCode; created_group.Message = httpResponse.ErrorMessage; return(created_group); } } catch (Exception ee) { return(new Group(Convert.ToString(ee))); } }
public Queue GetQueue(int QueueId) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/queues/{1}", ApiPath, QueueId), Method.GET); request.AddParameter("api_token", ApiToken); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { Queue queue = JsonConvert.DeserializeObject <Queue>(httpResponse.Content, TSCloud.serializer_settings()); return(queue); } else { return(new Queue(httpResponse.Content)); } } catch (Exception ee) { throw ee; } }
public Groups GetGroups(int Page) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/groups", ApiPath), Method.GET); request.AddParameter("api_token", ApiToken); if (Page != 0) { request.AddParameter("page", Page); } Groups groups = new Groups(); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { groups = JsonConvert.DeserializeObject <Groups>(httpResponse.Content, TSCloud.serializer_settings()); groups.StatusCode = httpResponse.StatusCode; return(groups); } else { groups.StatusCode = httpResponse.StatusCode; groups.Message = httpResponse.ErrorMessage; return(groups); } } catch (Exception ee) { throw ee; } }
public Group Get(int GroupID) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/groups/{1}", ApiPath, Convert.ToString(GroupID)), Method.GET); request.AddParameter("api_token", ApiToken); Group group = new Group(); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { group = JsonConvert.DeserializeObject <Group>(httpResponse.Content, TSCloud.serializer_settings()); group.StatusCode = httpResponse.StatusCode; return(group); } else { group.StatusCode = httpResponse.StatusCode; group.Message = httpResponse.ErrorMessage; return(group); } } catch (Exception ee) { return(new Group(Convert.ToString(ee))); } }
public User Register(string Email, string Name, string TeamName, string Password, string Phone, string Address, string Company) { RestRequest request = new RestRequest(String.Format("{0}/users/register", ApiPath), Method.POST); if (!String.IsNullOrEmpty(Name)) { request.AddParameter("name", Name); } if (!String.IsNullOrEmpty(Email)) { request.AddParameter("email", Email); } if (!String.IsNullOrEmpty(TeamName)) { request.AddParameter("team_name", TeamName); } if (!String.IsNullOrEmpty(Password)) { request.AddParameter("password", Password); } if (!String.IsNullOrEmpty(Phone)) { request.AddParameter("phone", Phone); } if (!String.IsNullOrEmpty(Address)) { request.AddParameter("address", Address); } if (!String.IsNullOrEmpty(Company)) { request.AddParameter("company", Company); } try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { User user_response = JsonConvert.DeserializeObject <User>(httpResponse.Content, TSCloud.serializer_settings()); user_response.StatusCode = httpResponse.StatusCode; user_response.SysInfo = GetSysInfo(); return(user_response); } else { User user_response = new User(); user_response.StatusCode = httpResponse.StatusCode; user_response.Message = httpResponse.ErrorMessage; return(user_response); } } catch (Exception ee) { return(new User(Convert.ToString(ee))); } }
public Newtonsoft.Json.Linq.JObject AuthenticateCenterCode(string UserID, string Password) { var request = new RestRequest(ApiPath + "/authenticates", Method.POST); request.AddParameter("email", UserID); request.AddParameter("password", Password); request.AddParameter("external", "centercode"); request.RequestFormat = DataFormat.Json; Newtonsoft.Json.Linq.JObject response = new Newtonsoft.Json.Linq.JObject(); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { return(JsonConvert.DeserializeObject <Newtonsoft.Json.Linq.JObject>(httpResponse.Content, TSCloud.serializer_settings())); } else { response.Add("error", (int)httpResponse.StatusCode); } } catch (Exception ee) { response.Add("error", ee.ToString()); } return(response); }
public PrinterClient(TSCloud TSCloud) : base(TSCloud) { }
public RefreshResponse CheckExpiration(DateTime expiration, string refresh_token) { if (expiration <= DateTime.Now && !string.IsNullOrEmpty(refresh_token)) { try { RestRequest request = new RestRequest(String.Format("{0}/authenticate/refresh", ApiPath), Method.PUT); request.AddParameter("refresh_token", refresh_token); IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { return(JsonConvert.DeserializeObject <RefreshResponse>(httpResponse.Content, TSCloud.serializer_settings())); } } catch (Exception e) { return(new RefreshResponse("token refresh fails - " + e.Message)); } return(new RefreshResponse("token refresh fails")); } return(null); }
public Printer Create(string PrinterName, object MetaJson) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = CreateRequest(PrinterName, MetaJson); if (request == null) { return(new Printer("printer cannot be created without acl or printer name")); } try { IRestResponse httpResponse = RestClient.Execute(request); Printer printer = JsonConvert.DeserializeObject <Printer>(httpResponse.Content, TSCloud.serializer_settings()); printer.StatusCode = httpResponse.StatusCode; printer.Message = httpResponse.ErrorMessage; return(printer); } catch (Exception ee) { return(new Printer(ee.ToString())); } }
public ClientBase() : base() { m_TSCloud = this; }
public PrinterClient(TSCloud TSCloud, Hash Configuration) : this(TSCloud) { this.Configuration = Configuration; }
public ClientBase(TSCloud _TSCloud) { m_TSCloud = _TSCloud; RestClient = new RestClient(ApiHost); }
public Queues GetQueues(int PrinterId, int Page) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/queues", ApiPath), Method.GET); request.AddParameter("api_token", ApiToken); request.AddParameter("parent_id", PrinterId); if (Page != 0) { request.AddParameter("page", Page); } try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { Queues queues = JsonConvert.DeserializeObject <Queues>(httpResponse.Content, TSCloud.serializer_settings()); return(queues); } else { return(new Queues(httpResponse.Content)); } } catch (Exception ee) { throw ee; } }
public Model Get(int ModelId) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/folders/{1}", ApiPath, ModelId.ToString()), Method.GET); request.AddParameter("api_token", ApiToken); try { IRestResponse httpResponse = RestClient.Execute(request); Model model = JsonConvert.DeserializeObject <Model>(httpResponse.Content, TSCloud.serializer_settings()); int owner_id = 0; owner_id = Convert.ToInt32(model.Acl["owner"]); model.SysInfo = GetSysInfo(); return(model); } catch (Exception ee) { return(new Model(ee.ToString())); } }
public User Get(int UserID) { if (!CheckExpiration()) { throw new Exception("token refresh fails"); } RestRequest request = new RestRequest(String.Format("{0}/users/{1}", ApiPath, Convert.ToString(UserID)), Method.GET); request.AddParameter("api_token", ApiToken); try { IRestResponse httpResponse = RestClient.Execute(request); if (httpResponse.StatusCode == HttpStatusCode.OK) { User user = JsonConvert.DeserializeObject <User>(httpResponse.Content, TSCloud.serializer_settings()); user.SysInfo = GetSysInfo(); user.StatusCode = httpResponse.StatusCode; return(user); } else { User user = new User(); user.StatusCode = httpResponse.StatusCode; user.Message = httpResponse.ErrorMessage; return(user); } } catch (Exception ee) { return(new User(Convert.ToString(ee))); } }