diff --git a/src/SIL.Machine.AspNetCore/Services/ITranslationEngineService.cs b/src/SIL.Machine.AspNetCore/Services/ITranslationEngineService.cs index 9efc860da..50abb5773 100644 --- a/src/SIL.Machine.AspNetCore/Services/ITranslationEngineService.cs +++ b/src/SIL.Machine.AspNetCore/Services/ITranslationEngineService.cs @@ -41,7 +41,7 @@ Task StartBuildAsync( Task CancelBuildAsync(string engineId, CancellationToken cancellationToken = default); - Task GetModelPresignedUrlAsync(string engineId, CancellationToken cancellationToken = default); + Task GetModelDownloadUrlAsync(string engineId, CancellationToken cancellationToken = default); Task GetQueueSizeAsync(CancellationToken cancellationToken = default); diff --git a/src/SIL.Machine.AspNetCore/Services/NmtEngineService.cs b/src/SIL.Machine.AspNetCore/Services/NmtEngineService.cs index 17014b019..dd97ff51d 100644 --- a/src/SIL.Machine.AspNetCore/Services/NmtEngineService.cs +++ b/src/SIL.Machine.AspNetCore/Services/NmtEngineService.cs @@ -114,7 +114,7 @@ public async Task CancelBuildAsync(string engineId, CancellationToken cancellati } } - public async Task GetModelPresignedUrlAsync( + public async Task GetModelDownloadUrlAsync( string engineId, CancellationToken cancellationToken = default ) @@ -136,18 +136,16 @@ public async Task GetModelPresignedUrlAsync( throw new FileNotFoundException( $"The model should exist to be downloaded but is not there for BuildRevision {engine.BuildRevision}." ); - var modelInfo = new ModelPresignedUrl + var modelInfo = new ModelDownloadUrl { - PresignedUrl = ( + Url = ( await _sharedFileService.GetPresignedUrlAsync( ISharedFileService.ModelDirectory + filename, MinutesToExpire ) ).ToString(), - BuildRevision = engine.BuildRevision, - UrlExpirationTime = DateTime - .UtcNow.AddMinutes(MinutesToExpire) - .ToString("yyyy-MM-ddTHH\\:mm\\:ss.fffffffzzz", CultureInfo.InvariantCulture) + ModelRevision = engine.BuildRevision, + ExipiresAt = DateTime.UtcNow.AddMinutes(MinutesToExpire) }; return modelInfo; } diff --git a/src/SIL.Machine.AspNetCore/Services/ServalTranslationEngineServiceV1.cs b/src/SIL.Machine.AspNetCore/Services/ServalTranslationEngineServiceV1.cs index 32f2e7062..2e31071fe 100644 --- a/src/SIL.Machine.AspNetCore/Services/ServalTranslationEngineServiceV1.cs +++ b/src/SIL.Machine.AspNetCore/Services/ServalTranslationEngineServiceV1.cs @@ -23,7 +23,7 @@ await engineService.CreateAsync( request.HasEngineName ? request.EngineName : null, request.SourceLanguage, request.TargetLanguage, - request.IsModelRetrievable, + request.IsModelPersisted, context.CancellationToken ); return Empty; @@ -120,23 +120,23 @@ public override async Task CancelBuild(CancelBuildRequest request, Server return Empty; } - public override async Task GetModelPresignedUrl( - GetModelPresignedUrlRequest request, + public override async Task GetModelDownloadUrl( + GetModelDownloadUrlRequest request, ServerCallContext context ) { try { ITranslationEngineService engineService = GetEngineService(request.EngineType); - ModelPresignedUrl modelPresignedUrl = await engineService.GetModelPresignedUrlAsync( + ModelDownloadUrl modelDownloadUrl = await engineService.GetModelDownloadUrlAsync( request.EngineId, context.CancellationToken ); - return new GetModelPresignedUrlResponse + return new GetModelDownloadUrlResponse { - PresignedUrl = modelPresignedUrl.PresignedUrl, - BuildRevision = modelPresignedUrl.BuildRevision, - UrlExpirationTime = modelPresignedUrl.UrlExpirationTime + Url = modelDownloadUrl.Url, + ModelRevision = modelDownloadUrl.ModelRevision, + ExpiresAt = modelDownloadUrl.ExipiresAt.ToTimestamp() }; } catch (InvalidOperationException e) diff --git a/src/SIL.Machine.AspNetCore/Services/SmtTransferEngineService.cs b/src/SIL.Machine.AspNetCore/Services/SmtTransferEngineService.cs index 0397df19c..5846ad41b 100644 --- a/src/SIL.Machine.AspNetCore/Services/SmtTransferEngineService.cs +++ b/src/SIL.Machine.AspNetCore/Services/SmtTransferEngineService.cs @@ -215,7 +215,7 @@ private async Task CancelBuildJobAsync(string engineId, CancellationToken cancel await _platformService.BuildCanceledAsync(buildId, CancellationToken.None); } - public Task GetModelPresignedUrlAsync( + public Task GetModelDownloadUrlAsync( string engineId, CancellationToken cancellationToken = default ) diff --git a/src/SIL.Machine/Translation/ModelDownloadUrl.cs b/src/SIL.Machine/Translation/ModelDownloadUrl.cs new file mode 100644 index 000000000..ceb0f4d46 --- /dev/null +++ b/src/SIL.Machine/Translation/ModelDownloadUrl.cs @@ -0,0 +1,11 @@ +using System; + +namespace SIL.Machine.Translation +{ + public class ModelDownloadUrl + { + public string Url { get; set; } = default; + public int ModelRevision { get; set; } = default; + public DateTime ExipiresAt { get; set; } = default; + } +} diff --git a/src/SIL.Machine/Translation/ModelPresignedUrl.cs b/src/SIL.Machine/Translation/ModelPresignedUrl.cs deleted file mode 100644 index 84a62fb2e..000000000 --- a/src/SIL.Machine/Translation/ModelPresignedUrl.cs +++ /dev/null @@ -1,9 +0,0 @@ -namespace SIL.Machine.Translation -{ - public class ModelPresignedUrl - { - public string PresignedUrl { get; set; } = default; - public int BuildRevision { get; set; } = default; - public string UrlExpirationTime { get; set; } = default; - } -}