public async Task <JsonResult> CreateService([FromBody] CreateServiceHttpParams attr) { if (attr.Type == "node") { Logger.Log("Creating Node Js service"); Logger.Log(JsonConvert.SerializeObject(attr.Dependencies)); try { ICloudService service = ServiceLogic.CreateCloudService(attr.Id, attr.UserId, attr.FileBase64, attr.CountOfReplicas, attr.Dependencies, attr.Type); bool success = await service.Create(); ServiceLogic.Services.Add(service); return(new JsonResult(service)); } catch (Exception e) { Logger.Fail(e.Message); } } throw new Exception("Unknown type!"); }
private async Task <bool> makeReinitAsync(ReinitServiceHttpParams reinit, List <ReinitServiceHttpParams> attr, List <SwarmService> servicesList) { SwarmService swarmService = servicesList.Find(service => service.ID == reinit.DockerServiceId); Logger.Log($"Reinit service : {reinit.Id}, {reinit.DockerServiceId}, serviceList : {JsonConvert.SerializeObject(servicesList.Select(el => el.ID))}"); string dockerName = $"{reinit.UserId}-{reinit.Id}"; if (swarmService != null) { ICloudService service = ServiceLogic.CreateCloudService(reinit.Type); await service.Reinitialize(reinit, swarmService); ServiceLogic.Services.Add(service); } else { ICloudService service = ServiceLogic.CreateCloudService(reinit.Id, reinit.UserId, reinit.FileBase64, reinit.CountOfReplicas, reinit.Dependencies, reinit.Type); ServiceLogic.Services.Add(service); await service.Create(); } return(true); }