/// <inheritdoc/> public async Task UpdateTextResourcesAsync(string org, string app, string shortCommitId, EnvironmentModel environmentModel) { string textResourcesPath = GetTextResourceDirectoryPath(); List <FileSystemObject> folder = await _giteaApiWrapper.GetDirectoryAsync(org, app, textResourcesPath, shortCommitId); if (folder != null) { folder.ForEach(async textResourceFromRepo => { if (!Regex.Match(textResourceFromRepo.Name, "^(resource\\.)..(\\.json)").Success) { return; } FileSystemObject populatedFile = await _giteaApiWrapper.GetFileAsync(org, app, textResourceFromRepo.Path, shortCommitId); byte[] data = Convert.FromBase64String(populatedFile.Content); PlatformStorageModels.TextResource content; try { content = data.Deserialize <PlatformStorageModels.TextResource>(); } catch (SerializationException e) { _logger.LogError($" // TextResourceService // UpdatedTextResourcesAsync // Error when trying to deserialize text resource file {org}/{app}/{textResourceFromRepo.Path} // Exception {e}"); return; } PlatformStorageModels.TextResource textResourceStorage = await GetTextResourceFromStorage(org, app, content.Language, environmentModel); if (textResourceStorage == null) { await _storageTextResourceClient.Create(org, app, content, environmentModel); } else { await _storageTextResourceClient.Update(org, app, content, environmentModel); } }); } }
/// <inheritdoc/> public async Task UpdateTextResourcesAsync(string org, string app, string shortCommitId, EnvironmentModel environmentModel) { string textResourcesPath = GetTextResourceDirectoryPath(); List <GiteaFileContent> folder = await _giteaApiWrapper.GetDirectoryAsync(org, app, textResourcesPath, shortCommitId); if (folder != null) { folder.ForEach(async textResourceFromRepo => { GiteaFileContent populatedFile = await _giteaApiWrapper.GetFileAsync(org, app, textResourceFromRepo.Path, shortCommitId); byte[] data = Convert.FromBase64String(populatedFile.Content); TextResource content = data.Deserialize <TextResource>(); TextResource textResourceStorage = await GetTextResourceFromStorage(org, app, content.Language, environmentModel); if (textResourceStorage == null) { await _storageTextResourceClient.Create(org, app, content, environmentModel); } else { await _storageTextResourceClient.Update(org, app, content, environmentModel); } }); } }