public async Task <IActionResult> Index(string branch, string version, string filename) { MemoryStream memstream = new MemoryStream(); Request.Body.CopyTo(memstream); await UploadPackage.UploadFile( projectId : int.Parse(Response.Headers["x-project-id"]), memBody : memstream, version : version, filename : filename, contentType : Request.Headers["content-type"], contentLength : (long)Request.ContentLength, branch : branch, client : _storageClient, upwardDb : upwardDb, accountsDb : accountsDb ); var SuccessResponse = new CreateSuccessModel { Url = $"{HttpContext.Request.Host.ToString()}/{branch}/{version}/{filename}", Created = DateTime.Now.ToString(), Branch = branch, Version = version }; return(Json(SuccessResponse)); }
public async Task <IActionResult> Create([FromBody] CreateModel create) { var projectName = HttpContext.Request.Host.ToString().Split(".")[0]; var project = accountsDb.Project.Where(r => r.Name == projectName).FirstOrDefault(); var hasNoRollback = await ValidVersion.NoRollback(create.Version, create.Branch, project.Id, upwardDb); var apiError = new ApiErrorModel(); if (!hasNoRollback) { apiError.code = "VersionHasRollback"; apiError.message = "The version specified in the header has a rollback"; HttpContext.Response.StatusCode = 400; return(Json(apiError)); } var ver = create.Version.Split("."); var currentDate = DateTime.Now; var newPackage = new Pkgfile { Project = project.Id, Major = int.Parse(ver[0]), Minor = int.Parse(ver[1]), Patch = int.Parse(ver[2]), Branch = create.Branch, Filename = new string[] { }, Created = currentDate }; await upwardDb.Pkgfile.AddAsync(newPackage); await upwardDb.SaveChangesAsync(); var SuccessResponse = new CreateSuccessModel { Url = $"{HttpContext.Request.Host.ToString()}/{create.Branch}/{create.Version}/", Created = currentDate.ToString(), Branch = create.Branch, Version = create.Version }; return(Json(SuccessResponse)); }