Пример #1
0
        public ApiResult Put(string id, [FromBody] PutInstanceRequestBody request,
                             [FromServices] AgentContext ef, [FromServices] IServiceProvider services,
                             [FromServices] DappService ins)
        {
            if (ins.IsInstanceExisted(id))
            {
                return(ApiResult(409, "The instance is already existed."));
            }

            if (request.Method == InstanceUploadMethod.Zip)
            {
                if (request.Data.IndexOf(",") > 0)
                {
                    request.Data = request.Data.Substring(request.Data.IndexOf(",") + 1);
                }
            }

            Task.Factory.StartNew(async() => {
                using (var serviceScope = services.GetRequiredService <IServiceScopeFactory>().CreateScope())
                    using (var _ins = serviceScope.ServiceProvider.GetService <DappService>())
                    {
                        await _ins.DownloadAndStartInstanceAsync(id, request.Method, request.Data);
                    }
            });

            return(ApiResult(201, "Created"));
        }
Пример #2
0
        public ApiResult Delete(string id, [FromServices] AgentContext ef, [FromServices] DappService ins)
        {
            var instance = ef.Instances.SingleOrDefault(x => x.Name == id);

            if (instance == null)
            {
                return(ApiResult(404, "Not Found"));
            }

            ins.StopDapp(id);

            return(ApiResult(200, "Succeeded"));
        }