Skip to content

Commit b7c579c

Browse files
committed
C# backend updates
1 parent 7bfc156 commit b7c579c

File tree

10 files changed

+438
-922
lines changed

10 files changed

+438
-922
lines changed

src/SIL.XForge.Scripture/Controllers/SFProjectsRpcController.cs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -189,11 +189,6 @@ public async Task<IRpcMethodResult> UpdateSettings(string projectId, SFProjectSe
189189
{ "SourceParatextId", settings?.SourceParatextId },
190190
{ "BiblicalTermsEnabled", settings?.BiblicalTermsEnabled?.ToString() },
191191
{ "AdditionalTrainingDataFiles", settings?.AdditionalTrainingDataFiles?.ToString() },
192-
{ "AlternateSourceParatextId", settings?.AlternateSourceParatextId },
193-
{ "AlternateTrainingSourceEnabled", settings?.AlternateTrainingSourceEnabled?.ToString() },
194-
{ "AlternateTrainingSourceParatextId", settings?.AlternateTrainingSourceParatextId },
195-
{ "AdditionalTrainingSourceEnabled", settings?.AdditionalTrainingSourceEnabled?.ToString() },
196-
{ "AdditionalTrainingSourceParatextId", settings?.AdditionalTrainingSourceParatextId },
197192
{ "CheckingEnabled", settings?.CheckingEnabled?.ToString() },
198193
{ "TranslationSuggestionsEnabled", settings?.TranslationSuggestionsEnabled?.ToString() },
199194
{ "UsersSeeEachOthersResponses", settings?.UsersSeeEachOthersResponses?.ToString() },

src/SIL.XForge.Scripture/Models/DraftConfig.cs

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,8 @@ namespace SIL.XForge.Scripture.Models;
44

55
public class DraftConfig
66
{
7-
public bool AdditionalTrainingSourceEnabled { get; set; }
8-
public TranslateSource? AdditionalTrainingSource { get; set; }
9-
public bool AlternateSourceEnabled { get; set; }
10-
public TranslateSource? AlternateSource { get; set; }
11-
public bool AlternateTrainingSourceEnabled { get; set; }
12-
public TranslateSource? AlternateTrainingSource { get; set; }
7+
public IList<TranslateSource> DraftingSources { get; set; } = [];
8+
public IList<TranslateSource> TrainingSources { get; set; } = [];
139
public IList<ProjectScriptureRange> LastSelectedTrainingScriptureRanges { get; set; } = [];
1410
public IList<string> LastSelectedTrainingDataFiles { get; set; } = [];
1511
public IList<ProjectScriptureRange> LastSelectedTranslationScriptureRanges { get; set; } = [];

src/SIL.XForge.Scripture/Models/SFProjectSettings.cs

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,16 @@ public class SFProjectSettings
1313
public bool? TranslationSuggestionsEnabled { get; set; }
1414
public string? SourceParatextId { get; set; }
1515
public bool? BiblicalTermsEnabled { get; set; }
16-
17-
[Obsolete("For backwards compatibility with older frontend clients. Deprecated November 2024.")]
18-
public bool? TranslateShareEnabled { get; set; }
19-
20-
// pre-translation settings
21-
[Obsolete("For backwards compatibility with older frontend clients. Deprecated June 2025.")]
22-
public bool? AdditionalTrainingData { get; set; }
2316
public IEnumerable<string>? AdditionalTrainingDataFiles { get; set; }
24-
public bool? AdditionalTrainingSourceEnabled { get; set; }
25-
public string? AdditionalTrainingSourceParatextId { get; set; }
17+
18+
[Obsolete("For backwards compatibility with older frontend clients. Deprecated October 2025.")]
2619
public bool? AlternateSourceEnabled { get; set; }
27-
public string? AlternateSourceParatextId { get; set; }
28-
public bool? AlternateTrainingSourceEnabled { get; set; }
29-
public string? AlternateTrainingSourceParatextId { get; set; }
20+
public IEnumerable<string>? DraftingSourcesParatextIds { get; set; }
21+
public IEnumerable<string>? TrainingSourcesParatextIds { get; set; }
3022

3123
// checking settings
3224
public bool? CheckingEnabled { get; set; }
3325
public bool? UsersSeeEachOthersResponses { get; set; }
34-
35-
[Obsolete("For backwards compatibility with older frontend clients. Deprecated November 2024.")]
36-
public bool? CheckingShareEnabled { get; set; }
3726
public string? CheckingAnswerExport { get; set; }
3827
public bool? HideCommunityCheckingText { get; set; }
3928

src/SIL.XForge.Scripture/Services/MachineApiService.cs

Lines changed: 6 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1877,48 +1877,12 @@ await projectDoc.SubmitJson0OpAsync(op =>
18771877
// We use project service, as it provides permission and token checks
18781878
string jobId = await projectService.SyncAsync(curUserId, buildConfig.ProjectId);
18791879

1880-
// Store the project ids in a hashset to prevent duplicates
1881-
HashSet<string> syncProjectIds = [];
1882-
1883-
// If we have an alternate source, sync that first
1884-
string alternateSourceProjectId = projectDoc.Data.TranslateConfig.DraftConfig.AlternateSource?.ProjectRef;
1885-
if (
1886-
projectDoc.Data.TranslateConfig.DraftConfig.AlternateSourceEnabled
1887-
&& !string.IsNullOrWhiteSpace(alternateSourceProjectId)
1888-
)
1889-
{
1890-
syncProjectIds.Add(alternateSourceProjectId);
1891-
}
1892-
1893-
// If we have an alternate training source, sync that next
1894-
string alternateTrainingSourceProjectId = projectDoc
1895-
.Data
1896-
.TranslateConfig
1897-
.DraftConfig
1898-
.AlternateTrainingSource
1899-
?.ProjectRef;
1900-
if (
1901-
projectDoc.Data.TranslateConfig.DraftConfig.AlternateTrainingSourceEnabled
1902-
&& !string.IsNullOrWhiteSpace(alternateTrainingSourceProjectId)
1903-
)
1904-
{
1905-
syncProjectIds.Add(alternateTrainingSourceProjectId);
1906-
}
1907-
1908-
// If we have an additional training source, sync that next
1909-
string additionalTrainingSourceProjectId = projectDoc
1910-
.Data
1911-
.TranslateConfig
1912-
.DraftConfig
1913-
.AdditionalTrainingSource
1914-
?.ProjectRef;
1915-
if (
1916-
projectDoc.Data.TranslateConfig.DraftConfig.AdditionalTrainingSourceEnabled
1917-
&& !string.IsNullOrWhiteSpace(additionalTrainingSourceProjectId)
1918-
)
1919-
{
1920-
syncProjectIds.Add(additionalTrainingSourceProjectId);
1921-
}
1880+
// Store the project ids to sync in a hashset to prevent duplicates
1881+
HashSet<string> syncProjectIds =
1882+
[
1883+
.. projectDoc.Data.TranslateConfig.DraftConfig.TrainingSources.Select(s => s.ProjectRef),
1884+
.. projectDoc.Data.TranslateConfig.DraftConfig.DraftingSources.Select(s => s.ProjectRef),
1885+
];
19221886

19231887
// Remove the source project, as it was synced when the target was synced
19241888
string sourceProjectId = projectDoc.Data.TranslateConfig.Source?.ProjectRef;

0 commit comments

Comments
 (0)