diff --git a/.dev/docker-compose.yml b/.dev/docker-compose.yml new file mode 100644 index 0000000..c96b426 --- /dev/null +++ b/.dev/docker-compose.yml @@ -0,0 +1,21 @@ +version: "3.8" +name: "keroosha-pechka-template" + +services: + db: + image: postgres:15-alpine + environment: + POSTGRES_PASSWORD: 'postgres' + POSTGRES_INITDB: 'pechka' + ports: + - "5432:5432" + minio: + image: quay.io/minio/minio + command: server /data --console-address ":19001" + environment: + # _MINIO_SERVER_DEBUG: 'on' + MINIO_ROOT_USER: 'pechka' + MINIO_ROOT_PASSWORD: 'pechka' + ports: + - "19000:9000" # S3 interface + - "19001:19001" # Minio console \ No newline at end of file diff --git a/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj b/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj index 2b14c81..f5e64be 100644 --- a/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj +++ b/Keroosha.Pechka.Web/Keroosha.Pechka.Web.csproj @@ -7,4 +7,12 @@ enable + + + + + + + + diff --git a/Keroosha.Pechka.Web/Program.cs b/Keroosha.Pechka.Web/Program.cs index e5dff12..cc1bb7e 100644 --- a/Keroosha.Pechka.Web/Program.cs +++ b/Keroosha.Pechka.Web/Program.cs @@ -1,3 +1,40 @@ // See https://aka.ms/new-console-template for more information -Console.WriteLine("Hello, World!"); \ No newline at end of file +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.DependencyInjection; +using Pechka.AspNet; + +void ConfigureOptions(IConfiguration configuration, IServiceCollection services) +{ + services.AddSingleton(new PechkaConfiguration() + { + // TypescriptGenerationOptions = (b) => b.DtoClassNamingPolicy = t => t == typeof(Result<>) ? "ResultT" : t.Name, + WebAppRoot = "Frontend", + WebAppApiPath = "src/api.ts", + WebAppBuildPath = "build" + }); +} + +void ConfigureManagers(IServiceCollection services) +{ + services.AddHttpClient(); +} + +void ConfigureServices(IConfiguration configuration, IServiceCollection services) +{ + ConfigureOptions(configuration, services); + ConfigureManagers(services); +} + +void Configure(WebHostBuilderContext context, IApplicationBuilder app) +{ + +} + +return PechkaProgramBuilder + .Create(args) + .ConfigureServices(ConfigureServices) + .ConfigureApp(Configure) + .Run(); \ No newline at end of file diff --git a/Keroosha.Pechka.Web/config.defaults.json b/Keroosha.Pechka.Web/config.defaults.json new file mode 100644 index 0000000..28445bb --- /dev/null +++ b/Keroosha.Pechka.Web/config.defaults.json @@ -0,0 +1,5 @@ +{ + "Database": { + "ConnectionString": "Server=127.0.0.1;User id=postgres;password=postgres;database=pechka;Include Error Detail=true" + } +} \ No newline at end of file diff --git a/Keroosha.Pechka.sln b/Keroosha.Pechka.sln index 70027b3..eee3477 100644 --- a/Keroosha.Pechka.sln +++ b/Keroosha.Pechka.sln @@ -2,6 +2,10 @@ Microsoft Visual Studio Solution File, Format Version 12.00 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Keroosha.Pechka.Web", "Keroosha.Pechka.Web\Keroosha.Pechka.Web.csproj", "{088B2B77-C3B0-4D80-8437-4E70CA6D8050}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "external", "external", "{50696577-16B1-4013-8338-6A59B77FD676}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Pechka.AspNet", "external\Pechka\src\Pechka.AspNet\Pechka.AspNet.csproj", "{28E33EF3-1050-4588-AFE4-D23507BEC28D}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -12,5 +16,12 @@ Global {088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Debug|Any CPU.Build.0 = Debug|Any CPU {088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Release|Any CPU.ActiveCfg = Release|Any CPU {088B2B77-C3B0-4D80-8437-4E70CA6D8050}.Release|Any CPU.Build.0 = Release|Any CPU + {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {28E33EF3-1050-4588-AFE4-D23507BEC28D}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {28E33EF3-1050-4588-AFE4-D23507BEC28D} = {50696577-16B1-4013-8338-6A59B77FD676} EndGlobalSection EndGlobal diff --git a/external/Pechka b/external/Pechka index d0e913b..4894f81 160000 --- a/external/Pechka +++ b/external/Pechka @@ -1 +1 @@ -Subproject commit d0e913b5ec4c788bba101bc2d7f75a177df210ca +Subproject commit 4894f81f11623eff8c8d4b229a00accb22941434