Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ export const file_size_validation = (value: any) => {
export const file_extension_validation = (value: any) => {
if (!value) { return true; }
let fileExtension = value.name.split(".").pop();
let fileType = ['mp4', 'avi', 'm4v', 'mov', 'mkv', 'mpg', 'mpeg', 'wmv'].find(ext => ext == fileExtension);
let fileType = ['mp4', 'avi', 'm4v', 'mov', 'mkv', 'mpg', 'm2v', 'vob'].find(ext => ext == fileExtension);
return fileType != undefined;
};
export const transcriptfile_extension_validation = (value: any) => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -522,11 +522,13 @@
}
},
async recordMediaResourceActivityInteraction(player: MKPlayer, event: string): Promise<void> {
let currentMediaTime = player.getCurrentTime();
// let resourceAzureMediaPlayer = amp("resourceAzureMediaPlayer");
// If user has come via the 'Play' link in My Learning, set the video start time.
if (this.isFirstPlay && this.mediaStartTime > 0) {
this.isFirstPlay = false;
player.seek(this.mediaStartTime);
this.player.seek(this.mediaStartTime);
currentMediaTime = this.mediaStartTime;
}

// On iPhone/iPad, if the user uses the browser back/forward buttons to come to the page the browser doesn't reload it from scratch. So we have to reset the tracking variables to create a whole new activity session.
Expand All @@ -538,8 +540,6 @@
this.createFirstInteraction = true;
this.createdFirstInteraction = false;
}

let currentMediaTime = player.getCurrentTime();
let clientDateTime = new Date();

