diff --git a/ClassTranscribeDatabase/Migrations/20231211224116_PlaylistMediaOptions.Designer.cs b/ClassTranscribeDatabase/Migrations/20231211224116_PlaylistMediaOptions.Designer.cs
new file mode 100644
index 00000000..89be233b
--- /dev/null
+++ b/ClassTranscribeDatabase/Migrations/20231211224116_PlaylistMediaOptions.Designer.cs
@@ -0,0 +1,1893 @@
+//
+using System;
+using ClassTranscribeDatabase;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+namespace ClassTranscribeDatabase.Migrations
+{
+ [DbContext(typeof(CTDbContext))]
+ [Migration("20231211224116_PlaylistMediaOptions")]
+ partial class PlaylistMediaOptions
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn)
+ .HasAnnotation("ProductVersion", "3.1.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.ASLVideo", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Domain")
+ .HasColumnType("text");
+
+ b.Property("DownloadURL")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("Kind")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("LicenseTag")
+ .HasColumnType("text");
+
+ b.Property("Likes")
+ .HasColumnType("integer");
+
+ b.Property("Source")
+ .HasColumnType("text");
+
+ b.Property("Term")
+ .HasColumnType("text");
+
+ b.Property("Text")
+ .HasColumnType("text");
+
+ b.Property("UniqueASLIdentifier")
+ .HasColumnType("text");
+
+ b.Property("WebsiteURL")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("ASLVideos");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.ASLVideoGlossaryMap", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("ASLVideoId")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("GlossaryId")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("Published")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.ToTable("ASLVideoGlossaryMaps");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.ApplicationUser", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("AccessFailedCount")
+ .HasColumnType("integer");
+
+ b.Property("ConcurrencyStamp")
+ .IsConcurrencyToken()
+ .HasColumnType("text");
+
+ b.Property("Email")
+ .HasColumnType("character varying(256)")
+ .HasMaxLength(256);
+
+ b.Property("EmailConfirmed")
+ .HasColumnType("boolean");
+
+ b.Property("FirstName")
+ .HasColumnType("text");
+
+ b.Property("LastName")
+ .HasColumnType("text");
+
+ b.Property("LockoutEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("LockoutEnd")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Metadata")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("NormalizedEmail")
+ .HasColumnType("character varying(256)")
+ .HasMaxLength(256);
+
+ b.Property("NormalizedUserName")
+ .HasColumnType("character varying(256)")
+ .HasMaxLength(256);
+
+ b.Property("PasswordHash")
+ .HasColumnType("text");
+
+ b.Property("PhoneNumber")
+ .HasColumnType("text");
+
+ b.Property("PhoneNumberConfirmed")
+ .HasColumnType("boolean");
+
+ b.Property("SecurityStamp")
+ .HasColumnType("text");
+
+ b.Property("Status")
+ .HasColumnType("integer");
+
+ b.Property("TwoFactorEnabled")
+ .HasColumnType("boolean");
+
+ b.Property("UniversityId")
+ .HasColumnType("text");
+
+ b.Property("UserName")
+ .HasColumnType("character varying(256)")
+ .HasMaxLength(256);
+
+ b.HasKey("Id");
+
+ b.HasIndex("NormalizedEmail")
+ .HasName("EmailIndex");
+
+ b.HasIndex("NormalizedUserName")
+ .IsUnique()
+ .HasName("UserNameIndex");
+
+ b.HasIndex("UniversityId");
+
+ b.ToTable("AspNetUsers");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Caption", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("Begin")
+ .HasColumnType("interval");
+
+ b.Property("CaptionType")
+ .HasColumnType("integer");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("DownVote")
+ .HasColumnType("integer");
+
+ b.Property("End")
+ .HasColumnType("interval");
+
+ b.Property("Index")
+ .HasColumnType("integer");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("Text")
+ .HasColumnType("text");
+
+ b.Property("TranscriptionId")
+ .HasColumnType("text");
+
+ b.Property("UpVote")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TranscriptionId");
+
+ b.ToTable("Captions");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Course", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CourseNumber")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("DepartmentId")
+ .HasColumnType("text");
+
+ b.Property("FilePath")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DepartmentId");
+
+ b.ToTable("Courses");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.CourseOffering", b =>
+ {
+ b.Property("CourseId")
+ .HasColumnType("text");
+
+ b.Property("OfferingId")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("FilePath")
+ .HasColumnType("text");
+
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.HasKey("CourseId", "OfferingId");
+
+ b.HasIndex("OfferingId");
+
+ b.ToTable("CourseOfferings");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Department", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("Acronym")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("UniversityId")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("UniversityId");
+
+ b.ToTable("Departments");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Dictionary", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("Key")
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("Value")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Dictionaries");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.EPub", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("Author")
+ .HasColumnType("text");
+
+ b.Property("Chapters")
+ .HasColumnType("text");
+
+ b.Property("Cover")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Filename")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("Language")
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("PublishStatus")
+ .HasColumnType("integer");
+
+ b.Property("Publisher")
+ .HasColumnType("text");
+
+ b.Property("SourceId")
+ .HasColumnType("text");
+
+ b.Property("SourceType")
+ .HasColumnType("integer");
+
+ b.Property("Title")
+ .HasColumnType("text");
+
+ b.Property("VideoId")
+ .HasColumnType("text");
+
+ b.Property("Visibility")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("VideoId");
+
+ b.ToTable("EPubs");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.FileRecord", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("FileName")
+ .HasColumnType("text");
+
+ b.Property("Hash")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("PrivatePath")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("FileRecords");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Glossary", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CourseId")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("Domain")
+ .HasColumnType("text");
+
+ b.Property("Editable")
+ .HasColumnType("boolean");
+
+ b.Property("Explanation")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("LicenseTag")
+ .HasColumnType("text");
+
+ b.Property("Likes")
+ .HasColumnType("integer");
+
+ b.Property("Link")
+ .HasColumnType("text");
+
+ b.Property("OfferingId")
+ .HasColumnType("text");
+
+ b.Property("Shared")
+ .HasColumnType("boolean");
+
+ b.Property("Source")
+ .HasColumnType("text");
+
+ b.Property("Term")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CourseId", "OfferingId");
+
+ b.ToTable("Glossaries");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Image", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("ImageFileId")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("SourceId")
+ .HasColumnType("text");
+
+ b.Property("SourceType")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ImageFileId");
+
+ b.ToTable("Images");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Log", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("EventType")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("Json")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("MediaId")
+ .HasColumnType("text");
+
+ b.Property("OfferingId")
+ .HasColumnType("text");
+
+ b.Property("UserId")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("Logs");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Media", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Index")
+ .HasColumnType("integer");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("JsonMetadata")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("Options")
+ .HasColumnType("text");
+
+ b.Property("PlaylistId")
+ .HasColumnType("text");
+
+ b.Property("PublishStatus")
+ .HasColumnType("integer");
+
+ b.Property("SourceType")
+ .HasColumnType("integer");
+
+ b.Property("UniqueMediaIdentifier")
+ .HasColumnType("text");
+
+ b.Property("VideoId")
+ .HasColumnType("text");
+
+ b.Property("Visibility")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("PlaylistId");
+
+ b.HasIndex("VideoId");
+
+ b.ToTable("Medias");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Message", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("Ack")
+ .HasColumnType("integer");
+
+ b.Property("ApplicationUserId")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("LogLevel")
+ .HasColumnType("integer");
+
+ b.Property("Payload")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ApplicationUserId");
+
+ b.ToTable("Messages");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Offering", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("AccessType")
+ .HasColumnType("integer");
+
+ b.Property("CourseName")
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Description")
+ .HasColumnType("text");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("JsonMetadata")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("LogEventsFlag")
+ .HasColumnType("boolean");
+
+ b.Property("PublishStatus")
+ .HasColumnType("integer");
+
+ b.Property("SectionName")
+ .HasColumnType("text");
+
+ b.Property("TermId")
+ .HasColumnType("text");
+
+ b.Property("Visibility")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TermId");
+
+ b.ToTable("Offerings");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Playlist", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("DeletedBy")
+ .HasColumnType("text");
+
+ b.Property("Index")
+ .HasColumnType("integer");
+
+ b.Property("IsDeletedStatus")
+ .HasColumnType("integer");
+
+ b.Property("JsonMetadata")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("LastUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("LastUpdatedBy")
+ .HasColumnType("text");
+
+ b.Property("ListCheckedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("ListUpdatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("Name")
+ .HasColumnType("text");
+
+ b.Property("OfferingId")
+ .HasColumnType("text");
+
+ b.Property("Options")
+ .HasColumnType("text");
+
+ b.Property("PlaylistIdentifier")
+ .HasColumnType("text");
+
+ b.Property("PublishStatus")
+ .HasColumnType("integer");
+
+ b.Property("SourceType")
+ .HasColumnType("integer");
+
+ b.Property("Visibility")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("OfferingId");
+
+ b.ToTable("Playlists");
+ });
+
+ modelBuilder.Entity("ClassTranscribeDatabase.Models.Subscription", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("text");
+
+ b.Property("ApplicationUserId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property("CreatedBy")
+ .HasColumnType("text");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp without time zone");
+
+ b.Property