public void ScanLibrary([FromQuery] Guid?collectionId, [FromQuery] bool clearLibrary = false) { var cancellationToken = new CancellationTokenSource(); if (clearLibrary) { MediaLibrary.ClearLibraryAsync(Guid.Empty, collectionId, cancellationToken.Token).ConfigureAwait(false); } MediaLibrary.ScanLibrary(Guid.Empty, collectionId, clearLibrary, cancellationToken.Token); }
public async Task <IActionResult> MusicFolderSettingsAsync(CancellationToken cancellationToken) { var queryParameters = Request.GetSubsonicQueryParameters(); var authenticationContext = await _subsonicAuthorization.AuthorizeRequestAsync(queryParameters, cancellationToken).ConfigureAwait(false); if (!authenticationContext.IsAuthorized || !authenticationContext.IsInRole(Role.Settings)) { return(StatusCode(401)); } if (Request.Query.ContainsKey("scanNow")) { MediaLibrary.ScanLibrary(Guid.Empty, null, false, cancellationToken); } return(StatusCode(302)); }