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