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, }); }
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()); }
public async Task <IActionResult> CreateScoreAsync( [FromRoute(Name = "score_name")] string scoreName, [FromBody] PatchScore patchScore) { throw new NotImplementedException(); }