// If this is the first interaction, we need to create the ResourceActivity first, then the MediaResourceActivity, then the MediaResourceActivityInteraction.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ public ContentServerController(
/// <returns>The <see cref="IActionResult"/>.</returns>
[HttpPost]
[Route("GetContentDetailsByExternalUrl")]
public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUrl)
public async Task<IActionResult> GetContentDetailsByExternalUrl([FromBody] string externalUrl)
{
string decodedUrl = HttpUtility.UrlDecode(externalUrl);

var details = this.scormContentServerService.GetContentDetailsByExternalUrl(decodedUrl);
var details = await this.scormContentServerService.GetContentDetailsByExternalUrl(decodedUrl);

return this.Ok(details);
}
Expand All @@ -61,9 +61,9 @@ public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUr
/// <returns>The <see cref="IActionResult"/>.</returns>
[HttpGet]
[Route("GetContentDetailsByExternalReference/{externalReference}")]
public IActionResult GetContentDetailsByExternalReference(string externalReference)
public async Task<IActionResult> GetContentDetailsByExternalReference(string externalReference)
{
var details = this.scormContentServerService.GetContentDetailsByExternalReference(externalReference);
var details = await this.scormContentServerService.GetContentDetailsByExternalReference(externalReference);

return this.Ok(details);
}
Expand Down
4 changes: 2 additions & 2 deletions WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -496,9 +496,9 @@ public async Task<ActionResult> GetScormDetailsAsync(int resourceVersionId)
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <returns>The <see cref="Task{ActionResult}"/>.</returns>
[HttpGet("GetExternalContentDetailsById/{resourceVersionId}")]
public ActionResult GetScormContentDetailsById(int resourceVersionId)
public async Task<ActionResult> GetScormContentDetailsById(int resourceVersionId)
{
return this.Ok(this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
return this.Ok(await this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ Remove WebM from the list of Learning Hub supported filetypes (it is not support
*/

Update [resources].[FileType] Set [NotAllowed] = 1 Where Extension = 'webm';

Update [resources].[FileType] Set [NotAllowed] = 1 Where Extension = 'wmv';
Update [resources].[FileType] Set [NotAllowed] = 1 Where Extension = 'mpeg';

/* https://hee-tis.atlassian.net/browse/TD-4102
Update AMS streaming locators to MediaKind streaming locators in tables
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,6 @@ public interface IResourceVersionRepository : IGenericRepository<ResourceVersion
/// <param name="resourceVersionId">resourceVersionId.</param>
/// <param name="userId">userId.</param>
/// <returns>A <see cref="Task{TResult}"/> representing the result of the asynchronous operation.</returns>
ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ public interface IScormResourceVersionRepository : IGenericRepository<ScormResou
/// </summary>
/// <param name="externalReference">The external reference (guid).</param>
/// <returns>A ContentServerViewModel.</returns>
ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference);
Task<ContentServerViewModel> GetContentServerDetailsByLHExternalReference(string externalReference);

/// <summary>
/// Gets the SCORM content details for a particular historic external URL. These historic URLs have to be supported to
/// allow historic ESR links on migrated resources to continue to work.
/// </summary>
/// <param name="externalUrl">The external Url.</param>
/// <returns>A ContentServerViewModel.</returns>
ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl);
Task<ContentServerViewModel> GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl);

/// <summary>
/// GetExternalReferenceByResourceId.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -679,15 +679,15 @@ await this.DbContext.Database.ExecuteSqlRawAsync(
/// <param name="resourceVersionId">resourceVersionId.</param>
/// <param name="userId">userId.</param>
/// <returns>A <see cref="Task{TResult}"/> representing the result of the asynchronous operation.</returns>
public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
public async Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId)
{
try
{
var param0 = new SqlParameter("@resourceVersionId", SqlDbType.Int) { Value = resourceVersionId };
var param1 = new SqlParameter("@userId", SqlDbType.Int) { Value = userId };

var externalContentDetailsViewModel = this.DbContext.ExternalContentDetailsViewModel.FromSqlRaw("[resources].[GetExternalContentDetails] @resourceVersionId, @userId", param0, param1).AsEnumerable().FirstOrDefault();

var retVal = await this.DbContext.ExternalContentDetailsViewModel.FromSqlRaw("[resources].[GetExternalContentDetails] @resourceVersionId, @userId", param0, param1).AsNoTracking().ToListAsync();
ExternalContentDetailsViewModel externalContentDetailsViewModel = retVal.AsEnumerable().FirstOrDefault();
return externalContentDetailsViewModel;
}
catch (Exception ex)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,13 @@ public async Task<ScormResourceVersion> GetByResourceVersionIdAsync(int resource
/// </summary>
/// <param name="externalReference">The external reference (guid).</param>
/// <returns>A ContentServerViewModel.</returns>
public ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference)
public async Task<ContentServerViewModel> GetContentServerDetailsByLHExternalReference(string externalReference)
{
var param0 = new SqlParameter("@externalReference", SqlDbType.NVarChar) { Value = externalReference };

var scormContentServerViewModel = this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).AsEnumerable().FirstOrDefault();
var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).AsNoTracking().ToListAsync();

ContentServerViewModel scormContentServerViewModel = scormContentData.AsEnumerable().FirstOrDefault();
return scormContentServerViewModel;
}

Expand All @@ -70,12 +71,12 @@ public ContentServerViewModel GetContentServerDetailsByLHExternalReference(strin
/// </summary>
/// <param name="externalUrl">The external Url.</param>
/// <returns>A ContentServerViewModel.</returns>
public ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl)
public async Task<ContentServerViewModel> GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl)
{
var param0 = new SqlParameter("@externalUrl", SqlDbType.NVarChar) { Value = externalUrl };

var scormContentServerViewModel = this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).ToList().FirstOrDefault<ContentServerViewModel>();

var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).AsNoTracking().ToListAsync();
ContentServerViewModel scormContentServerViewModel = scormContentData.FirstOrDefault<ContentServerViewModel>();
return scormContentServerViewModel;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public interface IResourceService
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <param name="userId">userId.</param>
/// <returns>The <see cref="Task{ScormContentDetailsViewModel}"/>.</returns>
ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId);

/// <summary>
/// The get image details by id async.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ public interface IScormContentServerService
/// </summary>
/// <param name="externalUrl">The externalUrl<see cref="string"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl);
Task<ContentServerViewModel> GetContentDetailsByExternalUrl(string externalUrl);

/// <summary>
/// The GetContentDetailsByExternalReference.
/// </summary>
/// <param name="externalReference">The externalReference<see cref="Guid"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
ContentServerViewModel GetContentDetailsByExternalReference(string externalReference);
Task<ContentServerViewModel> GetContentDetailsByExternalReference(string externalReference);

/// <summary>
/// The LogResourceReferenceEventAsync.
Expand Down
10 changes: 5 additions & 5 deletions WebAPI/LearningHub.Nhs.Services/ResourceService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2793,7 +2793,7 @@ public async Task<GenericFileViewModel> GetGenericFileDetailsByIdAsync(int resou
var vm = this.mapper.Map<GenericFileViewModel>(genericFile);

// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
Expand All @@ -2814,7 +2814,7 @@ public async Task<HtmlResourceViewModel> GetHtmlDetailsByIdAsync(int resourceVer
var vm = this.mapper.Map<HtmlResourceViewModel>(htmlFile);

// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
Expand All @@ -2835,7 +2835,7 @@ public async Task<ScormViewModel> GetScormDetailsByIdAsync(int resourceVersionId
var vm = this.mapper.Map<ScormViewModel>(scorm);

// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
Expand All @@ -2851,9 +2851,9 @@ public async Task<ScormViewModel> GetScormDetailsByIdAsync(int resourceVersionId
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <param name="userId">userId.</param>
/// <returns>The <see cref="Task{ExternalContentDetailsViewModel}"/>.</returns>
public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
public async Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId)
{
var viewModel = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, userId);
var viewModel = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, userId);
if (viewModel != null)
{
viewModel.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{viewModel.ExternalReference}/".ToLower();
Expand Down
8 changes: 4 additions & 4 deletions WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ public ScormContentServerService(
/// </summary>
/// <param name="externalUrl">The externalUrl<see cref="string"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl)
public async Task<ContentServerViewModel> GetContentDetailsByExternalUrl(string externalUrl)
{
var response = this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl);
var response = await this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl);

return response;
}
Expand All @@ -75,9 +75,9 @@ public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl)
/// </summary>
/// <param name="externalReference">The externalReference<see cref="string"/>.</param>
/// <returns>The <see cref="Task{ContentServerViewModel}"/>.</returns>
public ContentServerViewModel GetContentDetailsByExternalReference(string externalReference)
public async Task<ContentServerViewModel> GetContentDetailsByExternalReference(string externalReference)
{
var response = this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference);
var response = await this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference);

return response;
}
Expand Down