public static void GetOtp(SynologyConnection syno, ref ResultData <AuthResult> resLogin) { do { Console.Write("Otp Code: "); var otp = Console.ReadLine(); if (string.IsNullOrWhiteSpace(otp)) { resLogin.Error = new ResultError { Code = 404 }; continue; } resLogin = syno.Api().Auth().Login(new LoginParameters { Username = LoginData.Username, Password = LoginData.Password, OtpCode = otp }); Console.WriteLine(JsonConvert.SerializeObject(resLogin)); }while (resLogin.Error != null && resLogin.Error.Code == 404); }
public static bool DoConnection(SynologyConnection syno) { Console.WriteLine("Info"); var resInfo = syno.Api().Info().GetInfo(); Console.WriteLine(JsonConvert.SerializeObject(resInfo)); Console.WriteLine("Auth Login"); var resLogin = syno.Api().Auth().Login(new LoginParameters { Username = LoginData.Username, Password = LoginData.Password }); Console.WriteLine(JsonConvert.SerializeObject(resLogin)); if (resLogin.Error == null || (resLogin.Error != null && resLogin.Error.Code == 403)) { if (resLogin.Error != null && resLogin.Error.Code == 403) { GetOtp(syno, ref resLogin); } if (resLogin.Error == null) { return(true); } } return(false); }
public static void GetOtp(SynologyConnection syno, ref ResultData<AuthResult> resLogin) { do { Console.Write("Otp Code: "); var otp = Console.ReadLine(); if (string.IsNullOrWhiteSpace(otp)) { resLogin.Error = new ResultError { Code = 404 }; continue; } resLogin = syno.Api().Auth().Login(new LoginParameters { Username = LoginData.Username, Password = LoginData.Password, OtpCode = otp }); Console.WriteLine(JsonConvert.SerializeObject(resLogin)); } while (resLogin.Error != null && resLogin.Error.Code == 404); }
public static bool DoConnection(SynologyConnection syno) { Console.WriteLine("Info"); var resInfo = syno.Api().Info().GetInfo(); Console.WriteLine(JsonConvert.SerializeObject(resInfo)); Console.WriteLine("Auth Login"); var resLogin = syno.Api().Auth().Login(new LoginParameters { Username = LoginData.Username, Password = LoginData.Password }); Console.WriteLine(JsonConvert.SerializeObject(resLogin)); if (resLogin.Error == null || (resLogin.Error != null && resLogin.Error.Code == 403)) { if (resLogin.Error != null && resLogin.Error.Code == 403) { GetOtp(syno, ref resLogin); } if (resLogin.Error == null) { return true; } } return false; }
public void CreateExDownloadTest() { var fileData = File.ReadAllBytes(TorrentFile); using (SynologyConnection connection = new SynologyConnection(TestHost)) { if (!DoConnection(connection)) { Assert.Fail("The connection to synology server failed."); } var result = connection.DownloadStation().TaskEx().Create(new TaskCreateExParameters { Destination = "home/Downloads", Filename = Path.GetFileName(TorrentFile), File = fileData, }); Assert.IsTrue(result.Success, $"The create download failed with error code : {result.Error?.Code}"); Assert.IsNotNull(result.Data, "The data object is null (check json parsing)"); Assert.IsNotNull(result.Data.TaskIds, "The task id list object is null (check json parsing)"); var deleteResult = connection.DownloadStation().Task().Delete(new DownloadStation.Task.Parameters.TaskDeleteParameters { Ids = result.Data.TaskIds.ToArray() }); Assert.IsTrue(deleteResult.Success, $"The delete download failed with error code : {deleteResult.Error?.Code}"); } }
public void SuccessUpload() { var fileData = File.ReadAllBytes("SynologyUploadTestFile.txt"); using (SynologyConnection connection = new SynologyConnection(TestHost)) { if (!DoConnection(connection)) { Assert.Fail("The connection to synology server failed."); } var result = connection.FileStation().Upload().Upload(new UploadParameters { DestinationPath = "/temp", Overwrite = true, FileName = "SynologyUploadTestFile.txt", FileData = fileData, }); } }
public Api(SynologyConnection connection) : base(connection) { }
public Api(SynologyConnection connection) : base(connection) { }
public AudioStationApi(SynologyConnection connection) : base(connection) { }
public static T Api(SynologyConnection connection) => connection.Api <T>();
public DownloadStationApi(SynologyConnection connection) : base(connection) { }
public void CreateExDownloadTest() { var fileData = File.ReadAllBytes(TorrentFile); using (SynologyConnection connection = new SynologyConnection(TestHost)) { if (!DoConnection(connection)) { Assert.Fail("The connection to synology server failed."); } var result = connection.DownloadStation().TaskEx().Create(new TaskCreateExParameters { Destination = "home/Downloads", Filename = Path.GetFileName(TorrentFile), File = fileData, }); Assert.IsTrue(result.Success, $"The create download failed with error code : {result.Error?.Code}"); Assert.IsNotNull(result.Data, "The data object is null (check json parsing)"); Assert.IsNotNull(result.Data.TaskIds, "The task id list object is null (check json parsing)"); var deleteResult = connection.DownloadStation().Task().Delete(new DownloadStation.Task.Parameters.TaskDeleteParameters { Ids = result.Data.TaskIds.ToArray() }); Assert.IsTrue(deleteResult.Success, $"The delete download failed with error code : {deleteResult.Error?.Code}"); } }
public VideoStationApi(SynologyConnection connection) : base(connection) { }
public FileStationApi(SynologyConnection connection) : base(connection) { }
public SurveillanceStationApi(SynologyConnection connection) : base(connection) { }
protected SynologyApi(SynologyConnection connection) { Connection = connection; }
public AudioStationApi(SynologyConnection connection) : base(connection) { }