diff --git a/Joaquin-API.png b/Joaquin-API.png new file mode 100644 index 0000000..f37812a Binary files /dev/null and b/Joaquin-API.png differ diff --git a/Joaquin-Backend.png b/Joaquin-Backend.png new file mode 100644 index 0000000..f447f6d Binary files /dev/null and b/Joaquin-Backend.png differ diff --git a/Joaquin-Database.png b/Joaquin-Database.png new file mode 100644 index 0000000..1411419 Binary files /dev/null and b/Joaquin-Database.png differ diff --git a/Joaquin-Frontend.png b/Joaquin-Frontend.png new file mode 100644 index 0000000..6342e30 Binary files /dev/null and b/Joaquin-Frontend.png differ diff --git a/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs b/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs new file mode 100644 index 0000000..7ce04bd --- /dev/null +++ b/exercise.wwwapi/Migrations/20241011072129_First.Designer.cs @@ -0,0 +1,69 @@ +// +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using exercise.wwwapi.DataContext; + +#nullable disable + +namespace exercise.wwwapi.Migrations +{ + [DbContext(typeof(TodoContext))] + [Migration("20241011072129_First")] + partial class First + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.10") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("exercise.wwwapi.Models.Todo", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Completed") + .HasColumnType("boolean"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Todos"); + + b.HasData( + new + { + Id = 1, + Completed = true, + Title = "First task" + }, + new + { + Id = 2, + Completed = false, + Title = "Second task" + }, + new + { + Id = 3, + Completed = true, + Title = "Third task" + }); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/exercise.wwwapi/Migrations/20241011072129_First.cs b/exercise.wwwapi/Migrations/20241011072129_First.cs new file mode 100644 index 0000000..84924a9 --- /dev/null +++ b/exercise.wwwapi/Migrations/20241011072129_First.cs @@ -0,0 +1,22 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace exercise.wwwapi.Migrations +{ + /// + public partial class First : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + + } + } +} diff --git a/exercise.wwwapi/_example.appsettings.json b/exercise.wwwapi/_example.appsettings.json deleted file mode 100644 index d70383d..0000000 --- a/exercise.wwwapi/_example.appsettings.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "AllowedHosts": "*", - "ConnectionStrings": { - "DefaultConnection": "Host=HOST;Port=5432;Database=CHOSEN_DB_NAME;User Id=postgres;Password=POSTGRES_PWD" - } -} diff --git a/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll b/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll new file mode 100644 index 0000000..1df70d4 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.AspNetCore.OpenApi.dll differ diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll new file mode 100644 index 0000000..2169cf8 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Abstractions.dll differ diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll new file mode 100644 index 0000000..f8c58d0 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.Relational.dll differ diff --git a/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll new file mode 100644 index 0000000..b628ed6 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.EntityFrameworkCore.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll b/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll new file mode 100644 index 0000000..077b1b6 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Caching.Memory.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll new file mode 100644 index 0000000..81ed3de Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.Abstractions.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll new file mode 100644 index 0000000..bd71a2b Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.DependencyInjection.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll b/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll new file mode 100644 index 0000000..f9d1dc6 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Logging.Abstractions.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll b/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll new file mode 100644 index 0000000..35905b6 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Logging.dll differ diff --git a/exercise.wwwapi/out/Microsoft.Extensions.Options.dll b/exercise.wwwapi/out/Microsoft.Extensions.Options.dll new file mode 100644 index 0000000..a7b3f21 Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.Extensions.Options.dll differ diff --git a/exercise.wwwapi/out/Microsoft.OpenApi.dll b/exercise.wwwapi/out/Microsoft.OpenApi.dll new file mode 100644 index 0000000..1e0998d Binary files /dev/null and b/exercise.wwwapi/out/Microsoft.OpenApi.dll differ diff --git a/exercise.wwwapi/out/MyApi.zip b/exercise.wwwapi/out/MyApi.zip new file mode 100644 index 0000000..a2272e6 Binary files /dev/null and b/exercise.wwwapi/out/MyApi.zip differ diff --git a/exercise.wwwapi/out/Newtonsoft.Json.dll b/exercise.wwwapi/out/Newtonsoft.Json.dll new file mode 100644 index 0000000..d035c38 Binary files /dev/null and b/exercise.wwwapi/out/Newtonsoft.Json.dll differ diff --git a/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll b/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll new file mode 100644 index 0000000..042c1f0 Binary files /dev/null and b/exercise.wwwapi/out/Npgsql.EntityFrameworkCore.PostgreSQL.dll differ diff --git a/exercise.wwwapi/out/Npgsql.dll b/exercise.wwwapi/out/Npgsql.dll new file mode 100644 index 0000000..c0eb4d9 Binary files /dev/null and b/exercise.wwwapi/out/Npgsql.dll differ diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll new file mode 100644 index 0000000..e9b8cf7 Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.Swagger.dll differ diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll new file mode 100644 index 0000000..68e38a2 Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerGen.dll differ diff --git a/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll new file mode 100644 index 0000000..9c52aed Binary files /dev/null and b/exercise.wwwapi/out/Swashbuckle.AspNetCore.SwaggerUI.dll differ diff --git a/exercise.wwwapi/out/exercise.wwwapi.deps.json b/exercise.wwwapi/out/exercise.wwwapi.deps.json new file mode 100644 index 0000000..6b2031e --- /dev/null +++ b/exercise.wwwapi/out/exercise.wwwapi.deps.json @@ -0,0 +1,668 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "exercise.wwwapi/1.0.0": { + "dependencies": { + "Microsoft.AspNetCore.OpenApi": "8.0.6", + "Microsoft.EntityFrameworkCore.Tools": "8.0.10", + "Npgsql.EntityFrameworkCore.PostgreSQL": "8.0.8", + "Swashbuckle.AspNetCore": "6.4.0", + "Newtonsoft.Json": "13.0.3" + }, + "runtime": { + "exercise.wwwapi.dll": {} + } + }, + "Humanizer.Core/2.14.1": {}, + "Microsoft.AspNetCore.OpenApi/8.0.6": { + "dependencies": { + "Microsoft.OpenApi": "1.4.3" + }, + "runtime": { + "lib/net8.0/Microsoft.AspNetCore.OpenApi.dll": { + "assemblyVersion": "8.0.6.0", + "fileVersion": "8.0.624.26909" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": {}, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": {}, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Analyzers": "3.3.3", + "System.Collections.Immutable": "6.0.0", + "System.Reflection.Metadata": "6.0.1", + "System.Runtime.CompilerServices.Unsafe": "6.0.0", + "System.Text.Encoding.CodePages": "6.0.0" + } + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "dependencies": { + "Microsoft.CodeAnalysis.Common": "4.5.0" + } + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp": "4.5.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "Microsoft.CodeAnalysis.Workspaces.Common": "4.5.0" + } + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.Bcl.AsyncInterfaces": "6.0.0", + "Microsoft.CodeAnalysis.Common": "4.5.0", + "System.Composition": "6.0.0", + "System.IO.Pipelines": "6.0.3", + "System.Threading.Channels": "6.0.0" + } + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Analyzers": "8.0.10", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.Extensions.Logging": "8.0.1" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": {}, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "dependencies": { + "Humanizer.Core": "2.14.1", + "Microsoft.CodeAnalysis.CSharp.Workspaces": "4.5.0", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Microsoft.Extensions.DependencyModel": "8.0.2", + "Mono.TextTemplating": "2.2.1" + } + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.Extensions.Configuration.Abstractions": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": { + "assemblyVersion": "8.0.10.0", + "fileVersion": "8.0.1024.46708" + } + } + }, + "Microsoft.EntityFrameworkCore.Tools/8.0.10": { + "dependencies": { + "Microsoft.EntityFrameworkCore.Design": "8.0.10" + } + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": {}, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + } + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyModel/8.0.2": {}, + "Microsoft.Extensions.Logging/8.0.1": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection": "8.0.1", + "Microsoft.Extensions.Logging.Abstractions": "8.0.2", + "Microsoft.Extensions.Options": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": {}, + "Microsoft.OpenApi/1.4.3": { + "runtime": { + "lib/netstandard2.0/Microsoft.OpenApi.dll": { + "assemblyVersion": "1.4.3.0", + "fileVersion": "1.4.3.0" + } + } + }, + "Mono.TextTemplating/2.2.1": { + "dependencies": { + "System.CodeDom": "4.4.0" + } + }, + "Newtonsoft.Json/13.0.3": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.3.27908" + } + } + }, + "Npgsql/8.0.4": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Npgsql.dll": { + "assemblyVersion": "8.0.4.0", + "fileVersion": "8.0.4.0" + } + } + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.8": { + "dependencies": { + "Microsoft.EntityFrameworkCore": "8.0.10", + "Microsoft.EntityFrameworkCore.Abstractions": "8.0.10", + "Microsoft.EntityFrameworkCore.Relational": "8.0.10", + "Npgsql": "8.0.4" + }, + "runtime": { + "lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": { + "assemblyVersion": "8.0.8.0", + "fileVersion": "8.0.8.0" + } + } + }, + "Swashbuckle.AspNetCore/6.4.0": { + "dependencies": { + "Microsoft.Extensions.ApiDescription.Server": "6.0.5", + "Swashbuckle.AspNetCore.Swagger": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerGen": "6.4.0", + "Swashbuckle.AspNetCore.SwaggerUI": "6.4.0" + } + }, + "Swashbuckle.AspNetCore.Swagger/6.4.0": { + "dependencies": { + "Microsoft.OpenApi": "1.4.3" + }, + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.Swagger.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": { + "dependencies": { + "Swashbuckle.AspNetCore.Swagger": "6.4.0" + }, + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerGen.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": { + "runtime": { + "lib/net6.0/Swashbuckle.AspNetCore.SwaggerUI.dll": { + "assemblyVersion": "6.4.0.0", + "fileVersion": "6.4.0.0" + } + } + }, + "System.CodeDom/4.4.0": {}, + "System.Collections.Immutable/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Composition/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Convention": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0", + "System.Composition.TypedParts": "6.0.0" + } + }, + "System.Composition.AttributedModel/6.0.0": {}, + "System.Composition.Convention/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0" + } + }, + "System.Composition.Hosting/6.0.0": { + "dependencies": { + "System.Composition.Runtime": "6.0.0" + } + }, + "System.Composition.Runtime/6.0.0": {}, + "System.Composition.TypedParts/6.0.0": { + "dependencies": { + "System.Composition.AttributedModel": "6.0.0", + "System.Composition.Hosting": "6.0.0", + "System.Composition.Runtime": "6.0.0" + } + }, + "System.IO.Pipelines/6.0.3": {}, + "System.Reflection.Metadata/6.0.1": { + "dependencies": { + "System.Collections.Immutable": "6.0.0" + } + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": {}, + "System.Text.Encoding.CodePages/6.0.0": { + "dependencies": { + "System.Runtime.CompilerServices.Unsafe": "6.0.0" + } + }, + "System.Threading.Channels/6.0.0": {} + } + }, + "libraries": { + "exercise.wwwapi/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Humanizer.Core/2.14.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lQKvtaTDOXnoVJ20ibTuSIOf2i0uO0MPbDhd1jm238I+U/2ZnRENj0cktKZhtchBMtCUSRQ5v4xBCUbKNmyVMw==", + "path": "humanizer.core/2.14.1", + "hashPath": "humanizer.core.2.14.1.nupkg.sha512" + }, + "Microsoft.AspNetCore.OpenApi/8.0.6": { + "type": "package", + "serviceable": true, + "sha512": "sha512-G0Qdo5ZtxmBFZ41CFRopZbSVeS/xwezmqZE0vLYcggoB7EEsPOUKSWnSrJPC2C+02iANAnnq6bSMIlKBgdqCmA==", + "path": "microsoft.aspnetcore.openapi/8.0.6", + "hashPath": "microsoft.aspnetcore.openapi.8.0.6.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg==", + "path": "microsoft.bcl.asyncinterfaces/6.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.6.0.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Analyzers/3.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-j/rOZtLMVJjrfLRlAMckJLPW/1rze9MT1yfWqSIbUPGRu1m1P0fuo9PmqapwsmePfGB5PJrudQLvmUOAMF0DqQ==", + "path": "microsoft.codeanalysis.analyzers/3.3.3", + "hashPath": "microsoft.codeanalysis.analyzers.3.3.3.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lwAbIZNdnY0SUNoDmZHkVUwLO8UyNnyyh1t/4XsbFxi4Ounb3xszIYZaWhyj5ZjyfcwqwmtMbE7fUTVCqQEIdQ==", + "path": "microsoft.codeanalysis.common/4.5.0", + "hashPath": "microsoft.codeanalysis.common.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-cM59oMKAOxvdv76bdmaKPy5hfj+oR+zxikWoueEB7CwTko7mt9sVKZI8Qxlov0C/LuKEG+WQwifepqL3vuTiBQ==", + "path": "microsoft.codeanalysis.csharp/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.CSharp.Workspaces/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h74wTpmGOp4yS4hj+EvNzEiPgg/KVs2wmSfTZ81upJZOtPkJsVkgfsgtxxqmAeapjT/vLKfmYV0bS8n5MNVP+g==", + "path": "microsoft.codeanalysis.csharp.workspaces/4.5.0", + "hashPath": "microsoft.codeanalysis.csharp.workspaces.4.5.0.nupkg.sha512" + }, + "Microsoft.CodeAnalysis.Workspaces.Common/4.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4dDRmGELXG72XZaonnOeORyD/T5RpEu5LGHOUIhnv+MmUWDY/m1kWXGwtcgQ5CJ5ynkFiRnIYzTKXYjUs7rbw==", + "path": "microsoft.codeanalysis.workspaces.common/4.5.0", + "hashPath": "microsoft.codeanalysis.workspaces.common.4.5.0.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-PPkQdIqfR1nU3n6YgGGDk8G+eaYbaAKM1AzIQtlPNTKf10Osg3N9T+iK9AlnSA/ujsK00flPpFHVfJrbuBFS1A==", + "path": "microsoft.entityframeworkcore/8.0.10", + "hashPath": "microsoft.entityframeworkcore.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Abstractions/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-FV0QlcX9INY4kAD2o72uPtyOh0nZut2jB11Jf9mNYBtHay8gDLe+x4AbXFwuQg+eSvofjT7naV82e827zGfyMg==", + "path": "microsoft.entityframeworkcore.abstractions/8.0.10", + "hashPath": "microsoft.entityframeworkcore.abstractions.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Analyzers/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-51KkPIc0EMv/gVXhPIUi6cwJE9Mvh+PLr4Lap4naLcsoGZ0lF2SvOPgUUprwRV3MnN7nyD1XPhT5RJ/p+xFAXw==", + "path": "microsoft.entityframeworkcore.analyzers/8.0.10", + "hashPath": "microsoft.entityframeworkcore.analyzers.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Design/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-uGNjfKvAsql2KHRqxlK5wHo8mMC60G/FecrFKEjJgeIxtUAbSXGOgKGw/gD9flO5Fzzt1C7uxfIcr6ZsMmFkeg==", + "path": "microsoft.entityframeworkcore.design/8.0.10", + "hashPath": "microsoft.entityframeworkcore.design.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Relational/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OefBEE47kGKPRPV3OT+FAW6o5BFgLk2D9EoeWVy7NbOepzUneayLQxbVE098FfedTyMwxvZQoDD9LrvZc3MadA==", + "path": "microsoft.entityframeworkcore.relational/8.0.10", + "hashPath": "microsoft.entityframeworkcore.relational.8.0.10.nupkg.sha512" + }, + "Microsoft.EntityFrameworkCore.Tools/8.0.10": { + "type": "package", + "serviceable": true, + "sha512": "sha512-aaimNUjkJDHdZb2hxd6hjwz7OdeankbQHPx8/b+qCfVfaEpOAIW0LTBge4qG+AUKacKfcoK7GJq6ACjenEvPLQ==", + "path": "microsoft.entityframeworkcore.tools/8.0.10", + "hashPath": "microsoft.entityframeworkcore.tools.8.0.10.nupkg.sha512" + }, + "Microsoft.Extensions.ApiDescription.Server/6.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Ckb5EDBUNJdFWyajfXzUIMRkhf52fHZOQuuZg/oiu8y7zDCVwD0iHhew6MnThjHmevanpxL3f5ci2TtHQEN6bw==", + "path": "microsoft.extensions.apidescription.server/6.0.5", + "hashPath": "microsoft.extensions.apidescription.server.6.0.5.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Configuration.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3lE/iLSutpgX1CC0NOW70FJoGARRHbyKmG7dc0klnUZ9Dd9hS6N/POPWhKhMLCEuNN5nXEY5agmlFtH562vqhQ==", + "path": "microsoft.extensions.configuration.abstractions/8.0.0", + "hashPath": "microsoft.extensions.configuration.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BmANAnR5Xd4Oqw7yQ75xOAYODybZQRzdeNucg7kS5wWKd2PNnMdYtJ2Vciy0QLylRmv42DGl5+AFL9izA6F1Rw==", + "path": "microsoft.extensions.dependencyinjection/8.0.1", + "hashPath": "microsoft.extensions.dependencyinjection.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyModel/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-mUBDZZRgZrSyFOsJ2qJJ9fXfqd/kXJwf3AiDoqLD9m6TjY5OO/vLNOb9fb4juC0487eq4hcGN/M2Rh/CKS7QYw==", + "path": "microsoft.extensions.dependencymodel/8.0.2", + "hashPath": "microsoft.extensions.dependencymodel.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4x+pzsQEbqxhNf1QYRr5TDkLP9UsLT3A6MdRKDDEgrW7h1ljiEPgTNhKYUhNCCAaVpQECVQ+onA91PTPnIp6Lw==", + "path": "microsoft.extensions.logging/8.0.1", + "hashPath": "microsoft.extensions.logging.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nroMDjS7hNBPtkZqVBbSiQaQjWRDxITI8Y7XnDs97rqG3EbzVTNLZQf7bIeUJcaHOV8bca47s1Uxq94+2oGdxA==", + "path": "microsoft.extensions.logging.abstractions/8.0.2", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.OpenApi/1.4.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rURwggB+QZYcSVbDr7HSdhw/FELvMlriW10OeOzjPT7pstefMo7IThhtNtDudxbXhW+lj0NfX72Ka5EDsG8x6w==", + "path": "microsoft.openapi/1.4.3", + "hashPath": "microsoft.openapi.1.4.3.nupkg.sha512" + }, + "Mono.TextTemplating/2.2.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KZYeKBET/2Z0gY1WlTAK7+RHTl7GSbtvTLDXEZZojUdAPqpQNDL6tHv7VUpqfX5VEOh+uRGKaZXkuD253nEOBQ==", + "path": "mono.texttemplating/2.2.1", + "hashPath": "mono.texttemplating.2.2.1.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==", + "path": "newtonsoft.json/13.0.3", + "hashPath": "newtonsoft.json.13.0.3.nupkg.sha512" + }, + "Npgsql/8.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-vaYEUlF/pB9m8bs21wQv3Da0kMHT4A9USe47VfY/L2BO97xz5KfIxhEu22QS9d68ZrLxvtL3wQDfDLPr2OjbjA==", + "path": "npgsql/8.0.4", + "hashPath": "npgsql.8.0.4.nupkg.sha512" + }, + "Npgsql.EntityFrameworkCore.PostgreSQL/8.0.8": { + "type": "package", + "serviceable": true, + "sha512": "sha512-D5WWJZJTgZYUmGv66BARXbTlinp2a5f5RueJqGYoHuWJw02J0i2va/RA+8N4A5hLORK5YKMRqXhFWtKsZdrksw==", + "path": "npgsql.entityframeworkcore.postgresql/8.0.8", + "hashPath": "npgsql.entityframeworkcore.postgresql.8.0.8.nupkg.sha512" + }, + "Swashbuckle.AspNetCore/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eUBr4TW0up6oKDA5Xwkul289uqSMgY0xGN4pnbOIBqCcN9VKGGaPvHX3vWaG/hvocfGDP+MGzMA0bBBKz2fkmQ==", + "path": "swashbuckle.aspnetcore/6.4.0", + "hashPath": "swashbuckle.aspnetcore.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.Swagger/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-nl4SBgGM+cmthUcpwO/w1lUjevdDHAqRvfUoe4Xp/Uvuzt9mzGUwyFCqa3ODBAcZYBiFoKvrYwz0rabslJvSmQ==", + "path": "swashbuckle.aspnetcore.swagger/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swagger.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerGen/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-lXhcUBVqKrPFAQF7e/ZeDfb5PMgE8n5t6L5B6/BQSpiwxgHzmBcx8Msu42zLYFTvR5PIqE9Q9lZvSQAcwCxJjw==", + "path": "swashbuckle.aspnetcore.swaggergen/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swaggergen.6.4.0.nupkg.sha512" + }, + "Swashbuckle.AspNetCore.SwaggerUI/6.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-1Hh3atb3pi8c+v7n4/3N80Jj8RvLOXgWxzix6w3OZhB7zBGRwsy7FWr4e3hwgPweSBpwfElqj4V4nkjYabH9nQ==", + "path": "swashbuckle.aspnetcore.swaggerui/6.4.0", + "hashPath": "swashbuckle.aspnetcore.swaggerui.6.4.0.nupkg.sha512" + }, + "System.CodeDom/4.4.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-2sCCb7doXEwtYAbqzbF/8UAeDRMNmPaQbU2q50Psg1J9KzumyVVCgKQY8s53WIPTufNT0DpSe9QRvVjOzfDWBA==", + "path": "system.codedom/4.4.0", + "hashPath": "system.codedom.4.4.0.nupkg.sha512" + }, + "System.Collections.Immutable/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-l4zZJ1WU2hqpQQHXz1rvC3etVZN+2DLmQMO79FhOTZHMn8tDRr+WU287sbomD0BETlmKDn0ygUgVy9k5xkkJdA==", + "path": "system.collections.immutable/6.0.0", + "hashPath": "system.collections.immutable.6.0.0.nupkg.sha512" + }, + "System.Composition/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d7wMuKQtfsxUa7S13tITC8n1cQzewuhD5iDjZtK2prwFfKVzdYtgrTHgjaV03Zq7feGQ5gkP85tJJntXwInsJA==", + "path": "system.composition/6.0.0", + "hashPath": "system.composition.6.0.0.nupkg.sha512" + }, + "System.Composition.AttributedModel/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-WK1nSDLByK/4VoC7fkNiFuTVEiperuCN/Hyn+VN30R+W2ijO1d0Z2Qm0ScEl9xkSn1G2MyapJi8xpf4R8WRa/w==", + "path": "system.composition.attributedmodel/6.0.0", + "hashPath": "system.composition.attributedmodel.6.0.0.nupkg.sha512" + }, + "System.Composition.Convention/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XYi4lPRdu5bM4JVJ3/UIHAiG6V6lWWUlkhB9ab4IOq0FrRsp0F4wTyV4Dj+Ds+efoXJ3qbLqlvaUozDO7OLeXA==", + "path": "system.composition.convention/6.0.0", + "hashPath": "system.composition.convention.6.0.0.nupkg.sha512" + }, + "System.Composition.Hosting/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-w/wXjj7kvxuHPLdzZ0PAUt++qJl03t7lENmb2Oev0n3zbxyNULbWBlnd5J5WUMMv15kg5o+/TCZFb6lSwfaUUQ==", + "path": "system.composition.hosting/6.0.0", + "hashPath": "system.composition.hosting.6.0.0.nupkg.sha512" + }, + "System.Composition.Runtime/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-qkRH/YBaMPTnzxrS5RDk1juvqed4A6HOD/CwRcDGyPpYps1J27waBddiiq1y93jk2ZZ9wuA/kynM+NO0kb3PKg==", + "path": "system.composition.runtime/6.0.0", + "hashPath": "system.composition.runtime.6.0.0.nupkg.sha512" + }, + "System.Composition.TypedParts/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iUR1eHrL8Cwd82neQCJ00MpwNIBs4NZgXzrPqx8NJf/k4+mwBO0XCRmHYJT4OLSwDDqh5nBLJWkz5cROnrGhRA==", + "path": "system.composition.typedparts/6.0.0", + "hashPath": "system.composition.typedparts.6.0.0.nupkg.sha512" + }, + "System.IO.Pipelines/6.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ryTgF+iFkpGZY1vRQhfCzX0xTdlV3pyaTTqRu2ETbEv+HlV7O6y7hyQURnghNIXvctl5DuZ//Dpks6HdL/Txgw==", + "path": "system.io.pipelines/6.0.3", + "hashPath": "system.io.pipelines.6.0.3.nupkg.sha512" + }, + "System.Reflection.Metadata/6.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-III/lNMSn0ZRBuM9m5Cgbiho5j81u0FAEagFX5ta2DKbljZ3T0IpD8j+BIiHQPeKqJppWS9bGEp6JnKnWKze0g==", + "path": "system.reflection.metadata/6.0.1", + "hashPath": "system.reflection.metadata.6.0.1.nupkg.sha512" + }, + "System.Runtime.CompilerServices.Unsafe/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==", + "path": "system.runtime.compilerservices.unsafe/6.0.0", + "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512" + }, + "System.Text.Encoding.CodePages/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ZFCILZuOvtKPauZ/j/swhvw68ZRi9ATCfvGbk1QfydmcXBkIWecWKn/250UH7rahZ5OoDBaiAudJtPvLwzw85A==", + "path": "system.text.encoding.codepages/6.0.0", + "hashPath": "system.text.encoding.codepages.6.0.0.nupkg.sha512" + }, + "System.Threading.Channels/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-TY8/9+tI0mNaUMgntOxxaq2ndTkdXqLSxvPmas7XEqOlv9lQtB7wLjYGd756lOaO7Dvb5r/WXhluM+0Xe87v5Q==", + "path": "system.threading.channels/6.0.0", + "hashPath": "system.threading.channels.6.0.0.nupkg.sha512" + } + } +} \ No newline at end of file diff --git a/exercise.wwwapi/out/exercise.wwwapi.dll b/exercise.wwwapi/out/exercise.wwwapi.dll new file mode 100644 index 0000000..83d3570 Binary files /dev/null and b/exercise.wwwapi/out/exercise.wwwapi.dll differ diff --git a/exercise.wwwapi/out/exercise.wwwapi.exe b/exercise.wwwapi/out/exercise.wwwapi.exe new file mode 100644 index 0000000..77a3fb2 Binary files /dev/null and b/exercise.wwwapi/out/exercise.wwwapi.exe differ diff --git a/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json b/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json new file mode 100644 index 0000000..ffac358 --- /dev/null +++ b/exercise.wwwapi/out/exercise.wwwapi.runtimeconfig.json @@ -0,0 +1,21 @@ +{ + "runtimeOptions": { + "tfm": "net8.0", + "frameworks": [ + { + "name": "Microsoft.NETCore.App", + "version": "8.0.0" + }, + { + "name": "Microsoft.AspNetCore.App", + "version": "8.0.0" + } + ], + "configProperties": { + "System.GC.Server": true, + "System.Reflection.Metadata.MetadataUpdater.IsSupported": false, + "System.Reflection.NullabilityInfoContext.IsSupported": true, + "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false + } + } +} \ No newline at end of file diff --git a/exercise.wwwapi/out/web.config b/exercise.wwwapi/out/web.config new file mode 100644 index 0000000..7fdffc1 --- /dev/null +++ b/exercise.wwwapi/out/web.config @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/todo-frontend/.example.env b/todo-frontend/.example.env deleted file mode 100644 index 593e7d5..0000000 --- a/todo-frontend/.example.env +++ /dev/null @@ -1,3 +0,0 @@ -# change this to the API URL of the hosted server instance on AWS -# ensure the URL does NOT end with /, remove the last / -API_ENDPOINT_URL=http://localhost:5168 \ No newline at end of file diff --git a/todo-frontend/src/consts.js b/todo-frontend/src/consts.js index 48dce62..91365f9 100644 --- a/todo-frontend/src/consts.js +++ b/todo-frontend/src/consts.js @@ -1,6 +1,6 @@ import "react"; -const url = import.meta.env.VITE_ENDPOINT_URL || "http://localhost:5168"; +const url = import.meta.env.VITE_ENDPOINT_URL;// || "http://localhost:5168"; // ensure trailing / is removed export const API_URL = url.replace(/\/$/, "");