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).
411 lines
20 KiB
TypeScript
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",
|
|
},
|
|
];
|