Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599
  1. // <auto-generated />
  2. using System;
  3. using Diligent.WebAPI.Data;
  4. using Microsoft.EntityFrameworkCore;
  5. using Microsoft.EntityFrameworkCore.Infrastructure;
  6. using Microsoft.EntityFrameworkCore.Metadata;
  7. using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
  8. #nullable disable
  9. namespace Diligent.WebAPI.Data.Migrations
  10. {
  11. [DbContext(typeof(DatabaseContext))]
  12. partial class DatabaseContextModelSnapshot : ModelSnapshot
  13. {
  14. protected override void BuildModel(ModelBuilder modelBuilder)
  15. {
  16. #pragma warning disable 612, 618
  17. modelBuilder
  18. .HasAnnotation("ProductVersion", "6.0.10")
  19. .HasAnnotation("Relational:MaxIdentifierLength", 128);
  20. SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder, 1L, 1);
  21. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.AppRole", b =>
  22. {
  23. b.Property<int>("Id")
  24. .ValueGeneratedOnAdd()
  25. .HasColumnType("int");
  26. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  27. b.Property<string>("ConcurrencyStamp")
  28. .IsConcurrencyToken()
  29. .HasColumnType("nvarchar(max)");
  30. b.Property<string>("Name")
  31. .HasMaxLength(256)
  32. .HasColumnType("nvarchar(256)");
  33. b.Property<string>("NormalizedName")
  34. .HasMaxLength(256)
  35. .HasColumnType("nvarchar(256)");
  36. b.HasKey("Id");
  37. b.HasIndex("NormalizedName")
  38. .IsUnique()
  39. .HasDatabaseName("RoleNameIndex")
  40. .HasFilter("[NormalizedName] IS NOT NULL");
  41. b.ToTable("AspNetRoles", (string)null);
  42. });
  43. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Category", b =>
  44. {
  45. b.Property<int>("Id")
  46. .ValueGeneratedOnAdd()
  47. .HasColumnType("int");
  48. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  49. b.Property<string>("Name")
  50. .IsRequired()
  51. .HasColumnType("nvarchar(max)");
  52. b.Property<int?>("ParentCategoryId")
  53. .HasColumnType("int");
  54. b.HasKey("Id");
  55. b.HasIndex("ParentCategoryId");
  56. b.ToTable("Categories");
  57. });
  58. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.FileEntity", b =>
  59. {
  60. b.Property<int>("Id")
  61. .ValueGeneratedOnAdd()
  62. .HasColumnType("int");
  63. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  64. b.Property<int?>("CategoryId")
  65. .HasColumnType("int");
  66. b.Property<bool>("Deleted")
  67. .HasColumnType("bit");
  68. b.Property<Guid>("DocumentId")
  69. .HasColumnType("uniqueidentifier");
  70. b.Property<string>("Note")
  71. .IsRequired()
  72. .HasColumnType("nvarchar(max)");
  73. b.Property<string>("Title")
  74. .IsRequired()
  75. .HasColumnType("nvarchar(max)");
  76. b.HasKey("Id");
  77. b.HasIndex("CategoryId");
  78. b.ToTable("Files");
  79. });
  80. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b =>
  81. {
  82. b.Property<int>("Id")
  83. .ValueGeneratedOnAdd()
  84. .HasColumnType("int");
  85. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  86. b.Property<DateTime>("CreationDate")
  87. .HasColumnType("datetime2");
  88. b.Property<DateTime>("ExpiryDate")
  89. .HasColumnType("datetime2");
  90. b.Property<bool>("Invalidated")
  91. .HasColumnType("bit");
  92. b.Property<string>("JwtId")
  93. .IsRequired()
  94. .HasColumnType("nvarchar(max)");
  95. b.Property<string>("Token")
  96. .IsRequired()
  97. .HasColumnType("nvarchar(max)");
  98. b.Property<bool>("Used")
  99. .HasColumnType("bit");
  100. b.Property<int>("UserId")
  101. .HasColumnType("int");
  102. b.HasKey("Id");
  103. b.HasIndex("UserId");
  104. b.ToTable("RefreshTokens");
  105. });
  106. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Tag", b =>
  107. {
  108. b.Property<int>("Id")
  109. .ValueGeneratedOnAdd()
  110. .HasColumnType("int");
  111. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  112. b.Property<string>("Name")
  113. .IsRequired()
  114. .HasColumnType("nvarchar(max)");
  115. b.HasKey("Id");
  116. b.ToTable("Tags");
  117. });
  118. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b =>
  119. {
  120. b.Property<int>("Id")
  121. .ValueGeneratedOnAdd()
  122. .HasColumnType("int");
  123. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  124. b.Property<int>("AccessFailedCount")
  125. .HasColumnType("int");
  126. b.Property<string>("ConcurrencyStamp")
  127. .IsConcurrencyToken()
  128. .HasColumnType("nvarchar(max)");
  129. b.Property<string>("Email")
  130. .HasMaxLength(256)
  131. .HasColumnType("nvarchar(256)");
  132. b.Property<bool>("EmailConfirmed")
  133. .HasColumnType("bit");
  134. b.Property<string>("FirstName")
  135. .IsRequired()
  136. .HasColumnType("nvarchar(max)");
  137. b.Property<bool?>("IsEnabled")
  138. .ValueGeneratedOnAdd()
  139. .HasColumnType("bit")
  140. .HasDefaultValue(true);
  141. b.Property<string>("LastName")
  142. .IsRequired()
  143. .HasColumnType("nvarchar(max)");
  144. b.Property<string>("LinkedIn")
  145. .HasColumnType("nvarchar(max)");
  146. b.Property<bool>("LockoutEnabled")
  147. .HasColumnType("bit");
  148. b.Property<DateTimeOffset?>("LockoutEnd")
  149. .HasColumnType("datetimeoffset");
  150. b.Property<string>("NormalizedEmail")
  151. .HasMaxLength(256)
  152. .HasColumnType("nvarchar(256)");
  153. b.Property<string>("NormalizedUserName")
  154. .HasMaxLength(256)
  155. .HasColumnType("nvarchar(256)");
  156. b.Property<string>("PasswordHash")
  157. .HasColumnType("nvarchar(max)");
  158. b.Property<string>("PhoneNumber")
  159. .HasColumnType("nvarchar(max)");
  160. b.Property<bool>("PhoneNumberConfirmed")
  161. .HasColumnType("bit");
  162. b.Property<string>("Position")
  163. .HasColumnType("nvarchar(max)");
  164. b.Property<string>("SecurityStamp")
  165. .HasColumnType("nvarchar(max)");
  166. b.Property<bool>("TwoFactorEnabled")
  167. .HasColumnType("bit");
  168. b.Property<string>("UserName")
  169. .HasMaxLength(256)
  170. .HasColumnType("nvarchar(256)");
  171. b.HasKey("Id");
  172. b.HasIndex("NormalizedEmail")
  173. .HasDatabaseName("EmailIndex");
  174. b.HasIndex("NormalizedUserName")
  175. .IsUnique()
  176. .HasDatabaseName("UserNameIndex")
  177. .HasFilter("[NormalizedUserName] IS NOT NULL");
  178. b.ToTable("AspNetUsers", (string)null);
  179. });
  180. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.UserCategories", b =>
  181. {
  182. b.Property<int>("Id")
  183. .ValueGeneratedOnAdd()
  184. .HasColumnType("int");
  185. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  186. b.Property<int>("CategoryId")
  187. .HasColumnType("int");
  188. b.Property<int>("UserId")
  189. .HasColumnType("int");
  190. b.HasKey("Id");
  191. b.HasIndex("CategoryId");
  192. b.HasIndex("UserId");
  193. b.ToTable("UserCategories");
  194. });
  195. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookDefinition", b =>
  196. {
  197. b.Property<long>("Id")
  198. .ValueGeneratedOnAdd()
  199. .HasColumnType("bigint");
  200. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1);
  201. b.Property<DateTime>("CreatedAtUtc")
  202. .HasColumnType("datetime2");
  203. b.Property<DateTime?>("DeletedAtUtc")
  204. .HasColumnType("datetime2");
  205. b.Property<string>("Description")
  206. .IsRequired()
  207. .HasColumnType("nvarchar(max)");
  208. b.Property<string>("DisplayName")
  209. .IsRequired()
  210. .HasMaxLength(100)
  211. .HasColumnType("nvarchar(100)");
  212. b.Property<string>("Name")
  213. .IsRequired()
  214. .HasMaxLength(100)
  215. .HasColumnType("nvarchar(100)");
  216. b.Property<DateTime?>("UpdatedAtUtc")
  217. .HasColumnType("datetime2");
  218. b.HasKey("Id");
  219. b.ToTable("WebhookDefinitions");
  220. });
  221. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b =>
  222. {
  223. b.Property<long>("Id")
  224. .ValueGeneratedOnAdd()
  225. .HasColumnType("bigint");
  226. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<long>("Id"), 1L, 1);
  227. b.Property<DateTime>("CreatedAtUtc")
  228. .HasColumnType("datetime2");
  229. b.Property<DateTime?>("DeletedAtUtc")
  230. .HasColumnType("datetime2");
  231. b.Property<bool>("IsActive")
  232. .HasColumnType("bit");
  233. b.Property<DateTime?>("UpdatedAtUtc")
  234. .HasColumnType("datetime2");
  235. b.Property<long>("WebhookDefinitionId")
  236. .HasColumnType("bigint");
  237. b.Property<string>("WebhookURL")
  238. .IsRequired()
  239. .HasColumnType("nvarchar(max)");
  240. b.HasKey("Id");
  241. b.HasIndex("WebhookDefinitionId");
  242. b.ToTable("WebhookSubscriptions");
  243. });
  244. modelBuilder.Entity("FileEntityTag", b =>
  245. {
  246. b.Property<int>("FilesId")
  247. .HasColumnType("int");
  248. b.Property<int>("TagsId")
  249. .HasColumnType("int");
  250. b.HasKey("FilesId", "TagsId");
  251. b.HasIndex("TagsId");
  252. b.ToTable("FileEntityTag");
  253. });
  254. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
  255. {
  256. b.Property<int>("Id")
  257. .ValueGeneratedOnAdd()
  258. .HasColumnType("int");
  259. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  260. b.Property<string>("ClaimType")
  261. .HasColumnType("nvarchar(max)");
  262. b.Property<string>("ClaimValue")
  263. .HasColumnType("nvarchar(max)");
  264. b.Property<int>("RoleId")
  265. .HasColumnType("int");
  266. b.HasKey("Id");
  267. b.HasIndex("RoleId");
  268. b.ToTable("AspNetRoleClaims", (string)null);
  269. });
  270. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b =>
  271. {
  272. b.Property<int>("Id")
  273. .ValueGeneratedOnAdd()
  274. .HasColumnType("int");
  275. SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"), 1L, 1);
  276. b.Property<string>("ClaimType")
  277. .HasColumnType("nvarchar(max)");
  278. b.Property<string>("ClaimValue")
  279. .HasColumnType("nvarchar(max)");
  280. b.Property<int>("UserId")
  281. .HasColumnType("int");
  282. b.HasKey("Id");
  283. b.HasIndex("UserId");
  284. b.ToTable("AspNetUserClaims", (string)null);
  285. });
  286. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b =>
  287. {
  288. b.Property<string>("LoginProvider")
  289. .HasColumnType("nvarchar(450)");
  290. b.Property<string>("ProviderKey")
  291. .HasColumnType("nvarchar(450)");
  292. b.Property<string>("ProviderDisplayName")
  293. .HasColumnType("nvarchar(max)");
  294. b.Property<int>("UserId")
  295. .HasColumnType("int");
  296. b.HasKey("LoginProvider", "ProviderKey");
  297. b.HasIndex("UserId");
  298. b.ToTable("AspNetUserLogins", (string)null);
  299. });
  300. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b =>
  301. {
  302. b.Property<int>("UserId")
  303. .HasColumnType("int");
  304. b.Property<int>("RoleId")
  305. .HasColumnType("int");
  306. b.HasKey("UserId", "RoleId");
  307. b.HasIndex("RoleId");
  308. b.ToTable("AspNetUserRoles", (string)null);
  309. });
  310. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b =>
  311. {
  312. b.Property<int>("UserId")
  313. .HasColumnType("int");
  314. b.Property<string>("LoginProvider")
  315. .HasColumnType("nvarchar(450)");
  316. b.Property<string>("Name")
  317. .HasColumnType("nvarchar(450)");
  318. b.Property<string>("Value")
  319. .HasColumnType("nvarchar(max)");
  320. b.HasKey("UserId", "LoginProvider", "Name");
  321. b.ToTable("AspNetUserTokens", (string)null);
  322. });
  323. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Category", b =>
  324. {
  325. b.HasOne("Diligent.WebAPI.Data.Entities.Category", "ParentCategory")
  326. .WithMany()
  327. .HasForeignKey("ParentCategoryId");
  328. b.Navigation("ParentCategory");
  329. });
  330. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.FileEntity", b =>
  331. {
  332. b.HasOne("Diligent.WebAPI.Data.Entities.Category", "Category")
  333. .WithMany("Files")
  334. .HasForeignKey("CategoryId");
  335. b.Navigation("Category");
  336. });
  337. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.RefreshToken", b =>
  338. {
  339. b.HasOne("Diligent.WebAPI.Data.Entities.User", "User")
  340. .WithMany()
  341. .HasForeignKey("UserId")
  342. .OnDelete(DeleteBehavior.Cascade)
  343. .IsRequired();
  344. b.Navigation("User");
  345. });
  346. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.UserCategories", b =>
  347. {
  348. b.HasOne("Diligent.WebAPI.Data.Entities.Category", "Category")
  349. .WithMany("UserCategories")
  350. .HasForeignKey("CategoryId")
  351. .OnDelete(DeleteBehavior.Cascade)
  352. .IsRequired();
  353. b.HasOne("Diligent.WebAPI.Data.Entities.User", null)
  354. .WithMany("UserCategories")
  355. .HasForeignKey("UserId")
  356. .OnDelete(DeleteBehavior.Cascade)
  357. .IsRequired();
  358. b.Navigation("Category");
  359. });
  360. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.WebhookSubscription", b =>
  361. {
  362. b.HasOne("Diligent.WebAPI.Data.Entities.WebhookDefinition", "WebhookDefinition")
  363. .WithMany()
  364. .HasForeignKey("WebhookDefinitionId")
  365. .OnDelete(DeleteBehavior.Cascade)
  366. .IsRequired();
  367. b.Navigation("WebhookDefinition");
  368. });
  369. modelBuilder.Entity("FileEntityTag", b =>
  370. {
  371. b.HasOne("Diligent.WebAPI.Data.Entities.FileEntity", null)
  372. .WithMany()
  373. .HasForeignKey("FilesId")
  374. .OnDelete(DeleteBehavior.Cascade)
  375. .IsRequired();
  376. b.HasOne("Diligent.WebAPI.Data.Entities.Tag", null)
  377. .WithMany()
  378. .HasForeignKey("TagsId")
  379. .OnDelete(DeleteBehavior.Cascade)
  380. .IsRequired();
  381. });
  382. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<int>", b =>
  383. {
  384. b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null)
  385. .WithMany()
  386. .HasForeignKey("RoleId")
  387. .OnDelete(DeleteBehavior.Cascade)
  388. .IsRequired();
  389. });
  390. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<int>", b =>
  391. {
  392. b.HasOne("Diligent.WebAPI.Data.Entities.User", null)
  393. .WithMany()
  394. .HasForeignKey("UserId")
  395. .OnDelete(DeleteBehavior.Cascade)
  396. .IsRequired();
  397. });
  398. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<int>", b =>
  399. {
  400. b.HasOne("Diligent.WebAPI.Data.Entities.User", null)
  401. .WithMany()
  402. .HasForeignKey("UserId")
  403. .OnDelete(DeleteBehavior.Cascade)
  404. .IsRequired();
  405. });
  406. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<int>", b =>
  407. {
  408. b.HasOne("Diligent.WebAPI.Data.Entities.AppRole", null)
  409. .WithMany()
  410. .HasForeignKey("RoleId")
  411. .OnDelete(DeleteBehavior.Cascade)
  412. .IsRequired();
  413. b.HasOne("Diligent.WebAPI.Data.Entities.User", null)
  414. .WithMany()
  415. .HasForeignKey("UserId")
  416. .OnDelete(DeleteBehavior.Cascade)
  417. .IsRequired();
  418. });
  419. modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<int>", b =>
  420. {
  421. b.HasOne("Diligent.WebAPI.Data.Entities.User", null)
  422. .WithMany()
  423. .HasForeignKey("UserId")
  424. .OnDelete(DeleteBehavior.Cascade)
  425. .IsRequired();
  426. });
  427. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.Category", b =>
  428. {
  429. b.Navigation("Files");
  430. b.Navigation("UserCategories");
  431. });
  432. modelBuilder.Entity("Diligent.WebAPI.Data.Entities.User", b =>
  433. {
  434. b.Navigation("UserCategories");
  435. });
  436. #pragma warning restore 612, 618
  437. }
  438. }
  439. }