5545 lines
104 KiB
JavaScript
5545 lines
104 KiB
JavaScript
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const db = require('../models');
|
|
const Users = db.users;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const LotteryGames = db.lottery_games;
|
|
|
|
const Draws = db.draws;
|
|
|
|
const DrawNumbers = db.draw_numbers;
|
|
|
|
const GameNumberRules = db.game_number_rules;
|
|
|
|
const AnalysisRuns = db.analysis_runs;
|
|
|
|
const NumberScores = db.number_scores;
|
|
|
|
const SuggestedCombinations = db.suggested_combinations;
|
|
|
|
const CombinationNumbers = db.combination_numbers;
|
|
|
|
const NumberCancellations = db.number_cancellations;
|
|
|
|
const AdminSettings = db.admin_settings;
|
|
|
|
const ExportJobs = db.export_jobs;
|
|
|
|
const LiveDrawSessions = db.live_draw_sessions;
|
|
|
|
const LiveEvents = db.live_events;
|
|
|
|
const SequentialGenerators = db.sequential_generators;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const LotteryGamesData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
"name": "Mega-Sena",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"game_type": "other",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"provider": "Caixa",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"min_number": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_number": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_min": 6,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_max": 15,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_numbers_per_bet": 6,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_cancelable_numbers": 31,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_history_window_draws": 50,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_format_mask": "00",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"draw_schedule_note": "Usar calendario oficial da Caixa para referencia.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
"name": "Quina",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"game_type": "milionaria",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"provider": "Caixa",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"min_number": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_number": 80,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_min": 5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_max": 15,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_numbers_per_bet": 5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_cancelable_numbers": 73,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_history_window_draws": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_format_mask": "00",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"draw_schedule_note": "Concursos frequentes; manter importacao diaria.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
"name": "Dupla Sena",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"game_type": "mega_sena",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"provider": "Caixa",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"min_number": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_number": 50,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_min": 6,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_max": 15,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_numbers_per_bet": 6,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_cancelable_numbers": 31,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_history_window_draws": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_format_mask": "00",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"draw_schedule_note": "Dois sorteios por concurso; modelar como duas listas main.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
"name": "Lotofacil",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"game_type": "dupla_sena",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"provider": "Caixa",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"min_number": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_number": 25,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_min": 15,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_per_bet_max": 20,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_numbers_per_bet": 15,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"max_cancelable_numbers": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_history_window_draws": 80,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_format_mask": "00",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"draw_schedule_note": "Alta frequencia; ajustar janela historica por performance.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const DrawsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_code": "MEGA-2974",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_number": 2974,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "canceled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scheduled_at": new Date('2026-02-24T23:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"drawn_at": new Date('2026-02-24T23:15:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_url": "https://example.caixa.gov.br/mega/2974",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_checksum": "chk_megasena_2974_v1",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"prize_pool_amount": 68000000.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_official": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_code": "MEGA-2975",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_number": 2975,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "scheduled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scheduled_at": new Date('2026-02-27T23:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"drawn_at": new Date('2026-02-27T23:15:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_url": "https://example.caixa.gov.br/mega/2975",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_checksum": "chk_megasena_2975_v0",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"prize_pool_amount": 70000000.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_official": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_code": "QUINA-6500",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_number": 6500,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "scheduled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scheduled_at": new Date('2026-02-23T23:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"drawn_at": new Date('2026-02-23T23:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_url": "https://example.caixa.gov.br/quina/6500",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_checksum": "chk_quina_6500_v1",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"prize_pool_amount": 12000000.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_official": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_code": "DUPLA-2800",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"contest_number": 2800,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "canceled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scheduled_at": new Date('2026-02-22T23:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"drawn_at": new Date('2026-02-22T23:12:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_url": "https://example.caixa.gov.br/dupla/2800",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"source_checksum": "chk_dupla_2800_v1",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"prize_pool_amount": 3500000.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_official": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const DrawNumbersData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_role": "main",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_role": "main",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 12,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_role": "main",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 19,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_role": "main",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const GameNumberRulesData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled_for_generation": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_tag": "cold",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_note": "Ativo por padrao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 7,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled_for_generation": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_tag": "cold",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_note": "Marcado como quente pelo editor.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 13,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled_for_generation": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_tag": "cold",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_note": "Anulado manualmente para teste.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 55,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_enabled_for_generation": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_tag": "canceled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"manual_note": "Ativo por padrao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const AnalysisRunsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 2975,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"mode": "live_now",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"engine": "monte_carlo",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"history_window_draws": 50,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_requested": 1000000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_processed": 250000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "completed",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-25T01:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"finished_at": new Date('2026-02-25T01:30:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"progress_percent": 25.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"run_label": "Mega 2975 previsao padrao",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"parameters_json": "{window:50,elite:10,cancel_limit:31}",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"result_summary": "Processamento parcial; ranking de dezenas em atualizacao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 6501,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"mode": "next_draw_prediction",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"engine": "markov_chain",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"history_window_draws": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_requested": 500000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_processed": 500000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "queued",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-24T01:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"finished_at": new Date('2026-02-24T01:22:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"progress_percent": 100.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"run_label": "Quina 6501 estatistica",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"parameters_json": "{window:60,top:10,radar:true}",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"result_summary": "Top 10 dezenas ranqueadas e combinacoes elite geradas.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 2801,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"mode": "next_draw_prediction",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"engine": "hybrid",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"history_window_draws": 80,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_requested": 200000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_processed": 200000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "queued",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-23T00:45:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"finished_at": new Date('2026-02-23T01:05:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"progress_percent": 100.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"run_label": "Dupla 2801 MonteCarlo",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"parameters_json": "{window:80,samples:200000}",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"result_summary": "Simulacao concluida; probabilidades normalizadas.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 3200,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"mode": "next_draw_prediction",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"engine": "hybrid",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"history_window_draws": 120,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_requested": 100000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combinations_processed": 100000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "canceled",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-22T18:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"finished_at": new Date('2026-02-22T18:07:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"progress_percent": 100.0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"run_label": "Lotofacil previsao futura",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"parameters_json": "{target:3200,window:120}",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"result_summary": "Geradas combinacoes baseadas em frequencia e atraso.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const NumberScoresData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"score": 0.92,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"probability_estimate": 0.031,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"classification": "elite_green",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"explanation": "Alta frequencia recente e bom balanceamento por decada.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 17,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"score": 0.86,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"probability_estimate": 0.029,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"classification": "canceled_by_rule",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"explanation": "Recorrencia acima da media na janela analisada.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 33,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"score": 0.71,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"probability_estimate": 0.024,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"classification": "canceled_by_rule",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"explanation": "Frequencia moderada e baixo intervalo desde ultima ocorrencia.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 58,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"score": 0.3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"probability_estimate": 0.012,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"classification": "neutral",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 25,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"explanation": "Baixa frequencia recente e alto atraso.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const SuggestedCombinationsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"category": "sequential_slice",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_count": 5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combo_score": 0.88,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"hit_probability_estimate": 0.0012,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combination_text": "04 17 33 44 60",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_sorted_ascending": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"category": "elite",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_count": 5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combo_score": 0.84,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"hit_probability_estimate": 0.0011,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combination_text": "04 17 22 33 55",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_sorted_ascending": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"category": "sequential_slice",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_count": 5,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combo_score": 0.8,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"hit_probability_estimate": 0.001,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combination_text": "08 17 33 41 60",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_sorted_ascending": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"category": "hot_set",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"numbers_count": 6,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combo_score": 0.62,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"hit_probability_estimate": 2.0e-06,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"rank_position": 12,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"combination_text": "03 10 24 31 45 58",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_sorted_ascending": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const CombinationNumbersData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"color_tag": "neutral",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 17,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"color_tag": "red",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 3,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 33,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"color_tag": "red",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"position_index": 4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 44,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"color_tag": "red",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const NumberCancellationsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scope": "by_target_contest",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 6501,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 72,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_type": "rule_violation",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_note": "Radar marcou como baixa contribuicao estatistica.",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_active": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scope": "global",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 6501,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 73,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_type": "admin_manual",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_note": "Anulacao manual para reduzir espaco de busca.",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_active": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scope": "by_analysis_run",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 2975,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 13,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_type": "rule_violation",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_note": "Exemplo de cancelamento no editor Mega-Sena.",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_active": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"scope": "global",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"target_contest_number": 3200,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 2,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_type": "admin_manual",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"reason_note": "Numero com baixa pontuacao na janela.",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"is_active": true,
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const AdminSettingsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"require_private_key": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"private_key_hint": "Key stored in ENV variable",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"allow_public_views": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"enable_live_mode": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"future_contest_max": 5000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_elite_combos_count": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_export_limit": 5000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_voice_name": "pt-BR-Female",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"global_notes": "Configuracao inicial para ambiente de homologacao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"require_private_key": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"private_key_hint": "Rotate key quarterly",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"allow_public_views": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"enable_live_mode": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"future_contest_max": 10000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_elite_combos_count": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_export_limit": 10000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_voice_name": "pt-BR-Female",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"global_notes": "Modo TTS habilitado para sessao ao vivo.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"require_private_key": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"private_key_hint": "Use secure vault storage",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"allow_public_views": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"enable_live_mode": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"future_contest_max": 5000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_elite_combos_count": 30,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_export_limit": 2000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_voice_name": "pt-BR-Female",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"global_notes": "Modo ao vivo desativado para manutencao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"require_private_key": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"private_key_hint": "Keep key offline backup",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"allow_public_views": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"enable_live_mode": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"future_contest_max": 5000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_elite_combos_count": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"default_export_limit": 1000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_voice_name": "pt-BR-Female",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"tts_enabled": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"global_notes": "Somente admin pode visualizar durante ajustes.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const ExportJobsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_type": "draw_results",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"format": "json",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "running",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"requested_at": new Date('2026-02-24T01:23:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"completed_at": new Date('2026-02-24T01:24:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "files" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_name": "quina_6501_elite_combos_csv",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_type": "numbers_scores",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"format": "json",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "failed",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"requested_at": new Date('2026-02-24T01:23:10Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"completed_at": new Date('2026-02-24T01:23:40Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "files" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_name": "quina_6501_scores_json",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_type": "numbers_scores",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"format": "csv",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "failed",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"requested_at": new Date('2026-02-25T01:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"completed_at": new Date('2026-02-25T01:40:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "files" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_name": "mega_2975_scores_csv",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_type": "draw_results",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"format": "csv",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "queued",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"requested_at": new Date('2026-02-22T02:02:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"completed_at": new Date('2026-02-22T02:02:10Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "files" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"export_name": "federal_5901_tickets_txt",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const LiveDrawSessionsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "live",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"auto_calculate_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"funnel_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"elite_combos_count": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_number": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-25T20:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"ended_at": new Date('2026-02-25T22:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"session_label": "Ao vivo Mega 2975",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "ended",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"auto_calculate_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"funnel_enabled": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"elite_combos_count": 30,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_number": 4,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-24T20:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"ended_at": new Date('2026-02-24T21:30:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"session_label": "Ao vivo Quina 6501",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "live",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"auto_calculate_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"funnel_enabled": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"elite_combos_count": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_number": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-23T19:30:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"ended_at": new Date('2026-02-23T20:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"session_label": "Revisao Dupla 2801",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "ended",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"auto_calculate_enabled": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"funnel_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"elite_combos_count": 10,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_number": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"fixed_start_enabled": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-22T19:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"ended_at": new Date('2026-02-22T19:05:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"session_label": "Teste Lotofacil",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const LiveEventsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_time": new Date('2026-02-25T20:01:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_type": "number_blinked",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"payload_text": "Sessao iniciada e auto-calcule ativado.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_time": new Date('2026-02-25T20:02:10Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_type": "tts_spoken",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 24,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"payload_text": "Dezena 24 subiu no ranking para elite.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_time": new Date('2026-02-25T20:03:30Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_type": "ball_drawn",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"payload_text": "Geradas 60 combinacoes elite para visualizacao.",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_time": new Date('2026-02-24T20:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"event_type": "prediction_updated",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"number_value": 0,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"payload_text": "Atualizacao de ranking de dezenas em andamento.",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
const SequentialGeneratorsData = [
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "stopped",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"current_number": 18,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_start": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_end": 60,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"batch_size": 1000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"apply_cancellations": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"highlight_probabilities": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-25T00:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"paused_at": new Date('2026-02-25T00:30:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"generator_label": "Sequencial Mega padrao",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "running",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"current_number": 36,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_start": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_end": 80,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"batch_size": 2000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"apply_cancellations": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"highlight_probabilities": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-24T00:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"paused_at": new Date('2026-02-24T00:10:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"generator_label": "Sequencial Quina radar",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "running",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"current_number": 50,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_start": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_end": 50,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"batch_size": 500,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"apply_cancellations": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"highlight_probabilities": false,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-23T00:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"paused_at": new Date('2026-02-23T00:05:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"generator_label": "Sequencial Dupla teste",
|
|
|
|
|
|
|
|
},
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
// type code here for "relation_one" field
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"status": "running",
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"current_number": 12,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_start": 1,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"sequence_end": 25,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"batch_size": 3000,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"apply_cancellations": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"highlight_probabilities": true,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"started_at": new Date('2026-02-22T00:00:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"paused_at": new Date('2026-02-22T00:20:00Z'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"generator_label": "Sequencial Lotofacil",
|
|
|
|
|
|
|
|
},
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateDrawWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const Draw0 = await Draws.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (Draw0?.setLottery_game)
|
|
{
|
|
await
|
|
Draw0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const Draw1 = await Draws.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (Draw1?.setLottery_game)
|
|
{
|
|
await
|
|
Draw1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const Draw2 = await Draws.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (Draw2?.setLottery_game)
|
|
{
|
|
await
|
|
Draw2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const Draw3 = await Draws.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (Draw3?.setLottery_game)
|
|
{
|
|
await
|
|
Draw3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateDrawNumberWithDraw() {
|
|
|
|
const relatedDraw0 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const DrawNumber0 = await DrawNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (DrawNumber0?.setDraw)
|
|
{
|
|
await
|
|
DrawNumber0.
|
|
setDraw(relatedDraw0);
|
|
}
|
|
|
|
const relatedDraw1 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const DrawNumber1 = await DrawNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (DrawNumber1?.setDraw)
|
|
{
|
|
await
|
|
DrawNumber1.
|
|
setDraw(relatedDraw1);
|
|
}
|
|
|
|
const relatedDraw2 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const DrawNumber2 = await DrawNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (DrawNumber2?.setDraw)
|
|
{
|
|
await
|
|
DrawNumber2.
|
|
setDraw(relatedDraw2);
|
|
}
|
|
|
|
const relatedDraw3 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const DrawNumber3 = await DrawNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (DrawNumber3?.setDraw)
|
|
{
|
|
await
|
|
DrawNumber3.
|
|
setDraw(relatedDraw3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateGameNumberRuleWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const GameNumberRule0 = await GameNumberRules.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (GameNumberRule0?.setLottery_game)
|
|
{
|
|
await
|
|
GameNumberRule0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const GameNumberRule1 = await GameNumberRules.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (GameNumberRule1?.setLottery_game)
|
|
{
|
|
await
|
|
GameNumberRule1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const GameNumberRule2 = await GameNumberRules.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (GameNumberRule2?.setLottery_game)
|
|
{
|
|
await
|
|
GameNumberRule2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const GameNumberRule3 = await GameNumberRules.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (GameNumberRule3?.setLottery_game)
|
|
{
|
|
await
|
|
GameNumberRule3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateAnalysisRunWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const AnalysisRun0 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (AnalysisRun0?.setLottery_game)
|
|
{
|
|
await
|
|
AnalysisRun0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const AnalysisRun1 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (AnalysisRun1?.setLottery_game)
|
|
{
|
|
await
|
|
AnalysisRun1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const AnalysisRun2 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (AnalysisRun2?.setLottery_game)
|
|
{
|
|
await
|
|
AnalysisRun2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const AnalysisRun3 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (AnalysisRun3?.setLottery_game)
|
|
{
|
|
await
|
|
AnalysisRun3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function associateAnalysisRunWithReference_draw() {
|
|
|
|
const relatedReference_draw0 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const AnalysisRun0 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (AnalysisRun0?.setReference_draw)
|
|
{
|
|
await
|
|
AnalysisRun0.
|
|
setReference_draw(relatedReference_draw0);
|
|
}
|
|
|
|
const relatedReference_draw1 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const AnalysisRun1 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (AnalysisRun1?.setReference_draw)
|
|
{
|
|
await
|
|
AnalysisRun1.
|
|
setReference_draw(relatedReference_draw1);
|
|
}
|
|
|
|
const relatedReference_draw2 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const AnalysisRun2 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (AnalysisRun2?.setReference_draw)
|
|
{
|
|
await
|
|
AnalysisRun2.
|
|
setReference_draw(relatedReference_draw2);
|
|
}
|
|
|
|
const relatedReference_draw3 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const AnalysisRun3 = await AnalysisRuns.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (AnalysisRun3?.setReference_draw)
|
|
{
|
|
await
|
|
AnalysisRun3.
|
|
setReference_draw(relatedReference_draw3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateNumberScoreWithAnalysis_run() {
|
|
|
|
const relatedAnalysis_run0 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberScore0 = await NumberScores.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (NumberScore0?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberScore0.
|
|
setAnalysis_run(relatedAnalysis_run0);
|
|
}
|
|
|
|
const relatedAnalysis_run1 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberScore1 = await NumberScores.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (NumberScore1?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberScore1.
|
|
setAnalysis_run(relatedAnalysis_run1);
|
|
}
|
|
|
|
const relatedAnalysis_run2 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberScore2 = await NumberScores.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (NumberScore2?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberScore2.
|
|
setAnalysis_run(relatedAnalysis_run2);
|
|
}
|
|
|
|
const relatedAnalysis_run3 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberScore3 = await NumberScores.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (NumberScore3?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberScore3.
|
|
setAnalysis_run(relatedAnalysis_run3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateSuggestedCombinationWithAnalysis_run() {
|
|
|
|
const relatedAnalysis_run0 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const SuggestedCombination0 = await SuggestedCombinations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (SuggestedCombination0?.setAnalysis_run)
|
|
{
|
|
await
|
|
SuggestedCombination0.
|
|
setAnalysis_run(relatedAnalysis_run0);
|
|
}
|
|
|
|
const relatedAnalysis_run1 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const SuggestedCombination1 = await SuggestedCombinations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (SuggestedCombination1?.setAnalysis_run)
|
|
{
|
|
await
|
|
SuggestedCombination1.
|
|
setAnalysis_run(relatedAnalysis_run1);
|
|
}
|
|
|
|
const relatedAnalysis_run2 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const SuggestedCombination2 = await SuggestedCombinations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (SuggestedCombination2?.setAnalysis_run)
|
|
{
|
|
await
|
|
SuggestedCombination2.
|
|
setAnalysis_run(relatedAnalysis_run2);
|
|
}
|
|
|
|
const relatedAnalysis_run3 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const SuggestedCombination3 = await SuggestedCombinations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (SuggestedCombination3?.setAnalysis_run)
|
|
{
|
|
await
|
|
SuggestedCombination3.
|
|
setAnalysis_run(relatedAnalysis_run3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateCombinationNumberWithSuggested_combination() {
|
|
|
|
const relatedSuggested_combination0 = await SuggestedCombinations.findOne({
|
|
offset: Math.floor(Math.random() * (await SuggestedCombinations.count())),
|
|
});
|
|
const CombinationNumber0 = await CombinationNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (CombinationNumber0?.setSuggested_combination)
|
|
{
|
|
await
|
|
CombinationNumber0.
|
|
setSuggested_combination(relatedSuggested_combination0);
|
|
}
|
|
|
|
const relatedSuggested_combination1 = await SuggestedCombinations.findOne({
|
|
offset: Math.floor(Math.random() * (await SuggestedCombinations.count())),
|
|
});
|
|
const CombinationNumber1 = await CombinationNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (CombinationNumber1?.setSuggested_combination)
|
|
{
|
|
await
|
|
CombinationNumber1.
|
|
setSuggested_combination(relatedSuggested_combination1);
|
|
}
|
|
|
|
const relatedSuggested_combination2 = await SuggestedCombinations.findOne({
|
|
offset: Math.floor(Math.random() * (await SuggestedCombinations.count())),
|
|
});
|
|
const CombinationNumber2 = await CombinationNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (CombinationNumber2?.setSuggested_combination)
|
|
{
|
|
await
|
|
CombinationNumber2.
|
|
setSuggested_combination(relatedSuggested_combination2);
|
|
}
|
|
|
|
const relatedSuggested_combination3 = await SuggestedCombinations.findOne({
|
|
offset: Math.floor(Math.random() * (await SuggestedCombinations.count())),
|
|
});
|
|
const CombinationNumber3 = await CombinationNumbers.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (CombinationNumber3?.setSuggested_combination)
|
|
{
|
|
await
|
|
CombinationNumber3.
|
|
setSuggested_combination(relatedSuggested_combination3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateNumberCancellationWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const NumberCancellation0 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (NumberCancellation0?.setLottery_game)
|
|
{
|
|
await
|
|
NumberCancellation0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const NumberCancellation1 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (NumberCancellation1?.setLottery_game)
|
|
{
|
|
await
|
|
NumberCancellation1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const NumberCancellation2 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (NumberCancellation2?.setLottery_game)
|
|
{
|
|
await
|
|
NumberCancellation2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const NumberCancellation3 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (NumberCancellation3?.setLottery_game)
|
|
{
|
|
await
|
|
NumberCancellation3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateNumberCancellationWithAnalysis_run() {
|
|
|
|
const relatedAnalysis_run0 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberCancellation0 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (NumberCancellation0?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberCancellation0.
|
|
setAnalysis_run(relatedAnalysis_run0);
|
|
}
|
|
|
|
const relatedAnalysis_run1 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberCancellation1 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (NumberCancellation1?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberCancellation1.
|
|
setAnalysis_run(relatedAnalysis_run1);
|
|
}
|
|
|
|
const relatedAnalysis_run2 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberCancellation2 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (NumberCancellation2?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberCancellation2.
|
|
setAnalysis_run(relatedAnalysis_run2);
|
|
}
|
|
|
|
const relatedAnalysis_run3 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const NumberCancellation3 = await NumberCancellations.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (NumberCancellation3?.setAnalysis_run)
|
|
{
|
|
await
|
|
NumberCancellation3.
|
|
setAnalysis_run(relatedAnalysis_run3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateAdminSettingWithAdmin_user() {
|
|
|
|
const relatedAdmin_user0 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const AdminSetting0 = await AdminSettings.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (AdminSetting0?.setAdmin_user)
|
|
{
|
|
await
|
|
AdminSetting0.
|
|
setAdmin_user(relatedAdmin_user0);
|
|
}
|
|
|
|
const relatedAdmin_user1 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const AdminSetting1 = await AdminSettings.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (AdminSetting1?.setAdmin_user)
|
|
{
|
|
await
|
|
AdminSetting1.
|
|
setAdmin_user(relatedAdmin_user1);
|
|
}
|
|
|
|
const relatedAdmin_user2 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const AdminSetting2 = await AdminSettings.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (AdminSetting2?.setAdmin_user)
|
|
{
|
|
await
|
|
AdminSetting2.
|
|
setAdmin_user(relatedAdmin_user2);
|
|
}
|
|
|
|
const relatedAdmin_user3 = await Users.findOne({
|
|
offset: Math.floor(Math.random() * (await Users.count())),
|
|
});
|
|
const AdminSetting3 = await AdminSettings.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (AdminSetting3?.setAdmin_user)
|
|
{
|
|
await
|
|
AdminSetting3.
|
|
setAdmin_user(relatedAdmin_user3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateExportJobWithAnalysis_run() {
|
|
|
|
const relatedAnalysis_run0 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const ExportJob0 = await ExportJobs.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (ExportJob0?.setAnalysis_run)
|
|
{
|
|
await
|
|
ExportJob0.
|
|
setAnalysis_run(relatedAnalysis_run0);
|
|
}
|
|
|
|
const relatedAnalysis_run1 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const ExportJob1 = await ExportJobs.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (ExportJob1?.setAnalysis_run)
|
|
{
|
|
await
|
|
ExportJob1.
|
|
setAnalysis_run(relatedAnalysis_run1);
|
|
}
|
|
|
|
const relatedAnalysis_run2 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const ExportJob2 = await ExportJobs.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (ExportJob2?.setAnalysis_run)
|
|
{
|
|
await
|
|
ExportJob2.
|
|
setAnalysis_run(relatedAnalysis_run2);
|
|
}
|
|
|
|
const relatedAnalysis_run3 = await AnalysisRuns.findOne({
|
|
offset: Math.floor(Math.random() * (await AnalysisRuns.count())),
|
|
});
|
|
const ExportJob3 = await ExportJobs.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (ExportJob3?.setAnalysis_run)
|
|
{
|
|
await
|
|
ExportJob3.
|
|
setAnalysis_run(relatedAnalysis_run3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateLiveDrawSessionWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const LiveDrawSession0 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (LiveDrawSession0?.setLottery_game)
|
|
{
|
|
await
|
|
LiveDrawSession0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const LiveDrawSession1 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (LiveDrawSession1?.setLottery_game)
|
|
{
|
|
await
|
|
LiveDrawSession1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const LiveDrawSession2 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (LiveDrawSession2?.setLottery_game)
|
|
{
|
|
await
|
|
LiveDrawSession2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const LiveDrawSession3 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (LiveDrawSession3?.setLottery_game)
|
|
{
|
|
await
|
|
LiveDrawSession3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async function associateLiveDrawSessionWithTarget_draw() {
|
|
|
|
const relatedTarget_draw0 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const LiveDrawSession0 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (LiveDrawSession0?.setTarget_draw)
|
|
{
|
|
await
|
|
LiveDrawSession0.
|
|
setTarget_draw(relatedTarget_draw0);
|
|
}
|
|
|
|
const relatedTarget_draw1 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const LiveDrawSession1 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (LiveDrawSession1?.setTarget_draw)
|
|
{
|
|
await
|
|
LiveDrawSession1.
|
|
setTarget_draw(relatedTarget_draw1);
|
|
}
|
|
|
|
const relatedTarget_draw2 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const LiveDrawSession2 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (LiveDrawSession2?.setTarget_draw)
|
|
{
|
|
await
|
|
LiveDrawSession2.
|
|
setTarget_draw(relatedTarget_draw2);
|
|
}
|
|
|
|
const relatedTarget_draw3 = await Draws.findOne({
|
|
offset: Math.floor(Math.random() * (await Draws.count())),
|
|
});
|
|
const LiveDrawSession3 = await LiveDrawSessions.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (LiveDrawSession3?.setTarget_draw)
|
|
{
|
|
await
|
|
LiveDrawSession3.
|
|
setTarget_draw(relatedTarget_draw3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateLiveEventWithLive_draw_session() {
|
|
|
|
const relatedLive_draw_session0 = await LiveDrawSessions.findOne({
|
|
offset: Math.floor(Math.random() * (await LiveDrawSessions.count())),
|
|
});
|
|
const LiveEvent0 = await LiveEvents.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (LiveEvent0?.setLive_draw_session)
|
|
{
|
|
await
|
|
LiveEvent0.
|
|
setLive_draw_session(relatedLive_draw_session0);
|
|
}
|
|
|
|
const relatedLive_draw_session1 = await LiveDrawSessions.findOne({
|
|
offset: Math.floor(Math.random() * (await LiveDrawSessions.count())),
|
|
});
|
|
const LiveEvent1 = await LiveEvents.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (LiveEvent1?.setLive_draw_session)
|
|
{
|
|
await
|
|
LiveEvent1.
|
|
setLive_draw_session(relatedLive_draw_session1);
|
|
}
|
|
|
|
const relatedLive_draw_session2 = await LiveDrawSessions.findOne({
|
|
offset: Math.floor(Math.random() * (await LiveDrawSessions.count())),
|
|
});
|
|
const LiveEvent2 = await LiveEvents.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (LiveEvent2?.setLive_draw_session)
|
|
{
|
|
await
|
|
LiveEvent2.
|
|
setLive_draw_session(relatedLive_draw_session2);
|
|
}
|
|
|
|
const relatedLive_draw_session3 = await LiveDrawSessions.findOne({
|
|
offset: Math.floor(Math.random() * (await LiveDrawSessions.count())),
|
|
});
|
|
const LiveEvent3 = await LiveEvents.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (LiveEvent3?.setLive_draw_session)
|
|
{
|
|
await
|
|
LiveEvent3.
|
|
setLive_draw_session(relatedLive_draw_session3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
async function associateSequentialGeneratorWithLottery_game() {
|
|
|
|
const relatedLottery_game0 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const SequentialGenerator0 = await SequentialGenerators.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 0
|
|
});
|
|
if (SequentialGenerator0?.setLottery_game)
|
|
{
|
|
await
|
|
SequentialGenerator0.
|
|
setLottery_game(relatedLottery_game0);
|
|
}
|
|
|
|
const relatedLottery_game1 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const SequentialGenerator1 = await SequentialGenerators.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 1
|
|
});
|
|
if (SequentialGenerator1?.setLottery_game)
|
|
{
|
|
await
|
|
SequentialGenerator1.
|
|
setLottery_game(relatedLottery_game1);
|
|
}
|
|
|
|
const relatedLottery_game2 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const SequentialGenerator2 = await SequentialGenerators.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 2
|
|
});
|
|
if (SequentialGenerator2?.setLottery_game)
|
|
{
|
|
await
|
|
SequentialGenerator2.
|
|
setLottery_game(relatedLottery_game2);
|
|
}
|
|
|
|
const relatedLottery_game3 = await LotteryGames.findOne({
|
|
offset: Math.floor(Math.random() * (await LotteryGames.count())),
|
|
});
|
|
const SequentialGenerator3 = await SequentialGenerators.findOne({
|
|
order: [['id', 'ASC']],
|
|
offset: 3
|
|
});
|
|
if (SequentialGenerator3?.setLottery_game)
|
|
{
|
|
await
|
|
SequentialGenerator3.
|
|
setLottery_game(relatedLottery_game3);
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
|
up: async (queryInterface, Sequelize) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await LotteryGames.bulkCreate(LotteryGamesData);
|
|
|
|
|
|
|
|
|
|
await Draws.bulkCreate(DrawsData);
|
|
|
|
|
|
|
|
|
|
await DrawNumbers.bulkCreate(DrawNumbersData);
|
|
|
|
|
|
|
|
|
|
await GameNumberRules.bulkCreate(GameNumberRulesData);
|
|
|
|
|
|
|
|
|
|
await AnalysisRuns.bulkCreate(AnalysisRunsData);
|
|
|
|
|
|
|
|
|
|
await NumberScores.bulkCreate(NumberScoresData);
|
|
|
|
|
|
|
|
|
|
await SuggestedCombinations.bulkCreate(SuggestedCombinationsData);
|
|
|
|
|
|
|
|
|
|
await CombinationNumbers.bulkCreate(CombinationNumbersData);
|
|
|
|
|
|
|
|
|
|
await NumberCancellations.bulkCreate(NumberCancellationsData);
|
|
|
|
|
|
|
|
|
|
await AdminSettings.bulkCreate(AdminSettingsData);
|
|
|
|
|
|
|
|
|
|
await ExportJobs.bulkCreate(ExportJobsData);
|
|
|
|
|
|
|
|
|
|
await LiveDrawSessions.bulkCreate(LiveDrawSessionsData);
|
|
|
|
|
|
|
|
|
|
await LiveEvents.bulkCreate(LiveEventsData);
|
|
|
|
|
|
|
|
|
|
await SequentialGenerators.bulkCreate(SequentialGeneratorsData);
|
|
|
|
|
|
await Promise.all([
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Similar logic for "relation_many"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateDrawWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateDrawNumberWithDraw(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateGameNumberRuleWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateAnalysisRunWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
await associateAnalysisRunWithReference_draw(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateNumberScoreWithAnalysis_run(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateSuggestedCombinationWithAnalysis_run(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateCombinationNumberWithSuggested_combination(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateNumberCancellationWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateNumberCancellationWithAnalysis_run(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateAdminSettingWithAdmin_user(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateExportJobWithAnalysis_run(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateLiveDrawSessionWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
await associateLiveDrawSessionWithTarget_draw(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateLiveEventWithLive_draw_session(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await associateSequentialGeneratorWithLottery_game(),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
]);
|
|
|
|
},
|
|
|
|
down: async (queryInterface, Sequelize) => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
await queryInterface.bulkDelete('lottery_games', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('draws', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('draw_numbers', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('game_number_rules', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('analysis_runs', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('number_scores', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('suggested_combinations', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('combination_numbers', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('number_cancellations', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('admin_settings', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('export_jobs', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('live_draw_sessions', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('live_events', null, {});
|
|
|
|
|
|
await queryInterface.bulkDelete('sequential_generators', null, {});
|
|
|
|
|
|
},
|
|
}; |