Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
59 changes: 27 additions & 32 deletions CacheOGP.ApiService/CacheOGP.ApiService.csproj
Original file line number Diff line number Diff line change
@@ -1,37 +1,32 @@
<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ContainerLabel Include="org.opencontainers.image.source" Value="https://github.com/Freeesia/CacheOGP" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" Version="13.0.2" />
<PackageReference Include="Aspire.StackExchange.Redis.DistributedCaching" Version="13.0.2" />
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" Version="13.0.2" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.11">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.11">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
<PackageReference Include="OpenGraph-Net" Version="4.0.1" />
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" Version="9.101.0" />
<PackageReference Include="PuppeteerSharp" Version="20.2.4" />
<PackageReference Include="SkiaSharp" Version="3.119.1" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="3.119.1" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="9.0.10" />
<PackageReference Include="UUIDNext" Version="4.2.2" />
</ItemGroup>
<ItemGroup>
<ContainerLabel Include="org.opencontainers.image.source" Value="https://github.com/Freeesia/CacheOGP" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" />
<PackageReference Include="Aspire.StackExchange.Redis.DistributedCaching" />
<PackageReference Include="Aspire.StackExchange.Redis.OutputCaching" />
<PackageReference Include="DeterministicGuids" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" />
<PackageReference Include="OpenGraph-Net" />
<PackageReference Include="FlexLabs.EntityFrameworkCore.Upsert" />
<PackageReference Include="PuppeteerSharp" />
<PackageReference Include="SkiaSharp" />
<PackageReference Include="SkiaSharp.NativeAssets.Linux.NoDependencies" />
<PackageReference Include="System.Text.Encoding.CodePages" />
</ItemGroup>

<ItemGroup>
<ProjectReference Include="..\CacheOGP.ServiceDefaults\CacheOGP.ServiceDefaults.csproj" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\CacheOGP.ServiceDefaults\CacheOGP.ServiceDefaults.csproj" />
</ItemGroup>

