Skip to content

Commit 9e9b434

Browse files
committed
Deprecate entire resx files if no longer found in upload
1 parent 2fbc07c commit 9e9b434

2 files changed

Lines changed: 27 additions & 1 deletion

File tree

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,11 @@ _Development
33
.vs
44
**/bin
55
**/obj
6+
**/*.user
67
local.json
78
node_modules
89
Releases
910
Server/LanguagePackManager/js/lpmanager.js
1011
Server/LanguagePackManager/js/lpmanager.js.LICENSE.txt
1112
*.bat
13+

Server/Core/Services/Packages/PackageReader.cs

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class PackageReader
2323
public string ErrorMessage { get; set; } = "";
2424
public bool IsCore { get; set; } = false;
2525
public Manifest Manifest { get; set; } = null;
26+
private List<string> FoundFileKeys { get; set; } = new List<string>();
2627

2728
public PackageReader(int packageLinkId, int parentPackageVersionId, string zipFilePath)
2829
{
@@ -57,7 +58,7 @@ public PackageReader(int packageLinkId, int parentPackageVersionId, string zipFi
5758
{
5859
Logger.Error("Cannot parse manifest of package");
5960
Logger.Error(ex);
60-
this.IsInError= true;
61+
this.IsInError = true;
6162
this.ErrorMessage = "Cannot parse manifest of package";
6263
}
6364
}
@@ -157,6 +158,8 @@ private int ProcessPackage(string packageName, string folderName, string package
157158
package.LastChecked = DateTime.Now;
158159
PackageRepository.Instance.UpdatePackage(package.GetPackageBase());
159160

161+
this.CheckAndDeprecateEntireResourcesFiles(packageVersion);
162+
160163
Sprocs.RefreshNrOriginalTexts(package.PackageId);
161164

162165
return packageVersion.PackageVersionId;
@@ -165,6 +168,10 @@ private int ProcessPackage(string packageName, string folderName, string package
165168
private void ProcessResourceFile(PackageVersion packageVersion, string highestVersion, string fileKey, string filePath)
166169
{
167170
fileKey = fileKey.Trim('/');
171+
if (!FoundFileKeys.Contains(fileKey))
172+
{
173+
FoundFileKeys.Add(fileKey);
174+
}
168175
var processingNewPackage = packageVersion.Version.IsBiggerThan(highestVersion);
169176

170177
var resFile = ResourceFileRepository.Instance.GetResourceFilesByPackage(packageVersion.PackageId).FirstOrDefault(r => r.FilePath == fileKey);
@@ -279,6 +286,23 @@ private void ProcessResourceFile(PackageVersion packageVersion, string highestVe
279286
}
280287
}
281288
}
289+
}
290+
291+
private void CheckAndDeprecateEntireResourcesFiles(PackageVersion packageVersion)
292+
{
293+
var allResFiles = ResourceFileRepository.Instance.GetResourceFilesByPackage(packageVersion.PackageId);
294+
foreach (var resFile in allResFiles)
295+
{
296+
if (!FoundFileKeys.Contains(resFile.FilePath))
297+
{
298+
var textsInDb = TextRepository.Instance.GetTextsByResourceFile(resFile.ResourceFileId);
299+
foreach (var dbText in textsInDb.Where(t => t.DeprecatedInVersion == "99.99.99"))
300+
{
301+
dbText.DeprecatedInVersionId = packageVersion.PackageVersionId;
302+
TextRepository.Instance.UpdateText(dbText.GetTextBase());
303+
}
304+
}
305+
}
282306

283307
}
284308
}

0 commit comments

Comments
 (0)