1
0
Fork 0
polaris-task-force/src/migrations/index.ts
Z8MB1E 35769ea0f6 feat(bot): add imminent-op reminder thread with attendee pings
15 minutes before a posted op starts, the bot opens a thread on the
roll-call message and pings everyone who RSVP'd yes, as a last-call
nudge that the op is imminent. One-shot per mission via a new
imminentReminderSentAt marker on Missions (migration included); the
cancel flow clears it so a rescheduled op re-reminds for its new start
time. Poll cadence via DISCORD_IMMINENT_POLL_MS (default 60s).
2026-09-18 13:09:35 -04:00

411 lines
20 KiB
TypeScript

import * as migration_20260820_004157 from "./20260820_004157";
import * as migration_20260825_220000 from "./20260825_220000";
import * as migration_20260826_050000_repair_shims_auxiliary_tables from "./20260826_050000_repair_shims_auxiliary_tables";
import * as migration_20260826_060000_add_game_servers_event_target from "./20260826_060000_add_game_servers_event_target";
import * as migration_20260827_005757 from "./20260827_005757";
import * as migration_20260827_022334_add_eod_minesweeper_best_flags from "./20260827_022334_add_eod_minesweeper_best_flags";
import * as migration_20260827_213857_add_evaluations_collection from "./20260827_213857_add_evaluations_collection";
import * as migration_20260827_233224_add_mission_completed_at from "./20260827_233224_add_mission_completed_at";
import * as migration_20260828_011500_add_background_texture_preference from "./20260828_011500_add_background_texture_preference";
import * as migration_20260828_041615_add_campaign_mode from "./20260828_041615_add_campaign_mode";
import * as migration_20260828_044506 from "./20260828_044506";
import * as migration_20260831_142503 from "./20260831_142503";
import * as migration_20260831_180233_assignment_transfers from "./20260831_180233_assignment_transfers";
import * as migration_20260901_014006_add_assignment_transfer_event_target from "./20260901_014006_add_assignment_transfer_event_target";
import * as migration_20260901_213108_add_ticket_votes_and_edit_history from "./20260901_213108_add_ticket_votes_and_edit_history";
import * as migration_20260901_222200_add_admin_page_permissions from "./20260901_222200_add_admin_page_permissions";
import * as migration_20260902_195336_add_medal_backgrounds from "./20260902_195336_add_medal_backgrounds";
import * as migration_20260903_035544 from "./20260903_035544";
import * as migration_20260903_044047 from "./20260903_044047";
import * as migration_20260903_053419 from "./20260903_053419";
import * as migration_20260903_060000_add_radio_mode_stats from "./20260903_060000_add_radio_mode_stats";
import * as migration_20260903_061000_add_radio_incorrect_counts from "./20260903_061000_add_radio_incorrect_counts";
import * as migration_20260903_062000_add_aim_trainer_stats from "./20260903_062000_add_aim_trainer_stats";
import * as migration_20260904_230838_add_wiki_collections from "./20260904_230838_add_wiki_collections";
import * as migration_20260905_183940_base_management from "./20260905_183940_base_management";
import * as migration_20260905_195456_labor_headcount from "./20260905_195456_labor_headcount";
import * as migration_20260905_210310_labor_classifications from "./20260905_210310_labor_classifications";
import * as migration_20260905_213824 from "./20260905_213824";
import * as migration_20260905_215658 from "./20260905_215658";
import * as migration_20260906_045502 from "./20260906_045502";
import * as migration_20260906_050900_add_evaluation_reminders_field from "./20260906_050900_add_evaluation_reminders_field";
import * as migration_20260906_061451_add_wiki_template_css from "./20260906_061451_add_wiki_template_css";
import * as migration_20260906_063753_add_personal_excerpt_richtext from "./20260906_063753_add_personal_excerpt_richtext";
import * as migration_20260906_065405_add_wiki_template_html from "./20260906_065405_add_wiki_template_html";
import * as migration_20260906_100908_add_market_economy_state from "./20260906_100908_add_market_economy_state";
import * as migration_20260906_165837_add_market_state_event_target from "./20260906_165837_add_market_state_event_target";
import * as migration_20260906_202925_add_voice_submissions from "./20260906_202925_add_voice_submissions";
import * as migration_20260907_012326_add_missions_created_by from "./20260907_012326_add_missions_created_by";
import * as migration_20260907_013724_make_missions_campaign_optional from "./20260907_013724_make_missions_campaign_optional";
import * as migration_20260907_041051_add_voice_script_spoiler from "./20260907_041051_add_voice_script_spoiler";
import * as migration_20260907_043339_add_voice_script_description from "./20260907_043339_add_voice_script_description";
import * as migration_20260907_044934_add_missions_discord_modlist_hash from "./20260907_044934_add_missions_discord_modlist_hash";
import * as migration_20260907_083010_add_voice_submission_description from "./20260907_083010_add_voice_submission_description";
import * as migration_20260907_090245_add_mission_ready_reminder_fields from "./20260907_090245_add_mission_ready_reminder_fields";
import * as migration_20260907_120754_add_story_beats from "./20260907_120754_add_story_beats";
import * as migration_20260907_124024_convert_story_beats_body_to_lexical from "./20260907_124024_convert_story_beats_body_to_lexical";
import * as migration_20260908_152021_add_opord_recall_minigame_stats from "./20260908_152021_add_opord_recall_minigame_stats";
import * as migration_20260908_172241_add_custom_minigame_collections from "./20260908_172241_add_custom_minigame_collections";
import * as migration_20260908_193107_add_creator_xp_bank_field from "./20260908_193107_add_creator_xp_bank_field";
import * as migration_20260908_194435_add_expose_edge_mines_field from "./20260908_194435_add_expose_edge_mines_field";
import * as migration_20260909_153427_add_opord_recall_best_times from "./20260909_153427_add_opord_recall_best_times";
import * as migration_20260909_223955_add_voice_script_draft_status from "./20260909_223955_add_voice_script_draft_status";
import * as migration_20260910_221018_make_missions_codename_optional from "./20260910_221018_make_missions_codename_optional";
import * as migration_20260910_222518_add_dashboard_layout_preference from "./20260910_222518_add_dashboard_layout_preference";
import * as migration_20260911_044754_add_poker_minigame_stats from "./20260911_044754_add_poker_minigame_stats";
import * as migration_20260911_052147_add_ribbon_submissions from "./20260911_052147_add_ribbon_submissions";
import * as migration_20260911_201559_add_award_advancement_series from "./20260911_201559_add_award_advancement_series";
import * as migration_20260912_051752_add_rank_promotion_ceiling from "./20260912_051752_add_rank_promotion_ceiling";
import * as migration_20260912_071740_add_blackjack_minigame_stats from "./20260912_071740_add_blackjack_minigame_stats";
import * as migration_20260912_231219_add_discord_cancelled_at from "./20260912_231219_add_discord_cancelled_at";
import * as migration_20260914_153046_add_chip_bank from "./20260914_153046_add_chip_bank";
import * as migration_20260914_171412_add_respawn_tickets from "./20260914_171412_add_respawn_tickets";
import * as migration_20260916_083158_add_game_map_system from "./20260916_083158_add_game_map_system";
import * as migration_20260916_185544_construction_timestamp_model from "./20260916_185544_construction_timestamp_model";
import * as migration_20260916_220224_add_map_labels_and_styling from "./20260916_220224_add_map_labels_and_styling";
import * as migration_20260917_023028_add_node_and_zone_resources from "./20260917_023028_add_node_and_zone_resources";
import * as migration_20260917_112258_add_zone_political_types from "./20260917_112258_add_zone_political_types";
import * as migration_20260918_170318_add_imminent_reminder_marker from "./20260918_170318_add_imminent_reminder_marker";
export const migrations = [
{
up: migration_20260820_004157.up,
down: migration_20260820_004157.down,
name: "20260820_004157",
},
{
up: migration_20260825_220000.up,
down: migration_20260825_220000.down,
name: "20260825_220000",
},
{
up: migration_20260826_050000_repair_shims_auxiliary_tables.up,
down: migration_20260826_050000_repair_shims_auxiliary_tables.down,
name: "20260826_050000_repair_shims_auxiliary_tables",
},
{
up: migration_20260826_060000_add_game_servers_event_target.up,
down: migration_20260826_060000_add_game_servers_event_target.down,
name: "20260826_060000_add_game_servers_event_target",
},
{
up: migration_20260827_005757.up,
down: migration_20260827_005757.down,
name: "20260827_005757",
},
{
up: migration_20260827_022334_add_eod_minesweeper_best_flags.up,
down: migration_20260827_022334_add_eod_minesweeper_best_flags.down,
name: "20260827_022334_add_eod_minesweeper_best_flags",
},
{
up: migration_20260827_213857_add_evaluations_collection.up,
down: migration_20260827_213857_add_evaluations_collection.down,
name: "20260827_213857_add_evaluations_collection",
},
{
up: migration_20260827_233224_add_mission_completed_at.up,
down: migration_20260827_233224_add_mission_completed_at.down,
name: "20260827_233224_add_mission_completed_at",
},
{
up: migration_20260828_011500_add_background_texture_preference.up,
down: migration_20260828_011500_add_background_texture_preference.down,
name: "20260828_011500_add_background_texture_preference",
},
{
up: migration_20260828_041615_add_campaign_mode.up,
down: migration_20260828_041615_add_campaign_mode.down,
name: "20260828_041615_add_campaign_mode",
},
{
up: migration_20260828_044506.up,
down: migration_20260828_044506.down,
name: "20260828_044506",
},
{
up: migration_20260831_142503.up,
down: migration_20260831_142503.down,
name: "20260831_142503",
},
{
up: migration_20260831_180233_assignment_transfers.up,
down: migration_20260831_180233_assignment_transfers.down,
name: "20260831_180233_assignment_transfers",
},
{
up: migration_20260901_014006_add_assignment_transfer_event_target.up,
down: migration_20260901_014006_add_assignment_transfer_event_target.down,
name: "20260901_014006_add_assignment_transfer_event_target",
},
{
up: migration_20260901_213108_add_ticket_votes_and_edit_history.up,
down: migration_20260901_213108_add_ticket_votes_and_edit_history.down,
name: "20260901_213108_add_ticket_votes_and_edit_history",
},
{
up: migration_20260901_222200_add_admin_page_permissions.up,
down: migration_20260901_222200_add_admin_page_permissions.down,
name: "20260901_222200_add_admin_page_permissions",
},
{
up: migration_20260902_195336_add_medal_backgrounds.up,
down: migration_20260902_195336_add_medal_backgrounds.down,
name: "20260902_195336_add_medal_backgrounds",
},
{
up: migration_20260903_035544.up,
down: migration_20260903_035544.down,
name: "20260903_035544",
},
{
up: migration_20260903_044047.up,
down: migration_20260903_044047.down,
name: "20260903_044047",
},
{
up: migration_20260903_053419.up,
down: migration_20260903_053419.down,
name: "20260903_053419",
},
{
up: migration_20260903_060000_add_radio_mode_stats.up,
down: migration_20260903_060000_add_radio_mode_stats.down,
name: "20260903_060000_add_radio_mode_stats",
},
{
up: migration_20260903_061000_add_radio_incorrect_counts.up,
down: migration_20260903_061000_add_radio_incorrect_counts.down,
name: "20260903_061000_add_radio_incorrect_counts",
},
{
up: migration_20260903_062000_add_aim_trainer_stats.up,
down: migration_20260903_062000_add_aim_trainer_stats.down,
name: "20260903_062000_add_aim_trainer_stats",
},
{
up: migration_20260904_230838_add_wiki_collections.up,
down: migration_20260904_230838_add_wiki_collections.down,
name: "20260904_230838_add_wiki_collections",
},
{
up: migration_20260905_183940_base_management.up,
down: migration_20260905_183940_base_management.down,
name: "20260905_183940_base_management",
},
{
up: migration_20260905_195456_labor_headcount.up,
down: migration_20260905_195456_labor_headcount.down,
name: "20260905_195456_labor_headcount",
},
{
up: migration_20260905_210310_labor_classifications.up,
down: migration_20260905_210310_labor_classifications.down,
name: "20260905_210310_labor_classifications",
},
{
up: migration_20260905_213824.up,
down: migration_20260905_213824.down,
name: "20260905_213824",
},
{
up: migration_20260905_215658.up,
down: migration_20260905_215658.down,
name: "20260905_215658",
},
{
up: migration_20260906_045502.up,
down: migration_20260906_045502.down,
name: "20260906_045502",
},
{
up: migration_20260906_050900_add_evaluation_reminders_field.up,
down: migration_20260906_050900_add_evaluation_reminders_field.down,
name: "20260906_050900_add_evaluation_reminders_field",
},
{
up: migration_20260906_061451_add_wiki_template_css.up,
down: migration_20260906_061451_add_wiki_template_css.down,
name: "20260906_061451_add_wiki_template_css",
},
{
up: migration_20260906_063753_add_personal_excerpt_richtext.up,
down: migration_20260906_063753_add_personal_excerpt_richtext.down,
name: "20260906_063753_add_personal_excerpt_richtext",
},
{
up: migration_20260906_065405_add_wiki_template_html.up,
down: migration_20260906_065405_add_wiki_template_html.down,
name: "20260906_065405_add_wiki_template_html",
},
{
up: migration_20260906_100908_add_market_economy_state.up,
down: migration_20260906_100908_add_market_economy_state.down,
name: "20260906_100908_add_market_economy_state",
},
{
up: migration_20260906_165837_add_market_state_event_target.up,
down: migration_20260906_165837_add_market_state_event_target.down,
name: "20260906_165837_add_market_state_event_target",
},
{
up: migration_20260906_202925_add_voice_submissions.up,
down: migration_20260906_202925_add_voice_submissions.down,
name: "20260906_202925_add_voice_submissions",
},
{
up: migration_20260907_012326_add_missions_created_by.up,
down: migration_20260907_012326_add_missions_created_by.down,
name: "20260907_012326_add_missions_created_by",
},
{
up: migration_20260907_013724_make_missions_campaign_optional.up,
down: migration_20260907_013724_make_missions_campaign_optional.down,
name: "20260907_013724_make_missions_campaign_optional",
},
{
up: migration_20260907_041051_add_voice_script_spoiler.up,
down: migration_20260907_041051_add_voice_script_spoiler.down,
name: "20260907_041051_add_voice_script_spoiler",
},
{
up: migration_20260907_043339_add_voice_script_description.up,
down: migration_20260907_043339_add_voice_script_description.down,
name: "20260907_043339_add_voice_script_description",
},
{
up: migration_20260907_044934_add_missions_discord_modlist_hash.up,
down: migration_20260907_044934_add_missions_discord_modlist_hash.down,
name: "20260907_044934_add_missions_discord_modlist_hash",
},
{
up: migration_20260907_083010_add_voice_submission_description.up,
down: migration_20260907_083010_add_voice_submission_description.down,
name: "20260907_083010_add_voice_submission_description",
},
{
up: migration_20260907_090245_add_mission_ready_reminder_fields.up,
down: migration_20260907_090245_add_mission_ready_reminder_fields.down,
name: "20260907_090245_add_mission_ready_reminder_fields",
},
{
up: migration_20260907_120754_add_story_beats.up,
down: migration_20260907_120754_add_story_beats.down,
name: "20260907_120754_add_story_beats",
},
{
up: migration_20260907_124024_convert_story_beats_body_to_lexical.up,
down: migration_20260907_124024_convert_story_beats_body_to_lexical.down,
name: "20260907_124024_convert_story_beats_body_to_lexical",
},
{
up: migration_20260908_152021_add_opord_recall_minigame_stats.up,
down: migration_20260908_152021_add_opord_recall_minigame_stats.down,
name: "20260908_152021_add_opord_recall_minigame_stats",
},
{
up: migration_20260908_172241_add_custom_minigame_collections.up,
down: migration_20260908_172241_add_custom_minigame_collections.down,
name: "20260908_172241_add_custom_minigame_collections",
},
{
up: migration_20260908_193107_add_creator_xp_bank_field.up,
down: migration_20260908_193107_add_creator_xp_bank_field.down,
name: "20260908_193107_add_creator_xp_bank_field",
},
{
up: migration_20260908_194435_add_expose_edge_mines_field.up,
down: migration_20260908_194435_add_expose_edge_mines_field.down,
name: "20260908_194435_add_expose_edge_mines_field",
},
{
up: migration_20260909_153427_add_opord_recall_best_times.up,
down: migration_20260909_153427_add_opord_recall_best_times.down,
name: "20260909_153427_add_opord_recall_best_times",
},
{
up: migration_20260909_223955_add_voice_script_draft_status.up,
down: migration_20260909_223955_add_voice_script_draft_status.down,
name: "20260909_223955_add_voice_script_draft_status",
},
{
up: migration_20260910_221018_make_missions_codename_optional.up,
down: migration_20260910_221018_make_missions_codename_optional.down,
name: "20260910_221018_make_missions_codename_optional",
},
{
up: migration_20260910_222518_add_dashboard_layout_preference.up,
down: migration_20260910_222518_add_dashboard_layout_preference.down,
name: "20260910_222518_add_dashboard_layout_preference",
},
{
up: migration_20260911_044754_add_poker_minigame_stats.up,
down: migration_20260911_044754_add_poker_minigame_stats.down,
name: "20260911_044754_add_poker_minigame_stats",
},
{
up: migration_20260911_052147_add_ribbon_submissions.up,
down: migration_20260911_052147_add_ribbon_submissions.down,
name: "20260911_052147_add_ribbon_submissions",
},
{
up: migration_20260911_201559_add_award_advancement_series.up,
down: migration_20260911_201559_add_award_advancement_series.down,
name: "20260911_201559_add_award_advancement_series",
},
{
up: migration_20260912_051752_add_rank_promotion_ceiling.up,
down: migration_20260912_051752_add_rank_promotion_ceiling.down,
name: "20260912_051752_add_rank_promotion_ceiling",
},
{
up: migration_20260912_071740_add_blackjack_minigame_stats.up,
down: migration_20260912_071740_add_blackjack_minigame_stats.down,
name: "20260912_071740_add_blackjack_minigame_stats",
},
{
up: migration_20260912_231219_add_discord_cancelled_at.up,
down: migration_20260912_231219_add_discord_cancelled_at.down,
name: "20260912_231219_add_discord_cancelled_at",
},
{
up: migration_20260914_153046_add_chip_bank.up,
down: migration_20260914_153046_add_chip_bank.down,
name: "20260914_153046_add_chip_bank",
},
{
up: migration_20260914_171412_add_respawn_tickets.up,
down: migration_20260914_171412_add_respawn_tickets.down,
name: "20260914_171412_add_respawn_tickets",
},
{
up: migration_20260916_083158_add_game_map_system.up,
down: migration_20260916_083158_add_game_map_system.down,
name: "20260916_083158_add_game_map_system",
},
{
up: migration_20260916_185544_construction_timestamp_model.up,
down: migration_20260916_185544_construction_timestamp_model.down,
name: "20260916_185544_construction_timestamp_model",
},
{
up: migration_20260916_220224_add_map_labels_and_styling.up,
down: migration_20260916_220224_add_map_labels_and_styling.down,
name: "20260916_220224_add_map_labels_and_styling",
},
{
up: migration_20260917_023028_add_node_and_zone_resources.up,
down: migration_20260917_023028_add_node_and_zone_resources.down,
name: "20260917_023028_add_node_and_zone_resources",
},
{
up: migration_20260917_112258_add_zone_political_types.up,
down: migration_20260917_112258_add_zone_political_types.down,
name: "20260917_112258_add_zone_political_types",
},
{
up: migration_20260918_170318_add_imminent_reminder_marker.up,
down: migration_20260918_170318_add_imminent_reminder_marker.down,
name: "20260918_170318_add_imminent_reminder_marker",
},
];