</Project>
24 changes: 11 additions & 13 deletions CacheOGP.ApiService/Program.cs
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@
using System.Globalization;
using System.Net;
using System.Net.Mime;
using System.Reflection;
using System.Text;
using CacheOGP.ApiService;
using CacheOGP.ApiService;
using DeterministicGuids;
using HtmlAgilityPack;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.OutputCaching;
using Microsoft.EntityFrameworkCore;
using Microsoft.IO;
using OpenGraphNet;
using PuppeteerSharp;
using SkiaSharp;
using UUIDNext;
using System.Net;
using System.Net.Mime;
using System.Reflection;
using System.Text;

Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var builder = WebApplication.CreateBuilder(args);
Expand Down Expand Up @@ -236,12 +234,12 @@ static async Task<IResult> GetImage(OgpDbContext db, HttpClient client, IBrowser
var ogp = await GetOgpInfo(url, db, client);

var ns = new Guid("95DDE42A-79E7-46C6-A9DC-25C8ED7CFF73");
var id = Uuid.NewNameBased(ns, ogp.Url.ToString());
id = Uuid.NewNameBased(id, style.ToString());
id = Uuid.NewNameBased(id, scale.ToString());
var id = DeterministicGuid.Create(ns, ogp.Url.ToString());
id = DeterministicGuid.Create(id, style.ToString());
id = DeterministicGuid.Create(id, scale.ToString());
if (css is not null)
{
id = Uuid.NewNameBased(id, css);
id = DeterministicGuid.Create(id, css);
}
#if DEBUG
OgpImage? image = null;
Expand Down Expand Up @@ -492,7 +490,7 @@ static class Extensions

public static async Task<Guid> SetOgpThumb(this OgpDbContext db, HttpClient client, Uri originUrl)
{
var id = Uuid.NewNameBased(ThumbNamespace, originUrl.ToString());
var id = DeterministicGuid.Create(ThumbNamespace, originUrl.ToString());
var image = await db.FindAsync<OgpImage>(id);
if (image?.ExpiresAt > DateTime.UtcNow)
{
Expand Down
9 changes: 3 additions & 6 deletions CacheOGP.AppHost/CacheOGP.AppHost.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,6 @@

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireHost>true</IsAspireHost>
<UserSecretsId>86f40f6e-0956-4790-9e91-8cacd8153778</UserSecretsId>
</PropertyGroup>
Expand All @@ -15,9 +12,9 @@
</ItemGroup>

<ItemGroup>
<PackageReference Include="Aspire.Hosting.AppHost" Version="13.0.2" />
<PackageReference Include="Aspire.Hosting.PostgreSQL" Version="13.0.2" />
<PackageReference Include="Aspire.Hosting.Redis" Version="13.0.2" />
<PackageReference Include="Aspire.Hosting.AppHost" />
<PackageReference Include="Aspire.Hosting.PostgreSQL" />
<PackageReference Include="Aspire.Hosting.Redis" />
</ItemGroup>

</Project>
19 changes: 8 additions & 11 deletions CacheOGP.ServiceDefaults/CacheOGP.ServiceDefaults.csproj
Original file line number Diff line number Diff line change
@@ -1,23 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsAspireSharedProject>true</IsAspireSharedProject>
</PropertyGroup>

<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />

<PackageReference Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.1.0" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.13.1" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" Version="1.13.1" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" Version="1.14.0" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" Version="1.13.0" />
<PackageReference Include="Microsoft.Extensions.Http.Resilience" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" />
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" />
<PackageReference Include="OpenTelemetry.Extensions.Hosting" />
<PackageReference Include="OpenTelemetry.Instrumentation.AspNetCore" />
<PackageReference Include="OpenTelemetry.Instrumentation.Http" />
<PackageReference Include="OpenTelemetry.Instrumentation.Runtime" />
</ItemGroup>

</Project>
36 changes: 0 additions & 36 deletions CacheOGP.sln

This file was deleted.

9 changes: 9 additions & 0 deletions CacheOGP.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<Solution>
<Folder Name="/Solution Items/">
<File Path="Directory.Build.props" />
<File Path="Directory.Packages.props" />
</Folder>
<Project Path="CacheOGP.ApiService/CacheOGP.ApiService.csproj" />
<Project Path="CacheOGP.AppHost/CacheOGP.AppHost.csproj" />
<Project Path="CacheOGP.ServiceDefaults/CacheOGP.ServiceDefaults.csproj" />
</Solution>
8 changes: 8 additions & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<TargetFramework>net9.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
</Project>
30 changes: 30 additions & 0 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<Project>
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="Aspire.Hosting.AppHost" Version="13.0.2" />
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="13.0.2" />
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.0.2" />
<PackageVersion Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" Version="13.0.2" />
<PackageVersion Include="Aspire.StackExchange.Redis.DistributedCaching" Version="13.0.2" />
<PackageVersion Include="Aspire.StackExchange.Redis.OutputCaching" Version="13.0.2" />
<PackageVersion Include="DeterministicGuids" Version="1.0.7" />
<PackageVersion Include="FlexLabs.EntityFrameworkCore.Upsert" Version="9.101.0" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.11" />
<PackageVersion Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.11" />
<PackageVersion Include="Microsoft.Extensions.Http.Resilience" Version="10.1.0" />
<PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.1.0" />
<PackageVersion Include="Microsoft.IO.RecyclableMemoryStream" Version="3.0.1" />
<PackageVersion Include="OpenGraph-Net" Version="4.0.1" />
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.13.1" />
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.13.1" />
<PackageVersion Include="OpenTelemetry.Instrumentation.AspNetCore" Version="1.13.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Http" Version="1.14.0" />
<PackageVersion Include="OpenTelemetry.Instrumentation.Runtime" Version="1.13.0" />
<PackageVersion Include="PuppeteerSharp" Version="20.2.4" />
<PackageVersion Include="SkiaSharp" Version="3.119.1" />
<PackageVersion Include="SkiaSharp.NativeAssets.Linux.NoDependencies" Version="3.119.1" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="9.0.10" />
</ItemGroup>
</Project>