public static MMods GetModsForGame(int gameId, string query = "", int page = 1, int pageSize = 16, List <string> tags = null) { var restClient = new RestClient(ModIoBrowser.BaseUrl); restClient.UseNewtonsoftJson(); var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame(); var restRequest = new RestRequest($"/v1/games/{gameId}/mods"); restRequest.AddQueryParameter("_limit", pageSize.ToString()); if (page >= 0) { restRequest.AddQueryParameter("_offset", (pageSize * page).ToString()); } restRequest.AddQueryParameter("api_key", modIoConfiguration.ApiKey); restRequest.AddQueryParameter("_sort", "name"); restRequest.AddQueryParameter("_q", query); if (tags != null) { restRequest.AddQueryParameter("tags", string.Join(",", tags)); } Logger.Debug(restClient.BuildUri(restRequest).ToString()); var restResponse = restClient.Get <MMods>(restRequest); return(restResponse.IsSuccessful ? restResponse.Data : null); }
public override bool UnInstallMod(Service service, GenericMod gameMod) { try { var server = Server.GetSelectedServer(); var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame(); var modForGame = MMod.GetModForGame(modIoConfiguration.SelectedGameId, int.Parse(gameMod.Id)); var script = GenerateScript(service, modIoConfiguration, false); var modJson = JsonConvert.SerializeObject(modForGame); var type = gameMod.GetType(); server.ServerUtilitiesService.ExecuteScript(script, 1, new[] { new JsonSerializedScriptVariable { Name = "Mod", Value = modJson, Type = type.FullNameWithAssembly() } }); return(true); } catch (Exception e) { _logger.LogException(e); return(false); } }
public override DataSourceResult GetMods(DataSourceRequest request) { var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame(); var titleQuery = ""; var categoryQuery = ""; var sortQuery = "title"; var filters = request.GetAllFilterDescriptors(); var titleFilter = filters.FirstOrDefault(x => x.Member == "Name"); if (titleFilter != null) { titleQuery = titleFilter.Value.ToString(); } var categoryFilter = filters.FirstOrDefault(x => x.Member == "Category"); if (categoryFilter != null) { categoryQuery = categoryFilter.Value.ToString(); } var mods = MMods.GetModsForGame(modIoConfiguration.SelectedGameId, titleQuery, request.Page, request.PageSize); request.Filters = new List <IFilterDescriptor>(); var dataSourceResult = mods.Data.ToDataSourceResult(request); dataSourceResult.Total = mods.ResultTotal; dataSourceResult.Data = mods.Data; return(dataSourceResult); }
public static MGame GetGame(int gameId) { var restClient = new RestClient(ModIoBrowser.BaseUrl); restClient.UseNewtonsoftJson(); var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame(); var restRequest = new RestRequest($"/v1/games/{gameId}"); restRequest.AddQueryParameter("api_key", modIoConfiguration.ApiKey); var restResponse = restClient.Get <MGame>(restRequest); return(restResponse.IsSuccessful ? restResponse.Data : null); }
public override GenericMod GetMod(string s, ModSearchType modSearchType) { var modIoConfiguration = ModIoBrowser.GetModIoConfigurationForCurrentGame(); return(MMod.GetModForGame(modIoConfiguration.SelectedGameId, int.Parse(s))); }