mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-23 22:45:23 -07:00
Compare commits
No commits in common. "develop" and "v2.0.1" have entirely different histories.
2620 changed files with 140295 additions and 264761 deletions
5
.gitattributes
vendored
5
.gitattributes
vendored
|
@ -62,4 +62,7 @@
|
|||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
||||
|
||||
Old/* linguist-vendored
|
||||
|
||||
PlexRequests.UI/Content/* linguist-vendored
|
||||
PlexRequests.UI/Content/* linguist-vendored
|
||||
base.scss linguist-vendored=false
|
||||
|
|
8
.github/FUNDING.yml
vendored
8
.github/FUNDING.yml
vendored
|
@ -1,8 +0,0 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: [tidusjar]
|
||||
patreon: tidusjar
|
||||
#open_collective: # Replace with a single Open Collective username
|
||||
#ko_fi: # Replace with a single Ko-fi username
|
||||
#tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||
custom: https://paypal.me/PlexRequestsNet
|
39
.github/ISSUE_TEMPLATE.md
vendored
Normal file
39
.github/ISSUE_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
<!---
|
||||
|
||||
!! Please use the Support / bug report template, otherwise we will close the Github issue !!
|
||||
|
||||
(Pleas submit a feature request over here: http://feathub.com/tidusjar/Ombi)
|
||||
|
||||
--->
|
||||
|
||||
#### Ombi Version:
|
||||
|
||||
V 1.XX.XX
|
||||
|
||||
#### Update Branch:
|
||||
|
||||
Stable/Early Access Preview/development
|
||||
|
||||
#### Operating System:
|
||||
|
||||
(Place text here)
|
||||
|
||||
#### Mono Version (only if your not on windows)
|
||||
|
||||
(Place text here)
|
||||
|
||||
#### Applicable Logs (from `/logs/` directory or the Admin page):
|
||||
|
||||
```
|
||||
|
||||
(Logs go here. Don't remove the ``` tags for showing your logs correctly. Please make sure you remove any personal information from the logs)
|
||||
|
||||
```
|
||||
|
||||
#### Problem Description:
|
||||
|
||||
(Place text here)
|
||||
|
||||
#### Reproduction Steps:
|
||||
|
||||
Please include any steps to reproduce the issue, this the request that is causing the problem etc.
|
50
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
50
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -1,50 +0,0 @@
|
|||
name: "\U0001F41B Bug report"
|
||||
description: 'Report a reproducible bug in Ombi'
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: Thanks for taking the time to file a bug report! Please fill out this form as completely as possible.
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If you leave out sections there is a high likelihood your issue will be closed.
|
||||
If you have a question or you think your issue might be caused by your application code, you can get help from the community on [Discord](https://discord.gg/Sa7wNWb).
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Summary
|
||||
description: |
|
||||
Clearly describe what the expected behavior is vs. what is actually happening. Please include any reproduction steps that is required to reproduce this issue.
|
||||
If your summary is simply, for example: "I cannot setup Plex", then you will need to [continue debugging on your own](https://docs.ombi.app/) to more precisely define your issue before proceeding.
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Ombi Version
|
||||
description: What version of ombi are you running?
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: What platform(s) does this occur on?
|
||||
multiple: true
|
||||
options:
|
||||
- Docker
|
||||
- Windows
|
||||
- Linux
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: What database are you using?
|
||||
options:
|
||||
- SQLite (Default)
|
||||
- MySQL
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: shell
|
11
.github/ISSUE_TEMPLATE/config.yml
vendored
11
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,11 +0,0 @@
|
|||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Docs
|
||||
url: https://docs.ombi.app/
|
||||
about: The Ombi documentation should help guide you through installation and setup as well as help resolve common problems and answer frequently asked questions
|
||||
- name: Discord support
|
||||
url: https://discord.gg/Sa7wNWb
|
||||
about: Ask questions about Ombi
|
||||
- name: Feature suggestions
|
||||
url: https://ombifeatures.featureupvote.com
|
||||
about: Share your suggestions or ideas to make Ombi better!
|
7
.github/labeler.yml
vendored
7
.github/labeler.yml
vendored
|
@ -1,7 +0,0 @@
|
|||
automation: tests/**/*
|
||||
|
||||
frontend: src/Ombi/ClientApp/**/*
|
||||
|
||||
backend: src/**/*.cs
|
||||
|
||||
devops: .github/workflows/*
|
23
.github/stale.yml
vendored
23
.github/stale.yml
vendored
|
@ -1,23 +0,0 @@
|
|||
# Number of days of inactivity before an issue becomes stale
|
||||
daysUntilStale: 60
|
||||
# Number of days of inactivity before a stale issue is closed
|
||||
daysUntilClose: 7
|
||||
# Issues with these labels will never be considered stale
|
||||
exemptLabels:
|
||||
- pinned
|
||||
- security
|
||||
- bug / issue
|
||||
- help wanted
|
||||
- possible feature
|
||||
- planned
|
||||
- in progress
|
||||
- enhancement
|
||||
# Label to use when marking an issue as stale
|
||||
staleLabel: wontfix
|
||||
# Comment to post when marking an issue as stale. Set to `false` to disable
|
||||
markComment: >
|
||||
This issue has been automatically marked as stale because it has not had
|
||||
recent activity. It will be closed if no further activity occurs. Thank you
|
||||
for your contributions.
|
||||
# Comment to post when closing a stale issue. Set to `false` to disable
|
||||
closeComment: false
|
81
.github/workflows/automation-tests.yml
vendored
81
.github/workflows/automation-tests.yml
vendored
|
@ -1,81 +0,0 @@
|
|||
name: Automation Tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop, feature/** ]
|
||||
pull_request:
|
||||
branches: [ develop ]
|
||||
schedule:
|
||||
- cron: '0 0 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
automation-tests:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup .NET
|
||||
uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: 6.0.x
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
'**/node_modules'
|
||||
'/home/runner/.cache/Cypress'
|
||||
key: ${{ runner.os }}-modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- name: Install Frontend Deps
|
||||
run: yarn --cwd ./src/Ombi/ClientApp install
|
||||
|
||||
- name: Build Frontend
|
||||
run: yarn --cwd ./src/Ombi/ClientApp build
|
||||
|
||||
- name: Build Docker Image
|
||||
run: docker build -t ombi src/
|
||||
|
||||
- name: Run Docker Image
|
||||
run: nohup docker run --rm -p 5000:5000 ombi &
|
||||
|
||||
- name: Run Wiremock
|
||||
run: nohup docker run --rm -p 32400:8080 --name wiremock wiremock/wiremock:2.35.0 &
|
||||
|
||||
- name: Sleep for server to start
|
||||
run: sleep 20
|
||||
|
||||
# - name: Start Frontend
|
||||
# run: |
|
||||
# nohup yarn --cwd ./src/Ombi/ClientApp start &
|
||||
|
||||
# - name: Install Automation Deps
|
||||
# run: yarn --cwd ./tests install
|
||||
|
||||
# - name: Start Backend
|
||||
# run: |
|
||||
# nohup dotnet run --project ./src/Ombi -- --host http://*:3577 &
|
||||
|
||||
- name: Cypress Tests
|
||||
uses: cypress-io/github-action@v4
|
||||
with:
|
||||
record: true
|
||||
browser: chrome
|
||||
headless: true
|
||||
working-directory: tests
|
||||
wait-on: http://localhost:5000/
|
||||
# 10 minutes
|
||||
wait-on-timeout: 600
|
||||
env:
|
||||
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Stop Docker
|
||||
if: always()
|
||||
run: |
|
||||
docker ps -q | xargs -I {} docker logs {}
|
||||
docker container kill $(docker ps -q)
|
214
.github/workflows/build.yml
vendored
214
.github/workflows/build.yml
vendored
|
@ -1,214 +0,0 @@
|
|||
name: CI Build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop, master ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build-ui:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: NodeModules Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: node_modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- name: UI Install
|
||||
run: yarn --cwd ./src/Ombi/ClientApp install
|
||||
|
||||
- name: Build UI
|
||||
run: yarn --cwd ./src/Ombi/ClientApp run build
|
||||
|
||||
- name: Publish UI Artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: angular_dist
|
||||
path: |
|
||||
./src/Ombi/ClientApp/dist
|
||||
|
||||
unit-test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
|
||||
- name: Nuget Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget
|
||||
|
||||
- name: Run Unit Tests
|
||||
run: |
|
||||
cd src
|
||||
dotnet test -c NonUiBuild --logger trx --results-directory "TestResults"
|
||||
|
||||
versioning:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ build-ui, unit-test ]
|
||||
outputs:
|
||||
changelog: ${{ steps.changelog.outputs.clean_changelog }}
|
||||
tag: ${{ steps.changelog.outputs.tag }}
|
||||
version: ${{ steps.changelog.outputs.version }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Conventional Changelog Action
|
||||
id: changelog
|
||||
uses: TriPSs/conventional-changelog-action@v3
|
||||
with:
|
||||
version-file: 'version.json'
|
||||
release-count: 40
|
||||
skip-on-empty: 'false'
|
||||
git-message: 'chore(release): :rocket: {version}'
|
||||
|
||||
- name: Output version
|
||||
run: |
|
||||
echo "outputs: ${{ steps.changelog.outputs.tag }}"
|
||||
echo "Version: ${{ steps.changelog.outputs.version }}"
|
||||
echo "log: ${{ steps.changelog.outputs.clean_changelog }}"
|
||||
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ build-ui, versioning ]
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: win-x64
|
||||
format: zip
|
||||
compression: zip
|
||||
- os: win-x86
|
||||
format: zip
|
||||
compression: zip
|
||||
- os: linux-x64
|
||||
format: tar.gz
|
||||
compression: tar
|
||||
- os: linux-arm
|
||||
format: tar.gz
|
||||
compression: tar
|
||||
- os: linux-arm64
|
||||
compression: tar
|
||||
format: tar.gz
|
||||
- os: osx-x64
|
||||
compression: tar
|
||||
format: tar.gz
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '5.0.x'
|
||||
|
||||
- name: Nuget Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget
|
||||
|
||||
- name: Set Backend Version
|
||||
run: |
|
||||
dotnet tool install -g dotnet-setversion
|
||||
setversion -r ${{ needs.versioning.outputs.version }}
|
||||
working-directory: src
|
||||
|
||||
- name: Publish Backend ${{ matrix.os }}
|
||||
run: dotnet publish -c Release -r ${{ matrix.os }} -o "${{ matrix.os }}" --self-contained true -p:PublishSingleFile=true
|
||||
working-directory: src/Ombi
|
||||
|
||||
- name: Download Angular
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: angular_dist
|
||||
path: ~/src/Ombi/dist
|
||||
|
||||
- name: Copy Dist to Artifacts
|
||||
run: |
|
||||
cd ${{ matrix.os }}
|
||||
sudo mkdir -p ClientApp/dist
|
||||
echo "mkdir /ClientApp"
|
||||
echo "list os (ClientApp should be here)"
|
||||
ls
|
||||
cd ..
|
||||
echo "Copy dist to /ClientApp"
|
||||
sudo mv ~/src/Ombi/dist/* ${{ matrix.os }}/ClientApp/dist
|
||||
working-directory: src/Ombi
|
||||
|
||||
- name: Archive Release
|
||||
uses: thedoctor0/zip-release@master
|
||||
with:
|
||||
type: '${{ matrix.compression }}'
|
||||
filename: '../${{ matrix.os }}.${{ matrix.format }}'
|
||||
path: '.'
|
||||
directory: 'src/Ombi/${{ matrix.os }}'
|
||||
|
||||
- name: Publish Release
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ matrix.os }}
|
||||
path: |
|
||||
./src/Ombi/${{ matrix.os }}.${{ matrix.format }}
|
||||
|
||||
release:
|
||||
needs: [ publish, unit-test, versioning ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Download Artifacts
|
||||
id: download
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: artifacts
|
||||
|
||||
- name: Publish to GitHub Master
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: contains(github.ref, 'master')
|
||||
with:
|
||||
body: ${{ needs.versioning.outputs.changelog }}
|
||||
name: ${{ needs.versioning.outputs.tag }}
|
||||
tag_name: ${{ needs.versioning.outputs.tag }}
|
||||
files: |
|
||||
artifacts/**/*.tar.gz
|
||||
artifacts/**/*.zip
|
||||
|
||||
- name: Publish to GitHub Develop
|
||||
uses: softprops/action-gh-release@v1
|
||||
if: contains(github.ref, 'develop')
|
||||
with:
|
||||
prerelease: true
|
||||
generate_release_notes: false
|
||||
body: ${{ needs.versioning.outputs.changelog }}
|
||||
name: ${{ needs.versioning.outputs.tag }}
|
||||
tag_name: ${{ needs.versioning.outputs.tag }}
|
||||
files: |
|
||||
artifacts/**/*.tar.gz
|
||||
artifacts/**/*.zip
|
||||
|
||||
update-apt:
|
||||
needs: [ release, versioning ]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Trigger APT Build
|
||||
uses: fjogeleit/http-request-action@master
|
||||
with:
|
||||
url: 'https://api.github.com/repos/Ombi-app/Ombi.Apt/actions/workflows/build-deb.yml/dispatches'
|
||||
method: 'POST'
|
||||
contentType: 'application/json'
|
||||
data: '{ "ref":"main", "inputs": { "version": "${{ needs.versioning.outputs.tag }}"} }'
|
||||
customHeaders: '{"Accept":"application/vnd.github.v3+json", "Authorization":"Bearer ${{secrets.APT_PAT}}", "User-Agent":"Ombi"}'
|
||||
|
||||
|
47
.github/workflows/chromatic.yml
vendored
47
.github/workflows/chromatic.yml
vendored
|
@ -1,47 +0,0 @@
|
|||
# name: 'Chromatic'
|
||||
|
||||
# # Event for the workflow
|
||||
# on:
|
||||
# push:
|
||||
# workflow_dispatch:
|
||||
|
||||
# # List of jobs
|
||||
# jobs:
|
||||
# storybook-build:
|
||||
# # Operating System
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout repository
|
||||
# uses: actions/checkout@v2
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
|
||||
# - name: NodeModules Cache
|
||||
# uses: actions/cache@v4
|
||||
# with:
|
||||
# path: '**/node_modules'
|
||||
# key: node_modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
# - name: Install dependencies
|
||||
# working-directory: ./src/Ombi/ClientApp
|
||||
# run: yarn
|
||||
|
||||
# - name: Publish to Chromatic
|
||||
# if: github.ref != 'refs/heads/master'
|
||||
# uses: chromaui/action@v1
|
||||
# with:
|
||||
# projectToken: 7c47e1a1a4bd
|
||||
# exitZeroOnChanges: true
|
||||
# workingDir: ./src/Ombi/ClientApp
|
||||
# buildScriptName: storybookbuild
|
||||
# exitOnceUploaded: true
|
||||
|
||||
# - name: Publish to Chromatic and auto accept changes
|
||||
# if: github.ref == 'refs/heads/develop'
|
||||
# uses: chromaui/action@v1
|
||||
# with:
|
||||
# projectToken: 7c47e1a1a4bd
|
||||
# autoAcceptChanges: true # 👈 Option to accept all changes
|
||||
# workingDir: ./src/Ombi/ClientApp
|
||||
# buildScriptName: storybookbuild
|
||||
# exitOnceUploaded: true
|
65
.github/workflows/codeql-analysis.yml
vendored
65
.github/workflows/codeql-analysis.yml
vendored
|
@ -1,65 +0,0 @@
|
|||
# For most projects, this workflow file will not need changing; you simply need
|
||||
# to commit it to your repository.
|
||||
#
|
||||
# You may wish to alter this file to override the set of languages analyzed,
|
||||
# or to provide custom queries or build logic.
|
||||
#
|
||||
# ******** NOTE ********
|
||||
# We have attempted to detect the languages in your repository. Please check
|
||||
# the `language` matrix defined below to confirm you have the correct set of
|
||||
# supported CodeQL languages.
|
||||
#
|
||||
name: "CodeQL"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop, master ]
|
||||
pull_request:
|
||||
# The branches below must be a subset of the branches above
|
||||
branches: [ develop ]
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: [ 'csharp', 'javascript' ]
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
||||
# Learn more:
|
||||
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v3
|
||||
with:
|
||||
languages: ${{ matrix.language }}
|
||||
# If you wish to specify custom queries, you can do so here or in a config file.
|
||||
# By default, queries listed here will override any specified in a config file.
|
||||
# Prefix the list here with "+" to use these queries and those in the config file.
|
||||
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
|
||||
# ℹ️ Command-line programs to run using the OS shell.
|
||||
# 📚 https://git.io/JvXDl
|
||||
|
||||
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
||||
# and modify them (or add more) to build your code if your project
|
||||
# uses a compiled language
|
||||
|
||||
#- run: |
|
||||
# make bootstrap
|
||||
# make release
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
20
.github/workflows/contributors.yml
vendored
20
.github/workflows/contributors.yml
vendored
|
@ -1,20 +0,0 @@
|
|||
name: Contributors
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update-contributors:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Contribute List
|
||||
uses: akhilmhdh/contributors-readme-action@v2.2.1
|
||||
with:
|
||||
commit_message: "chore: :busts_in_silhouette: Updated Contributors [skip ci]"
|
||||
image_size: 50
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
32
.github/workflows/issue-check.yml
vendored
32
.github/workflows/issue-check.yml
vendored
|
@ -1,32 +0,0 @@
|
|||
name: 'Issue Check'
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
issueCheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- if: startsWith(github.event.issue.body , '**Describe the bug**') == false
|
||||
name: Close Issue
|
||||
uses: peter-evans/close-issue@v1
|
||||
with:
|
||||
comment: |
|
||||
Hello, Please use the Github template to report an issue. If this is a feature request, please take a look at the readme. <br/> Thanks, <br/> Ombi Bot
|
||||
|
||||
- if: startsWith(github.event.issue.body , '**Describe the bug**') == true
|
||||
name: Create comment
|
||||
uses: peter-evans/create-or-update-comment@v1
|
||||
with:
|
||||
issue-number: ${{ github.event.issue.number }}
|
||||
body: |
|
||||
Hi!
|
||||
<br/>Thanks for the issue report. Before a real human comes by, please make sure you used our bug report format.
|
||||
<br/>Have you looked at the wiki yet? https://docs.ombi.app/
|
||||
<br/>Before posting make sure you also read our [FAQ](https://docs.ombi.app/info/faq/).
|
||||
<br/> Make the title describe your issue. Having 'not working' or 'I get this bug' for 100 issues, isn't really helpful.
|
||||
<br/> If we need more information or there is some progress we tag the issue or update the tag and keep you updated.
|
||||
<br/> Thanks!
|
||||
<br/> Ombi Bot.
|
21
.github/workflows/label.yml
vendored
21
.github/workflows/label.yml
vendored
|
@ -1,21 +0,0 @@
|
|||
# This workflow will triage pull requests and apply a label based on the
|
||||
# paths that are modified in the pull request.
|
||||
#
|
||||
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||
# file with configuration. For more information, see:
|
||||
# https://github.com/actions/labeler
|
||||
|
||||
name: Labeler
|
||||
on: [pull_request]
|
||||
|
||||
permissions: write-all
|
||||
|
||||
jobs:
|
||||
label:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v2
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
116
.github/workflows/pr.yml
vendored
116
.github/workflows/pr.yml
vendored
|
@ -1,116 +0,0 @@
|
|||
name: PR Build
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened]
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
pull-requests: write
|
||||
issues: write
|
||||
repository-projects: write
|
||||
|
||||
jobs:
|
||||
build-ui:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: '20'
|
||||
|
||||
- name: NodeModules Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: '**/node_modules'
|
||||
key: node_modules-${{ hashFiles('**/yarn.lock') }}
|
||||
|
||||
- name: UI Install
|
||||
run: yarn --cwd ./src/Ombi/ClientApp install
|
||||
|
||||
- name: Build UI
|
||||
run: yarn --cwd ./src/Ombi/ClientApp run build
|
||||
|
||||
unit-test:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
|
||||
- name: Nuget Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget
|
||||
|
||||
- name: Run Unit Tests
|
||||
run: |
|
||||
cd src
|
||||
dotnet test --configuration "Release" --logger "trx;LogFileName=test-results.trx"
|
||||
|
||||
analysis:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
# Disabling shallow clone is recommended for improving relevancy of reporting
|
||||
fetch-depth: 0
|
||||
- name: SonarCloud Scan
|
||||
uses: sonarsource/sonarcloud-github-action@master
|
||||
with:
|
||||
args: >
|
||||
-Dsonar.organization=ombi-app
|
||||
-Dsonar.projectKey=Ombi-app_Ombi
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
|
||||
|
||||
publish:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ unit-test ]
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- os: win-x64
|
||||
format: zip
|
||||
compression: zip
|
||||
- os: win-x86
|
||||
format: zip
|
||||
compression: zip
|
||||
- os: linux-x64
|
||||
format: tar.gz
|
||||
compression: tar
|
||||
- os: linux-arm
|
||||
format: tar.gz
|
||||
compression: tar
|
||||
- os: linux-arm64
|
||||
compression: tar
|
||||
format: tar.gz
|
||||
- os: osx-x64
|
||||
compression: tar
|
||||
format: tar.gz
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-dotnet@v1
|
||||
with:
|
||||
dotnet-version: '8.0.x'
|
||||
|
||||
- name: Nuget Cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.nuget/packages
|
||||
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-nuget
|
||||
|
||||
- name: Publish Backend ${{ matrix.os }}
|
||||
run: dotnet publish -c Release -r ${{ matrix.os }} -o "${{ matrix.os }}" --self-contained true -p:PublishSingleFile=true
|
||||
working-directory: src/Ombi
|
||||
|
||||
|
||||
|
50
.github/workflows/sonarscan.yml
vendored
50
.github/workflows/sonarscan.yml
vendored
|
@ -1,50 +0,0 @@
|
|||
name: Sonar Scanner
|
||||
on:
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
sonarcloud:
|
||||
name: SonarCloud
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
# Shallow clones should be disabled for a better relevancy of analysis
|
||||
fetch-depth: 0
|
||||
|
||||
# Speed-up analysis by caching the scanner workspace
|
||||
- name: Cache SonarCloud workspace
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ~\.sonar\cache
|
||||
key: ${{ runner.os }}-sonar-cache
|
||||
restore-keys: ${{ runner.os }}-sonar-cache
|
||||
|
||||
# Speed-up analysis by caching the scanner installation
|
||||
- name: Cache SonarCloud scanner
|
||||
id: cache-sonar-scanner
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: .\.sonar\scanner
|
||||
key: ${{ runner.os }}-sonar-scanner
|
||||
restore-keys: ${{ runner.os }}-sonar-scanner
|
||||
|
||||
- name: Install SonarCloud scanner
|
||||
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
|
||||
shell: powershell
|
||||
# The --version argument is optional. If it is omitted the latest version will be installed.
|
||||
run: |
|
||||
New-Item -Path .\.sonar\scanner -ItemType Directory
|
||||
dotnet tool update dotnet-sonarscanner --tool-path .\.sonar\scanner --version 4.8.0
|
||||
- name: Build
|
||||
shell: powershell
|
||||
env:
|
||||
# Needed to get some information about the pull request, if any
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# The secret referenced in the command-line by SONAR_TOKEN should be generated
|
||||
# from https://sonarcloud.io/account/security/
|
||||
# The organization and project arguments (see /o and /k) are displayed
|
||||
# on the project dashboard in SonarCloud.
|
||||
run: |
|
||||
.\.sonar\scanner\dotnet-sonarscanner begin /k:"Ombi-app_Ombi" /o:"ombi-app" /d:sonar.login="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
|
||||
dotnet build src/Ombi.sln -c NonUiBuild
|
||||
.\.sonar\scanner\dotnet-sonarscanner end /d:sonar.login="${{ secrets.SONAR_TOKEN }}"
|
18
.gitignore
vendored
18
.gitignore
vendored
|
@ -7,7 +7,7 @@
|
|||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# User-specific files
|
||||
# User-specific files (MonoDevelop/Xamarin Studio)
|
||||
*.userprefs
|
||||
|
||||
# Build results
|
||||
|
@ -20,7 +20,6 @@ x86/
|
|||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
.sonarqube/
|
||||
|
||||
# Visual Studio 2015 cache/options directory
|
||||
.vs/
|
||||
|
@ -238,18 +237,3 @@ _Pvt_Extensions
|
|||
*.ncrunchproject
|
||||
*.ncrunchsolution
|
||||
|
||||
*.txt
|
||||
|
||||
|
||||
# CAKE - C# Make
|
||||
/Tools/*
|
||||
*.db-journal
|
||||
|
||||
# Ignore local vscode config
|
||||
*.vscode
|
||||
/src/Ombi/database.json
|
||||
/src/Ombi/databases.json
|
||||
/src/Ombi/healthchecksdb
|
||||
/src/Ombi/ClientApp/package-lock.json
|
||||
/src/Ombi.Core/Properties/launchSettings.json
|
||||
.yarn
|
||||
|
|
|
@ -1,7 +0,0 @@
|
|||
pull_request_rules:
|
||||
- name: Automatic merge on approval
|
||||
conditions:
|
||||
- "#approved-reviews-by>=1"
|
||||
actions:
|
||||
merge:
|
||||
method: merge
|
7
.travis.yml
Normal file
7
.travis.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
language: csharp
|
||||
solution: Ombi.sln
|
||||
install:
|
||||
- mono Tools/nuget.exe restore Ombi.sln
|
||||
- nuget install NUnit.Runners -OutputDirectory testrunner
|
||||
script:
|
||||
- xbuild /p:Configuration=Release Ombi.sln /p:TargetFrameworkVersion="v4.5"
|
BIN
Assemblies/Mono.Data.Sqlite.dll
Normal file
BIN
Assemblies/Mono.Data.Sqlite.dll
Normal file
Binary file not shown.
1324
CHANGELOG.md
1324
CHANGELOG.md
File diff suppressed because it is too large
Load diff
|
@ -1,128 +0,0 @@
|
|||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
tidusjar@gmail.com.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
40
Ombi.Api.Interfaces/IApiRequest.cs
Normal file
40
Ombi.Api.Interfaces/IApiRequest.cs
Normal file
|
@ -0,0 +1,40 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IApiRequest.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 System;
|
||||
using RestSharp;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IApiRequest
|
||||
{
|
||||
T Execute<T>(IRestRequest request, Uri baseUri) where T : new();
|
||||
IRestResponse Execute(IRestRequest request, Uri baseUri);
|
||||
T ExecuteXml<T>(IRestRequest request, Uri baseUri) where T : class;
|
||||
T ExecuteJson<T>(IRestRequest request, Uri baseUri) where T : new();
|
||||
}
|
||||
}
|
42
Ombi.Api.Interfaces/ICouchPotatoApi.cs
Normal file
42
Ombi.Api.Interfaces/ICouchPotatoApi.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: ICouchPotatoApi.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 System;
|
||||
using Ombi.Api.Models.Movie;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface ICouchPotatoApi
|
||||
{
|
||||
bool AddMovie(string imdbid, string apiKey, string title, Uri baseUrl, string profileID = default(string));
|
||||
CouchPotatoStatus GetStatus(Uri url, string apiKey);
|
||||
CouchPotatoProfiles GetProfiles(Uri url, string apiKey);
|
||||
CouchPotatoMovies GetMovies(Uri baseUrl, string apiKey, string[] status);
|
||||
|
||||
CouchPotatoApiKey GetApiKey(Uri baseUrl, string username, string password);
|
||||
}
|
||||
}
|
44
Ombi.Api.Interfaces/IHeadphonesApi.cs
Normal file
44
Ombi.Api.Interfaces/IHeadphonesApi.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IHeadphonesApi.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 System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Ombi.Api.Models.Music;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IHeadphonesApi
|
||||
{
|
||||
Task<bool> AddAlbum(string apiKey, Uri baseUrl, string albumId);
|
||||
HeadphonesVersion GetVersion(string apiKey, Uri baseUrl);
|
||||
Task<bool> AddArtist(string apiKey, Uri baseUrl, string artistId);
|
||||
Task<bool> QueueAlbum(string apiKey, Uri baseUrl, string albumId);
|
||||
Task<List<HeadphonesGetIndex>> GetIndex(string apiKey, Uri baseUrl);
|
||||
Task<bool> RefreshArtist(string apiKey, Uri baseUrl, string artistId);
|
||||
}
|
||||
}
|
38
Ombi.Api.Interfaces/IMusicBrainzApi.cs
Normal file
38
Ombi.Api.Interfaces/IMusicBrainzApi.cs
Normal file
|
@ -0,0 +1,38 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IMusicBrainzApi.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 Ombi.Api.Models.Music;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IMusicBrainzApi
|
||||
{
|
||||
MusicBrainzSearchResults SearchAlbum(string searchTerm);
|
||||
MusicBrainzCoverArt GetCoverArt(string releaseId);
|
||||
MusicBrainzReleaseInfo GetAlbum(string releaseId);
|
||||
}
|
||||
}
|
36
Ombi.Api.Interfaces/INetflixApi.cs
Normal file
36
Ombi.Api.Interfaces/INetflixApi.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2017 Jamie Rees
|
||||
// File: INetflixApi.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 Ombi.Api.Models.Netflix;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface INetflixApi
|
||||
{
|
||||
NetflixMovieResult GetMovies(string movieName, string year = null);
|
||||
}
|
||||
}
|
50
Ombi.Api.Interfaces/IPlexApi.cs
Normal file
50
Ombi.Api.Interfaces/IPlexApi.cs
Normal file
|
@ -0,0 +1,50 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IPlexApi.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 System;
|
||||
using Ombi.Api.Models.Plex;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IPlexApi
|
||||
{
|
||||
PlexAuthentication SignIn(string username, string password);
|
||||
PlexFriends GetUsers(string authToken);
|
||||
PlexSearch SearchContent(string authToken, string searchTerm, Uri plexFullHost);
|
||||
PlexStatus GetStatus(string authToken, Uri uri);
|
||||
PlexAccount GetAccount(string authToken);
|
||||
PlexLibraries GetLibrarySections(string authToken, Uri plexFullHost);
|
||||
PlexSearch GetLibrary(string authToken, Uri plexFullHost, string libraryId);
|
||||
PlexMetadata GetMetadata(string authToken, Uri plexFullHost, string itemId);
|
||||
PlexEpisodeMetadata GetEpisodeMetaData(string authToken, Uri host, string ratingKey);
|
||||
PlexSearch GetAllEpisodes(string authToken, Uri host, string section, int startPage, int returnCount);
|
||||
PlexServer GetServer(string authToken);
|
||||
PlexSeasonMetadata GetSeasons(string authToken, Uri plexFullHost, string ratingKey);
|
||||
RecentlyAddedModelOld RecentlyAddedOld(string authToken, Uri plexFullHost, string sectionId);
|
||||
PlexRecentlyAddedModel RecentlyAdded(string authToken, Uri plexFullHost, string sectionId);
|
||||
}
|
||||
}
|
45
Ombi.Api.Interfaces/IPushbulletApi.cs
Normal file
45
Ombi.Api.Interfaces/IPushbulletApi.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
#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 System.Threading.Tasks;
|
||||
using Ombi.Api.Models.Notifications;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IPushbulletApi
|
||||
{
|
||||
/// <summary>
|
||||
/// Pushes the specified message.
|
||||
/// </summary>
|
||||
/// <param name="accessToken">The access token.</param>
|
||||
/// <param name="title">The title.</param>
|
||||
/// <param name="message">The message.</param>
|
||||
/// <param name="deviceIdentifier">The device identifier.</param>
|
||||
/// <returns></returns>
|
||||
Task<PushbulletResponse> PushAsync(string accessToken, string title, string message, string deviceIdentifier = default(string));
|
||||
}
|
||||
}
|
37
Ombi.Api.Interfaces/IPushoverApi.cs
Normal file
37
Ombi.Api.Interfaces/IPushoverApi.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IPushoverApi.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 System.Threading.Tasks;
|
||||
using Ombi.Api.Models.Notifications;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IPushoverApi
|
||||
{
|
||||
Task<PushoverResponse> PushAsync(string accessToken, string message, string userToken);
|
||||
}
|
||||
}
|
45
Ombi.Api.Interfaces/ISickRageApi.cs
Normal file
45
Ombi.Api.Interfaces/ISickRageApi.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: ISickRageApi.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 System;
|
||||
using System.Threading.Tasks;
|
||||
using Ombi.Api.Models.SickRage;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface ISickRageApi
|
||||
{
|
||||
Task<SickRageTvAdd> AddSeries(int tvdbId, int seasoncount, int[] seasons, string quality, string apiKey,
|
||||
Uri baseUrl);
|
||||
|
||||
SickRagePing Ping(string apiKey, Uri baseUrl);
|
||||
|
||||
Task<SickRageTvAdd> AddSeason(int tvdbId, int season, string apiKey, Uri baseUrl);
|
||||
|
||||
Task<SickrageShows> GetShows(string apiKey, Uri baseUrl);
|
||||
}
|
||||
}
|
37
Ombi.Api.Interfaces/ISlackApi.cs
Normal file
37
Ombi.Api.Interfaces/ISlackApi.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: ISlackApi.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 System.Threading.Tasks;
|
||||
using Ombi.Api.Models.Notifications;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface ISlackApi
|
||||
{
|
||||
Task<string> PushAsync(string team, string token, string service, SlackNotificationBody message);
|
||||
}
|
||||
}
|
59
Ombi.Api.Interfaces/ISonarrApi.cs
Normal file
59
Ombi.Api.Interfaces/ISonarrApi.cs
Normal file
|
@ -0,0 +1,59 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: ISonarrApi.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 System;
|
||||
using System.Collections.Generic;
|
||||
using Ombi.Api.Models.Sonarr;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface ISonarrApi
|
||||
{
|
||||
List<SonarrProfile> GetProfiles(string apiKey, Uri baseUrl);
|
||||
|
||||
SonarrAddSeries AddSeries(int tvdbId, string title, int qualityId, bool seasonFolders, string rootPath,
|
||||
int seasonCount, int[] seasons, string apiKey, Uri baseUrl, bool monitor = true,
|
||||
bool searchForMissingEpisodes = false);
|
||||
|
||||
SonarrAddSeries AddSeriesNew(int tvdbId, string title, int qualityId, bool seasonFolders, string rootPath,
|
||||
int[] seasons, string apiKey, Uri baseUrl, bool monitor = true,
|
||||
bool searchForMissingEpisodes = false);
|
||||
|
||||
SystemStatus SystemStatus(string apiKey, Uri baseUrl);
|
||||
|
||||
List<Series> GetSeries(string apiKey, Uri baseUrl);
|
||||
Series GetSeries(string seriesId, string apiKey, Uri baseUrl);
|
||||
IEnumerable<SonarrEpisodes> GetEpisodes(string seriesId, string apiKey, Uri baseUrl);
|
||||
SonarrEpisode GetEpisode(string episodeId, string apiKey, Uri baseUrl);
|
||||
SonarrEpisode UpdateEpisode(SonarrEpisode episodeInfo, string apiKey, Uri baseUrl);
|
||||
SonarrEpisodes UpdateEpisode(SonarrEpisodes episodeInfo, string apiKey, Uri baseUrl);
|
||||
SonarrAddEpisodeResult SearchForEpisodes(int[] episodeIds, string apiKey, Uri baseUrl);
|
||||
Series UpdateSeries(Series series, string apiKey, Uri baseUrl);
|
||||
SonarrSeasonSearchResult SearchForSeason(int seriesId, int seasonNumber, string apiKey, Uri baseUrl);
|
||||
SonarrSeriesSearchResult SearchForSeries(int seriesId, string apiKey, Uri baseUrl);
|
||||
}
|
||||
}
|
41
Ombi.Api.Interfaces/IWatcherApi.cs
Normal file
41
Ombi.Api.Interfaces/IWatcherApi.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: IWatcherApi.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 System;
|
||||
using System.Collections.Generic;
|
||||
using Ombi.Api.Models.Watcher;
|
||||
|
||||
namespace Ombi.Api.Interfaces
|
||||
{
|
||||
public interface IWatcherApi
|
||||
{
|
||||
WatcherAddMovieResult AddMovie(string imdbId, string apiKey, Uri baseUrl);
|
||||
WatcherListStatusResultContainer ListMovies(string apiKey, Uri baseUrl);
|
||||
WatcherListStatusResultContainer ListMovies(string apiKey, Uri baseUrl, string imdbId);
|
||||
WatcherVersion Version(string apiKey, Uri baseUri);
|
||||
}
|
||||
}
|
80
Ombi.Api.Interfaces/Ombi.Api.Interfaces.csproj
Normal file
80
Ombi.Api.Interfaces/Ombi.Api.Interfaces.csproj
Normal file
|
@ -0,0 +1,80 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{95834072-A675-415D-AA8F-877C91623810}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Ombi.Api.Interfaces</RootNamespace>
|
||||
<AssemblyName>Ombi.Api.Interfaces</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="RestSharp, Version=105.2.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RestSharp.105.2.3\lib\net45\RestSharp.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="IApiRequest.cs" />
|
||||
<Compile Include="ICouchPotatoApi.cs" />
|
||||
<Compile Include="IHeadphonesApi.cs" />
|
||||
<Compile Include="IMusicBrainzApi.cs" />
|
||||
<Compile Include="INetflixApi.cs" />
|
||||
<Compile Include="IPlexApi.cs" />
|
||||
<Compile Include="IPushbulletApi.cs" />
|
||||
<Compile Include="ISlackApi.cs" />
|
||||
<Compile Include="IPushoverApi.cs" />
|
||||
<Compile Include="ISickRageApi.cs" />
|
||||
<Compile Include="ISonarrApi.cs" />
|
||||
<Compile Include="IWatcherApi.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Ombi.Api.Models\Ombi.Api.Models.csproj">
|
||||
<Project>{CB37A5F8-6DFC-4554-99D3-A42B502E4591}</Project>
|
||||
<Name>Ombi.Api.Models</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
38
Ombi.Api.Interfaces/Properties/AssemblyInfo.cs
Normal file
38
Ombi.Api.Interfaces/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,38 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Ombi.Api.Interfaces")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Ombi.Api.Interfaces")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("95834072-a675-415d-aa8f-877c91623810")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
[assembly: AssemblyInformationalVersionAttribute("1.0.0.0")]
|
11
Ombi.Api.Interfaces/app.config
Normal file
11
Ombi.Api.Interfaces/app.config
Normal file
|
@ -0,0 +1,11 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<runtime>
|
||||
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
|
||||
<bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
|
||||
</dependentAssembly>
|
||||
</assemblyBinding>
|
||||
</runtime>
|
||||
</configuration>
|
4
Ombi.Api.Interfaces/packages.config
Normal file
4
Ombi.Api.Interfaces/packages.config
Normal file
|
@ -0,0 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="RestSharp" version="105.2.3" targetFramework="net45" />
|
||||
</packages>
|
119
Ombi.Api.Models/Movie/CouchPotatoAdd.cs
Normal file
119
Ombi.Api.Models/Movie/CouchPotatoAdd.cs
Normal file
|
@ -0,0 +1,119 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: CouchPotatoAdd.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Movie
|
||||
{
|
||||
public class CouchPotatoAdd
|
||||
{
|
||||
public Movie movie { get; set; }
|
||||
public bool success { get; set; }
|
||||
}
|
||||
|
||||
public class Rating
|
||||
{
|
||||
public List<string> imdb { get; set; }
|
||||
}
|
||||
|
||||
public class Images
|
||||
{
|
||||
public List<string> actors { get; set; }
|
||||
public List<string> backdrop { get; set; }
|
||||
public List<string> backdrop_original { get; set; }
|
||||
public List<object> banner { get; set; }
|
||||
public List<object> clear_art { get; set; }
|
||||
public List<object> disc_art { get; set; }
|
||||
public List<object> extra_fanart { get; set; }
|
||||
public List<object> extra_thumbs { get; set; }
|
||||
public List<object> landscape { get; set; }
|
||||
public List<object> logo { get; set; }
|
||||
public List<string> poster { get; set; }
|
||||
public List<string> poster_original { get; set; }
|
||||
}
|
||||
|
||||
public class Info
|
||||
{
|
||||
public List<string> actor_roles { get; set; }
|
||||
public List<string> actors { get; set; }
|
||||
public List<string> directors { get; set; }
|
||||
public List<string> genres { get; set; }
|
||||
public Images images { get; set; }
|
||||
public string imdb { get; set; }
|
||||
public string mpaa { get; set; }
|
||||
public string original_title { get; set; }
|
||||
public string plot { get; set; }
|
||||
public Rating rating { get; set; }
|
||||
public Release_Date release_date { get; set; }
|
||||
public string released { get; set; }
|
||||
public int runtime { get; set; }
|
||||
public string tagline { get; set; }
|
||||
public List<string> titles { get; set; }
|
||||
public int tmdb_id { get; set; }
|
||||
public string type { get; set; }
|
||||
public bool via_imdb { get; set; }
|
||||
public bool via_tmdb { get; set; }
|
||||
public List<string> writers { get; set; }
|
||||
public int year { get; set; }
|
||||
}
|
||||
|
||||
public class Release_Date
|
||||
{
|
||||
public bool bluray { get; set; }
|
||||
public int dvd { get; set; }
|
||||
public int expires { get; set; }
|
||||
public int theater { get; set; }
|
||||
}
|
||||
|
||||
public class Files
|
||||
{
|
||||
public List<string> image_poster { get; set; }
|
||||
}
|
||||
|
||||
public class Identifiers
|
||||
{
|
||||
public string imdb { get; set; }
|
||||
}
|
||||
|
||||
public class Movie
|
||||
{
|
||||
public string _id { get; set; }
|
||||
public string _rev { get; set; }
|
||||
public string _t { get; set; }
|
||||
public object category_id { get; set; }
|
||||
public Files files { get; set; }
|
||||
public Identifiers identifiers { get; set; }
|
||||
public Info info { get; set; }
|
||||
public int last_edit { get; set; }
|
||||
public string profile_id { get; set; }
|
||||
public List<object> releases { get; set; }
|
||||
public string status { get; set; }
|
||||
public List<object> tags { get; set; }
|
||||
public string title { get; set; }
|
||||
public string type { get; set; }
|
||||
}
|
||||
}
|
39
Ombi.Api.Models/Movie/CouchPotatoApiKey.cs
Normal file
39
Ombi.Api.Models/Movie/CouchPotatoApiKey.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: CouchPotatoApiKey.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 Ombi.Api.Models.Movie
|
||||
{
|
||||
public class CouchPotatoApiKey
|
||||
{
|
||||
[JsonProperty("success")]
|
||||
public bool success { get; set; }
|
||||
[JsonProperty("api_key")]
|
||||
public string ApiKey { get; set; }
|
||||
}
|
||||
}
|
12
Ombi.Api.Models/Movie/CouchPotatoMovies.cs
Normal file
12
Ombi.Api.Models/Movie/CouchPotatoMovies.cs
Normal file
|
@ -0,0 +1,12 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Movie
|
||||
{
|
||||
public class CouchPotatoMovies
|
||||
{
|
||||
public List<Movie> movies { get; set; }
|
||||
public int total { get; set; }
|
||||
public bool success { get; set; }
|
||||
public bool empty { get; set; }
|
||||
}
|
||||
}
|
56
Ombi.Api.Models/Movie/CouchPotatoProfiles.cs
Normal file
56
Ombi.Api.Models/Movie/CouchPotatoProfiles.cs
Normal file
|
@ -0,0 +1,56 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: CouchPotatoProfiles.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 System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Ombi.Api.Models.Movie
|
||||
{
|
||||
public class ProfileList
|
||||
{
|
||||
public bool core { get; set; }
|
||||
public bool hide { get; set; }
|
||||
public string _rev { get; set; }
|
||||
public List<bool> finish { get; set; }
|
||||
public List<string> qualities { get; set; }
|
||||
public string _id { get; set; }
|
||||
public string _t { get; set; }
|
||||
public string label { get; set; }
|
||||
public int minimum_score { get; set; }
|
||||
public List<int> stop_after { get; set; }
|
||||
public List<object> wait_for { get; set; }
|
||||
public int order { get; set; }
|
||||
[JsonProperty(PropertyName = "3d")]
|
||||
public List<object> threeD { get; set; }
|
||||
}
|
||||
|
||||
public class CouchPotatoProfiles
|
||||
{
|
||||
public List<ProfileList> list { get; set; }
|
||||
public bool success { get; set; }
|
||||
}
|
||||
}
|
7
Ombi.Api.Models/Movie/CouchPotatoStatus.cs
Normal file
7
Ombi.Api.Models/Movie/CouchPotatoStatus.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
namespace Ombi.Api.Models.Movie
|
||||
{
|
||||
public class CouchPotatoStatus
|
||||
{
|
||||
public bool success { get; set; }
|
||||
}
|
||||
}
|
45
Ombi.Api.Models/Music/HeadphonesAlbumSearchResult.cs
Normal file
45
Ombi.Api.Models/Music/HeadphonesAlbumSearchResult.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: HeadphonesAlbumSearchResult.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 Ombi.Api.Models.Music
|
||||
{
|
||||
public class HeadphonesAlbumSearchResult
|
||||
{
|
||||
public string rgid { get; set; }
|
||||
public string albumurl { get; set; }
|
||||
public string tracks { get; set; }
|
||||
public string date { get; set; }
|
||||
public string id { get; set; } // Artist ID
|
||||
public string rgtype { get; set; }
|
||||
public string title { get; set; }
|
||||
public string url { get; set; }
|
||||
public string country { get; set; }
|
||||
public string albumid { get; set; } // AlbumId
|
||||
public int score { get; set; }
|
||||
public string uniquename { get; set; }
|
||||
public string formats { get; set; }
|
||||
}
|
||||
}
|
37
Ombi.Api.Models/Music/HeadphonesArtistSearchResult.cs
Normal file
37
Ombi.Api.Models/Music/HeadphonesArtistSearchResult.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: HeadphonesSearchResult.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 Ombi.Api.Models.Music
|
||||
{
|
||||
public class HeadphonesArtistSearchResult
|
||||
{
|
||||
public string url { get; set; } // MusicBrainz url
|
||||
public int score { get; set; } // Search Match score?
|
||||
public string name { get; set; } // Artist Name
|
||||
public string uniquename { get; set; } // Artist Unique Name
|
||||
public string id { get; set; } // Artist Unique ID for MusicBrainz
|
||||
}
|
||||
}
|
49
Ombi.Api.Models/Music/HeadphonesGetIndex.cs
Normal file
49
Ombi.Api.Models/Music/HeadphonesGetIndex.cs
Normal file
|
@ -0,0 +1,49 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: HeadphonesGetIndex.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 Ombi.Api.Models.Music
|
||||
{
|
||||
public class HeadphonesGetIndex
|
||||
{
|
||||
public string Status { get; set; }
|
||||
public string ThumbURL { get; set; }
|
||||
public string DateAdded { get; set; }
|
||||
public string MetaCritic { get; set; }
|
||||
public int? TotalTracks { get; set; }
|
||||
public object Type { get; set; }
|
||||
public int? IncludeExtras { get; set; }
|
||||
public string ArtistName { get; set; }
|
||||
public string LastUpdated { get; set; }
|
||||
public string ReleaseDate { get; set; }
|
||||
public string AlbumID { get; set; }
|
||||
public string ArtistID { get; set; }
|
||||
public string ArtworkURL { get; set; }
|
||||
public string Extras { get; set; }
|
||||
public int? HaveTracks { get; set; }
|
||||
public string LatestAlbum { get; set; }
|
||||
public string ArtistSortName { get; set; }
|
||||
}
|
||||
}
|
37
Ombi.Api.Models/Music/HeadphonesVersion.cs
Normal file
37
Ombi.Api.Models/Music/HeadphonesVersion.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: HeadphonesVersion.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 Ombi.Api.Models.Music
|
||||
{
|
||||
public class HeadphonesVersion
|
||||
{
|
||||
public string install_type { get; set; }
|
||||
public object current_version { get; set; }
|
||||
public string git_path { get; set; }
|
||||
public string latest_version { get; set; }
|
||||
public int commits_behind { get; set; }
|
||||
}
|
||||
}
|
56
Ombi.Api.Models/Music/MusicBrainzCoverArt.cs
Normal file
56
Ombi.Api.Models/Music/MusicBrainzCoverArt.cs
Normal file
|
@ -0,0 +1,56 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: MusicBrainzCoverArt.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Music
|
||||
{
|
||||
public class Thumbnails
|
||||
{
|
||||
public string large { get; set; }
|
||||
public string small { get; set; }
|
||||
}
|
||||
|
||||
public class Image
|
||||
{
|
||||
public List<string> types { get; set; }
|
||||
public bool front { get; set; }
|
||||
public bool back { get; set; }
|
||||
public int edit { get; set; }
|
||||
public string image { get; set; }
|
||||
public string comment { get; set; }
|
||||
public bool approved { get; set; }
|
||||
public string id { get; set; }
|
||||
public Thumbnails thumbnails { get; set; }
|
||||
}
|
||||
|
||||
public class MusicBrainzCoverArt
|
||||
{
|
||||
public List<Image> images { get; set; }
|
||||
public string release { get; set; }
|
||||
}
|
||||
}
|
68
Ombi.Api.Models/Music/MusicBrainzReleaseInfo.cs
Normal file
68
Ombi.Api.Models/Music/MusicBrainzReleaseInfo.cs
Normal file
|
@ -0,0 +1,68 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: MusicBrainzReleaseInfo.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 System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Ombi.Api.Models.Music
|
||||
{
|
||||
public class CoverArtArchive
|
||||
{
|
||||
public int count { get; set; }
|
||||
public bool back { get; set; }
|
||||
public bool artwork { get; set; }
|
||||
public bool front { get; set; }
|
||||
public bool darkened { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class MusicBrainzReleaseInfo
|
||||
{
|
||||
[JsonProperty(PropertyName = "artist-credit")]
|
||||
public List<ArtistCredit> ArtistCredits { get; set; }
|
||||
public string date { get; set; }
|
||||
public string status { get; set; }
|
||||
public string asin { get; set; }
|
||||
public string title { get; set; }
|
||||
public string quality { get; set; }
|
||||
public string country { get; set; }
|
||||
public string packaging { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "text-representation")]
|
||||
public TextRepresentation TextRepresentation { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "cover-art-archive")]
|
||||
public CoverArtArchive CoverArtArchive { get; set; }
|
||||
public string barcode { get; set; }
|
||||
public string disambiguation { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "release-events")]
|
||||
public List<ReleaseEvent> ReleaseEvents { get; set; }
|
||||
public string id { get; set; }
|
||||
}
|
||||
|
||||
}
|
154
Ombi.Api.Models/Music/MusicBrainzSearchResults.cs
Normal file
154
Ombi.Api.Models/Music/MusicBrainzSearchResults.cs
Normal file
|
@ -0,0 +1,154 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: MusicBrainzSearchResults.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 System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Ombi.Api.Models.Music
|
||||
{
|
||||
public class TextRepresentation
|
||||
{
|
||||
public string language { get; set; }
|
||||
public string script { get; set; }
|
||||
}
|
||||
|
||||
public class Alias
|
||||
{
|
||||
[JsonProperty(PropertyName = "sort-name")]
|
||||
public string SortName { get; set; }
|
||||
public string name { get; set; }
|
||||
public object locale { get; set; }
|
||||
public string type { get; set; }
|
||||
public object primary { get; set; }
|
||||
[JsonProperty(PropertyName = "begin-date")]
|
||||
public object BeginDate { get; set; }
|
||||
[JsonProperty(PropertyName = "end-date")]
|
||||
public object EndDate { get; set; }
|
||||
}
|
||||
|
||||
public class Artist
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string name { get; set; }
|
||||
[JsonProperty(PropertyName = "sort-date")]
|
||||
public string SortName { get; set; }
|
||||
public string disambiguation { get; set; }
|
||||
public List<Alias> aliases { get; set; }
|
||||
}
|
||||
|
||||
public class ArtistCredit
|
||||
{
|
||||
public Artist artist { get; set; }
|
||||
public string name { get; set; }
|
||||
public string joinphrase { get; set; }
|
||||
}
|
||||
|
||||
public class ReleaseGroup
|
||||
{
|
||||
public string id { get; set; }
|
||||
[JsonProperty(PropertyName = "primary-type")]
|
||||
public string PrimaryType { get; set; }
|
||||
[JsonProperty(PropertyName = "secondary-types")]
|
||||
public List<string> SecondaryTypes { get; set; }
|
||||
}
|
||||
|
||||
public class Area
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string name { get; set; }
|
||||
[JsonProperty(PropertyName = "sort-name")]
|
||||
public string SortName { get; set; }
|
||||
[JsonProperty(PropertyName = "iso-3166-1-codes")]
|
||||
public List<string> ISO31661Codes { get; set; }
|
||||
}
|
||||
|
||||
public class ReleaseEvent
|
||||
{
|
||||
public string date { get; set; }
|
||||
public Area area { get; set; }
|
||||
}
|
||||
|
||||
public class Label
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class LabelInfo
|
||||
{
|
||||
[JsonProperty(PropertyName = "catalog-number")]
|
||||
public string CatalogNumber { get; set; }
|
||||
public Label label { get; set; }
|
||||
}
|
||||
|
||||
public class Medium
|
||||
{
|
||||
public string format { get; set; }
|
||||
[JsonProperty(PropertyName = "disc-count")]
|
||||
public int DiscCount { get; set; }
|
||||
[JsonProperty(PropertyName = "catalog-number")]
|
||||
public int CatalogNumber { get; set; }
|
||||
}
|
||||
|
||||
public class Release
|
||||
{
|
||||
public string id { get; set; }
|
||||
public string score { get; set; }
|
||||
public int count { get; set; }
|
||||
public string title { get; set; }
|
||||
public string status { get; set; }
|
||||
public string disambiguation { get; set; }
|
||||
public string packaging { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "text-representation")]
|
||||
public TextRepresentation TextRepresentation { get; set; }
|
||||
[JsonProperty(PropertyName = "artist-credit")]
|
||||
public List<ArtistCredit> ArtistCredit { get; set; }
|
||||
[JsonProperty(PropertyName = "release-group")]
|
||||
public ReleaseGroup ReleaseGroup { get; set; }
|
||||
public string date { get; set; }
|
||||
public string country { get; set; }
|
||||
[JsonProperty(PropertyName = "release-events")]
|
||||
public List<ReleaseEvent> ReleaseEvents { get; set; }
|
||||
public string barcode { get; set; }
|
||||
public string asin { get; set; }
|
||||
[JsonProperty(PropertyName = "label-info")]
|
||||
public List<LabelInfo> LabelInfo { get; set; }
|
||||
[JsonProperty(PropertyName = "track-count")]
|
||||
public int TrackCount { get; set; }
|
||||
public List<Medium> media { get; set; }
|
||||
}
|
||||
|
||||
public class MusicBrainzSearchResults
|
||||
{
|
||||
public string created { get; set; }
|
||||
public int count { get; set; }
|
||||
public int offset { get; set; }
|
||||
public List<Release> releases { get; set; }
|
||||
}
|
||||
|
||||
}
|
62
Ombi.Api.Models/Netflix/NetflixMovieResult.cs
Normal file
62
Ombi.Api.Models/Netflix/NetflixMovieResult.cs
Normal file
|
@ -0,0 +1,62 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2017 Jamie Rees
|
||||
// File: NetflixMovieResult.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 Ombi.Api.Models.Netflix
|
||||
{
|
||||
public class NetflixMovieResult
|
||||
{
|
||||
[JsonProperty(PropertyName= "unit")]
|
||||
public int Unit { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "show_id")]
|
||||
public int ShowId { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "show_title")]
|
||||
public string Title { get; set; }
|
||||
|
||||
[JsonProperty(PropertyName = "release_year")]
|
||||
public string ReleaseYear { get; set; }
|
||||
[JsonProperty(PropertyName = "rating")]
|
||||
public string Rating { get; set; }
|
||||
[JsonProperty(PropertyName = "Category")]
|
||||
public string Category { get; set; }
|
||||
[JsonProperty(PropertyName = "show_cast")]
|
||||
public string ShowCast { get; set; }
|
||||
[JsonProperty(PropertyName = "director")]
|
||||
public string Director { get; set; }
|
||||
[JsonProperty(PropertyName = "summary")]
|
||||
public string Summary { get; set; }
|
||||
[JsonProperty(PropertyName = "poster")]
|
||||
public string Poster { get; set; }
|
||||
[JsonProperty(PropertyName = "mediatype")]
|
||||
public string Mediatype { get; set; }
|
||||
[JsonProperty(PropertyName = "runtime")]
|
||||
public string Runtime { get; set; }
|
||||
}
|
||||
}
|
37
Ombi.Api.Models/Notifications/PushbulletPush.cs
Normal file
37
Ombi.Api.Models/Notifications/PushbulletPush.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#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
|
||||
|
||||
namespace Ombi.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; }
|
||||
}
|
||||
}
|
48
Ombi.Api.Models/Notifications/PushbulletResponse.cs
Normal file
48
Ombi.Api.Models/Notifications/PushbulletResponse.cs
Normal file
|
@ -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 Ombi.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; }
|
||||
}
|
||||
}
|
34
Ombi.Api.Models/Notifications/PushoverResponse.cs
Normal file
34
Ombi.Api.Models/Notifications/PushoverResponse.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PushoverResponse.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 Ombi.Api.Models.Notifications
|
||||
{
|
||||
public class PushoverResponse
|
||||
{
|
||||
public int status { get; set; }
|
||||
public string request { get; set; }
|
||||
}
|
||||
}
|
57
Ombi.Api.Models/Notifications/SlackNotificationBody.cs
Normal file
57
Ombi.Api.Models/Notifications/SlackNotificationBody.cs
Normal file
|
@ -0,0 +1,57 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SlackNotificationBody.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 Ombi.Api.Models.Notifications
|
||||
{
|
||||
public class SlackNotificationBody
|
||||
{
|
||||
[JsonConstructor]
|
||||
public SlackNotificationBody()
|
||||
{
|
||||
username = "Ombi";
|
||||
}
|
||||
|
||||
[JsonIgnore]
|
||||
private string _username;
|
||||
public string username
|
||||
{
|
||||
get { return _username; }
|
||||
set
|
||||
{
|
||||
if (!string.IsNullOrEmpty(value))
|
||||
_username = value;
|
||||
}
|
||||
}
|
||||
public string channel { get; set; }
|
||||
public string text { get; set; }
|
||||
|
||||
public string icon_url { get; set; }
|
||||
public string icon_emoji { get; set; }
|
||||
}
|
||||
}
|
134
Ombi.Api.Models/Ombi.Api.Models.csproj
Normal file
134
Ombi.Api.Models/Ombi.Api.Models.csproj
Normal file
|
@ -0,0 +1,134 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{CB37A5F8-6DFC-4554-99D3-A42B502E4591}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>Ombi.Api.Models</RootNamespace>
|
||||
<AssemblyName>Ombi.Api.Models</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="RestSharp, Version=105.2.3.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\RestSharp.105.2.3\lib\net45\RestSharp.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="Movie\CouchPotatoAdd.cs" />
|
||||
<Compile Include="Movie\CouchPotatoMovies.cs" />
|
||||
<Compile Include="Movie\CouchPotatoProfiles.cs" />
|
||||
<Compile Include="Movie\CouchPotatoStatus.cs" />
|
||||
<Compile Include="Movie\CouchPotatoApiKey.cs" />
|
||||
<Compile Include="Music\HeadphonesAlbumSearchResult.cs" />
|
||||
<Compile Include="Music\HeadphonesArtistSearchResult.cs" />
|
||||
<Compile Include="Music\HeadphonesGetIndex.cs" />
|
||||
<Compile Include="Music\HeadphonesVersion.cs" />
|
||||
<Compile Include="Music\MusicBrainzCoverArt.cs" />
|
||||
<Compile Include="Music\MusicBrainzReleaseInfo.cs" />
|
||||
<Compile Include="Music\MusicBrainzSearchResults.cs" />
|
||||
<Compile Include="Netflix\NetflixMovieResult.cs" />
|
||||
<Compile Include="Notifications\PushbulletPush.cs" />
|
||||
<Compile Include="Notifications\PushbulletResponse.cs" />
|
||||
<Compile Include="Notifications\PushoverResponse.cs" />
|
||||
<Compile Include="Notifications\SlackNotificationBody.cs" />
|
||||
<Compile Include="Plex\PlexAccount.cs" />
|
||||
<Compile Include="Plex\PlexAuthentication.cs" />
|
||||
<Compile Include="Plex\PlexEpisodeMetadata.cs" />
|
||||
<Compile Include="Plex\PlexError.cs" />
|
||||
<Compile Include="Plex\PlexFriends.cs" />
|
||||
<Compile Include="Plex\PlexLibraries.cs" />
|
||||
<Compile Include="Plex\PlexMetadata.cs" />
|
||||
<Compile Include="Plex\PlexSearch.cs" />
|
||||
<Compile Include="Plex\PlexServer.cs" />
|
||||
<Compile Include="Plex\PlexStatus.cs" />
|
||||
<Compile Include="Plex\PlexMediaType.cs" />
|
||||
<Compile Include="Plex\PlexUserRequest.cs" />
|
||||
<Compile Include="Plex\RecentlyAddedModelOld.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="SickRage\SickRageBase.cs" />
|
||||
<Compile Include="SickRage\SickrageShows.cs" />
|
||||
<Compile Include="SickRage\SickRagePing.cs" />
|
||||
<Compile Include="SickRage\SickRageSeasonList.cs" />
|
||||
<Compile Include="SickRage\SickRageShowInformation.cs" />
|
||||
<Compile Include="SickRage\SickRageStatus.cs" />
|
||||
<Compile Include="SickRage\SickRageTvAdd.cs" />
|
||||
<Compile Include="Sonarr\SonarrAddEpisodeBody.cs" />
|
||||
<Compile Include="Sonarr\SonarrAddEpisodeResult.cs" />
|
||||
<Compile Include="Sonarr\SonarrAddSeries.cs" />
|
||||
<Compile Include="Sonarr\SonarrAllSeries.cs" />
|
||||
<Compile Include="Sonarr\SonarrEpisode.cs" />
|
||||
<Compile Include="Sonarr\SonarrEpisodes.cs" />
|
||||
<Compile Include="Sonarr\SonarrError.cs" />
|
||||
<Compile Include="Sonarr\SonarrProfile.cs" />
|
||||
<Compile Include="Sonarr\SonarrSearchCommand.cs" />
|
||||
<Compile Include="Sonarr\SonarrSeasonSearchResult.cs" />
|
||||
<Compile Include="Sonarr\SonarrSeriesSearchResult.cs" />
|
||||
<Compile Include="Sonarr\SystemStatus.cs" />
|
||||
<Compile Include="Tv\Authentication.cs" />
|
||||
<Compile Include="Tv\TvMazeEpisodes.cs" />
|
||||
<Compile Include="Tv\TvMazeSearch.cs" />
|
||||
<Compile Include="Tv\TvMazeSeasons.cs" />
|
||||
<Compile Include="Tv\TVMazeShow.cs" />
|
||||
<Compile Include="Tv\TvSearchResult.cs" />
|
||||
<Compile Include="Tv\TvShow.cs" />
|
||||
<Compile Include="Tv\TvShowImages.cs" />
|
||||
<Compile Include="Watcher\WatcherAddMovieResult.cs" />
|
||||
<Compile Include="Watcher\WatcherListStatusResult.cs" />
|
||||
<Compile Include="Watcher\WatcherVersion.cs" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="app.config" />
|
||||
<None Include="packages.config">
|
||||
<SubType>Designer</SubType>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Ombi.Helpers\Ombi.Helpers.csproj">
|
||||
<Project>{1252336D-42A3-482A-804C-836E60173DFA}</Project>
|
||||
<Name>Ombi.Helpers</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
17
Ombi.Api.Models/Plex/PlexAccount.cs
Normal file
17
Ombi.Api.Models/Plex/PlexAccount.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "user")]
|
||||
public class PlexAccount
|
||||
{
|
||||
[XmlAttribute(AttributeName = "id")]
|
||||
public string Id { get; set; }
|
||||
[XmlAttribute(AttributeName = "username")]
|
||||
public string Username { get; set; }
|
||||
[XmlAttribute(AttributeName = "email")]
|
||||
public string Email { get; set; }
|
||||
[XmlAttribute(AttributeName = "authenticationToken")]
|
||||
public string AuthToken { get; set; }
|
||||
}
|
||||
}
|
64
Ombi.Api.Models/Plex/PlexAuthentication.cs
Normal file
64
Ombi.Api.Models/Plex/PlexAuthentication.cs
Normal file
|
@ -0,0 +1,64 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexAuthentication.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
public class PlexAuthentication
|
||||
{
|
||||
public User user { get; set; }
|
||||
}
|
||||
public class Subscription
|
||||
{
|
||||
public bool active { get; set; }
|
||||
public string status { get; set; }
|
||||
public object plan { get; set; }
|
||||
public object features { get; set; }
|
||||
}
|
||||
|
||||
public class Roles
|
||||
{
|
||||
public List<object> roles { get; set; }
|
||||
}
|
||||
|
||||
public class User
|
||||
{
|
||||
public string email { get; set; }
|
||||
public string uuid { get; set; }
|
||||
public string joined_at { get; set; }
|
||||
public string username { get; set; }
|
||||
public string title { get; set; }
|
||||
public string authentication_token { get; set; }
|
||||
public Subscription subscription { get; set; }
|
||||
public Roles roles { get; set; }
|
||||
public List<string> entitlements { get; set; }
|
||||
public object confirmed_at { get; set; }
|
||||
public int forum_id { get; set; }
|
||||
}
|
||||
}
|
||||
|
82
Ombi.Api.Models/Plex/PlexEpisodeMetadata.cs
Normal file
82
Ombi.Api.Models/Plex/PlexEpisodeMetadata.cs
Normal file
|
@ -0,0 +1,82 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexEpisodeMetadata.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 System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexEpisodeMetadata
|
||||
{
|
||||
[XmlElement(ElementName = "Video")]
|
||||
public List<Video> Video { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "art")]
|
||||
public string Art { get; set; }
|
||||
[XmlAttribute(AttributeName = "banner")]
|
||||
public string Banner { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionID")]
|
||||
public string LibrarySectionID { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionTitle")]
|
||||
public string LibrarySectionTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionUUID")]
|
||||
public string LibrarySectionUUID { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagPrefix")]
|
||||
public string MediaTagPrefix { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagVersion")]
|
||||
public string MediaTagVersion { get; set; }
|
||||
[XmlAttribute(AttributeName = "mixedParents")]
|
||||
public string MixedParents { get; set; }
|
||||
[XmlAttribute(AttributeName = "nocache")]
|
||||
public string Nocache { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentIndex")]
|
||||
public string ParentIndex { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentTitle")]
|
||||
public string ParentTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentYear")]
|
||||
public string ParentYear { get; set; }
|
||||
[XmlAttribute(AttributeName = "theme")]
|
||||
public string Theme { get; set; }
|
||||
[XmlAttribute(AttributeName = "title1")]
|
||||
public string Title1 { get; set; }
|
||||
[XmlAttribute(AttributeName = "title2")]
|
||||
public string Title2 { get; set; }
|
||||
[XmlAttribute(AttributeName = "viewGroup")]
|
||||
public string ViewGroup { get; set; }
|
||||
[XmlAttribute(AttributeName = "viewMode")]
|
||||
public string ViewMode { get; set; }
|
||||
}
|
||||
|
||||
}
|
39
Ombi.Api.Models/Plex/PlexError.cs
Normal file
39
Ombi.Api.Models/Plex/PlexError.cs
Normal file
|
@ -0,0 +1,39 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexError.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 System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "errors")]
|
||||
public class PlexError
|
||||
{
|
||||
[XmlElement(ElementName = "error")]
|
||||
public string Error { get; set; }
|
||||
|
||||
}
|
||||
}
|
87
Ombi.Api.Models/Plex/PlexFriends.cs
Normal file
87
Ombi.Api.Models/Plex/PlexFriends.cs
Normal file
|
@ -0,0 +1,87 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexFriends.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 System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "Server")]
|
||||
public class Server
|
||||
{
|
||||
[XmlAttribute(AttributeName = "id")]
|
||||
public string Id { get; set; }
|
||||
[XmlAttribute(AttributeName = "serverId")]
|
||||
public string ServerId { get; set; }
|
||||
[XmlAttribute(AttributeName = "machineIdentifier")]
|
||||
public string MachineIdentifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "name")]
|
||||
public string Name { get; set; }
|
||||
[XmlAttribute(AttributeName = "lastSeenAt")]
|
||||
public string LastSeenAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "numLibraries")]
|
||||
public string NumLibraries { get; set; }
|
||||
[XmlAttribute(AttributeName = "owned")]
|
||||
public string Owned { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "User")]
|
||||
public class UserFriends
|
||||
{
|
||||
[XmlElement(ElementName = "Server")]
|
||||
public Server Server { get; set; }
|
||||
[XmlAttribute(AttributeName = "id")]
|
||||
public string Id { get; set; }
|
||||
[XmlAttribute(AttributeName = "title")]
|
||||
public string Title { get; set; }
|
||||
[XmlAttribute(AttributeName = "username")]
|
||||
public string Username { get; set; }
|
||||
[XmlAttribute(AttributeName = "email")]
|
||||
public string Email { get; set; }
|
||||
[XmlAttribute(AttributeName = "recommendationsPlaylistId")]
|
||||
public string RecommendationsPlaylistId { get; set; }
|
||||
[XmlAttribute(AttributeName = "thumb")]
|
||||
public string Thumb { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexFriends
|
||||
{
|
||||
[XmlElement(ElementName = "User")]
|
||||
public UserFriends[] User { get; set; }
|
||||
[XmlAttribute(AttributeName = "friendlyName")]
|
||||
public string FriendlyName { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "machineIdentifier")]
|
||||
public string MachineIdentifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "totalSize")]
|
||||
public string TotalSize { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
}
|
||||
|
||||
}
|
22
Ombi.Api.Models/Plex/PlexLibraries.cs
Normal file
22
Ombi.Api.Models/Plex/PlexLibraries.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexLibraries
|
||||
{
|
||||
[XmlElement(ElementName = "Directory")]
|
||||
public List<Directory> Directories { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Location")]
|
||||
public partial class Location
|
||||
{
|
||||
[XmlElement(ElementName = "id")]
|
||||
public int id { get; set; }
|
||||
[XmlElement(ElementName = "path")]
|
||||
public string path { get; set; }
|
||||
}
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2017 Jamie Rees
|
||||
// File: PlexContentCacher.cs
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexType.cs
|
||||
// Created By: Jamie Rees
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining
|
||||
|
@ -24,14 +24,12 @@
|
|||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
// ************************************************************************/
|
||||
#endregion
|
||||
|
||||
|
||||
namespace Ombi.Schedule.Jobs
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
public enum PlexMediaType
|
||||
{
|
||||
Movie = 0,
|
||||
Show = 1,
|
||||
Episode = 2,
|
||||
Movie,
|
||||
Show,
|
||||
Artist
|
||||
}
|
||||
}
|
83
Ombi.Api.Models/Plex/PlexMetadata.cs
Normal file
83
Ombi.Api.Models/Plex/PlexMetadata.cs
Normal file
|
@ -0,0 +1,83 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexMetadata.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 System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexMetadata
|
||||
{
|
||||
[XmlElement(ElementName= "Video")]
|
||||
public Video Video { get; set; }
|
||||
[XmlElement(ElementName = "Directory")]
|
||||
public Directory1 Directory { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionID")]
|
||||
public string LibrarySectionID { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionTitle")]
|
||||
public string LibrarySectionTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionUUID")]
|
||||
public string LibrarySectionUUID { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagPrefix")]
|
||||
public string MediaTagPrefix { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagVersion")]
|
||||
public string MediaTagVersion { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexSeasonMetadata
|
||||
{
|
||||
[XmlElement(ElementName = "Video")]
|
||||
public Video Video { get; set; }
|
||||
[XmlElement(ElementName = "Directory")]
|
||||
public List<Directory1> Directory { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionID")]
|
||||
public string LibrarySectionID { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionTitle")]
|
||||
public string LibrarySectionTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionUUID")]
|
||||
public string LibrarySectionUUID { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagPrefix")]
|
||||
public string MediaTagPrefix { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagVersion")]
|
||||
public string MediaTagVersion { get; set; }
|
||||
}
|
||||
|
||||
}
|
344
Ombi.Api.Models/Plex/PlexSearch.cs
Normal file
344
Ombi.Api.Models/Plex/PlexSearch.cs
Normal file
|
@ -0,0 +1,344 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexSearch.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 System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "Part")]
|
||||
public class Part
|
||||
{
|
||||
[XmlAttribute(AttributeName = "id")]
|
||||
public string Id { get; set; }
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "duration")]
|
||||
public string Duration { get; set; }
|
||||
[XmlAttribute(AttributeName = "file")]
|
||||
public string File { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "audioProfile")]
|
||||
public string AudioProfile { get; set; }
|
||||
[XmlAttribute(AttributeName = "container")]
|
||||
public string Container { get; set; }
|
||||
[XmlAttribute(AttributeName = "videoProfile")]
|
||||
public string VideoProfile { get; set; }
|
||||
[XmlAttribute(AttributeName = "has64bitOffsets")]
|
||||
public string Has64bitOffsets { get; set; }
|
||||
[XmlAttribute(AttributeName = "hasChapterTextStream")]
|
||||
public string HasChapterTextStream { get; set; }
|
||||
[XmlAttribute(AttributeName = "optimizedForStreaming")]
|
||||
public string OptimizedForStreaming { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Media")]
|
||||
public class Media
|
||||
{
|
||||
[XmlElement(ElementName = "Part")]
|
||||
public Part Part { get; set; }
|
||||
[XmlAttribute(AttributeName = "videoResolution")]
|
||||
public string VideoResolution { get; set; }
|
||||
[XmlAttribute(AttributeName = "id")]
|
||||
public string Id { get; set; }
|
||||
[XmlAttribute(AttributeName = "duration")]
|
||||
public string Duration { get; set; }
|
||||
[XmlAttribute(AttributeName = "bitrate")]
|
||||
public string Bitrate { get; set; }
|
||||
[XmlAttribute(AttributeName = "width")]
|
||||
public string Width { get; set; }
|
||||
[XmlAttribute(AttributeName = "height")]
|
||||
public string Height { get; set; }
|
||||
[XmlAttribute(AttributeName = "aspectRatio")]
|
||||
public string AspectRatio { get; set; }
|
||||
[XmlAttribute(AttributeName = "audioChannels")]
|
||||
public string AudioChannels { get; set; }
|
||||
[XmlAttribute(AttributeName = "audioCodec")]
|
||||
public string AudioCodec { get; set; }
|
||||
[XmlAttribute(AttributeName = "videoCodec")]
|
||||
public string VideoCodec { get; set; }
|
||||
[XmlAttribute(AttributeName = "container")]
|
||||
public string Container { get; set; }
|
||||
[XmlAttribute(AttributeName = "videoFrameRate")]
|
||||
public string VideoFrameRate { get; set; }
|
||||
[XmlAttribute(AttributeName = "audioProfile")]
|
||||
public string AudioProfile { get; set; }
|
||||
[XmlAttribute(AttributeName = "videoProfile")]
|
||||
public string VideoProfile { get; set; }
|
||||
[XmlAttribute(AttributeName = "optimizedForStreaming")]
|
||||
public string OptimizedForStreaming { get; set; }
|
||||
[XmlAttribute(AttributeName = "has64bitOffsets")]
|
||||
public string Has64bitOffsets { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Genre")]
|
||||
public class Genre
|
||||
{
|
||||
[XmlAttribute(AttributeName = "tag")]
|
||||
public string Tag { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Writer")]
|
||||
public class Writer
|
||||
{
|
||||
[XmlAttribute(AttributeName = "tag")]
|
||||
public string Tag { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Director")]
|
||||
public class Director
|
||||
{
|
||||
[XmlAttribute(AttributeName = "tag")]
|
||||
public string Tag { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Country")]
|
||||
public class Country
|
||||
{
|
||||
[XmlAttribute(AttributeName = "tag")]
|
||||
public string Tag { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Role")]
|
||||
public class Role
|
||||
{
|
||||
[XmlAttribute(AttributeName = "tag")]
|
||||
public string Tag { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Video")]
|
||||
public class Video
|
||||
{
|
||||
public string ProviderId { get; set; }
|
||||
[XmlAttribute(AttributeName = "guid")]
|
||||
public string Guid { get; set; }
|
||||
[XmlElement(ElementName = "Media")]
|
||||
public List<Media> Media { get; set; }
|
||||
[XmlElement(ElementName = "Genre")]
|
||||
public List<Genre> Genre { get; set; }
|
||||
[XmlElement(ElementName = "Writer")]
|
||||
public List<Writer> Writer { get; set; }
|
||||
[XmlElement(ElementName = "Director")]
|
||||
public Director Director { get; set; }
|
||||
[XmlElement(ElementName = "Country")]
|
||||
public Country Country { get; set; }
|
||||
[XmlElement(ElementName = "Role")]
|
||||
public List<Role> Role { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionID")]
|
||||
public string LibrarySectionID { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionTitle")]
|
||||
public string LibrarySectionTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionUUID")]
|
||||
public string LibrarySectionUUID { get; set; }
|
||||
[XmlAttribute(AttributeName = "personal")]
|
||||
public string Personal { get; set; }
|
||||
[XmlAttribute(AttributeName = "sourceTitle")]
|
||||
public string SourceTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "ratingKey")]
|
||||
public string RatingKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "studio")]
|
||||
public string Studio { get; set; }
|
||||
[XmlAttribute(AttributeName = "type")]
|
||||
public string Type { get; set; }
|
||||
[XmlAttribute(AttributeName = "title")]
|
||||
public string Title { get; set; }
|
||||
[XmlAttribute(AttributeName = "contentRating")]
|
||||
public string ContentRating { get; set; }
|
||||
[XmlAttribute(AttributeName = "summary")]
|
||||
public string Summary { get; set; }
|
||||
[XmlAttribute(AttributeName = "rating")]
|
||||
public string Rating { get; set; }
|
||||
[XmlAttribute(AttributeName = "audienceRating")]
|
||||
public string AudienceRating { get; set; }
|
||||
[XmlAttribute(AttributeName = "year")]
|
||||
public string Year { get; set; }
|
||||
[XmlAttribute(AttributeName = "tagline")]
|
||||
public string Tagline { get; set; }
|
||||
[XmlAttribute(AttributeName = "thumb")]
|
||||
public string Thumb { get; set; }
|
||||
[XmlAttribute(AttributeName = "art")]
|
||||
public string Art { get; set; }
|
||||
[XmlAttribute(AttributeName = "duration")]
|
||||
public string Duration { get; set; }
|
||||
[XmlAttribute(AttributeName = "originallyAvailableAt")]
|
||||
public string OriginallyAvailableAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "addedAt")]
|
||||
public string AddedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "updatedAt")]
|
||||
public string UpdatedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "audienceRatingImage")]
|
||||
public string AudienceRatingImage { get; set; }
|
||||
[XmlAttribute(AttributeName = "chapterSource")]
|
||||
public string ChapterSource { get; set; }
|
||||
[XmlAttribute(AttributeName = "ratingImage")]
|
||||
public string RatingImage { get; set; }
|
||||
[XmlAttribute(AttributeName = "titleSort")]
|
||||
public string TitleSort { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentRatingKey")]
|
||||
public string ParentRatingKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentRatingKey")]
|
||||
public string GrandparentRatingKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentKey")]
|
||||
public string GrandparentKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentKey")]
|
||||
public string ParentKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentTitle")]
|
||||
public string GrandparentTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "index")]
|
||||
public string Index { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentIndex")]
|
||||
public string ParentIndex { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentThumb")]
|
||||
public string ParentThumb { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentThumb")]
|
||||
public string GrandparentThumb { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentArt")]
|
||||
public string GrandparentArt { get; set; }
|
||||
[XmlAttribute(AttributeName = "viewCount")]
|
||||
public string ViewCount { get; set; }
|
||||
[XmlAttribute(AttributeName = "lastViewedAt")]
|
||||
public string LastViewedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "grandparentTheme")]
|
||||
public string GrandparentTheme { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Provider")]
|
||||
public class Provider
|
||||
{
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "title")]
|
||||
public string Title { get; set; }
|
||||
[XmlAttribute(AttributeName = "type")]
|
||||
public string Type { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "Directory")]
|
||||
public class Directory1
|
||||
{
|
||||
public Directory1()
|
||||
{
|
||||
Seasons = new List<Directory1>();
|
||||
}
|
||||
public string ProviderId { get; set; }
|
||||
[XmlAttribute(AttributeName = "guid")]
|
||||
public string Guid { get; set; }
|
||||
[XmlElement(ElementName = "Genre")]
|
||||
public List<Genre> Genre { get; set; }
|
||||
[XmlElement(ElementName = "Role")]
|
||||
public List<Role> Role { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionID")]
|
||||
public string LibrarySectionID { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionTitle")]
|
||||
public string LibrarySectionTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "librarySectionUUID")]
|
||||
public string LibrarySectionUUID { get; set; }
|
||||
[XmlAttribute(AttributeName = "personal")]
|
||||
public string Personal { get; set; }
|
||||
[XmlAttribute(AttributeName = "sourceTitle")]
|
||||
public string SourceTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "ratingKey")]
|
||||
public string RatingKey { get; set; }
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "studio")]
|
||||
public string Studio { get; set; }
|
||||
[XmlAttribute(AttributeName = "type")]
|
||||
public string Type { get; set; }
|
||||
[XmlAttribute(AttributeName = "title")]
|
||||
public string Title { get; set; }
|
||||
[XmlAttribute(AttributeName = "contentRating")]
|
||||
public string ContentRating { get; set; }
|
||||
[XmlAttribute(AttributeName = "summary")]
|
||||
public string Summary { get; set; }
|
||||
[XmlAttribute(AttributeName = "index")]
|
||||
public string Index { get; set; }
|
||||
[XmlAttribute(AttributeName = "rating")]
|
||||
public string Rating { get; set; }
|
||||
[XmlAttribute(AttributeName = "viewCount")]
|
||||
public string ViewCount { get; set; }
|
||||
[XmlAttribute(AttributeName = "lastViewedAt")]
|
||||
public string LastViewedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "year")]
|
||||
public string Year { get; set; }
|
||||
[XmlAttribute(AttributeName = "thumb")]
|
||||
public string Thumb { get; set; }
|
||||
[XmlAttribute(AttributeName = "art")]
|
||||
public string Art { get; set; }
|
||||
[XmlAttribute(AttributeName = "banner")]
|
||||
public string Banner { get; set; }
|
||||
[XmlAttribute(AttributeName = "theme")]
|
||||
public string Theme { get; set; }
|
||||
[XmlAttribute(AttributeName = "duration")]
|
||||
public string Duration { get; set; }
|
||||
[XmlAttribute(AttributeName = "originallyAvailableAt")]
|
||||
public string OriginallyAvailableAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "leafCount")]
|
||||
public string LeafCount { get; set; }
|
||||
[XmlAttribute(AttributeName = "viewedLeafCount")]
|
||||
public string ViewedLeafCount { get; set; }
|
||||
[XmlAttribute(AttributeName = "childCount")]
|
||||
public string ChildCount { get; set; }
|
||||
[XmlAttribute(AttributeName = "addedAt")]
|
||||
public string AddedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "updatedAt")]
|
||||
public string UpdatedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "parentTitle")]
|
||||
public string ParentTitle { get; set; }
|
||||
public List<Directory1> Seasons { get; set; }
|
||||
}
|
||||
|
||||
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexSearch
|
||||
{
|
||||
|
||||
[XmlElement(ElementName = "Directory")]
|
||||
public List<Directory1> Directory { get; set; }
|
||||
[XmlElement(ElementName = "Video")]
|
||||
public List<Video> Video { get; set; }
|
||||
[XmlElement(ElementName = "Provider")]
|
||||
public List<Provider> Provider { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "totalSize")]
|
||||
public string TotalSize { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagPrefix")]
|
||||
public string MediaTagPrefix { get; set; }
|
||||
[XmlAttribute(AttributeName = "mediaTagVersion")]
|
||||
public string MediaTagVersion { get; set; }
|
||||
}
|
||||
}
|
86
Ombi.Api.Models/Plex/PlexServer.cs
Normal file
86
Ombi.Api.Models/Plex/PlexServer.cs
Normal file
|
@ -0,0 +1,86 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexServer.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 System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "Server")]
|
||||
public class ServerInfo
|
||||
{
|
||||
[XmlAttribute(AttributeName = "accessToken")]
|
||||
public string AccessToken { get; set; }
|
||||
[XmlAttribute(AttributeName = "name")]
|
||||
public string Name { get; set; }
|
||||
[XmlAttribute(AttributeName = "address")]
|
||||
public string Address { get; set; }
|
||||
[XmlAttribute(AttributeName = "port")]
|
||||
public string Port { get; set; }
|
||||
[XmlAttribute(AttributeName = "version")]
|
||||
public string Version { get; set; }
|
||||
[XmlAttribute(AttributeName = "scheme")]
|
||||
public string Scheme { get; set; }
|
||||
[XmlAttribute(AttributeName = "host")]
|
||||
public string Host { get; set; }
|
||||
[XmlAttribute(AttributeName = "localAddresses")]
|
||||
public string LocalAddresses { get; set; }
|
||||
[XmlAttribute(AttributeName = "machineIdentifier")]
|
||||
public string MachineIdentifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "createdAt")]
|
||||
public string CreatedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "updatedAt")]
|
||||
public string UpdatedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "owned")]
|
||||
public string Owned { get; set; }
|
||||
[XmlAttribute(AttributeName = "synced")]
|
||||
public string Synced { get; set; }
|
||||
[XmlAttribute(AttributeName = "sourceTitle")]
|
||||
public string SourceTitle { get; set; }
|
||||
[XmlAttribute(AttributeName = "ownerId")]
|
||||
public string OwnerId { get; set; }
|
||||
[XmlAttribute(AttributeName = "home")]
|
||||
public string Home { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexServer
|
||||
{
|
||||
[XmlElement(ElementName = "Server")]
|
||||
public List<ServerInfo> Server { get; set; }
|
||||
[XmlAttribute(AttributeName = "friendlyName")]
|
||||
public string FriendlyName { get; set; }
|
||||
[XmlAttribute(AttributeName = "identifier")]
|
||||
public string Identifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "machineIdentifier")]
|
||||
public string MachineIdentifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
}
|
||||
|
||||
|
||||
}
|
87
Ombi.Api.Models/Plex/PlexStatus.cs
Normal file
87
Ombi.Api.Models/Plex/PlexStatus.cs
Normal file
|
@ -0,0 +1,87 @@
|
|||
using System.Collections.Generic;
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
[XmlRoot(ElementName = "Directory")]
|
||||
public class Directory
|
||||
{
|
||||
[XmlAttribute(AttributeName = "count")]
|
||||
public string Count { get; set; }
|
||||
[XmlAttribute(AttributeName = "key")]
|
||||
public string Key { get; set; }
|
||||
[XmlAttribute(AttributeName = "title")]
|
||||
public string Title { get; set; }
|
||||
[XmlAttribute(AttributeName = "type")]
|
||||
public string type { get; set; }
|
||||
}
|
||||
|
||||
[XmlRoot(ElementName = "MediaContainer")]
|
||||
public class PlexStatus
|
||||
{
|
||||
[XmlElement(ElementName = "Directory")]
|
||||
public List<Directory> Directory { get; set; }
|
||||
[XmlAttribute(AttributeName = "size")]
|
||||
public string Size { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowCameraUpload")]
|
||||
public string AllowCameraUpload { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowChannelAccess")]
|
||||
public string AllowChannelAccess { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowMediaDeletion")]
|
||||
public string AllowMediaDeletion { get; set; }
|
||||
[XmlAttribute(AttributeName = "allowSync")]
|
||||
public string AllowSync { get; set; }
|
||||
[XmlAttribute(AttributeName = "backgroundProcessing")]
|
||||
public string BackgroundProcessing { get; set; }
|
||||
[XmlAttribute(AttributeName = "certificate")]
|
||||
public string Certificate { get; set; }
|
||||
[XmlAttribute(AttributeName = "companionProxy")]
|
||||
public string CompanionProxy { get; set; }
|
||||
[XmlAttribute(AttributeName = "friendlyName")]
|
||||
public string FriendlyName { get; set; }
|
||||
[XmlAttribute(AttributeName = "machineIdentifier")]
|
||||
public string MachineIdentifier { get; set; }
|
||||
[XmlAttribute(AttributeName = "multiuser")]
|
||||
public string Multiuser { get; set; }
|
||||
[XmlAttribute(AttributeName = "myPlex")]
|
||||
public string MyPlex { get; set; }
|
||||
[XmlAttribute(AttributeName = "myPlexMappingState")]
|
||||
public string MyPlexMappingState { get; set; }
|
||||
[XmlAttribute(AttributeName = "myPlexSigninState")]
|
||||
public string MyPlexSigninState { get; set; }
|
||||
[XmlAttribute(AttributeName = "myPlexSubscription")]
|
||||
public string MyPlexSubscription { get; set; }
|
||||
[XmlAttribute(AttributeName = "myPlexUsername")]
|
||||
public string MyPlexUsername { get; set; }
|
||||
[XmlAttribute(AttributeName = "platform")]
|
||||
public string Platform { get; set; }
|
||||
[XmlAttribute(AttributeName = "platformVersion")]
|
||||
public string PlatformVersion { get; set; }
|
||||
[XmlAttribute(AttributeName = "requestParametersInCookie")]
|
||||
public string RequestParametersInCookie { get; set; }
|
||||
[XmlAttribute(AttributeName = "sync")]
|
||||
public string Sync { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderActiveVideoSessions")]
|
||||
public string TranscoderActiveVideoSessions { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderAudio")]
|
||||
public string TranscoderAudio { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderLyrics")]
|
||||
public string TranscoderLyrics { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderPhoto")]
|
||||
public string TranscoderPhoto { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderSubtitles")]
|
||||
public string TranscoderSubtitles { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderVideo")]
|
||||
public string TranscoderVideo { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderVideoBitrates")]
|
||||
public string TranscoderVideoBitrates { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderVideoQualities")]
|
||||
public string TranscoderVideoQualities { get; set; }
|
||||
[XmlAttribute(AttributeName = "transcoderVideoResolutions")]
|
||||
public string TranscoderVideoResolutions { get; set; }
|
||||
[XmlAttribute(AttributeName = "updatedAt")]
|
||||
public string UpdatedAt { get; set; }
|
||||
[XmlAttribute(AttributeName = "version")]
|
||||
public string Version { get; set; }
|
||||
}
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2017 Jamie Rees
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: PlexUserRequest.cs
|
||||
// Created By: Jamie Rees
|
||||
//
|
||||
|
@ -24,10 +24,17 @@
|
|||
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
// ************************************************************************/
|
||||
#endregion
|
||||
namespace Ombi.Api.Plex.Models
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
public class PlexUserRequest
|
||||
{
|
||||
public UserRequest user { get; set; }
|
||||
}
|
||||
|
||||
public class UserRequest
|
||||
{
|
||||
public string login { get; set; }
|
||||
public string password { get; set; }
|
||||
}
|
||||
}
|
241
Ombi.Api.Models/Plex/RecentlyAddedModelOld.cs
Normal file
241
Ombi.Api.Models/Plex/RecentlyAddedModelOld.cs
Normal file
|
@ -0,0 +1,241 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: RecentlyAddedModelOld.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Plex
|
||||
{
|
||||
public class RecentlyAddedChild
|
||||
{
|
||||
public string _elementType { get; set; }
|
||||
public int ratingKey { get; set; }
|
||||
public string key { get; set; }
|
||||
public int parentRatingKey { get; set; }
|
||||
public int grandparentRatingKey { get; set; }
|
||||
public string type { get; set; }
|
||||
public string title { get; set; }
|
||||
public string grandparentKey { get; set; }
|
||||
public string parentKey { get; set; }
|
||||
public string grandparentTitle { get; set; }
|
||||
public string summary { get; set; }
|
||||
public int index { get; set; }
|
||||
public int parentIndex { get; set; }
|
||||
public string thumb { get; set; }
|
||||
public string art { get; set; }
|
||||
public string grandparentThumb { get; set; }
|
||||
public string grandparentArt { get; set; }
|
||||
public int duration { get; set; }
|
||||
public int addedAt { get; set; }
|
||||
public int updatedAt { get; set; }
|
||||
public string chapterSource { get; set; }
|
||||
public List<Child2> _children { get; set; }
|
||||
public string contentRating { get; set; }
|
||||
public int? year { get; set; }
|
||||
public string parentThumb { get; set; }
|
||||
public string grandparentTheme { get; set; }
|
||||
public string originallyAvailableAt { get; set; }
|
||||
public string titleSort { get; set; }
|
||||
public int? viewCount { get; set; }
|
||||
public int? lastViewedAt { get; set; }
|
||||
public int? viewOffset { get; set; }
|
||||
public string rating { get; set; }
|
||||
public string studio { get; set; }
|
||||
public string tagline { get; set; }
|
||||
public string originalTitle { get; set; }
|
||||
public string audienceRating { get; set; }
|
||||
public string audienceRatingImage { get; set; }
|
||||
public string ratingImage { get; set; }
|
||||
}
|
||||
public class Child3
|
||||
{
|
||||
public string _elementType { get; set; }
|
||||
public string id { get; set; }
|
||||
public string key { get; set; }
|
||||
public double duration { get; set; }
|
||||
public string file { get; set; }
|
||||
public double size { get; set; }
|
||||
public string audioProfile { get; set; }
|
||||
public string container { get; set; }
|
||||
public string videoProfile { get; set; }
|
||||
public string deepAnalysisVersion { get; set; }
|
||||
public string requiredBandwidths { get; set; }
|
||||
public string hasThumbnail { get; set; }
|
||||
public bool? has64bitOffsets { get; set; }
|
||||
public bool? optimizedForStreaming { get; set; }
|
||||
public bool? hasChapterTextStream { get; set; }
|
||||
}
|
||||
|
||||
public class Child2
|
||||
{
|
||||
public string _elementType { get; set; }
|
||||
public string videoResolution { get; set; }
|
||||
public int id { get; set; }
|
||||
public int duration { get; set; }
|
||||
public int bitrate { get; set; }
|
||||
public int width { get; set; }
|
||||
public int height { get; set; }
|
||||
public string aspectRatio { get; set; }
|
||||
public int audioChannels { get; set; }
|
||||
public string audioCodec { get; set; }
|
||||
public string videoCodec { get; set; }
|
||||
public string container { get; set; }
|
||||
public string videoFrameRate { get; set; }
|
||||
public string audioProfile { get; set; }
|
||||
public string videoProfile { get; set; }
|
||||
public List<Child3> _children { get; set; }
|
||||
public string tag { get; set; }
|
||||
}
|
||||
|
||||
public class RecentlyAddedModelOld
|
||||
{
|
||||
public string _elementType { get; set; }
|
||||
public string allowSync { get; set; }
|
||||
public string art { get; set; }
|
||||
public string identifier { get; set; }
|
||||
public string librarySectionID { get; set; }
|
||||
public string librarySectionTitle { get; set; }
|
||||
public string librarySectionUUID { get; set; }
|
||||
public string mediaTagPrefix { get; set; }
|
||||
public string mediaTagVersion { get; set; }
|
||||
public string mixedParents { get; set; }
|
||||
public string nocache { get; set; }
|
||||
public string thumb { get; set; }
|
||||
public string title1 { get; set; }
|
||||
public string title2 { get; set; }
|
||||
public string viewGroup { get; set; }
|
||||
public string viewMode { get; set; }
|
||||
public List<RecentlyAddedChild> _children { get; set; }
|
||||
}
|
||||
|
||||
|
||||
// 1.3 and forward!
|
||||
public class PartRecentlyAdded
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string key { get; set; }
|
||||
public int duration { get; set; }
|
||||
public string file { get; set; }
|
||||
public double size { get; set; }
|
||||
public string audioProfile { get; set; }
|
||||
public string container { get; set; }
|
||||
public string videoProfile { get; set; }
|
||||
public string deepAnalysisVersion { get; set; }
|
||||
public string requiredBandwidths { get; set; }
|
||||
}
|
||||
|
||||
public class Medium
|
||||
{
|
||||
public string videoResolution { get; set; }
|
||||
public int id { get; set; }
|
||||
public int duration { get; set; }
|
||||
public int bitrate { get; set; }
|
||||
public int width { get; set; }
|
||||
public int height { get; set; }
|
||||
public double aspectRatio { get; set; }
|
||||
public int audioChannels { get; set; }
|
||||
public string audioCodec { get; set; }
|
||||
public string videoCodec { get; set; }
|
||||
public string container { get; set; }
|
||||
public string videoFrameRate { get; set; }
|
||||
public string audioProfile { get; set; }
|
||||
public string videoProfile { get; set; }
|
||||
public List<PartRecentlyAdded> Part { get; set; }
|
||||
}
|
||||
|
||||
public class DirectorRecentlyAdded
|
||||
{
|
||||
public string tag { get; set; }
|
||||
}
|
||||
|
||||
public class WriterRecentlyAdded
|
||||
{
|
||||
public string tag { get; set; }
|
||||
}
|
||||
|
||||
public class Metadata
|
||||
{
|
||||
public string ratingKey { get; set; }
|
||||
public string key { get; set; }
|
||||
public string parentRatingKey { get; set; }
|
||||
public string grandparentRatingKey { get; set; }
|
||||
public string type { get; set; }
|
||||
public string title { get; set; }
|
||||
public string titleSort { get; set; }
|
||||
public string grandparentKey { get; set; }
|
||||
public string parentKey { get; set; }
|
||||
public string grandparentTitle { get; set; }
|
||||
public string contentRating { get; set; }
|
||||
public string summary { get; set; }
|
||||
public int index { get; set; }
|
||||
public int parentIndex { get; set; }
|
||||
public int year { get; set; }
|
||||
public string thumb { get; set; }
|
||||
public string art { get; set; }
|
||||
public string parentThumb { get; set; }
|
||||
public string grandparentThumb { get; set; }
|
||||
public string grandparentArt { get; set; }
|
||||
public string grandparentTheme { get; set; }
|
||||
public int duration { get; set; }
|
||||
public string originallyAvailableAt { get; set; }
|
||||
public int addedAt { get; set; }
|
||||
public int updatedAt { get; set; }
|
||||
public List<Medium> Media { get; set; }
|
||||
public List<DirectorRecentlyAdded> Director { get; set; }
|
||||
public List<WriterRecentlyAdded> Writer { get; set; }
|
||||
public int? viewCount { get; set; }
|
||||
public int? lastViewedAt { get; set; }
|
||||
public double? rating { get; set; }
|
||||
}
|
||||
|
||||
public class MediaContainer
|
||||
{
|
||||
public double size { get; set; }
|
||||
public double totalSize { get; set; }
|
||||
public bool allowSync { get; set; }
|
||||
public string art { get; set; }
|
||||
public string identifier { get; set; }
|
||||
public int librarySectionID { get; set; }
|
||||
public string librarySectionTitle { get; set; }
|
||||
public string librarySectionUUID { get; set; }
|
||||
public string mediaTagPrefix { get; set; }
|
||||
public int mediaTagVersion { get; set; }
|
||||
public bool mixedParents { get; set; }
|
||||
public bool nocache { get; set; }
|
||||
public int offset { get; set; }
|
||||
public string thumb { get; set; }
|
||||
public string title1 { get; set; }
|
||||
public string title2 { get; set; }
|
||||
public string viewGroup { get; set; }
|
||||
public int viewMode { get; set; }
|
||||
public List<Metadata> Metadata { get; set; }
|
||||
}
|
||||
|
||||
public class PlexRecentlyAddedModel
|
||||
{
|
||||
public MediaContainer MediaContainer { get; set; }
|
||||
}
|
||||
}
|
38
Ombi.Api.Models/Properties/AssemblyInfo.cs
Normal file
38
Ombi.Api.Models/Properties/AssemblyInfo.cs
Normal file
|
@ -0,0 +1,38 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("Ombi.Api.Models")]
|
||||
[assembly: AssemblyDescription("")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("")]
|
||||
[assembly: AssemblyProduct("Ombi.Api.Models")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("cb37a5f8-6dfc-4554-99d3-a42b502e4591")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("1.0.0.0")]
|
||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||
|
||||
[assembly: AssemblyInformationalVersionAttribute("1.0.0.0")]
|
|
@ -1,4 +1,4 @@
|
|||
namespace Ombi.Api.SickRage.Models
|
||||
namespace Ombi.Api.Models.SickRage
|
||||
{
|
||||
public abstract class SickRageBase<T>
|
||||
{
|
37
Ombi.Api.Models/SickRage/SickRagePing.cs
Normal file
37
Ombi.Api.Models/SickRage/SickRagePing.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SickRagePing.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 Ombi.Api.Models.SickRage
|
||||
{
|
||||
public class SickRagePingData
|
||||
{
|
||||
public int pid { get; set; }
|
||||
}
|
||||
|
||||
public class SickRagePing : SickRageBase<SickRagePingData>
|
||||
{
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
using Newtonsoft.Json;
|
||||
using Ombi.Helpers;
|
||||
|
||||
namespace Ombi.Api.SickRage.Models
|
||||
namespace Ombi.Api.Models.SickRage
|
||||
{
|
||||
public class SickRageSeasonList : SickRageBase<object>
|
||||
{
|
82
Ombi.Api.Models/SickRage/SickRageShowInformation.cs
Normal file
82
Ombi.Api.Models/SickRage/SickRageShowInformation.cs
Normal file
|
@ -0,0 +1,82 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SickRageShowInformation.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.SickRage
|
||||
{
|
||||
public class Cache
|
||||
{
|
||||
public int banner { get; set; }
|
||||
public int poster { get; set; }
|
||||
}
|
||||
|
||||
public class QualityDetails
|
||||
{
|
||||
public List<object> archive { get; set; }
|
||||
public List<string> initial { get; set; }
|
||||
}
|
||||
|
||||
public class SeasonList
|
||||
{
|
||||
}
|
||||
|
||||
public class Data
|
||||
{
|
||||
public int air_by_date { get; set; }
|
||||
public string airs { get; set; }
|
||||
public int anime { get; set; }
|
||||
public int archive_firstmatch { get; set; }
|
||||
public Cache cache { get; set; }
|
||||
public int dvdorder { get; set; }
|
||||
public int flatten_folders { get; set; }
|
||||
public List<string> genre { get; set; }
|
||||
public string imdbid { get; set; }
|
||||
public int indexerid { get; set; }
|
||||
public string language { get; set; }
|
||||
public string location { get; set; }
|
||||
public string network { get; set; }
|
||||
public string next_ep_airdate { get; set; }
|
||||
public int paused { get; set; }
|
||||
public string quality { get; set; }
|
||||
public QualityDetails quality_details { get; set; }
|
||||
public List<object> rls_ignore_words { get; set; }
|
||||
public List<object> rls_require_words { get; set; }
|
||||
public int scene { get; set; }
|
||||
public SeasonList season_list { get; set; }
|
||||
public string show_name { get; set; }
|
||||
public int sports { get; set; }
|
||||
public string status { get; set; }
|
||||
public int subtitles { get; set; }
|
||||
public int tvdbid { get; set; }
|
||||
}
|
||||
|
||||
public class SickRageShowInformation : SickRageBase<Data>
|
||||
{
|
||||
}
|
||||
|
||||
}
|
35
Ombi.Api.Models/SickRage/SickRageStatus.cs
Normal file
35
Ombi.Api.Models/SickRage/SickRageStatus.cs
Normal file
|
@ -0,0 +1,35 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SickRageStatus.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 Ombi.Api.Models.SickRage
|
||||
{
|
||||
public static class SickRageStatus
|
||||
{
|
||||
public const string Wanted = "wanted";
|
||||
public const string Skipped = "skipped";
|
||||
public const string Ignored = "Ignored";
|
||||
}
|
||||
}
|
38
Ombi.Api.Models/SickRage/SickRageTvAdd.cs
Normal file
38
Ombi.Api.Models/SickRage/SickRageTvAdd.cs
Normal file
|
@ -0,0 +1,38 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SickRageTvAdd.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 Ombi.Api.Models.SickRage
|
||||
{
|
||||
public class SickRageTvAddData
|
||||
{
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class SickRageTvAdd : SickRageBase<SickRageTvAddData>
|
||||
{
|
||||
}
|
||||
|
||||
}
|
41
Ombi.Api.Models/SickRage/SickrageShows.cs
Normal file
41
Ombi.Api.Models/SickRage/SickrageShows.cs
Normal file
|
@ -0,0 +1,41 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SickrageShows.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.SickRage
|
||||
{
|
||||
public class SickrageShows : SickRageBase<Dictionary<int, Item>>
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class Item
|
||||
{
|
||||
public int tvdbid { get; set; }
|
||||
}
|
||||
}
|
34
Ombi.Api.Models/Sonarr/SonarrAddEpisodeBody.cs
Normal file
34
Ombi.Api.Models/Sonarr/SonarrAddEpisodeBody.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrAddEpisodeBody.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SonarrAddEpisodeBody
|
||||
{
|
||||
public string name { get; set; }
|
||||
public int[] episodeIds { get; set; }
|
||||
}
|
||||
}
|
58
Ombi.Api.Models/Sonarr/SonarrAddEpisodeResult.cs
Normal file
58
Ombi.Api.Models/Sonarr/SonarrAddEpisodeResult.cs
Normal file
|
@ -0,0 +1,58 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrAddEpisodeResult.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class Body
|
||||
{
|
||||
public List<int> episodeIds { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public string completionMessage { get; set; }
|
||||
public string name { get; set; }
|
||||
public string trigger { get; set; }
|
||||
}
|
||||
|
||||
public class SonarrAddEpisodeResult
|
||||
{
|
||||
public string name { get; set; }
|
||||
public Body body { get; set; }
|
||||
public string priority { get; set; }
|
||||
public string status { get; set; }
|
||||
public string queued { get; set; }
|
||||
public string trigger { get; set; }
|
||||
public string state { get; set; }
|
||||
public bool manual { get; set; }
|
||||
public string startedOn { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
|
||||
}
|
54
Ombi.Api.Models/Sonarr/SonarrAddSeries.cs
Normal file
54
Ombi.Api.Models/Sonarr/SonarrAddSeries.cs
Normal file
|
@ -0,0 +1,54 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class Season
|
||||
{
|
||||
public int seasonNumber { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public Statistics statistics { get; set; }
|
||||
}
|
||||
|
||||
public class Statistics
|
||||
{
|
||||
public int episodeFileCount { get; set; }
|
||||
public int episodeCount { get; set; }
|
||||
public int totalEpisodeCount { get; set; }
|
||||
public long sizeOnDisk { get; set; }
|
||||
public float percentOfEpisodes { get; set; }
|
||||
public DateTime previousAiring { get; set; }
|
||||
}
|
||||
|
||||
public class SonarrAddSeries
|
||||
{
|
||||
public SonarrAddSeries()
|
||||
{
|
||||
images = new List<string>();
|
||||
}
|
||||
public AddOptions addOptions { get; set; }
|
||||
public string title { get; set; }
|
||||
public List<Season> seasons { get; set; }
|
||||
public string rootFolderPath { get; set; }
|
||||
public int qualityProfileId { get; set; }
|
||||
public bool seasonFolder { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public int tvdbId { get; set; }
|
||||
public int tvRageId { get; set; }
|
||||
public string cleanTitle { get; set; }
|
||||
public string imdbId { get; set; }
|
||||
public string titleSlug { get; set; }
|
||||
public int id { get; set; }
|
||||
public List<string> images { get; set; }
|
||||
[JsonIgnore]
|
||||
public List<string> ErrorMessages { get; set; }
|
||||
}
|
||||
|
||||
public class AddOptions
|
||||
{
|
||||
public bool ignoreEpisodesWithFiles { get; set; }
|
||||
public bool ignoreEpisodesWithoutFiles { get; set; }
|
||||
public bool searchForMissingEpisodes { get; set; }
|
||||
}
|
||||
}
|
69
Ombi.Api.Models/Sonarr/SonarrAllSeries.cs
Normal file
69
Ombi.Api.Models/Sonarr/SonarrAllSeries.cs
Normal file
|
@ -0,0 +1,69 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SonarrAllSeries
|
||||
{
|
||||
public List<Series> list { get; set; }
|
||||
}
|
||||
|
||||
public class Series
|
||||
{
|
||||
public string title { get; set; }
|
||||
public List<Alternatetitle> alternateTitles { get; set; }
|
||||
public string sortTitle { get; set; }
|
||||
public int seasonCount { get; set; }
|
||||
public int totalEpisodeCount { get; set; }
|
||||
public int episodeCount { get; set; }
|
||||
public int episodeFileCount { get; set; }
|
||||
public long sizeOnDisk { get; set; }
|
||||
public string status { get; set; }
|
||||
public string overview { get; set; }
|
||||
public DateTime previousAiring { get; set; }
|
||||
public string network { get; set; }
|
||||
public List<Image> images { get; set; }
|
||||
public List<Season> seasons { get; set; }
|
||||
public int year { get; set; }
|
||||
public string path { get; set; }
|
||||
public int profileId { get; set; }
|
||||
public bool seasonFolder { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public bool useSceneNumbering { get; set; }
|
||||
public int runtime { get; set; }
|
||||
public int tvdbId { get; set; }
|
||||
public int tvRageId { get; set; }
|
||||
public int tvMazeId { get; set; }
|
||||
public DateTime firstAired { get; set; }
|
||||
public DateTime lastInfoSync { get; set; }
|
||||
public string seriesType { get; set; }
|
||||
public string cleanTitle { get; set; }
|
||||
public string imdbId { get; set; }
|
||||
public string titleSlug { get; set; }
|
||||
public string certification { get; set; }
|
||||
public List<string> genres { get; set; }
|
||||
public List<object> tags { get; set; }
|
||||
public DateTime added { get; set; }
|
||||
public Ratings ratings { get; set; }
|
||||
public int qualityProfileId { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
|
||||
public class Ratings
|
||||
{
|
||||
public int votes { get; set; }
|
||||
public float value { get; set; }
|
||||
}
|
||||
|
||||
public class Alternatetitle
|
||||
{
|
||||
public string title { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
}
|
||||
|
||||
public class Image
|
||||
{
|
||||
public string coverType { get; set; }
|
||||
public string url { get; set; }
|
||||
}
|
||||
}
|
73
Ombi.Api.Models/Sonarr/SonarrEpisode.cs
Normal file
73
Ombi.Api.Models/Sonarr/SonarrEpisode.cs
Normal file
|
@ -0,0 +1,73 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrEpisode.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
|
||||
public class Revision
|
||||
{
|
||||
public int version { get; set; }
|
||||
public int real { get; set; }
|
||||
}
|
||||
|
||||
public class EpisodeFile
|
||||
{
|
||||
public int seriesId { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
public string relativePath { get; set; }
|
||||
public string path { get; set; }
|
||||
public long size { get; set; }
|
||||
public string dateAdded { get; set; }
|
||||
public Quality quality { get; set; }
|
||||
public bool qualityCutoffNotMet { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
public class SonarrEpisode
|
||||
{
|
||||
public int seriesId { get; set; }
|
||||
public int episodeFileId { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
public int episodeNumber { get; set; }
|
||||
public string title { get; set; }
|
||||
public string airDate { get; set; }
|
||||
public string airDateUtc { get; set; }
|
||||
public string overview { get; set; }
|
||||
public EpisodeFile episodeFile { get; set; }
|
||||
public bool hasFile { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public int absoluteEpisodeNumber { get; set; }
|
||||
public bool unverifiedSceneNumbering { get; set; }
|
||||
public Series series { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
47
Ombi.Api.Models/Sonarr/SonarrEpisodes.cs
Normal file
47
Ombi.Api.Models/Sonarr/SonarrEpisodes.cs
Normal file
|
@ -0,0 +1,47 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrEpisodes.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SonarrEpisodes
|
||||
{
|
||||
|
||||
public int seriesId { get; set; }
|
||||
public int episodeFileId { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
public int episodeNumber { get; set; }
|
||||
public string title { get; set; }
|
||||
public string overview { get; set; }
|
||||
public bool hasFile { get; set; }
|
||||
public bool monitored { get; set; }
|
||||
public bool unverifiedSceneNumbering { get; set; }
|
||||
public int id { get; set; }
|
||||
public string airDate { get; set; }
|
||||
public string airDateUtc { get; set; }
|
||||
public int? absoluteEpisodeNumber { get; set; }
|
||||
}
|
||||
|
||||
}
|
42
Ombi.Api.Models/Sonarr/SonarrError.cs
Normal file
42
Ombi.Api.Models/Sonarr/SonarrError.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrError.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SonarrError
|
||||
{
|
||||
public string propertyName { get; set; }
|
||||
public string errorMessage { get; set; }
|
||||
public object attemptedValue { get; set; }
|
||||
public FormattedMessagePlaceholderValues formattedMessagePlaceholderValues { get; set; }
|
||||
}
|
||||
public class FormattedMessagePlaceholderValues
|
||||
{
|
||||
public string propertyName { get; set; }
|
||||
public object propertyValue { get; set; }
|
||||
}
|
||||
}
|
57
Ombi.Api.Models/Sonarr/SonarrProfile.cs
Normal file
57
Ombi.Api.Models/Sonarr/SonarrProfile.cs
Normal file
|
@ -0,0 +1,57 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrProfile.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class Cutoff
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class Quality
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class Item
|
||||
{
|
||||
public Quality quality { get; set; }
|
||||
public bool allowed { get; set; }
|
||||
}
|
||||
|
||||
public class SonarrProfile
|
||||
{
|
||||
public string name { get; set; }
|
||||
public Cutoff cutoff { get; set; }
|
||||
public List<Item> items { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
}
|
36
Ombi.Api.Models/Sonarr/SonarrSearchCommand.cs
Normal file
36
Ombi.Api.Models/Sonarr/SonarrSearchCommand.cs
Normal file
|
@ -0,0 +1,36 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrSearchCommand.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SonarrSearchCommand
|
||||
{
|
||||
public int seriesId { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
}
|
55
Ombi.Api.Models/Sonarr/SonarrSeasonSearchResult.cs
Normal file
55
Ombi.Api.Models/Sonarr/SonarrSeasonSearchResult.cs
Normal file
|
@ -0,0 +1,55 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrSeasonSearchResult.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SeasonBody
|
||||
{
|
||||
public int seriesId { get; set; }
|
||||
public int seasonNumber { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public string completionMessage { get; set; }
|
||||
public string name { get; set; }
|
||||
public string trigger { get; set; }
|
||||
}
|
||||
|
||||
public class SonarrSeasonSearchResult
|
||||
{
|
||||
public string name { get; set; }
|
||||
public SeasonBody body { get; set; }
|
||||
public string priority { get; set; }
|
||||
public string status { get; set; }
|
||||
public string queued { get; set; }
|
||||
public string trigger { get; set; }
|
||||
public string state { get; set; }
|
||||
public bool manual { get; set; }
|
||||
public string startedOn { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
}
|
56
Ombi.Api.Models/Sonarr/SonarrSeriesSearchResult.cs
Normal file
56
Ombi.Api.Models/Sonarr/SonarrSeriesSearchResult.cs
Normal file
|
@ -0,0 +1,56 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SonarrSeriesSearchResult.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SeriesBody
|
||||
{
|
||||
public int seriesId { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public string completionMessage { get; set; }
|
||||
public string name { get; set; }
|
||||
public string trigger { get; set; }
|
||||
}
|
||||
|
||||
public class SonarrSeriesSearchResult
|
||||
{
|
||||
public string name { get; set; }
|
||||
public SeriesBody body { get; set; }
|
||||
public string priority { get; set; }
|
||||
public string status { get; set; }
|
||||
public string queued { get; set; }
|
||||
public string started { get; set; }
|
||||
public string trigger { get; set; }
|
||||
public string state { get; set; }
|
||||
public bool manual { get; set; }
|
||||
public string startedOn { get; set; }
|
||||
public string stateChangeTime { get; set; }
|
||||
public bool sendUpdatesToClient { get; set; }
|
||||
public bool updateScheduledTask { get; set; }
|
||||
public int id { get; set; }
|
||||
}
|
||||
}
|
51
Ombi.Api.Models/Sonarr/SystemStatus.cs
Normal file
51
Ombi.Api.Models/Sonarr/SystemStatus.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: SystemStatus.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 Ombi.Api.Models.Sonarr
|
||||
{
|
||||
public class SystemStatus
|
||||
{
|
||||
public string version { get; set; }
|
||||
public string buildTime { get; set; }
|
||||
public bool isDebug { get; set; }
|
||||
public bool isProduction { get; set; }
|
||||
public bool isAdmin { get; set; }
|
||||
public bool isUserInteractive { get; set; }
|
||||
public string startupPath { get; set; }
|
||||
public string appData { get; set; }
|
||||
public string osVersion { get; set; }
|
||||
public bool isMonoRuntime { get; set; }
|
||||
public bool isMono { get; set; }
|
||||
public bool isLinux { get; set; }
|
||||
public bool isOsx { get; set; }
|
||||
public bool isWindows { get; set; }
|
||||
public string branch { get; set; }
|
||||
public string authentication { get; set; }
|
||||
public string sqliteVersion { get; set; }
|
||||
public string urlBase { get; set; }
|
||||
public string runtimeVersion { get; set; }
|
||||
}
|
||||
}
|
33
Ombi.Api.Models/Tv/Authentication.cs
Normal file
33
Ombi.Api.Models/Tv/Authentication.cs
Normal file
|
@ -0,0 +1,33 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: Authentication.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 Ombi.Api.Models.Tv
|
||||
{
|
||||
public class Authentication
|
||||
{
|
||||
public string token { get; set; }
|
||||
}
|
||||
}
|
89
Ombi.Api.Models/Tv/TVMazeShow.cs
Normal file
89
Ombi.Api.Models/Tv/TVMazeShow.cs
Normal file
|
@ -0,0 +1,89 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class TvMazeShow
|
||||
{
|
||||
public TvMazeShow()
|
||||
{
|
||||
Season = new List<TvMazeCustomSeason>();
|
||||
}
|
||||
public int id { get; set; }
|
||||
public string url { get; set; }
|
||||
public string name { get; set; }
|
||||
public string type { get; set; }
|
||||
public string language { get; set; }
|
||||
public List<string> genres { get; set; }
|
||||
public string status { get; set; }
|
||||
public int runtime { get; set; }
|
||||
public string premiered { get; set; }
|
||||
public Schedule schedule { get; set; }
|
||||
public Rating rating { get; set; }
|
||||
public int weight { get; set; }
|
||||
public Network network { get; set; }
|
||||
public object webChannel { get; set; }
|
||||
public Externals externals { get; set; }
|
||||
public Image image { get; set; }
|
||||
public string summary { get; set; }
|
||||
public int updated { get; set; }
|
||||
public Links _links { get; set; }
|
||||
public List<TvMazeCustomSeason> Season { get; set; }
|
||||
public Embedded _embedded { get; set; }
|
||||
}
|
||||
|
||||
public class TvMazeCustomSeason
|
||||
{
|
||||
public int SeasonNumber { get; set; }
|
||||
public int EpisodeNumber { get; set; }
|
||||
}
|
||||
|
||||
public class Season
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string url { get; set; }
|
||||
public int number { get; set; }
|
||||
public string name { get; set; }
|
||||
public int? episodeOrder { get; set; }
|
||||
public string premiereDate { get; set; }
|
||||
public string endDate { get; set; }
|
||||
public Network2 network { get; set; }
|
||||
public object webChannel { get; set; }
|
||||
public Image2 image { get; set; }
|
||||
public string summary { get; set; }
|
||||
public Links2 _links { get; set; }
|
||||
}
|
||||
public class Country2
|
||||
{
|
||||
public string name { get; set; }
|
||||
public string code { get; set; }
|
||||
public string timezone { get; set; }
|
||||
}
|
||||
|
||||
public class Network2
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string name { get; set; }
|
||||
public Country2 country { get; set; }
|
||||
}
|
||||
|
||||
public class Image2
|
||||
{
|
||||
public string medium { get; set; }
|
||||
public string original { get; set; }
|
||||
}
|
||||
|
||||
public class Self2
|
||||
{
|
||||
public string href { get; set; }
|
||||
}
|
||||
|
||||
public class Links2
|
||||
{
|
||||
public Self2 self { get; set; }
|
||||
}
|
||||
|
||||
public class Embedded
|
||||
{
|
||||
public List<Season> seasons { get; set; }
|
||||
}
|
||||
}
|
44
Ombi.Api.Models/Tv/TvMazeEpisodes.cs
Normal file
44
Ombi.Api.Models/Tv/TvMazeEpisodes.cs
Normal file
|
@ -0,0 +1,44 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: TvMazeEpisodes.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 Ombi.Api.Models.Tv
|
||||
{
|
||||
public class TvMazeEpisodes
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string url { get; set; }
|
||||
public string name { get; set; }
|
||||
public int season { get; set; }
|
||||
public int number { get; set; }
|
||||
public string airdate { get; set; }
|
||||
public string airtime { get; set; }
|
||||
public string airstamp { get; set; }
|
||||
public int runtime { get; set; }
|
||||
public Image image { get; set; }
|
||||
public string summary { get; set; }
|
||||
public Links _links { get; set; }
|
||||
}
|
||||
}
|
120
Ombi.Api.Models/Tv/TvMazeSearch.cs
Normal file
120
Ombi.Api.Models/Tv/TvMazeSearch.cs
Normal file
|
@ -0,0 +1,120 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: TvMazeSearch.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class Schedule
|
||||
{
|
||||
public List<object> days { get; set; }
|
||||
public string time { get; set; }
|
||||
}
|
||||
|
||||
public class Rating
|
||||
{
|
||||
public double? average { get; set; }
|
||||
}
|
||||
|
||||
public class Country
|
||||
{
|
||||
public string code { get; set; }
|
||||
public string name { get; set; }
|
||||
public string timezone { get; set; }
|
||||
}
|
||||
|
||||
public class Network
|
||||
{
|
||||
public Country country { get; set; }
|
||||
public int id { get; set; }
|
||||
public string name { get; set; }
|
||||
}
|
||||
|
||||
public class Externals
|
||||
{
|
||||
public string imdb { get; set; }
|
||||
public int? thetvdb { get; set; }
|
||||
public int? tvrage { get; set; }
|
||||
}
|
||||
|
||||
public class Image
|
||||
{
|
||||
public string medium { get; set; }
|
||||
public string original { get; set; }
|
||||
}
|
||||
|
||||
public class Self
|
||||
{
|
||||
public string href { get; set; }
|
||||
}
|
||||
|
||||
public class Previousepisode
|
||||
{
|
||||
public string href { get; set; }
|
||||
}
|
||||
|
||||
public class Nextepisode
|
||||
{
|
||||
public string href { get; set; }
|
||||
}
|
||||
|
||||
public class Links
|
||||
{
|
||||
public Nextepisode nextepisode { get; set; }
|
||||
public Previousepisode previousepisode { get; set; }
|
||||
public Self self { get; set; }
|
||||
}
|
||||
|
||||
public class Show
|
||||
{
|
||||
public Links _links { get; set; }
|
||||
public Externals externals { get; set; }
|
||||
public List<object> genres { get; set; }
|
||||
public int id { get; set; }
|
||||
public Image image { get; set; }
|
||||
public string language { get; set; }
|
||||
public string name { get; set; }
|
||||
public Network network { get; set; }
|
||||
public string premiered { get; set; }
|
||||
public Rating rating { get; set; }
|
||||
public int? runtime { get; set; }
|
||||
public Schedule schedule { get; set; }
|
||||
public string status { get; set; }
|
||||
public string summary { get; set; }
|
||||
public string type { get; set; }
|
||||
public int updated { get; set; }
|
||||
public string url { get; set; }
|
||||
public object webChannel { get; set; }
|
||||
public int weight { get; set; }
|
||||
}
|
||||
|
||||
public class TvMazeSearch
|
||||
{
|
||||
public double score { get; set; }
|
||||
public Show show { get; set; }
|
||||
}
|
||||
}
|
7
Ombi.Api.Models/Tv/TvMazeSeasons.cs
Normal file
7
Ombi.Api.Models/Tv/TvMazeSeasons.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class TvMazeSeasons : TvMazeShow
|
||||
{
|
||||
public int number { get; set; }
|
||||
}
|
||||
}
|
69
Ombi.Api.Models/Tv/TvSearchResult.cs
Normal file
69
Ombi.Api.Models/Tv/TvSearchResult.cs
Normal file
|
@ -0,0 +1,69 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: TvSearchResult.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class TvShowSearchResult
|
||||
{
|
||||
public int id { get; set; }
|
||||
public int airedSeason { get; set; }
|
||||
public int airedEpisodeNumber { get; set; }
|
||||
public string episodeName { get; set; }
|
||||
public string firstAired { get; set; }
|
||||
public string guestStars { get; set; }
|
||||
public string director { get; set; }
|
||||
public List<string> writers { get; set; }
|
||||
public string overview { get; set; }
|
||||
public string productionCode { get; set; }
|
||||
public string showUrl { get; set; }
|
||||
public int lastUpdated { get; set; }
|
||||
public string dvdDiscid { get; set; }
|
||||
public int dvdSeason { get; set; }
|
||||
public int dvdEpisodeNumber { get; set; }
|
||||
public int dvdChapter { get; set; }
|
||||
public int absoluteNumber { get; set; }
|
||||
public string filename { get; set; }
|
||||
public string seriesId { get; set; }
|
||||
public string lastUpdatedBy { get; set; }
|
||||
public int airsAfterSeason { get; set; }
|
||||
public int airsBeforeSeason { get; set; }
|
||||
public int airsBeforeEpisode { get; set; }
|
||||
public string thumbAuthor { get; set; }
|
||||
public string thumbAdded { get; set; }
|
||||
public string thumbWidth { get; set; }
|
||||
public string thumbHeight { get; set; }
|
||||
public string imdbId { get; set; }
|
||||
public int siteRating { get; set; }
|
||||
}
|
||||
|
||||
public class TvSearchResult
|
||||
{
|
||||
public List<TvShow> data { get; set; }
|
||||
}
|
||||
}
|
62
Ombi.Api.Models/Tv/TvShow.cs
Normal file
62
Ombi.Api.Models/Tv/TvShow.cs
Normal file
|
@ -0,0 +1,62 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: TvShow.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class TvShow
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string seriesName { get; set; }
|
||||
public List<string> aliases { get; set; }
|
||||
public string banner { get; set; }
|
||||
public string seriesId { get; set; }
|
||||
public string status { get; set; }
|
||||
public string firstAired { get; set; }
|
||||
public string network { get; set; }
|
||||
public string networkId { get; set; }
|
||||
public string runtime { get; set; }
|
||||
public List<string> genre { get; set; }
|
||||
public string overview { get; set; }
|
||||
public int lastUpdated { get; set; }
|
||||
public string airsDayOfWeek { get; set; }
|
||||
public string airsTime { get; set; }
|
||||
public string rating { get; set; }
|
||||
public string imdbId { get; set; }
|
||||
public string zap2itId { get; set; }
|
||||
public string added { get; set; }
|
||||
public int addedBy { get; set; }
|
||||
public int siteRating { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class TvShowInformation
|
||||
{
|
||||
public TvShow data { get; set; }
|
||||
}
|
||||
}
|
54
Ombi.Api.Models/Tv/TvShowImages.cs
Normal file
54
Ombi.Api.Models/Tv/TvShowImages.cs
Normal file
|
@ -0,0 +1,54 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: TvShowImages.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 System.Collections.Generic;
|
||||
|
||||
namespace Ombi.Api.Models.Tv
|
||||
{
|
||||
public class RatingsInfo
|
||||
{
|
||||
public double average { get; set; }
|
||||
}
|
||||
|
||||
public class Datum
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string keyType { get; set; }
|
||||
public string subKey { get; set; }
|
||||
public string fileName { get; set; }
|
||||
public string resolution { get; set; }
|
||||
public RatingsInfo ratingsInfo { get; set; }
|
||||
public string thumbnail { get; set; }
|
||||
}
|
||||
|
||||
public class TvShowImages
|
||||
{
|
||||
public List<Datum> data { get; set; }
|
||||
public object errors { get; set; }
|
||||
}
|
||||
|
||||
}
|
42
Ombi.Api.Models/Watcher/WatcherAddMovieResult.cs
Normal file
42
Ombi.Api.Models/Watcher/WatcherAddMovieResult.cs
Normal file
|
@ -0,0 +1,42 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: WatcherAddMovieResult.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 Ombi.Api.Models.Watcher
|
||||
{
|
||||
public class WatcherAddMovieResult
|
||||
{
|
||||
public bool response { get; set; }
|
||||
public string message { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
public string ErrorMessage { get; set; }
|
||||
[JsonIgnore]
|
||||
public bool Error { get; set; }
|
||||
}
|
||||
}
|
90
Ombi.Api.Models/Watcher/WatcherListStatusResult.cs
Normal file
90
Ombi.Api.Models/Watcher/WatcherListStatusResult.cs
Normal file
|
@ -0,0 +1,90 @@
|
|||
#region Copyright
|
||||
// /************************************************************************
|
||||
// Copyright (c) 2016 Jamie Rees
|
||||
// File: WatcherListStatusResult.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 System.Collections.Generic;
|
||||
using Newtonsoft.Json;
|
||||
using RestSharp.Deserializers;
|
||||
|
||||
namespace Ombi.Api.Models.Watcher
|
||||
{
|
||||
public class Quality2
|
||||
{
|
||||
[JsonProperty("720P")]
|
||||
public List<string> Q720P { get; set; }
|
||||
[JsonProperty("1080P")]
|
||||
public List<string> Q1080P { get; set; }
|
||||
[JsonProperty("4K")]
|
||||
public List<string> Q4K { get; set; }
|
||||
public List<string> SD { get; set; }
|
||||
}
|
||||
|
||||
public class Filters
|
||||
{
|
||||
public string preferredwords { get; set; }
|
||||
public string ignoredwords { get; set; }
|
||||
public string requiredwords { get; set; }
|
||||
}
|
||||
|
||||
public class Quality
|
||||
{
|
||||
[JsonProperty("Quality")]
|
||||
public Quality2 quality { get; set; }
|
||||
public Filters Filters { get; set; }
|
||||
}
|
||||
|
||||
public class WatcherListStatusResult
|
||||
{
|
||||
public string status { get; set; }
|
||||
public string plot { get; set; }
|
||||
public string rated { get; set; }
|
||||
public string title { get; set; }
|
||||
public object finishedscore { get; set; }
|
||||
public string predb { get; set; }
|
||||
public string year { get; set; }
|
||||
public string poster { get; set; }
|
||||
public string tomatourl { get; set; }
|
||||
public string released { get; set; }
|
||||
public object finisheddate { get; set; }
|
||||
public string dvd { get; set; }
|
||||
public string tomatorating { get; set; }
|
||||
public string imdbid { get; set; }
|
||||
public Quality quality { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class WatcherListStatusResultContainer
|
||||
{
|
||||
[JsonProperty("movies")]
|
||||
public List<WatcherListStatusResult> Movies { get; set; }
|
||||
[JsonProperty("response")]
|
||||
public bool Response { get; set; }
|
||||
[JsonIgnore]
|
||||
public string ErrorMessage { get; set; }
|
||||
[JsonIgnore]
|
||||
public bool Error { get; set; }
|
||||
}
|
||||
}
|
8
Ombi.Api.Models/Watcher/WatcherResponse.cs
Normal file
8
Ombi.Api.Models/Watcher/WatcherResponse.cs
Normal file
|
@ -0,0 +1,8 @@
|
|||
using System;
|
||||
namespace Ombi.Api.Models
|
||||
{
|
||||
public class WatcherResponse<T>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue