Database: Renaming CommonAPI to Database and moving unrelated files to Kyoo

This commit is contained in:
Zoe Roux 2021-08-14 20:14:30 +02:00
parent cd73ea953b
commit ed57fcc218
51 changed files with 46 additions and 30 deletions

View File

@ -11,7 +11,7 @@ using Kyoo.Abstractions.Models.Exceptions;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.ChangeTracking;
namespace Kyoo
namespace Kyoo.Database
{
/// <summary>
/// The database handle used for all local repositories.

View File

@ -2,9 +2,8 @@
<PropertyGroup>
<TargetFramework>net5.0</TargetFramework>
<AssemblyName>Kyoo.CommonApi</AssemblyName>
<RootNamespace>Kyoo.CommonApi</RootNamespace>
<PackageId>Kyoo.CommonApi</PackageId>
<AssemblyName>Kyoo.Database</AssemblyName>
<RootNamespace>Kyoo.Database</RootNamespace>
<Authors>Zoe Roux</Authors>
<RepositoryUrl>https://github.com/AnonymusRaccoon/Kyoo</RepositoryUrl>
<OutputType>Library</OutputType>

View File

@ -18,7 +18,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Kyoo.CommonAPI/Kyoo.CommonAPI.csproj" />
<ProjectReference Include="..\Kyoo.Database\Kyoo.Database.csproj" />
<ProjectReference Include="../Kyoo.Abstractions/Kyoo.Abstractions.csproj" />
</ItemGroup>
</Project>

View File

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

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using Kyoo.Abstractions.Controllers;
using Kyoo.Database;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

View File

@ -18,7 +18,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../Kyoo.CommonAPI/Kyoo.CommonAPI.csproj" />
<ProjectReference Include="..\Kyoo.Database\Kyoo.Database.csproj" />
<ProjectReference Include="../Kyoo.Abstractions/Kyoo.Abstractions.csproj" />
</ItemGroup>
</Project>

View File

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

View File

@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using Kyoo.Abstractions.Controllers;
using Kyoo.Database;
using Microsoft.AspNetCore.Hosting;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration;

View File

@ -3,7 +3,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Kyoo", "Kyoo\Kyoo.csproj",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Abstractions", "Kyoo.Abstractions\Kyoo.Abstractions.csproj", "{BAB2CAE1-AC28-4509-AA3E-8DC75BD59220}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.CommonAPI", "Kyoo.CommonAPI\Kyoo.CommonAPI.csproj", "{6F91B645-F785-46BB-9C4F-1EFC83E489B6}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Database", "Kyoo.Database\Kyoo.Database.csproj", "{6F91B645-F785-46BB-9C4F-1EFC83E489B6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Kyoo.Postgresql", "Kyoo.Postgresql\Kyoo.Postgresql.csproj", "{3213C96D-0BF3-460B-A8B5-B9977229408A}"
EndProject

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -8,7 +8,7 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.CommonApi;
using Kyoo.Api;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -4,6 +4,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -5,6 +5,7 @@ using System.Linq.Expressions;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
namespace Kyoo.Controllers

View File

@ -7,7 +7,9 @@ using Autofac.Extras.AttributeMetadata;
using Kyoo.Abstractions;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.Api;
using Kyoo.Controllers;
using Kyoo.Database;
using Kyoo.Models.Options;
using Kyoo.Tasks;
using Microsoft.AspNetCore.Builder;

View File

@ -35,7 +35,7 @@
<ItemGroup>
<ProjectReference Include="../Kyoo.Abstractions/Kyoo.Abstractions.csproj" />
<ProjectReference Include="../Kyoo.CommonAPI/Kyoo.CommonAPI.csproj" />
<ProjectReference Include="..\Kyoo.Database\Kyoo.Database.csproj" />
<ProjectReference Include="../Kyoo.TheMovieDb/Kyoo.TheMovieDb.csproj" />
<ProjectReference Include="../Kyoo.TheTvdb/Kyoo.TheTvdb.csproj" />
<ProjectReference Include="../Kyoo.Postgresql/Kyoo.Postgresql.csproj" />

View File

@ -7,7 +7,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.Extensions.Options;

View File

@ -7,7 +7,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.Extensions.Options;

View File

@ -5,7 +5,6 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -6,7 +6,7 @@ using System.Linq.Expressions;
using System.Reflection;
using Kyoo.Abstractions.Models;
namespace Kyoo.CommonApi
namespace Kyoo.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.CommonApi
namespace Kyoo.Api
{
[ApiController]
[ResourceView]

View File

@ -10,7 +10,7 @@ using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
namespace Kyoo.Controllers
namespace Kyoo.Api
{
public class JsonPropertyIgnorer : CamelCasePropertyNamesContractResolver
{
@ -26,7 +26,7 @@ namespace Kyoo.Controllers
{
JsonProperty property = base.CreateProperty(member, memberSerialization);
LoadableRelationAttribute relation = member?.GetCustomAttribute<LoadableRelationAttribute>();
LoadableRelationAttribute relation = member.GetCustomAttribute<LoadableRelationAttribute>();
if (relation != null)
{
if (relation.RelationID == null)
@ -42,14 +42,14 @@ namespace Kyoo.Controllers
};
}
if (member?.GetCustomAttribute<SerializeIgnoreAttribute>() != null)
if (member.GetCustomAttribute<SerializeIgnoreAttribute>() != null)
property.ShouldSerialize = _ => false;
if (member?.GetCustomAttribute<DeserializeIgnoreAttribute>() != null)
if (member.GetCustomAttribute<DeserializeIgnoreAttribute>() != null)
property.ShouldDeserialize = _ => false;
// TODO use http context to disable serialize as.
// TODO check https://stackoverflow.com/questions/53288633/net-core-api-custom-json-resolver-based-on-request-values
SerializeAsAttribute serializeAs = member?.GetCustomAttribute<SerializeAsAttribute>();
SerializeAsAttribute serializeAs = member.GetCustomAttribute<SerializeAsAttribute>();
if (serializeAs != null)
property.ValueProvider = new SerializeAsProvider(serializeAs.Format, _host);
return property;
@ -81,7 +81,7 @@ namespace Kyoo.Controllers
if (value.People != null)
value.People.Roles = null;
JObject obj = JObject.FromObject(value.ForPeople ? value.People : value.Show, serializer);
JObject obj = JObject.FromObject((value.ForPeople ? value.People : value.Show)!, serializer);
obj.Add("role", value.Role);
obj.Add("type", value.Type);
obj.WriteTo(writer);

View File

@ -11,7 +11,7 @@ using Microsoft.AspNetCore.Mvc.Controllers;
using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.DependencyInjection;
namespace Kyoo.CommonApi
namespace Kyoo.Api
{
public class ResourceViewAttribute : ActionFilterAttribute
{

View File

@ -6,7 +6,6 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.Extensions.Options;

View File

@ -6,7 +6,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -5,7 +5,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -2,7 +2,6 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Kyoo.CommonApi;
using Microsoft.AspNetCore.Mvc;
using System.Linq;
using Kyoo.Abstractions.Controllers;

View File

@ -8,7 +8,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.Extensions.Options;

View File

@ -5,7 +5,6 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -4,7 +4,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Abstractions.Models.Permissions;
using Kyoo.CommonApi;
using Kyoo.Models.Options;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;

View File

@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Controllers;
using Kyoo.Database;
using Xunit.Abstractions;
namespace Kyoo.Tests

View File

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Exceptions;
using Kyoo.Database;
using Xunit;
namespace Kyoo.Tests

View File

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading.Tasks;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -5,6 +5,7 @@ using System.Threading.Tasks;
using FluentAssertions;
using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Database;
using Microsoft.EntityFrameworkCore;
using Xunit;
using Xunit.Abstractions;

View File

@ -1,5 +1,6 @@
using System;
using System.Threading.Tasks;
using Kyoo.Database;
using Kyoo.Postgresql;
using Kyoo.SqLite;
using Microsoft.Data.Sqlite;

View File

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

View File

@ -32,7 +32,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="../../Kyoo.CommonAPI/Kyoo.CommonAPI.csproj" />
<ProjectReference Include="..\..\Kyoo.Database\Kyoo.Database.csproj" />
<ProjectReference Include="../../Kyoo.Abstractions/Kyoo.Abstractions.csproj" />
<ProjectReference Include="../../Kyoo/Kyoo.csproj" />
<ProjectReference Include="../../Kyoo.TheTvdb/Kyoo.TheTvdb.csproj" />