diff --git a/Knots/Endpoints/Discussion/CreateGroupDiscussionEndpoint.cs b/Knots/Endpoints/Discussion/CreateGroupDiscussionEndpoint.cs new file mode 100644 index 0000000..b8a0201 --- /dev/null +++ b/Knots/Endpoints/Discussion/CreateGroupDiscussionEndpoint.cs @@ -0,0 +1,75 @@ +using FastEndpoints; +using Knots.DTO.Discussion; +using Knots.Models; +using Microsoft.EntityFrameworkCore; +using System.Security.Claims; + +namespace Knots.Endpoints.Discussion; + +public class CreateGroupDiscussionEndpoint(KnotsDbContext db) + : Endpoint +{ + public override void Configure() + { + Post("/discussions/group"); + } + + public override async Task HandleAsync(CreateGroupDiscussionRequest req, CancellationToken ct) + { + int currentUserId = int.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)!); + + + if (req.Usernames == null || req.Usernames.Count == 0) + { + await SendErrorsAsync(400, ct); + return; + } + + + List targets = await db.Users + .Where(u => req.Usernames.Contains(u.Username!)) + .ToListAsync(ct); + + if (targets.Count != req.Usernames.Count) + { + await SendNotFoundAsync(ct); // un ou plusieurs utilisateurs introuvables + return; + } + + if (targets.Any(t => t.Id == currentUserId)) + { + await SendErrorsAsync(400, ct); // pas de discussion avec soi-même + return; + } + + + List members = targets + .Select(t => new UserDiscussion { UserId = t.Id }) + .ToList(); + + members.Add(new UserDiscussion { UserId = currentUserId }); + + Models.Discussion discussion = new() + { + IsGroup = true, + UserDiscussions = members + }; + + db.Discussions.Add(discussion); + await db.SaveChangesAsync(ct); + + await SendOkAsync(new GetDiscussionDto + { + Id = discussion.Id, + IsGroup = true, + Name = req.GroupName, + MembersCount = members.Count + }, ct); + } +} + +public class CreateGroupDiscussionRequest +{ + public string GroupName { get; set; } = ""; + public List Usernames { get; set; } = []; +} \ No newline at end of file diff --git a/Knots/Migrations/20260610204450_Discussion.Designer.cs b/Knots/Migrations/20260610204450_Discussion.Designer.cs new file mode 100644 index 0000000..8532d2f --- /dev/null +++ b/Knots/Migrations/20260610204450_Discussion.Designer.cs @@ -0,0 +1,377 @@ +// +using System; +using Knots; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Knots.Migrations +{ + [DbContext(typeof(KnotsDbContext))] + [Migration("20260610204450_Discussion")] + partial class Discussion + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.25") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Knots.Models.Discussion", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("datetime2"); + + b.Property("GroupId") + .HasColumnType("int"); + + b.Property("IsGroup") + .HasColumnType("bit"); + + b.HasKey("Id"); + + b.HasIndex("GroupId"); + + b.ToTable("Discussions"); + }); + + modelBuilder.Entity("Knots.Models.Group", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("DiscussionId") + .HasColumnType("int"); + + b.Property("MembersAmount") + .HasColumnType("int"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ProfilePicture") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("DiscussionId"); + + b.ToTable("Groups"); + }); + + modelBuilder.Entity("Knots.Models.GroupUser", b => + { + b.Property("GroupId") + .HasColumnType("int"); + + b.Property("UserId") + .HasColumnType("int"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("GroupId", "UserId"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("GroupUsers"); + }); + + modelBuilder.Entity("Knots.Models.Key", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("EnKey") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Keys"); + }); + + modelBuilder.Entity("Knots.Models.Message", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Contenu") + .IsRequired() + .HasMaxLength(1000) + .HasColumnType("nvarchar(1000)"); + + b.Property("Date") + .HasColumnType("datetime2"); + + b.Property("DiscussionId") + .HasColumnType("int"); + + b.Property("GroupId") + .HasColumnType("int"); + + b.Property("KeyId") + .HasColumnType("int"); + + b.Property("Type") + .HasColumnType("bit"); + + b.Property("UserId") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.HasIndex("DiscussionId"); + + b.HasIndex("GroupId"); + + b.HasIndex("KeyId"); + + b.HasIndex("UserId"); + + b.ToTable("Messages"); + }); + + modelBuilder.Entity("Knots.Models.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Libelle") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.ToTable("Roles"); + }); + + modelBuilder.Entity("Knots.Models.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("int"); + + SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property("Id")); + + b.Property("Description") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(70) + .HasColumnType("nvarchar(70)"); + + b.Property("Password") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("ProfilePicture") + .HasColumnType("nvarchar(max)"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.Property("Tel") + .IsRequired() + .HasColumnType("nvarchar(max)"); + + b.Property("Username") + .IsRequired() + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("Users"); + }); + + modelBuilder.Entity("Knots.Models.UserDiscussion", b => + { + b.Property("UserId") + .HasColumnType("int"); + + b.Property("DiscussionId") + .HasColumnType("int"); + + b.HasKey("UserId", "DiscussionId"); + + b.HasIndex("DiscussionId"); + + b.ToTable("UserDiscussions"); + }); + + modelBuilder.Entity("Knots.Models.Discussion", b => + { + b.HasOne("Knots.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Group"); + }); + + modelBuilder.Entity("Knots.Models.Group", b => + { + b.HasOne("Knots.Models.Discussion", "Discussion") + .WithMany() + .HasForeignKey("DiscussionId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Discussion"); + }); + + modelBuilder.Entity("Knots.Models.GroupUser", b => + { + b.HasOne("Knots.Models.Group", "Group") + .WithMany("GroupUsers") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Knots.Models.Role", "Role") + .WithMany("GroupUsers") + .HasForeignKey("RoleId"); + + b.HasOne("Knots.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Group"); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Knots.Models.Message", b => + { + b.HasOne("Knots.Models.Discussion", "Discussion") + .WithMany("Messages") + .HasForeignKey("DiscussionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Knots.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId"); + + b.HasOne("Knots.Models.Key", "Key") + .WithMany("Messages") + .HasForeignKey("KeyId"); + + b.HasOne("Knots.Models.User", "User") + .WithMany("Messages") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Discussion"); + + b.Navigation("Group"); + + b.Navigation("Key"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Knots.Models.User", b => + { + b.HasOne("Knots.Models.Role", "Role") + .WithMany("Users") + .HasForeignKey("RoleId"); + + b.Navigation("Role"); + }); + + modelBuilder.Entity("Knots.Models.UserDiscussion", b => + { + b.HasOne("Knots.Models.Discussion", "Discussion") + .WithMany("UserDiscussions") + .HasForeignKey("DiscussionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Knots.Models.User", "User") + .WithMany("UserDiscussions") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Discussion"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("Knots.Models.Discussion", b => + { + b.Navigation("Messages"); + + b.Navigation("UserDiscussions"); + }); + + modelBuilder.Entity("Knots.Models.Group", b => + { + b.Navigation("GroupUsers"); + }); + + modelBuilder.Entity("Knots.Models.Key", b => + { + b.Navigation("Messages"); + }); + + modelBuilder.Entity("Knots.Models.Role", b => + { + b.Navigation("GroupUsers"); + + b.Navigation("Users"); + }); + + modelBuilder.Entity("Knots.Models.User", b => + { + b.Navigation("Messages"); + + b.Navigation("UserDiscussions"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Knots/Migrations/20260610204450_Discussion.cs b/Knots/Migrations/20260610204450_Discussion.cs new file mode 100644 index 0000000..118f5b7 --- /dev/null +++ b/Knots/Migrations/20260610204450_Discussion.cs @@ -0,0 +1,170 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Knots.Migrations +{ + /// + public partial class Discussion : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Groups_Discussions_DiscussionId", + table: "Groups"); + + migrationBuilder.DropForeignKey( + name: "FK_UserDiscussions_Users_UserId", + table: "UserDiscussions"); + + migrationBuilder.DropIndex( + name: "IX_Groups_DiscussionId", + table: "Groups"); + + migrationBuilder.DropColumn( + name: "KeyId", + table: "Groups"); + + migrationBuilder.AddColumn( + name: "GroupId", + table: "Discussions", + type: "int", + nullable: true); + + migrationBuilder.CreateTable( + name: "GroupUsers", + columns: table => new + { + GroupId = table.Column(type: "int", nullable: false), + UserId = table.Column(type: "int", nullable: false), + RoleId = table.Column(type: "int", nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_GroupUsers", x => new { x.GroupId, x.UserId }); + table.ForeignKey( + name: "FK_GroupUsers_Groups_GroupId", + column: x => x.GroupId, + principalTable: "Groups", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + table.ForeignKey( + name: "FK_GroupUsers_Roles_RoleId", + column: x => x.RoleId, + principalTable: "Roles", + principalColumn: "Id"); + table.ForeignKey( + name: "FK_GroupUsers_Users_UserId", + column: x => x.UserId, + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + + migrationBuilder.CreateIndex( + name: "IX_Groups_DiscussionId", + table: "Groups", + column: "DiscussionId"); + + migrationBuilder.CreateIndex( + name: "IX_Discussions_GroupId", + table: "Discussions", + column: "GroupId"); + + migrationBuilder.CreateIndex( + name: "IX_GroupUsers_RoleId", + table: "GroupUsers", + column: "RoleId"); + + migrationBuilder.CreateIndex( + name: "IX_GroupUsers_UserId", + table: "GroupUsers", + column: "UserId"); + + migrationBuilder.AddForeignKey( + name: "FK_Discussions_Groups_GroupId", + table: "Discussions", + column: "GroupId", + principalTable: "Groups", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + + migrationBuilder.AddForeignKey( + name: "FK_Groups_Discussions_DiscussionId", + table: "Groups", + column: "DiscussionId", + principalTable: "Discussions", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + + migrationBuilder.AddForeignKey( + name: "FK_UserDiscussions_Users_UserId", + table: "UserDiscussions", + column: "UserId", + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey( + name: "FK_Discussions_Groups_GroupId", + table: "Discussions"); + + migrationBuilder.DropForeignKey( + name: "FK_Groups_Discussions_DiscussionId", + table: "Groups"); + + migrationBuilder.DropForeignKey( + name: "FK_UserDiscussions_Users_UserId", + table: "UserDiscussions"); + + migrationBuilder.DropTable( + name: "GroupUsers"); + + migrationBuilder.DropIndex( + name: "IX_Groups_DiscussionId", + table: "Groups"); + + migrationBuilder.DropIndex( + name: "IX_Discussions_GroupId", + table: "Discussions"); + + migrationBuilder.DropColumn( + name: "GroupId", + table: "Discussions"); + + migrationBuilder.AddColumn( + name: "KeyId", + table: "Groups", + type: "int", + nullable: false, + defaultValue: 0); + + migrationBuilder.CreateIndex( + name: "IX_Groups_DiscussionId", + table: "Groups", + column: "DiscussionId", + unique: true); + + migrationBuilder.AddForeignKey( + name: "FK_Groups_Discussions_DiscussionId", + table: "Groups", + column: "DiscussionId", + principalTable: "Discussions", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + + migrationBuilder.AddForeignKey( + name: "FK_UserDiscussions_Users_UserId", + table: "UserDiscussions", + column: "UserId", + principalTable: "Users", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + } +} diff --git a/Knots/Migrations/KnotsDbContextModelSnapshot.cs b/Knots/Migrations/KnotsDbContextModelSnapshot.cs index 8e2c6f6..fe01e7e 100644 --- a/Knots/Migrations/KnotsDbContextModelSnapshot.cs +++ b/Knots/Migrations/KnotsDbContextModelSnapshot.cs @@ -33,11 +33,16 @@ namespace Knots.Migrations b.Property("CreatedAt") .HasColumnType("datetime2"); + b.Property("GroupId") + .HasColumnType("int"); + b.Property("IsGroup") .HasColumnType("bit"); b.HasKey("Id"); + b.HasIndex("GroupId"); + b.ToTable("Discussions"); }); @@ -52,9 +57,6 @@ namespace Knots.Migrations b.Property("DiscussionId") .HasColumnType("int"); - b.Property("KeyId") - .HasColumnType("int"); - b.Property("MembersAmount") .HasColumnType("int"); @@ -68,12 +70,31 @@ namespace Knots.Migrations b.HasKey("Id"); - b.HasIndex("DiscussionId") - .IsUnique(); + b.HasIndex("DiscussionId"); b.ToTable("Groups"); }); + modelBuilder.Entity("Knots.Models.GroupUser", b => + { + b.Property("GroupId") + .HasColumnType("int"); + + b.Property("UserId") + .HasColumnType("int"); + + b.Property("RoleId") + .HasColumnType("int"); + + b.HasKey("GroupId", "UserId"); + + b.HasIndex("RoleId"); + + b.HasIndex("UserId"); + + b.ToTable("GroupUsers"); + }); + modelBuilder.Entity("Knots.Models.Key", b => { b.Property("Id") @@ -212,17 +233,52 @@ namespace Knots.Migrations b.ToTable("UserDiscussions"); }); + modelBuilder.Entity("Knots.Models.Discussion", b => + { + b.HasOne("Knots.Models.Group", "Group") + .WithMany() + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Restrict); + + b.Navigation("Group"); + }); + modelBuilder.Entity("Knots.Models.Group", b => { b.HasOne("Knots.Models.Discussion", "Discussion") - .WithOne("Group") - .HasForeignKey("Knots.Models.Group", "DiscussionId") - .OnDelete(DeleteBehavior.Cascade) + .WithMany() + .HasForeignKey("DiscussionId") + .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Discussion"); }); + modelBuilder.Entity("Knots.Models.GroupUser", b => + { + b.HasOne("Knots.Models.Group", "Group") + .WithMany("GroupUsers") + .HasForeignKey("GroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Knots.Models.Role", "Role") + .WithMany("GroupUsers") + .HasForeignKey("RoleId"); + + b.HasOne("Knots.Models.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Restrict) + .IsRequired(); + + b.Navigation("Group"); + + b.Navigation("Role"); + + b.Navigation("User"); + }); + modelBuilder.Entity("Knots.Models.Message", b => { b.HasOne("Knots.Models.Discussion", "Discussion") @@ -274,7 +330,7 @@ namespace Knots.Migrations b.HasOne("Knots.Models.User", "User") .WithMany("UserDiscussions") .HasForeignKey("UserId") - .OnDelete(DeleteBehavior.Cascade) + .OnDelete(DeleteBehavior.Restrict) .IsRequired(); b.Navigation("Discussion"); @@ -284,13 +340,16 @@ namespace Knots.Migrations modelBuilder.Entity("Knots.Models.Discussion", b => { - b.Navigation("Group"); - b.Navigation("Messages"); b.Navigation("UserDiscussions"); }); + modelBuilder.Entity("Knots.Models.Group", b => + { + b.Navigation("GroupUsers"); + }); + modelBuilder.Entity("Knots.Models.Key", b => { b.Navigation("Messages"); @@ -298,6 +357,8 @@ namespace Knots.Migrations modelBuilder.Entity("Knots.Models.Role", b => { + b.Navigation("GroupUsers"); + b.Navigation("Users"); }); diff --git a/Knots/obj/Debug/net8.0/Knots.GeneratedMSBuildEditorConfig.editorconfig b/Knots/obj/Debug/net8.0/Knots.GeneratedMSBuildEditorConfig.editorconfig index 394100a..ee2a627 100644 --- a/Knots/obj/Debug/net8.0/Knots.GeneratedMSBuildEditorConfig.editorconfig +++ b/Knots/obj/Debug/net8.0/Knots.GeneratedMSBuildEditorConfig.editorconfig @@ -9,11 +9,11 @@ build_property.EnforceExtendedAnalyzerRules = build_property._SupportedPlatformList = Linux,macOS,Windows build_property.RootNamespace = Knots build_property.RootNamespace = Knots -build_property.ProjectDir = C:\Users\dogge\RiderProjects\Knots\Knots\ +build_property.ProjectDir = C:\Users\Carte\RiderProjects\Knots\Knots\ build_property.EnableComHosting = build_property.EnableGeneratedComInterfaceComImportInterop = build_property.RazorLangVersion = 8.0 build_property.SupportLocalizedComponentNames = build_property.GenerateRazorMetadataSourceChecksumAttributes = -build_property.MSBuildProjectDirectory = C:\Users\dogge\RiderProjects\Knots\Knots +build_property.MSBuildProjectDirectory = C:\Users\Carte\RiderProjects\Knots\Knots build_property._RazorSourceGeneratorDebug = diff --git a/Knots/obj/Debug/net8.0/Knots.assets.cache b/Knots/obj/Debug/net8.0/Knots.assets.cache index 0553df8..07e6e43 100644 Binary files a/Knots/obj/Debug/net8.0/Knots.assets.cache and b/Knots/obj/Debug/net8.0/Knots.assets.cache differ diff --git a/Knots/obj/Debug/net8.0/Knots.csproj.AssemblyReference.cache b/Knots/obj/Debug/net8.0/Knots.csproj.AssemblyReference.cache index 28e1702..05c6837 100644 Binary files a/Knots/obj/Debug/net8.0/Knots.csproj.AssemblyReference.cache and b/Knots/obj/Debug/net8.0/Knots.csproj.AssemblyReference.cache differ diff --git a/Knots/obj/Debug/net8.0/Knots.csproj.CoreCompileInputs.cache b/Knots/obj/Debug/net8.0/Knots.csproj.CoreCompileInputs.cache index 0fa5dd6..a324c35 100644 --- a/Knots/obj/Debug/net8.0/Knots.csproj.CoreCompileInputs.cache +++ b/Knots/obj/Debug/net8.0/Knots.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -6d81524a9696a2a29dec0559b34bd3de07ab63fb29f6715a73a1a90d0d537613 +053df2e2d5f4b0376cb8e5b4fed7175ebe09f3e8d3a4d8035c42b5a7de1f17a9 diff --git a/Knots/obj/Debug/net8.0/Knots.genruntimeconfig.cache b/Knots/obj/Debug/net8.0/Knots.genruntimeconfig.cache index 16f6a8e..485d9cc 100644 --- a/Knots/obj/Debug/net8.0/Knots.genruntimeconfig.cache +++ b/Knots/obj/Debug/net8.0/Knots.genruntimeconfig.cache @@ -1 +1 @@ -2a517ff3e626fe122f9253056129ac168f6d5d47ce545c1f8a40a45a4c220257 +a8415ff929068fa8f2ff3412a5ec6274995459d8b2f0bd67ac17c8c58e30ac97 diff --git a/Knots/obj/Knots.csproj.nuget.dgspec.json b/Knots/obj/Knots.csproj.nuget.dgspec.json index 580d64e..b5c5a8e 100644 --- a/Knots/obj/Knots.csproj.nuget.dgspec.json +++ b/Knots/obj/Knots.csproj.nuget.dgspec.json @@ -1,23 +1,23 @@ { "format": 1, "restore": { - "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj": {} + "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj": {} }, "projects": { - "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj": { + "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj", + "projectUniqueName": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj", "projectName": "Knots", - "projectPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj", - "packagesPath": "C:\\Users\\dogge\\.nuget\\packages\\", - "outputPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\obj\\", + "projectPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj", + "packagesPath": "C:\\Users\\Carte\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\obj\\", "projectStyle": "PackageReference", "fallbackFolders": [ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" ], "configFilePaths": [ - "C:\\Users\\dogge\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Carte\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], @@ -119,7 +119,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Users\\dogge\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Users\\Carte\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json" } } } diff --git a/Knots/obj/Knots.csproj.nuget.g.props b/Knots/obj/Knots.csproj.nuget.g.props index c0b3fbc..5bad3e2 100644 --- a/Knots/obj/Knots.csproj.nuget.g.props +++ b/Knots/obj/Knots.csproj.nuget.g.props @@ -5,12 +5,12 @@ NuGet $(MSBuildThisFileDirectory)project.assets.json $(UserProfile)\.nuget\packages\ - C:\Users\dogge\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages + C:\Users\Carte\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages PackageReference 7.0.0 - + @@ -20,7 +20,7 @@ - C:\Users\dogge\.nuget\packages\microsoft.extensions.apidescription.server\8.0.0 - C:\Users\dogge\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 + C:\Users\Carte\.nuget\packages\microsoft.extensions.apidescription.server\8.0.0 + C:\Users\Carte\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3 \ No newline at end of file diff --git a/Knots/obj/project.assets.json b/Knots/obj/project.assets.json index d171d9f..7d30d1e 100644 --- a/Knots/obj/project.assets.json +++ b/Knots/obj/project.assets.json @@ -6120,23 +6120,23 @@ ] }, "packageFolders": { - "C:\\Users\\dogge\\.nuget\\packages\\": {}, + "C:\\Users\\Carte\\.nuget\\packages\\": {}, "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {} }, "project": { "version": "1.0.0", "restore": { - "projectUniqueName": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj", + "projectUniqueName": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj", "projectName": "Knots", - "projectPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj", - "packagesPath": "C:\\Users\\dogge\\.nuget\\packages\\", - "outputPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\obj\\", + "projectPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj", + "packagesPath": "C:\\Users\\Carte\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\obj\\", "projectStyle": "PackageReference", "fallbackFolders": [ "C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages" ], "configFilePaths": [ - "C:\\Users\\dogge\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Users\\Carte\\AppData\\Roaming\\NuGet\\NuGet.Config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config", "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config" ], @@ -6238,7 +6238,7 @@ "privateAssets": "all" } }, - "runtimeIdentifierGraphPath": "C:\\Users\\dogge\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json" + "runtimeIdentifierGraphPath": "C:\\Users\\Carte\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json" } } }