Host: Fixing windows host console presence, renaming Kyoo to Kyoo.Core

This commit is contained in:
Zoe Roux 2021-08-31 20:45:42 +02:00
parent 3d14902a0b
commit 75346d8f7a
109 changed files with 179 additions and 134 deletions

View File

@ -10,7 +10,7 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-latest #ubuntu-16.04 # We are using an old version of ubuntu to have an old libc version (forward compatibility exist but not backward)
- os: ubuntu-latest
runtime: linux-x64
artifact: linux
- os: windows-latest
@ -35,7 +35,6 @@ jobs:
elif [[ "${{runner.os}}" == "macOS" ]]; then
brew install ffmpeg
else
# sudo add-apt-repository -y "deb http://azure.archive.ubuntu.com/ubuntu groovy main multiverse restricted universe"
sudo apt-get update
sudo apt-get install -y libavutil-dev libavcodec-dev libavformat-dev
fi

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using JetBrains.Annotations;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Controllers
{

View File

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using System.Reflection;
using JetBrains.Annotations;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Models
{

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Models
{

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Models
{

View File

@ -2,6 +2,7 @@ using System;
using System.Collections.Generic;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Models
{

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
namespace Kyoo.Abstractions.Models
{

View File

@ -1,6 +1,7 @@
using Autofac;
using Autofac.Builder;
using Kyoo.Abstractions.Controllers;
using Kyoo.Utils;
using Microsoft.Extensions.Configuration;
namespace Kyoo.Abstractions

View File

@ -4,7 +4,7 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Kyoo
namespace Kyoo.Utils
{
/// <summary>
/// A set of extensions class for enumerable.

View File

@ -8,7 +8,7 @@ using JetBrains.Annotations;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
namespace Kyoo
namespace Kyoo.Utils
{
/// <summary>
/// A class containing helper methods to merge objects.

View File

@ -1,7 +1,7 @@
using System;
using System.Reflection;
namespace Kyoo
namespace Kyoo.Utils
{
/// <summary>
/// Static class containing MethodOf calls.

View File

@ -2,7 +2,7 @@ using System;
using System.Threading.Tasks;
using JetBrains.Annotations;
namespace Kyoo
namespace Kyoo.Utils
{
/// <summary>
/// A class containing helper method for tasks.

View File

@ -9,7 +9,7 @@ using System.Text;
using System.Text.RegularExpressions;
using JetBrains.Annotations;
namespace Kyoo
namespace Kyoo.Utils
{
/// <summary>
/// A set of utility functions that can be used everywhere.

View File

@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
namespace Kyoo.Authentication.Models.DTO
{

View File

@ -18,7 +18,7 @@ using Serilog.Templates;
using Serilog.Templates.Themes;
using ILogger = Serilog.ILogger;
namespace Kyoo
namespace Kyoo.Core
{
public class Application : IApplication
{

View File

@ -8,11 +8,11 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Api;
using Kyoo.Core.Api;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json.Linq;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
public class ConfigurationManager : IConfigurationManager
{

View File

@ -9,11 +9,11 @@ using JetBrains.Annotations;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A composite that merge every <see cref="IFileSystem"/> available

View File

@ -9,7 +9,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A <see cref="IFileSystem"/> for http/https links.

View File

@ -5,12 +5,12 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Options;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A <see cref="IFileSystem"/> for the local filesystem (using System.IO).

View File

@ -6,8 +6,9 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Utils;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
public class LibraryManager : ILibraryManager
{

View File

@ -2,7 +2,7 @@ using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Logging;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A permission validator that always validate permissions. This effectively disable the permission system.

View File

@ -5,12 +5,12 @@ using System.Linq;
using System.Reflection;
using System.Runtime.Loader;
using Kyoo.Abstractions.Controllers;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// An implementation of <see cref="IPluginManager"/>.

View File

@ -4,9 +4,10 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using Microsoft.Extensions.Logging;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A metadata provider composite that merge results from all available providers.

View File

@ -7,11 +7,12 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Models.Options;
using Kyoo.Models.Watch;
using Kyoo.Core.Models.Options;
using Kyoo.Core.Models.Watch;
using Kyoo.Utils;
using Microsoft.Extensions.Options;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// An identifier that use a regex to extract basics metadata.

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle collections

View File

@ -7,9 +7,10 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Kyoo.Utils;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle episodes.

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository for genres.

View File

@ -9,7 +9,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle library items.

View File

@ -6,9 +6,10 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Kyoo.Utils;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle libraries.

View File

@ -8,10 +8,11 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Api;
using Kyoo.Utils;
using Kyoo.Core.Api;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A base class to create repositories using Entity Framework.

View File

@ -7,9 +7,10 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Kyoo.Utils;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle people.

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle providers.

View File

@ -9,7 +9,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle seasons.

View File

@ -5,10 +5,11 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle shows

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle studios

View File

@ -7,7 +7,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A local repository to handle tracks.

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A repository for users.

View File

@ -10,12 +10,12 @@ using JetBrains.Annotations;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// A service to handle long running tasks and a background runner.

View File

@ -7,7 +7,7 @@ using Kyoo.Abstractions.Models;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Logging;
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
/// <summary>
/// Download images and retrieve the path of those images for a resource.

View File

@ -4,14 +4,14 @@ using System.Runtime.InteropServices;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
using Stream = Kyoo.Models.Watch.Stream;
using Stream = Kyoo.Core.Models.Watch.Stream;
// We use threads so tasks are not always awaited.
#pragma warning disable 4014
namespace Kyoo.Controllers
namespace Kyoo.Core.Controllers
{
public class BadTranscoderException : Exception {}
@ -54,7 +54,7 @@ namespace Kyoo.Controllers
path = path.Replace('\\', '/');
outPath = outPath.Replace('\\', '/');
int size = Marshal.SizeOf<Stream>();
int size = Marshal.SizeOf<Models.Watch.Stream>();
IntPtr ptr = extract_infos(path, outPath, out uint arrayLength, out uint trackCount, reextract);
IntPtr streamsPtr = ptr;
Track[] tracks;
@ -66,7 +66,7 @@ namespace Kyoo.Controllers
int j = 0;
for (int i = 0; i < arrayLength; i++)
{
Stream stream = Marshal.PtrToStructure<Stream>(streamsPtr);
Models.Watch.Stream stream = Marshal.PtrToStructure<Models.Watch.Stream>(streamsPtr);
if (stream!.Type != StreamType.Unknown)
{
tracks[j] = stream.ToTrack();
@ -94,7 +94,7 @@ namespace Kyoo.Controllers
_options = options;
_library = library;
if (TranscoderAPI.Init() != Marshal.SizeOf<Stream>())
if (TranscoderAPI.Init() != Marshal.SizeOf<Models.Watch.Stream>())
throw new BadTranscoderException();
}

View File

@ -7,11 +7,11 @@ using Autofac.Extras.AttributeMetadata;
using Kyoo.Abstractions;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Api;
using Kyoo.Controllers;
using Kyoo.Core.Api;
using Kyoo.Core.Controllers;
using Kyoo.Core.Models.Options;
using Kyoo.Core.Tasks;
using Kyoo.Database;
using Kyoo.Models.Options;
using Kyoo.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.Configuration;
@ -20,7 +20,7 @@ using Microsoft.Extensions.Hosting;
using Serilog;
using IMetadataProvider = Kyoo.Abstractions.Controllers.IMetadataProvider;
namespace Kyoo
namespace Kyoo.Core
{
/// <summary>
/// The core module containing default implementations

View File

@ -2,7 +2,7 @@ using System.Net.Http;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace Kyoo
namespace Kyoo.Core
{
public static class Helper
{

View File

@ -2,7 +2,7 @@ using System.Collections.Generic;
using System.Collections.Immutable;
using System.IO;
namespace Kyoo.Models.Watch
namespace Kyoo.Core.Models.Watch
{
/// <summary>
/// A static class allowing one to identify files extensions.

View File

@ -1,7 +1,7 @@
using Kyoo.Abstractions.Models;
using System;
namespace Kyoo.Models.Options
namespace Kyoo.Core.Models.Options
{
/// <summary>
/// The typed list of basic/global options for Kyoo

View File

@ -1,4 +1,4 @@
namespace Kyoo.Models.Options
namespace Kyoo.Core.Models.Options
{
/// <summary>
/// Options for media registering.

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using JetBrains.Annotations;
namespace Kyoo.Models.Options
namespace Kyoo.Core.Models.Options
{
/// <summary>
/// Options related to tasks

View File

@ -2,7 +2,7 @@ using System.Runtime.InteropServices;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
namespace Kyoo.Models.Watch
namespace Kyoo.Core.Models.Watch
{
/// <summary>
/// The unmanaged stream that the transcoder will return.

View File

@ -5,13 +5,14 @@ using Autofac;
using Kyoo.Abstractions;
using Kyoo.Abstractions.Controllers;
using Kyoo.Authentication;
using Kyoo.Controllers;
using Kyoo.Models.Options;
using Kyoo.Core.Controllers;
using Kyoo.Core.Models.Options;
using Kyoo.Core.Tasks;
using Kyoo.Postgresql;
using Kyoo.SqLite;
using Kyoo.Tasks;
using Kyoo.TheMovieDb;
using Kyoo.TheTvdb;
using Kyoo.Utils;
using Kyoo.WebApp;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
@ -21,7 +22,7 @@ using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace Kyoo
namespace Kyoo.Core
{
/// <summary>
/// The Startup class is used to configure the AspNet's webhost.

View File

@ -7,10 +7,10 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Models.Watch;
using Kyoo.Core.Models.Watch;
using Microsoft.Extensions.Logging;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task to add new video files.

View File

@ -6,7 +6,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Microsoft.Extensions.Logging;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task to remove orphaned episode and series.

View File

@ -6,7 +6,7 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task that download metadata providers images.

View File

@ -5,7 +5,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Attributes;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task run on Kyoo's startup to initialize plugins

View File

@ -7,7 +7,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task to register a new episode

View File

@ -6,7 +6,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
namespace Kyoo.Tasks
namespace Kyoo.Core.Tasks
{
/// <summary>
/// A task to register a new episode

View File

@ -7,10 +7,10 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/collection")]
[Route("api/collections")]

View File

@ -5,7 +5,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
/// <summary>
/// An API to retrieve or edit configuration settings

View File

@ -7,10 +7,10 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/episode")]
[Route("api/episodes")]

View File

@ -5,11 +5,11 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/genre")]
[Route("api/genres")]

View File

@ -6,7 +6,7 @@ using System.Linq.Expressions;
using System.Reflection;
using Kyoo.Abstractions.Models;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
public static class ApiHelper
{

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[ApiController]
[ResourceView]

View File

@ -6,11 +6,12 @@ using System.Reflection;
using System.Text.RegularExpressions;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
public class JsonPropertyIgnorer : CamelCasePropertyNamesContractResolver
{

View File

@ -6,12 +6,13 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
public class ResourceViewAttribute : ActionFilterAttribute
{

View File

@ -6,10 +6,10 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/library")]
[Route("api/libraries")]

View File

@ -6,11 +6,11 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/item")]
[Route("api/items")]

View File

@ -5,11 +5,11 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/people")]
[ApiController]

View File

@ -2,11 +2,11 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/provider")]
[Route("api/providers")]

View File

@ -5,7 +5,7 @@ using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/search/{query}")]
[ApiController]

View File

@ -6,10 +6,10 @@ using System.Linq;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/season")]
[Route("api/seasons")]

View File

@ -8,10 +8,10 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/show")]
[Route("api/shows")]

View File

@ -5,11 +5,11 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/studio")]
[Route("api/studios")]

View File

@ -7,7 +7,7 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("subtitle")]
[ApiController]

View File

@ -5,7 +5,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/task")]
[Route("api/tasks")]

View File

@ -4,11 +4,11 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/track")]
[Route("api/tracks")]

View File

@ -5,11 +5,11 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Options;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("video")]
[ApiController]

View File

@ -5,7 +5,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Microsoft.AspNetCore.Mvc;
namespace Kyoo.Api
namespace Kyoo.Core.Api
{
[Route("api/watch")]
[ApiController]

View File

@ -1,7 +1,7 @@
using System.Data.Common;
using Microsoft.Extensions.Configuration;
namespace Kyoo
namespace Kyoo.Database
{
/// <summary>
/// A class that regroup extensions used by some asp-net related parts of the app.

View File

@ -9,8 +9,17 @@
<RepositoryUrl>https://github.com/AnonymusRaccoon/Kyoo</RepositoryUrl>
<LangVersion>default</LangVersion>
</PropertyGroup>
<PropertyGroup Condition="$(IncludeConsole) == true">
<!--
IncludeConsole is a property used when deploying the windows host. Since the runtime identifier is removed,
we specify it manually. This is kindy hacky but MsBuild does not really work well with multiples exe output
and we need multiples exe with the same shared framework (SelfContained).
-->
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../Kyoo/Kyoo.csproj" />
<ProjectReference Include="../Kyoo.Core/Kyoo.Core.csproj" />
</ItemGroup>
</Project>

View File

@ -1,4 +1,5 @@
using System.Threading.Tasks;
using Kyoo.Core;
using Microsoft.AspNetCore.Hosting;
namespace Kyoo.Host.Console

View File

@ -11,7 +11,8 @@
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="../Kyoo/Kyoo.csproj" />
<ProjectReference Include="../Kyoo.Core/Kyoo.Core.csproj" />
<ProjectReference Include="../Kyoo.Host.Console/Kyoo.Host.Console.csproj" Condition="$(IncludeConsole) == true" />
</ItemGroup>
<ItemGroup>

View File

@ -1,5 +1,6 @@
using System.Threading.Tasks;
using Autofac;
using Kyoo.Core;
namespace Kyoo.Host.WindowsTrait
{

View File

@ -6,7 +6,7 @@ using System.Threading;
using System.Windows.Forms;
using Autofac;
using Kyoo.Abstractions.Controllers;
using Kyoo.Models.Options;
using Kyoo.Core.Models.Options;
using Microsoft.Extensions.Options;
namespace Kyoo.Host.WindowsTrait

View File

@ -5,6 +5,7 @@ using System.Reflection;
using EFCore.NamingConventions.Internal;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Kyoo.Utils;
using Microsoft.EntityFrameworkCore;
using Npgsql;

View File

@ -4,6 +4,7 @@ using System.Linq.Expressions;
using System.Reflection;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Kyoo.Utils;
using Microsoft.Data.Sqlite;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TMDbLib.Objects.Search;
namespace Kyoo.TheMovieDb

View File

@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TMDbLib.Objects.Movies;
using TMDbLib.Objects.Search;

View File

@ -1,5 +1,6 @@
using System.Collections.Generic;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TMDbLib.Objects.General;
using TMDbLib.Objects.People;
using TMDbLib.Objects.Search;

View File

@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TMDbLib.Objects.Search;
using TMDbLib.Objects.TvShows;

View File

@ -1,4 +1,5 @@
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TMDbLib.Objects.Companies;
using TMDbLib.Objects.Search;

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using Kyoo.Abstractions.Models;
using Kyoo.Utils;
using TvDbSharper.Dto;
namespace Kyoo.TheTvdb

View File

@ -47,7 +47,8 @@
<Touch Files="$(NpmStamp)" AlwaysCreate="true" />
</Target>
<Target Name="RunWebpack" Condition="'$(SkipWebApp)' != 'true' And '$(Configuration)' == 'Debug'">
<Target Name="RunWebpack" Condition="'$(SkipWebApp)' != 'true' And '$(Configuration)' == 'Release'">
<Message Importance="high" Text="Building the web app. This may take several minutes..." />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --prod" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr -- --prod" Condition="'$(BuildServerSideRenderer)' == 'true'" />
</Target>

View File

@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 12.00
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kyoo", "Kyoo\Kyoo.csproj", "{0F8275B6-C7DD-42DF-A168-755C81B1C329}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kyoo.Core", "Kyoo.Core\Kyoo.Core.csproj", "{0F8275B6-C7DD-42DF-A168-755C81B1C329}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Abstractions", "Kyoo.Abstractions\Kyoo.Abstractions.csproj", "{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}"
EndProject

View File

@ -29,7 +29,7 @@ build() {
# cd "Kyoo-$pkgver"
cd "Kyoo"
export DOTNET_CLI_TELEMETRY_OPTOUT=1
dotnet publish -c Release -o "$srcdir/output" Kyoo
dotnet publish -c Release -o "$srcdir/output" Kyoo.Host.Console
}
package() {

View File

@ -25,8 +25,8 @@ Name: "startupShortcut"; Description: "Create shortcut in Startup folder (Starts
Name: "none"; Description: "Do not start automatically"; GroupDescription: "Start automatically"; Flags: exclusive unchecked
[Files]
Source: "{#kyoo}\Kyoo.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#kyoo}\Kyoo.WindowsHost.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#kyoo}\Kyoo.Host.Console.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#kyoo}\Kyoo.Host.WindowsTrait.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#kyoo}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Registry]
@ -38,13 +38,13 @@ Root: HKA; Subkey: "Software\SDG\Kyoo\Settings"; ValueType: string; ValueName: "
Type: filesandordirs; Name: "{code:GetDataDir}"
[Icons]
Name: "{autoprograms}\Kyoo"; Filename: "{app}\Kyoo.WindowsHost.exe"
Name: "{autoprograms}\Kyoo (Console)"; Filename: "{app}\Kyoo.exe"
Name: "{autodesktop}\Kyoo"; Filename: "{app}\Kyoo.WindowsHost.exe"; Tasks: desktopicon
Name: "{autostartup}\Kyoo"; Filename: "{app}\Kyoo.WindowsHost.exe"; Tasks: startupShortcut
Name: "{autoprograms}\Kyoo"; Filename: "{app}\Kyoo.Host.WindowsTrait.exe"
Name: "{autoprograms}\Kyoo (Console)"; Filename: "{app}\Kyoo.Host.Console.exe"
Name: "{autodesktop}\Kyoo"; Filename: "{app}\Kyoo.Host.WindowsTrait.exe"; Tasks: desktopicon
Name: "{autostartup}\Kyoo"; Filename: "{app}\Kyoo.Host.WindowsTrait.exe"; Tasks: startupShortcut
[Run]
Filename: "{app}\Kyoo.WindowsHost.exe"; Description: "{cm:LaunchProgram,Kyoo}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\Kyoo.Host.WindowsTrait.exe"; Description: "{cm:LaunchProgram,Kyoo}"; Flags: nowait postinstall skipifsilent
[Code]
var

View File

@ -6,7 +6,7 @@ After=network.target
[Service]
User=kyoo
Environment=KYOO_DATADIR=/var/lib/kyoo
ExecStart=/usr/lib/kyoo/Kyoo
ExecStart=/usr/lib/kyoo/Kyoo.Host.Console
Restart=on-abort
TimeoutSec=20

View File

@ -2,7 +2,7 @@ using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Controllers;
using Kyoo.Core.Controllers;
using Kyoo.Database;
using Xunit.Abstractions;

Some files were not shown because too many files have changed in this diff Show More