diff --git a/PlexRequests.Api.Interfaces/IPushbulletApi.cs b/PlexRequests.Api.Interfaces/IPushbulletApi.cs new file mode 100644 index 000000000..647280aaf --- /dev/null +++ b/PlexRequests.Api.Interfaces/IPushbulletApi.cs @@ -0,0 +1,43 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2016 Jamie Rees +// File: IPushbulletApi.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion +using PlexRequests.Api.Models.Notifications; + +namespace PlexRequests.Api.Interfaces +{ + public interface IPushbulletApi + { + /// + /// Pushes the specified message. + /// + /// The access token. + /// The title. + /// The message. + /// The device identifier. + /// + PushbulletResponse Push(string accessToken, string title, string message, string deviceIdentifier = default(string)); + } +} \ No newline at end of file diff --git a/PlexRequests.Api.Interfaces/PlexRequests.Api.Interfaces.csproj b/PlexRequests.Api.Interfaces/PlexRequests.Api.Interfaces.csproj index 42a2cfe0c..b76996490 100644 --- a/PlexRequests.Api.Interfaces/PlexRequests.Api.Interfaces.csproj +++ b/PlexRequests.Api.Interfaces/PlexRequests.Api.Interfaces.csproj @@ -48,6 +48,7 @@ + diff --git a/PlexRequests.Api.Models/Movie/CouchPotatoAdd.cs b/PlexRequests.Api.Models/Movie/CouchPotatoAdd.cs index 2e98a415f..5a2e228b9 100644 --- a/PlexRequests.Api.Models/Movie/CouchPotatoAdd.cs +++ b/PlexRequests.Api.Models/Movie/CouchPotatoAdd.cs @@ -19,65 +19,65 @@ namespace PlexRequests.Api.Models.Movie -public class Images -{ - public List disc_art { get; set; } - public List poster { get; set; } - public List extra_thumbs { get; set; } - public List poster_original { get; set; } - public List landscape { get; set; } - public string[] actors { get; set; } - public List backdrop_original { get; set; } - public List clear_art { get; set; } - public List logo { get; set; } - public List banner { get; set; } - public List backdrop { get; set; } - public List extra_fanart { get; set; } -} + public class Images + { + public List disc_art { get; set; } + public List poster { get; set; } + public List extra_thumbs { get; set; } + public List poster_original { get; set; } + public List landscape { get; set; } + public string[] actors { get; set; } + public List backdrop_original { get; set; } + public List clear_art { get; set; } + public List logo { get; set; } + public List banner { get; set; } + public List backdrop { get; set; } + public List extra_fanart { get; set; } + } -public class Info -{ - public Rating rating { get; set; } - public List genres { get; set; } - public int tmdb_id { get; set; } - public string plot { get; set; } - public string tagline { get; set; } - public string original_title { get; set; } - public string[] actor_roles { get; set; } - public bool via_imdb { get; set; } - public string mpaa { get; set; } - public bool via_tmdb { get; set; } - public List directors { get; set; } - public List titles { get; set; } - public string imdb { get; set; } - public int year { get; set; } - public Images images { get; set; } - public List actors { get; set; } - public List writers { get; set; } - public int runtime { get; set; } - public string type { get; set; } - public string released { get; set; } -} + public class Info + { + public Rating rating { get; set; } + public List genres { get; set; } + public int tmdb_id { get; set; } + public string plot { get; set; } + public string tagline { get; set; } + public string original_title { get; set; } + public string[] actor_roles { get; set; } + public bool via_imdb { get; set; } + public string mpaa { get; set; } + public bool via_tmdb { get; set; } + public List directors { get; set; } + public List titles { get; set; } + public string imdb { get; set; } + public int year { get; set; } + public Images images { get; set; } + public List actors { get; set; } + public List writers { get; set; } + public int runtime { get; set; } + public string type { get; set; } + public string released { get; set; } + } -public class Identifiers -{ - public string imdb { get; set; } -} + public class Identifiers + { + public string imdb { get; set; } + } -public class Movie -{ - public string status { get; set; } - public Info info { get; set; } - public string _t { get; set; } - public List releases { get; set; } - public string title { get; set; } - public string _rev { get; set; } - public string profile_id { get; set; } - public string _id { get; set; } - public object category_id { get; set; } - public string type { get; set; } - public Identifiers identifiers { get; set; } -} + public class Movie + { + public string status { get; set; } + public Info info { get; set; } + public string _t { get; set; } + public List releases { get; set; } + public string title { get; set; } + public string _rev { get; set; } + public string profile_id { get; set; } + public string _id { get; set; } + public object category_id { get; set; } + public string type { get; set; } + public Identifiers identifiers { get; set; } + } } diff --git a/PlexRequests.Api.Models/Notifications/PushbulletPush.cs b/PlexRequests.Api.Models/Notifications/PushbulletPush.cs new file mode 100644 index 000000000..d2f63efd1 --- /dev/null +++ b/PlexRequests.Api.Models/Notifications/PushbulletPush.cs @@ -0,0 +1,38 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2016 Jamie Rees +// File: PushbulletPush.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion +using Newtonsoft.Json; + +namespace PlexRequests.Api.Models.Notifications +{ + public class PushbulletPush + { + public string body { get; set; } + public string title { get; set; } + public string type { get; set; } + public string device_iden { get; set; } + } +} \ No newline at end of file diff --git a/PlexRequests.Api.Models/Notifications/PushbulletResponse.cs b/PlexRequests.Api.Models/Notifications/PushbulletResponse.cs new file mode 100644 index 000000000..eda3c41c7 --- /dev/null +++ b/PlexRequests.Api.Models/Notifications/PushbulletResponse.cs @@ -0,0 +1,48 @@ +#region Copyright +// /************************************************************************ +// Copyright (c) 2016 Jamie Rees +// File: PushbulletResponse.cs +// Created By: Jamie Rees +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// ************************************************************************/ +#endregion +namespace PlexRequests.Api.Models.Notifications +{ + public class PushbulletResponse + { + public bool active { get; set; } + public string iden { get; set; } + public double created { get; set; } + public double modified { get; set; } + public string type { get; set; } + public bool dismissed { get; set; } + public string direction { get; set; } + public string sender_iden { get; set; } + public string sender_email { get; set; } + public string sender_email_normalized { get; set; } + public string sender_name { get; set; } + public string receiver_iden { get; set; } + public string receiver_email { get; set; } + public string receiver_email_normalized { get; set; } + public string title { get; set; } + public string body { get; set; } + } +} \ No newline at end of file diff --git a/PlexRequests.Api.Models/PlexRequests.Api.Models.csproj b/PlexRequests.Api.Models/PlexRequests.Api.Models.csproj index 2255291fe..402d1192a 100644 --- a/PlexRequests.Api.Models/PlexRequests.Api.Models.csproj +++ b/PlexRequests.Api.Models/PlexRequests.Api.Models.csproj @@ -31,6 +31,10 @@ 4 + + ..\packages\Newtonsoft.Json.8.0.2\lib\net45\Newtonsoft.Json.dll + True + @@ -43,6 +47,8 @@ + + @@ -58,6 +64,9 @@ + + +