Skip to content

Commit

Permalink
introduce a helper method for opening a crdt project and doing the re…
Browse files Browse the repository at this point in the history
…quired setup
  • Loading branch information
hahn-kev committed Oct 25, 2024
1 parent 8ad13dc commit 7926a9b
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
5 changes: 1 addition & 4 deletions backend/CrdtMerge/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,7 @@
var crdtProject = File.Exists(crdtFile) ?
new CrdtProject(projectCode, crdtFile) : // TODO: use projectName (once we have it) instead of projectCode here
await projectsService.CreateProject(new(crdtProjectName, fwdataApi.ProjectId, SeedNewProjectData: false, Path: projectFolder));
projectsService.SetProjectScope(crdtProject);
var currentProjectService = services.GetRequiredService<CurrentProjectService>();
await currentProjectService.PopulateProjectDataCache();
var miniLcmApi = services.GetRequiredService<IMiniLcmApi>();
var miniLcmApi = await services.OpenCrdtProject(crdtProject);
var result = await syncService.Sync(miniLcmApi, fwdataApi, dryRun);
logger.LogInformation("Sync result, CrdtChanges: {CrdtChanges}, FwdataChanges: {FwdataChanges}", result.CrdtChanges, result.FwdataChanges);
var srResult2 = srService.SendReceive(projectFolder, projectCode);
Expand Down
4 changes: 1 addition & 3 deletions backend/FwLite/FwLiteProjectSync/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,9 @@ public static Task<int> Main(string[] args)
{
crdtProject = await projectsService.CreateProject(new(crdtProjectName, fwdataApi.ProjectId, SeedNewProjectData: false));
}
projectsService.SetProjectScope(crdtProject);
await services.GetRequiredService<CurrentProjectService>().PopulateProjectDataCache();
var syncService = services.GetRequiredService<CrdtFwdataProjectSyncService>();

var result = await syncService.Sync(services.GetRequiredService<IMiniLcmApi>(), fwdataApi, dryRun);
var result = await syncService.Sync(await services.OpenCrdtProject(crdtProject), fwdataApi, dryRun);
logger.LogInformation("Sync result, CrdtChanges: {CrdtChanges}, FwdataChanges: {FwdataChanges}", result.CrdtChanges, result.FwdataChanges);
},
crdtOption,
Expand Down
8 changes: 8 additions & 0 deletions backend/FwLite/LcmCrdt/LcmCrdtKernel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -151,4 +151,12 @@ public static void ConfigureCrdt(CrdtConfig config)
.Add<RemoveComplexFormTypeChange>()
.Add<CreateComplexFormType>();
}

public static async Task<IMiniLcmApi> OpenCrdtProject(this IServiceProvider services, CrdtProject project)
{
var projectsService = services.GetRequiredService<ProjectsService>();
projectsService.SetProjectScope(project);
await services.GetRequiredService<CurrentProjectService>().PopulateProjectDataCache();
return services.GetRequiredService<IMiniLcmApi>();
}
}

0 comments on commit 7926a9b

Please sign in to comment.