using System.Collections.Generic; using Iceshrimp.Backend.Core.Database.Tables; using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Iceshrimp.Backend.Core.Database.Migrations { /// public partial class AddPushSubscriptionColumns : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.AlterDatabase() .Annotation("Npgsql:Enum:antenna_src_enum", "home,all,users,list,group,instances") .Annotation("Npgsql:Enum:marker_type_enum", "home,notifications") .Annotation("Npgsql:Enum:note_visibility_enum", "public,home,followers,specified") .Annotation("Npgsql:Enum:notification_type_enum", "follow,mention,reply,renote,quote,like,reaction,pollVote,pollEnded,receiveFollowRequest,followRequestAccepted,groupInvited,app,edit,bite") .Annotation("Npgsql:Enum:page_visibility_enum", "public,followers,specified") .Annotation("Npgsql:Enum:push_subscription_policy_enum", "all,followed,follower,none") .Annotation("Npgsql:Enum:relay_status_enum", "requesting,accepted,rejected") .Annotation("Npgsql:Enum:user_profile_ffvisibility_enum", "public,followers,private") .Annotation("Npgsql:PostgresExtension:pg_trgm", ",,") .OldAnnotation("Npgsql:Enum:antenna_src_enum", "home,all,users,list,group,instances") .OldAnnotation("Npgsql:Enum:marker_type_enum", "home,notifications") .OldAnnotation("Npgsql:Enum:note_visibility_enum", "public,home,followers,specified") .OldAnnotation("Npgsql:Enum:notification_type_enum", "follow,mention,reply,renote,quote,like,reaction,pollVote,pollEnded,receiveFollowRequest,followRequestAccepted,groupInvited,app,edit,bite") .OldAnnotation("Npgsql:Enum:page_visibility_enum", "public,followers,specified") .OldAnnotation("Npgsql:Enum:relay_status_enum", "requesting,accepted,rejected") .OldAnnotation("Npgsql:Enum:user_profile_ffvisibility_enum", "public,followers,private") .OldAnnotation("Npgsql:PostgresExtension:pg_trgm", ",,"); migrationBuilder.AddColumn( name: "policy", table: "push_subscription", type: "push_subscription_policy_enum", nullable: false, defaultValue: PushSubscription.PushPolicy.All); migrationBuilder.AddColumn>( name: "types", table: "push_subscription", type: "character varying(32)[]", nullable: false, defaultValueSql: "'{}'::character varying[]"); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropColumn( name: "policy", table: "push_subscription"); migrationBuilder.DropColumn( name: "types", table: "push_subscription"); migrationBuilder.AlterDatabase() .Annotation("Npgsql:Enum:antenna_src_enum", "home,all,users,list,group,instances") .Annotation("Npgsql:Enum:marker_type_enum", "home,notifications") .Annotation("Npgsql:Enum:note_visibility_enum", "public,home,followers,specified") .Annotation("Npgsql:Enum:notification_type_enum", "follow,mention,reply,renote,quote,like,reaction,pollVote,pollEnded,receiveFollowRequest,followRequestAccepted,groupInvited,app,edit,bite") .Annotation("Npgsql:Enum:page_visibility_enum", "public,followers,specified") .Annotation("Npgsql:Enum:relay_status_enum", "requesting,accepted,rejected") .Annotation("Npgsql:Enum:user_profile_ffvisibility_enum", "public,followers,private") .Annotation("Npgsql:PostgresExtension:pg_trgm", ",,") .OldAnnotation("Npgsql:Enum:antenna_src_enum", "home,all,users,list,group,instances") .OldAnnotation("Npgsql:Enum:marker_type_enum", "home,notifications") .OldAnnotation("Npgsql:Enum:note_visibility_enum", "public,home,followers,specified") .OldAnnotation("Npgsql:Enum:notification_type_enum", "follow,mention,reply,renote,quote,like,reaction,pollVote,pollEnded,receiveFollowRequest,followRequestAccepted,groupInvited,app,edit,bite") .OldAnnotation("Npgsql:Enum:page_visibility_enum", "public,followers,specified") .OldAnnotation("Npgsql:Enum:push_subscription_policy_enum", "all,followed,follower,none") .OldAnnotation("Npgsql:Enum:relay_status_enum", "requesting,accepted,rejected") .OldAnnotation("Npgsql:Enum:user_profile_ffvisibility_enum", "public,followers,private") .OldAnnotation("Npgsql:PostgresExtension:pg_trgm", ",,"); } } }