Fix json date serialization settings

This commit is contained in:
Zoe Roux 2023-07-28 15:15:59 +09:00
parent c55c3bca72
commit 6435114384
3 changed files with 12 additions and 11 deletions

View File

@ -25,12 +25,9 @@ jobs:
uses: satackey/action-docker-layer-caching@v0.0.11 uses: satackey/action-docker-layer-caching@v0.0.11
continue-on-error: true continue-on-error: true
- name: Build the app
run: docker-compose build
- name: Start the service - name: Start the service
run: | run: |
docker-compose up -d # --wait Wait is not available on gha docker-compose up -d back postgres ingress # --wait Wait is not available on gha
- name: Perform healthchecks - name: Perform healthchecks
run: | run: |

View File

@ -1,11 +1,11 @@
# FIXME: We use the sdk 8-preview because of this issue with the 7 https://github.com/dotnet/sdk/issues/29892 FROM mcr.microsoft.com/dotnet/sdk:7.0 as transcoder
FROM mcr.microsoft.com/dotnet/sdk:8.0-preview as transcoder
RUN apt-get update && apt-get install -y cmake make libavutil-dev libavcodec-dev libavformat-dev RUN apt-get update && apt-get install -y cmake make libavutil-dev libavcodec-dev libavformat-dev
WORKDIR /transcoder WORKDIR /transcoder
COPY src/Kyoo.Transcoder . COPY src/Kyoo.Transcoder .
RUN cmake . && make -j RUN cmake . && make -j
FROM mcr.microsoft.com/dotnet/sdk:8.0-preview as builder FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:7.0 as builder
ARG TARGETARCH
WORKDIR /kyoo WORKDIR /kyoo
COPY Kyoo.sln ./Kyoo.sln COPY Kyoo.sln ./Kyoo.sln
@ -18,13 +18,13 @@ COPY src/Kyoo.Host/Kyoo.Host.csproj src/Kyoo.Host/Kyoo.Host.csproj
COPY src/Kyoo.Postgresql/Kyoo.Postgresql.csproj src/Kyoo.Postgresql/Kyoo.Postgresql.csproj COPY src/Kyoo.Postgresql/Kyoo.Postgresql.csproj src/Kyoo.Postgresql/Kyoo.Postgresql.csproj
COPY src/Kyoo.Swagger/Kyoo.Swagger.csproj src/Kyoo.Swagger/Kyoo.Swagger.csproj COPY src/Kyoo.Swagger/Kyoo.Swagger.csproj src/Kyoo.Swagger/Kyoo.Swagger.csproj
COPY tests/Kyoo.Tests/Kyoo.Tests.csproj tests/Kyoo.Tests/Kyoo.Tests.csproj COPY tests/Kyoo.Tests/Kyoo.Tests.csproj tests/Kyoo.Tests/Kyoo.Tests.csproj
RUN dotnet restore RUN dotnet restore -a $TARGETARCH
COPY . . COPY . .
ARG VERSION ARG VERSION
RUN dotnet publish --no-restore -c Release -o /app "-p:Version=${VERSION:-"0.0.0-dev"};SkipTranscoder=true" src/Kyoo.Host RUN dotnet publish -a $TARGETARCH --no-restore -c Release -o /app "-p:Version=${VERSION:-"0.0.0-dev"};SkipTranscoder=true" src/Kyoo.Host
FROM mcr.microsoft.com/dotnet/aspnet:8.0-preview FROM mcr.microsoft.com/dotnet/aspnet:7.0
RUN apt-get update && apt-get install -y libavutil-dev libavcodec-dev libavformat-dev curl RUN apt-get update && apt-get install -y libavutil-dev libavcodec-dev libavformat-dev curl
COPY --from=builder /app /app COPY --from=builder /app /app
COPY --from=transcoder /transcoder/libtranscoder.so /app COPY --from=transcoder /transcoder/libtranscoder.so /app

View File

@ -30,6 +30,7 @@ using Microsoft.AspNetCore.Routing;
using Microsoft.AspNetCore.StaticFiles; using Microsoft.AspNetCore.StaticFiles;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using JsonOptions = Kyoo.Core.Api.JsonOptions; using JsonOptions = Kyoo.Core.Api.JsonOptions;
namespace Kyoo.Core namespace Kyoo.Core
@ -86,7 +87,10 @@ namespace Kyoo.Core
{ {
options.Filters.Add<ExceptionFilter>(); options.Filters.Add<ExceptionFilter>();
}) })
.AddNewtonsoftJson() .AddNewtonsoftJson(x =>
{
x.SerializerSettings.DateTimeZoneHandling = DateTimeZoneHandling.Utc;
})
.AddDataAnnotations() .AddDataAnnotations()
.AddControllersAsServices() .AddControllersAsServices()
.AddApiExplorer() .AddApiExplorer()