Merge remote-tracking branch 'origin/develop' into develop
# Conflicts: # Knots/bin/Debug/net8.0/Knots.dll # Knots/bin/Debug/net8.0/Knots.pdb # Knots/obj/Debug/net8.0/Knots.assets.cache # Knots/obj/Debug/net8.0/Knots.csproj.AssemblyReference.cache # Knots/obj/Debug/net8.0/Knots.csproj.CoreCompileInputs.cache # Knots/obj/Debug/net8.0/Knots.dll # Knots/obj/Debug/net8.0/Knots.pdb # Knots/obj/Debug/net8.0/ref/Knots.dll # Knots/obj/Debug/net8.0/refint/Knots.dll # Knots/obj/project.nuget.cache # Knots/obj/project.packagespec.json # Knots/obj/rider.project.model.nuget.info # Knots/obj/rider.project.restore.info
This commit is contained in:
@@ -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<CreateGroupDiscussionRequest, GetDiscussionDto>
|
||||||
|
{
|
||||||
|
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<Models.User> 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<UserDiscussion> 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<string> Usernames { get; set; } = [];
|
||||||
|
}
|
||||||
+377
@@ -0,0 +1,377 @@
|
|||||||
|
// <auto-generated />
|
||||||
|
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
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
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<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<DateTime>("CreatedAt")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.Property<int?>("GroupId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<bool>("IsGroup")
|
||||||
|
.HasColumnType("bit");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
|
b.ToTable("Discussions");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.Group", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<int>("DiscussionId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("MembersAmount")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("Name")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(50)
|
||||||
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
|
b.Property<string>("ProfilePicture")
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("DiscussionId");
|
||||||
|
|
||||||
|
b.ToTable("Groups");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.GroupUser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int?>("RoleId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("GroupId", "UserId");
|
||||||
|
|
||||||
|
b.HasIndex("RoleId");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("GroupUsers");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.Key", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("EnKey")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(50)
|
||||||
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Keys");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.Message", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Contenu")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(1000)
|
||||||
|
.HasColumnType("nvarchar(1000)");
|
||||||
|
|
||||||
|
b.Property<DateTime>("Date")
|
||||||
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.Property<int>("DiscussionId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int?>("GroupId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int?>("KeyId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<bool>("Type")
|
||||||
|
.HasColumnType("bit");
|
||||||
|
|
||||||
|
b.Property<int>("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<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Libelle")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(50)
|
||||||
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.ToTable("Roles");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.User", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("Id")
|
||||||
|
.ValueGeneratedOnAdd()
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
|
||||||
|
|
||||||
|
b.Property<string>("Description")
|
||||||
|
.HasMaxLength(200)
|
||||||
|
.HasColumnType("nvarchar(200)");
|
||||||
|
|
||||||
|
b.Property<string>("Email")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(70)
|
||||||
|
.HasColumnType("nvarchar(70)");
|
||||||
|
|
||||||
|
b.Property<string>("Password")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("ProfilePicture")
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<int?>("RoleId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<string>("Tel")
|
||||||
|
.IsRequired()
|
||||||
|
.HasColumnType("nvarchar(max)");
|
||||||
|
|
||||||
|
b.Property<string>("Username")
|
||||||
|
.IsRequired()
|
||||||
|
.HasMaxLength(50)
|
||||||
|
.HasColumnType("nvarchar(50)");
|
||||||
|
|
||||||
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("RoleId");
|
||||||
|
|
||||||
|
b.ToTable("Users");
|
||||||
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.UserDiscussion", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,170 @@
|
|||||||
|
using Microsoft.EntityFrameworkCore.Migrations;
|
||||||
|
|
||||||
|
#nullable disable
|
||||||
|
|
||||||
|
namespace Knots.Migrations
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
public partial class Discussion : Migration
|
||||||
|
{
|
||||||
|
/// <inheritdoc />
|
||||||
|
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<int>(
|
||||||
|
name: "GroupId",
|
||||||
|
table: "Discussions",
|
||||||
|
type: "int",
|
||||||
|
nullable: true);
|
||||||
|
|
||||||
|
migrationBuilder.CreateTable(
|
||||||
|
name: "GroupUsers",
|
||||||
|
columns: table => new
|
||||||
|
{
|
||||||
|
GroupId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
UserId = table.Column<int>(type: "int", nullable: false),
|
||||||
|
RoleId = table.Column<int>(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);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
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<int>(
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -33,11 +33,16 @@ namespace Knots.Migrations
|
|||||||
b.Property<DateTime>("CreatedAt")
|
b.Property<DateTime>("CreatedAt")
|
||||||
.HasColumnType("datetime2");
|
.HasColumnType("datetime2");
|
||||||
|
|
||||||
|
b.Property<int?>("GroupId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<bool>("IsGroup")
|
b.Property<bool>("IsGroup")
|
||||||
.HasColumnType("bit");
|
.HasColumnType("bit");
|
||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
|
b.HasIndex("GroupId");
|
||||||
|
|
||||||
b.ToTable("Discussions");
|
b.ToTable("Discussions");
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -52,9 +57,6 @@ namespace Knots.Migrations
|
|||||||
b.Property<int>("DiscussionId")
|
b.Property<int>("DiscussionId")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
b.Property<int>("KeyId")
|
|
||||||
.HasColumnType("int");
|
|
||||||
|
|
||||||
b.Property<int>("MembersAmount")
|
b.Property<int>("MembersAmount")
|
||||||
.HasColumnType("int");
|
.HasColumnType("int");
|
||||||
|
|
||||||
@@ -68,12 +70,31 @@ namespace Knots.Migrations
|
|||||||
|
|
||||||
b.HasKey("Id");
|
b.HasKey("Id");
|
||||||
|
|
||||||
b.HasIndex("DiscussionId")
|
b.HasIndex("DiscussionId");
|
||||||
.IsUnique();
|
|
||||||
|
|
||||||
b.ToTable("Groups");
|
b.ToTable("Groups");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.GroupUser", b =>
|
||||||
|
{
|
||||||
|
b.Property<int>("GroupId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int>("UserId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.Property<int?>("RoleId")
|
||||||
|
.HasColumnType("int");
|
||||||
|
|
||||||
|
b.HasKey("GroupId", "UserId");
|
||||||
|
|
||||||
|
b.HasIndex("RoleId");
|
||||||
|
|
||||||
|
b.HasIndex("UserId");
|
||||||
|
|
||||||
|
b.ToTable("GroupUsers");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Knots.Models.Key", b =>
|
modelBuilder.Entity("Knots.Models.Key", b =>
|
||||||
{
|
{
|
||||||
b.Property<int>("Id")
|
b.Property<int>("Id")
|
||||||
@@ -212,17 +233,52 @@ namespace Knots.Migrations
|
|||||||
b.ToTable("UserDiscussions");
|
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 =>
|
modelBuilder.Entity("Knots.Models.Group", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Knots.Models.Discussion", "Discussion")
|
b.HasOne("Knots.Models.Discussion", "Discussion")
|
||||||
.WithOne("Group")
|
.WithMany()
|
||||||
.HasForeignKey("Knots.Models.Group", "DiscussionId")
|
.HasForeignKey("DiscussionId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Discussion");
|
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 =>
|
modelBuilder.Entity("Knots.Models.Message", b =>
|
||||||
{
|
{
|
||||||
b.HasOne("Knots.Models.Discussion", "Discussion")
|
b.HasOne("Knots.Models.Discussion", "Discussion")
|
||||||
@@ -274,7 +330,7 @@ namespace Knots.Migrations
|
|||||||
b.HasOne("Knots.Models.User", "User")
|
b.HasOne("Knots.Models.User", "User")
|
||||||
.WithMany("UserDiscussions")
|
.WithMany("UserDiscussions")
|
||||||
.HasForeignKey("UserId")
|
.HasForeignKey("UserId")
|
||||||
.OnDelete(DeleteBehavior.Cascade)
|
.OnDelete(DeleteBehavior.Restrict)
|
||||||
.IsRequired();
|
.IsRequired();
|
||||||
|
|
||||||
b.Navigation("Discussion");
|
b.Navigation("Discussion");
|
||||||
@@ -284,13 +340,16 @@ namespace Knots.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("Knots.Models.Discussion", b =>
|
modelBuilder.Entity("Knots.Models.Discussion", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Group");
|
|
||||||
|
|
||||||
b.Navigation("Messages");
|
b.Navigation("Messages");
|
||||||
|
|
||||||
b.Navigation("UserDiscussions");
|
b.Navigation("UserDiscussions");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
modelBuilder.Entity("Knots.Models.Group", b =>
|
||||||
|
{
|
||||||
|
b.Navigation("GroupUsers");
|
||||||
|
});
|
||||||
|
|
||||||
modelBuilder.Entity("Knots.Models.Key", b =>
|
modelBuilder.Entity("Knots.Models.Key", b =>
|
||||||
{
|
{
|
||||||
b.Navigation("Messages");
|
b.Navigation("Messages");
|
||||||
@@ -298,6 +357,8 @@ namespace Knots.Migrations
|
|||||||
|
|
||||||
modelBuilder.Entity("Knots.Models.Role", b =>
|
modelBuilder.Entity("Knots.Models.Role", b =>
|
||||||
{
|
{
|
||||||
|
b.Navigation("GroupUsers");
|
||||||
|
|
||||||
b.Navigation("Users");
|
b.Navigation("Users");
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ build_property.EnforceExtendedAnalyzerRules =
|
|||||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||||
build_property.RootNamespace = Knots
|
build_property.RootNamespace = Knots
|
||||||
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.EnableComHosting =
|
||||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||||
build_property.RazorLangVersion = 8.0
|
build_property.RazorLangVersion = 8.0
|
||||||
build_property.SupportLocalizedComponentNames =
|
build_property.SupportLocalizedComponentNames =
|
||||||
build_property.GenerateRazorMetadataSourceChecksumAttributes =
|
build_property.GenerateRazorMetadataSourceChecksumAttributes =
|
||||||
build_property.MSBuildProjectDirectory = C:\Users\dogge\RiderProjects\Knots\Knots
|
build_property.MSBuildProjectDirectory = C:\Users\Carte\RiderProjects\Knots\Knots
|
||||||
build_property._RazorSourceGeneratorDebug =
|
build_property._RazorSourceGeneratorDebug =
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
6d81524a9696a2a29dec0559b34bd3de07ab63fb29f6715a73a1a90d0d537613
|
053df2e2d5f4b0376cb8e5b4fed7175ebe09f3e8d3a4d8035c42b5a7de1f17a9
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
2a517ff3e626fe122f9253056129ac168f6d5d47ce545c1f8a40a45a4c220257
|
a8415ff929068fa8f2ff3412a5ec6274995459d8b2f0bd67ac17c8c58e30ac97
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
{
|
{
|
||||||
"format": 1,
|
"format": 1,
|
||||||
"restore": {
|
"restore": {
|
||||||
"C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj": {}
|
"C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj": {}
|
||||||
},
|
},
|
||||||
"projects": {
|
"projects": {
|
||||||
"C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj": {
|
"C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"restore": {
|
"restore": {
|
||||||
"projectUniqueName": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
"projectUniqueName": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
||||||
"projectName": "Knots",
|
"projectName": "Knots",
|
||||||
"projectPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
"projectPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
||||||
"packagesPath": "C:\\Users\\dogge\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\Carte\\.nuget\\packages\\",
|
||||||
"outputPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\obj\\",
|
"outputPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\obj\\",
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
"fallbackFolders": [
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
],
|
],
|
||||||
"configFilePaths": [
|
"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.FallbackLocation.config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
@@ -119,7 +119,7 @@
|
|||||||
"privateAssets": "all"
|
"privateAssets": "all"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtimeIdentifierGraphPath": "C:\\Users\\dogge\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json"
|
"runtimeIdentifierGraphPath": "C:\\Users\\Carte\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,12 +5,12 @@
|
|||||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\dogge\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Carte\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<SourceRoot Include="C:\Users\dogge\.nuget\packages\" />
|
<SourceRoot Include="C:\Users\Carte\.nuget\packages\" />
|
||||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.25\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.25\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" />
|
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.25\build\net8.0\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore.design\8.0.25\build\net8.0\Microsoft.EntityFrameworkCore.Design.props')" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||||
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\dogge\.nuget\packages\microsoft.extensions.apidescription.server\8.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
|
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\Carte\.nuget\packages\microsoft.extensions.apidescription.server\8.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
|
||||||
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\dogge\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
|
<PkgMicrosoft_CodeAnalysis_Analyzers Condition=" '$(PkgMicrosoft_CodeAnalysis_Analyzers)' == '' ">C:\Users\Carte\.nuget\packages\microsoft.codeanalysis.analyzers\3.3.3</PkgMicrosoft_CodeAnalysis_Analyzers>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -6120,23 +6120,23 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"packageFolders": {
|
"packageFolders": {
|
||||||
"C:\\Users\\dogge\\.nuget\\packages\\": {},
|
"C:\\Users\\Carte\\.nuget\\packages\\": {},
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages": {}
|
||||||
},
|
},
|
||||||
"project": {
|
"project": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"restore": {
|
"restore": {
|
||||||
"projectUniqueName": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
"projectUniqueName": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
||||||
"projectName": "Knots",
|
"projectName": "Knots",
|
||||||
"projectPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
"projectPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\Knots.csproj",
|
||||||
"packagesPath": "C:\\Users\\dogge\\.nuget\\packages\\",
|
"packagesPath": "C:\\Users\\Carte\\.nuget\\packages\\",
|
||||||
"outputPath": "C:\\Users\\dogge\\RiderProjects\\Knots\\Knots\\obj\\",
|
"outputPath": "C:\\Users\\Carte\\RiderProjects\\Knots\\Knots\\obj\\",
|
||||||
"projectStyle": "PackageReference",
|
"projectStyle": "PackageReference",
|
||||||
"fallbackFolders": [
|
"fallbackFolders": [
|
||||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||||
],
|
],
|
||||||
"configFilePaths": [
|
"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.FallbackLocation.config",
|
||||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||||
],
|
],
|
||||||
@@ -6238,7 +6238,7 @@
|
|||||||
"privateAssets": "all"
|
"privateAssets": "all"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"runtimeIdentifierGraphPath": "C:\\Users\\dogge\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json"
|
"runtimeIdentifierGraphPath": "C:\\Users\\Carte\\.dotnet\\sdk\\8.0.421/PortableRuntimeIdentifierGraph.json"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user