using System; using System.Threading.Tasks; using Microsoft.Graph; using OwlCore.AbstractStorage; using OwlCore.Extensions; namespace StrixMusic.Cores.OneDrive.Storage { /// public class OneDriveFileDataProperties : IFileDataProperties { private readonly DriveItem _driveItem; public OneDriveFileDataProperties(DriveItem driveItem) { _driveItem = driveItem; } /// public Task GetMusicPropertiesAsync() { if (_driveItem.Audio is null) return Task.FromResult(null); var audio = _driveItem.Audio; return Task.FromResult(new MusicFileProperties { Album = audio.Album, AlbumArtist = audio.AlbumArtist, Artist = audio.AlbumArtist, Bitrate = (uint?)audio.Bitrate, Composers = audio.Composers.IntoList(), Conductors = null, Duration = TimeSpan.FromMilliseconds(audio.Duration ?? 0), Genres = audio.Genre.IntoList(), Producers = null, Publisher = null, Rating = null, Subtitle = null, Title = audio.Title, TrackNumber = (uint?)audio.Track, Writers = null, Year = (uint?)audio.Year, }); } } }