JellyfinDbModelSnapshot.cs 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708
  1. // <auto-generated />
  2. using System;
  3. using Jellyfin.Server.Implementations;
  4. using Microsoft.EntityFrameworkCore;
  5. using Microsoft.EntityFrameworkCore.Infrastructure;
  6. using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
  7. #nullable disable
  8. namespace Jellyfin.Server.Implementations.Migrations
  9. {
  10. [DbContext(typeof(JellyfinDbContext))]
  11. partial class JellyfinDbModelSnapshot : ModelSnapshot
  12. {
  13. protected override void BuildModel(ModelBuilder modelBuilder)
  14. {
  15. #pragma warning disable 612, 618
  16. modelBuilder.HasAnnotation("ProductVersion", "8.0.7");
  17. modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
  18. {
  19. b.Property<int>("Id")
  20. .ValueGeneratedOnAdd()
  21. .HasColumnType("INTEGER");
  22. b.Property<int>("DayOfWeek")
  23. .HasColumnType("INTEGER");
  24. b.Property<double>("EndHour")
  25. .HasColumnType("REAL");
  26. b.Property<double>("StartHour")
  27. .HasColumnType("REAL");
  28. b.Property<Guid>("UserId")
  29. .HasColumnType("TEXT");
  30. b.HasKey("Id");
  31. b.HasIndex("UserId");
  32. b.ToTable("AccessSchedules");
  33. });
  34. modelBuilder.Entity("Jellyfin.Data.Entities.ActivityLog", b =>
  35. {
  36. b.Property<int>("Id")
  37. .ValueGeneratedOnAdd()
  38. .HasColumnType("INTEGER");
  39. b.Property<DateTime>("DateCreated")
  40. .HasColumnType("TEXT");
  41. b.Property<string>("ItemId")
  42. .HasMaxLength(256)
  43. .HasColumnType("TEXT");
  44. b.Property<int>("LogSeverity")
  45. .HasColumnType("INTEGER");
  46. b.Property<string>("Name")
  47. .IsRequired()
  48. .HasMaxLength(512)
  49. .HasColumnType("TEXT");
  50. b.Property<string>("Overview")
  51. .HasMaxLength(512)
  52. .HasColumnType("TEXT");
  53. b.Property<uint>("RowVersion")
  54. .IsConcurrencyToken()
  55. .HasColumnType("INTEGER");
  56. b.Property<string>("ShortOverview")
  57. .HasMaxLength(512)
  58. .HasColumnType("TEXT");
  59. b.Property<string>("Type")
  60. .IsRequired()
  61. .HasMaxLength(256)
  62. .HasColumnType("TEXT");
  63. b.Property<Guid>("UserId")
  64. .HasColumnType("TEXT");
  65. b.HasKey("Id");
  66. b.HasIndex("DateCreated");
  67. b.ToTable("ActivityLogs");
  68. });
  69. modelBuilder.Entity("Jellyfin.Data.Entities.CustomItemDisplayPreferences", b =>
  70. {
  71. b.Property<int>("Id")
  72. .ValueGeneratedOnAdd()
  73. .HasColumnType("INTEGER");
  74. b.Property<string>("Client")
  75. .IsRequired()
  76. .HasMaxLength(32)
  77. .HasColumnType("TEXT");
  78. b.Property<Guid>("ItemId")
  79. .HasColumnType("TEXT");
  80. b.Property<string>("Key")
  81. .IsRequired()
  82. .HasColumnType("TEXT");
  83. b.Property<Guid>("UserId")
  84. .HasColumnType("TEXT");
  85. b.Property<string>("Value")
  86. .HasColumnType("TEXT");
  87. b.HasKey("Id");
  88. b.HasIndex("UserId", "ItemId", "Client", "Key")
  89. .IsUnique();
  90. b.ToTable("CustomItemDisplayPreferences");
  91. });
  92. modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
  93. {
  94. b.Property<int>("Id")
  95. .ValueGeneratedOnAdd()
  96. .HasColumnType("INTEGER");
  97. b.Property<int>("ChromecastVersion")
  98. .HasColumnType("INTEGER");
  99. b.Property<string>("Client")
  100. .IsRequired()
  101. .HasMaxLength(32)
  102. .HasColumnType("TEXT");
  103. b.Property<string>("DashboardTheme")
  104. .HasMaxLength(32)
  105. .HasColumnType("TEXT");
  106. b.Property<bool>("EnableNextVideoInfoOverlay")
  107. .HasColumnType("INTEGER");
  108. b.Property<int?>("IndexBy")
  109. .HasColumnType("INTEGER");
  110. b.Property<Guid>("ItemId")
  111. .HasColumnType("TEXT");
  112. b.Property<int>("ScrollDirection")
  113. .HasColumnType("INTEGER");
  114. b.Property<bool>("ShowBackdrop")
  115. .HasColumnType("INTEGER");
  116. b.Property<bool>("ShowSidebar")
  117. .HasColumnType("INTEGER");
  118. b.Property<int>("SkipBackwardLength")
  119. .HasColumnType("INTEGER");
  120. b.Property<int>("SkipForwardLength")
  121. .HasColumnType("INTEGER");
  122. b.Property<string>("TvHome")
  123. .HasMaxLength(32)
  124. .HasColumnType("TEXT");
  125. b.Property<Guid>("UserId")
  126. .HasColumnType("TEXT");
  127. b.HasKey("Id");
  128. b.HasIndex("UserId", "ItemId", "Client")
  129. .IsUnique();
  130. b.ToTable("DisplayPreferences");
  131. });
  132. modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
  133. {
  134. b.Property<int>("Id")
  135. .ValueGeneratedOnAdd()
  136. .HasColumnType("INTEGER");
  137. b.Property<int>("DisplayPreferencesId")
  138. .HasColumnType("INTEGER");
  139. b.Property<int>("Order")
  140. .HasColumnType("INTEGER");
  141. b.Property<int>("Type")
  142. .HasColumnType("INTEGER");
  143. b.HasKey("Id");
  144. b.HasIndex("DisplayPreferencesId");
  145. b.ToTable("HomeSection");
  146. });
  147. modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
  148. {
  149. b.Property<int>("Id")
  150. .ValueGeneratedOnAdd()
  151. .HasColumnType("INTEGER");
  152. b.Property<DateTime>("LastModified")
  153. .HasColumnType("TEXT");
  154. b.Property<string>("Path")
  155. .IsRequired()
  156. .HasMaxLength(512)
  157. .HasColumnType("TEXT");
  158. b.Property<Guid?>("UserId")
  159. .HasColumnType("TEXT");
  160. b.HasKey("Id");
  161. b.HasIndex("UserId")
  162. .IsUnique();
  163. b.ToTable("ImageInfos");
  164. });
  165. modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
  166. {
  167. b.Property<int>("Id")
  168. .ValueGeneratedOnAdd()
  169. .HasColumnType("INTEGER");
  170. b.Property<string>("Client")
  171. .IsRequired()
  172. .HasMaxLength(32)
  173. .HasColumnType("TEXT");
  174. b.Property<int?>("IndexBy")
  175. .HasColumnType("INTEGER");
  176. b.Property<Guid>("ItemId")
  177. .HasColumnType("TEXT");
  178. b.Property<bool>("RememberIndexing")
  179. .HasColumnType("INTEGER");
  180. b.Property<bool>("RememberSorting")
  181. .HasColumnType("INTEGER");
  182. b.Property<string>("SortBy")
  183. .IsRequired()
  184. .HasMaxLength(64)
  185. .HasColumnType("TEXT");
  186. b.Property<int>("SortOrder")
  187. .HasColumnType("INTEGER");
  188. b.Property<Guid>("UserId")
  189. .HasColumnType("TEXT");
  190. b.Property<int>("ViewType")
  191. .HasColumnType("INTEGER");
  192. b.HasKey("Id");
  193. b.HasIndex("UserId");
  194. b.ToTable("ItemDisplayPreferences");
  195. });
  196. modelBuilder.Entity("Jellyfin.Data.Entities.MediaSegment", b =>
  197. {
  198. b.Property<Guid>("Id")
  199. .ValueGeneratedOnAdd()
  200. .HasColumnType("TEXT");
  201. b.Property<long>("EndTicks")
  202. .HasColumnType("INTEGER");
  203. b.Property<Guid>("ItemId")
  204. .HasColumnType("TEXT");
  205. b.Property<long>("StartTicks")
  206. .HasColumnType("INTEGER");
  207. b.Property<int>("Type")
  208. .HasColumnType("INTEGER");
  209. b.Property<string>("SegmentProviderId")
  210. .HasColumnType("TEXT");
  211. b.HasKey("Id");
  212. b.ToTable("MediaSegments");
  213. });
  214. modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
  215. {
  216. b.Property<int>("Id")
  217. .ValueGeneratedOnAdd()
  218. .HasColumnType("INTEGER");
  219. b.Property<int>("Kind")
  220. .HasColumnType("INTEGER");
  221. b.Property<Guid?>("Permission_Permissions_Guid")
  222. .HasColumnType("TEXT");
  223. b.Property<uint>("RowVersion")
  224. .IsConcurrencyToken()
  225. .HasColumnType("INTEGER");
  226. b.Property<Guid?>("UserId")
  227. .HasColumnType("TEXT");
  228. b.Property<bool>("Value")
  229. .HasColumnType("INTEGER");
  230. b.HasKey("Id");
  231. b.HasIndex("UserId", "Kind")
  232. .IsUnique()
  233. .HasFilter("[UserId] IS NOT NULL");
  234. b.ToTable("Permissions");
  235. });
  236. modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
  237. {
  238. b.Property<int>("Id")
  239. .ValueGeneratedOnAdd()
  240. .HasColumnType("INTEGER");
  241. b.Property<int>("Kind")
  242. .HasColumnType("INTEGER");
  243. b.Property<Guid?>("Preference_Preferences_Guid")
  244. .HasColumnType("TEXT");
  245. b.Property<uint>("RowVersion")
  246. .IsConcurrencyToken()
  247. .HasColumnType("INTEGER");
  248. b.Property<Guid?>("UserId")
  249. .HasColumnType("TEXT");
  250. b.Property<string>("Value")
  251. .IsRequired()
  252. .HasMaxLength(65535)
  253. .HasColumnType("TEXT");
  254. b.HasKey("Id");
  255. b.HasIndex("UserId", "Kind")
  256. .IsUnique()
  257. .HasFilter("[UserId] IS NOT NULL");
  258. b.ToTable("Preferences");
  259. });
  260. modelBuilder.Entity("Jellyfin.Data.Entities.Security.ApiKey", b =>
  261. {
  262. b.Property<int>("Id")
  263. .ValueGeneratedOnAdd()
  264. .HasColumnType("INTEGER");
  265. b.Property<string>("AccessToken")
  266. .IsRequired()
  267. .HasColumnType("TEXT");
  268. b.Property<DateTime>("DateCreated")
  269. .HasColumnType("TEXT");
  270. b.Property<DateTime>("DateLastActivity")
  271. .HasColumnType("TEXT");
  272. b.Property<string>("Name")
  273. .IsRequired()
  274. .HasMaxLength(64)
  275. .HasColumnType("TEXT");
  276. b.HasKey("Id");
  277. b.HasIndex("AccessToken")
  278. .IsUnique();
  279. b.ToTable("ApiKeys");
  280. });
  281. modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b =>
  282. {
  283. b.Property<int>("Id")
  284. .ValueGeneratedOnAdd()
  285. .HasColumnType("INTEGER");
  286. b.Property<string>("AccessToken")
  287. .IsRequired()
  288. .HasColumnType("TEXT");
  289. b.Property<string>("AppName")
  290. .IsRequired()
  291. .HasMaxLength(64)
  292. .HasColumnType("TEXT");
  293. b.Property<string>("AppVersion")
  294. .IsRequired()
  295. .HasMaxLength(32)
  296. .HasColumnType("TEXT");
  297. b.Property<DateTime>("DateCreated")
  298. .HasColumnType("TEXT");
  299. b.Property<DateTime>("DateLastActivity")
  300. .HasColumnType("TEXT");
  301. b.Property<DateTime>("DateModified")
  302. .HasColumnType("TEXT");
  303. b.Property<string>("DeviceId")
  304. .IsRequired()
  305. .HasMaxLength(256)
  306. .HasColumnType("TEXT");
  307. b.Property<string>("DeviceName")
  308. .IsRequired()
  309. .HasMaxLength(64)
  310. .HasColumnType("TEXT");
  311. b.Property<bool>("IsActive")
  312. .HasColumnType("INTEGER");
  313. b.Property<Guid>("UserId")
  314. .HasColumnType("TEXT");
  315. b.HasKey("Id");
  316. b.HasIndex("DeviceId");
  317. b.HasIndex("AccessToken", "DateLastActivity");
  318. b.HasIndex("DeviceId", "DateLastActivity");
  319. b.HasIndex("UserId", "DeviceId");
  320. b.ToTable("Devices");
  321. });
  322. modelBuilder.Entity("Jellyfin.Data.Entities.Security.DeviceOptions", b =>
  323. {
  324. b.Property<int>("Id")
  325. .ValueGeneratedOnAdd()
  326. .HasColumnType("INTEGER");
  327. b.Property<string>("CustomName")
  328. .HasColumnType("TEXT");
  329. b.Property<string>("DeviceId")
  330. .IsRequired()
  331. .HasColumnType("TEXT");
  332. b.HasKey("Id");
  333. b.HasIndex("DeviceId")
  334. .IsUnique();
  335. b.ToTable("DeviceOptions");
  336. });
  337. modelBuilder.Entity("Jellyfin.Data.Entities.TrickplayInfo", b =>
  338. {
  339. b.Property<Guid>("ItemId")
  340. .HasColumnType("TEXT");
  341. b.Property<int>("Width")
  342. .HasColumnType("INTEGER");
  343. b.Property<int>("Bandwidth")
  344. .HasColumnType("INTEGER");
  345. b.Property<int>("Height")
  346. .HasColumnType("INTEGER");
  347. b.Property<int>("Interval")
  348. .HasColumnType("INTEGER");
  349. b.Property<int>("ThumbnailCount")
  350. .HasColumnType("INTEGER");
  351. b.Property<int>("TileHeight")
  352. .HasColumnType("INTEGER");
  353. b.Property<int>("TileWidth")
  354. .HasColumnType("INTEGER");
  355. b.HasKey("ItemId", "Width");
  356. b.ToTable("TrickplayInfos");
  357. });
  358. modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
  359. {
  360. b.Property<Guid>("Id")
  361. .ValueGeneratedOnAdd()
  362. .HasColumnType("TEXT");
  363. b.Property<string>("AudioLanguagePreference")
  364. .HasMaxLength(255)
  365. .HasColumnType("TEXT");
  366. b.Property<string>("AuthenticationProviderId")
  367. .IsRequired()
  368. .HasMaxLength(255)
  369. .HasColumnType("TEXT");
  370. b.Property<string>("CastReceiverId")
  371. .HasMaxLength(32)
  372. .HasColumnType("TEXT");
  373. b.Property<bool>("DisplayCollectionsView")
  374. .HasColumnType("INTEGER");
  375. b.Property<bool>("DisplayMissingEpisodes")
  376. .HasColumnType("INTEGER");
  377. b.Property<bool>("EnableAutoLogin")
  378. .HasColumnType("INTEGER");
  379. b.Property<bool>("EnableLocalPassword")
  380. .HasColumnType("INTEGER");
  381. b.Property<bool>("EnableNextEpisodeAutoPlay")
  382. .HasColumnType("INTEGER");
  383. b.Property<bool>("EnableUserPreferenceAccess")
  384. .HasColumnType("INTEGER");
  385. b.Property<bool>("HidePlayedInLatest")
  386. .HasColumnType("INTEGER");
  387. b.Property<long>("InternalId")
  388. .HasColumnType("INTEGER");
  389. b.Property<int>("InvalidLoginAttemptCount")
  390. .HasColumnType("INTEGER");
  391. b.Property<DateTime?>("LastActivityDate")
  392. .HasColumnType("TEXT");
  393. b.Property<DateTime?>("LastLoginDate")
  394. .HasColumnType("TEXT");
  395. b.Property<int?>("LoginAttemptsBeforeLockout")
  396. .HasColumnType("INTEGER");
  397. b.Property<int>("MaxActiveSessions")
  398. .HasColumnType("INTEGER");
  399. b.Property<int?>("MaxParentalAgeRating")
  400. .HasColumnType("INTEGER");
  401. b.Property<bool>("MustUpdatePassword")
  402. .HasColumnType("INTEGER");
  403. b.Property<string>("Password")
  404. .HasMaxLength(65535)
  405. .HasColumnType("TEXT");
  406. b.Property<string>("PasswordResetProviderId")
  407. .IsRequired()
  408. .HasMaxLength(255)
  409. .HasColumnType("TEXT");
  410. b.Property<bool>("PlayDefaultAudioTrack")
  411. .HasColumnType("INTEGER");
  412. b.Property<bool>("RememberAudioSelections")
  413. .HasColumnType("INTEGER");
  414. b.Property<bool>("RememberSubtitleSelections")
  415. .HasColumnType("INTEGER");
  416. b.Property<int?>("RemoteClientBitrateLimit")
  417. .HasColumnType("INTEGER");
  418. b.Property<uint>("RowVersion")
  419. .IsConcurrencyToken()
  420. .HasColumnType("INTEGER");
  421. b.Property<string>("SubtitleLanguagePreference")
  422. .HasMaxLength(255)
  423. .HasColumnType("TEXT");
  424. b.Property<int>("SubtitleMode")
  425. .HasColumnType("INTEGER");
  426. b.Property<int>("SyncPlayAccess")
  427. .HasColumnType("INTEGER");
  428. b.Property<string>("Username")
  429. .IsRequired()
  430. .HasMaxLength(255)
  431. .HasColumnType("TEXT")
  432. .UseCollation("NOCASE");
  433. b.HasKey("Id");
  434. b.HasIndex("Username")
  435. .IsUnique();
  436. b.ToTable("Users");
  437. });
  438. modelBuilder.Entity("Jellyfin.Data.Entities.AccessSchedule", b =>
  439. {
  440. b.HasOne("Jellyfin.Data.Entities.User", null)
  441. .WithMany("AccessSchedules")
  442. .HasForeignKey("UserId")
  443. .OnDelete(DeleteBehavior.Cascade)
  444. .IsRequired();
  445. });
  446. modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
  447. {
  448. b.HasOne("Jellyfin.Data.Entities.User", null)
  449. .WithMany("DisplayPreferences")
  450. .HasForeignKey("UserId")
  451. .OnDelete(DeleteBehavior.Cascade)
  452. .IsRequired();
  453. });
  454. modelBuilder.Entity("Jellyfin.Data.Entities.HomeSection", b =>
  455. {
  456. b.HasOne("Jellyfin.Data.Entities.DisplayPreferences", null)
  457. .WithMany("HomeSections")
  458. .HasForeignKey("DisplayPreferencesId")
  459. .OnDelete(DeleteBehavior.Cascade)
  460. .IsRequired();
  461. });
  462. modelBuilder.Entity("Jellyfin.Data.Entities.ImageInfo", b =>
  463. {
  464. b.HasOne("Jellyfin.Data.Entities.User", null)
  465. .WithOne("ProfileImage")
  466. .HasForeignKey("Jellyfin.Data.Entities.ImageInfo", "UserId")
  467. .OnDelete(DeleteBehavior.Cascade);
  468. });
  469. modelBuilder.Entity("Jellyfin.Data.Entities.ItemDisplayPreferences", b =>
  470. {
  471. b.HasOne("Jellyfin.Data.Entities.User", null)
  472. .WithMany("ItemDisplayPreferences")
  473. .HasForeignKey("UserId")
  474. .OnDelete(DeleteBehavior.Cascade)
  475. .IsRequired();
  476. });
  477. modelBuilder.Entity("Jellyfin.Data.Entities.Permission", b =>
  478. {
  479. b.HasOne("Jellyfin.Data.Entities.User", null)
  480. .WithMany("Permissions")
  481. .HasForeignKey("UserId")
  482. .OnDelete(DeleteBehavior.Cascade);
  483. });
  484. modelBuilder.Entity("Jellyfin.Data.Entities.Preference", b =>
  485. {
  486. b.HasOne("Jellyfin.Data.Entities.User", null)
  487. .WithMany("Preferences")
  488. .HasForeignKey("UserId")
  489. .OnDelete(DeleteBehavior.Cascade);
  490. });
  491. modelBuilder.Entity("Jellyfin.Data.Entities.Security.Device", b =>
  492. {
  493. b.HasOne("Jellyfin.Data.Entities.User", "User")
  494. .WithMany()
  495. .HasForeignKey("UserId")
  496. .OnDelete(DeleteBehavior.Cascade)
  497. .IsRequired();
  498. b.Navigation("User");
  499. });
  500. modelBuilder.Entity("Jellyfin.Data.Entities.DisplayPreferences", b =>
  501. {
  502. b.Navigation("HomeSections");
  503. });
  504. modelBuilder.Entity("Jellyfin.Data.Entities.User", b =>
  505. {
  506. b.Navigation("AccessSchedules");
  507. b.Navigation("DisplayPreferences");
  508. b.Navigation("ItemDisplayPreferences");
  509. b.Navigation("Permissions");
  510. b.Navigation("Preferences");
  511. b.Navigation("ProfileImage");
  512. });
  513. #pragma warning restore 612, 618
  514. }
  515. }
  516. }