Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }