Exemplo n.º 1
0
 public ScoreContentMeta ConvertToContent(ScoreContentMeta current, PatchScore patchScore)
 {
     return(new ScoreContentMeta()
     {
         Name = current.Name,
         VersionFileKeys = current.VersionFileKeys,
         Title = patchScore?.Title ?? current.Title,
         Description = patchScore?.Description ?? current.Description,
     });
 }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateScoreAsync(
            [FromRoute(Name = "score_name")] string scoreName,
            [FromBody] PatchScore patchScore)
        {
            var convertor        = new ScoreMetaConvertor();
            var metaFileOperator = new MetaFileOperator(S3Client, BucketName);

            var key = $"{scoreName}/{ScoreMeta.FileName}";


            ScoreMeta scoreMeta;

            try
            {
                scoreMeta = await metaFileOperator.GetScoreMetaAsync(scoreName);
            }
            catch (AmazonS3Exception e)
            {
                Logger.LogError(e, e.Message);
                throw;
            }

            var newCurrentScoreMeta = convertor.ConvertToContent(scoreMeta.GetLastScoreContent(), patchScore);

            var newScoreMetaKey = ScoreMeta.CreateKey();

            scoreMeta[newScoreMetaKey] = newCurrentScoreMeta;

            try
            {
                await metaFileOperator.SaveScoreMetaAsync(scoreName, scoreMeta, newScoreMetaKey);
            }
            catch (Exception e)
            {
                Logger.LogError(e, e.Message);
                throw;
            }

            return(Ok());
        }
Exemplo n.º 3
0
 public async Task <IActionResult> CreateScoreAsync(
     [FromRoute(Name = "score_name")] string scoreName,
     [FromBody] PatchScore patchScore)
 {
     throw new NotImplementedException();
 }