-- =====================================================================
-- TradeHub - regras por conta (aplicar depois de 002_alertas.sql)
-- Substitui a seccao "limites" do config.php, que deixa de ser usada.
-- =====================================================================

ALTER TABLE contas
  ADD COLUMN notificar TINYINT(1) NOT NULL DEFAULT 1 AFTER ativa;

CREATE TABLE IF NOT EXISTS regras (
  login             BIGINT UNSIGNED NOT NULL,
  tipo              VARCHAR(16)     NOT NULL,  -- alvo | perda_diaria | perda_total | saque
  ativo             TINYINT(1)      NOT NULL DEFAULT 0,

  -- limites: numero na moeda da conta, ou texto com % do saldo inicial
  valor             VARCHAR(32)     NULL,
  aviso_pct         DECIMAL(5,2)    NULL,      -- avisar ao atingir esta fracao

  -- saque
  periodicidade     VARCHAR(12)     NULL,      -- mensal | semanal | dias
  dia               SMALLINT        NULL,      -- 1-31 (mensal) ou 1-7, 1=Domingo
  intervalo_dias    SMALLINT        NULL,
  antecedencia_dias TINYINT         NULL,      -- avisar N dias antes
  ultimo_saque      DATE            NULL,

  atualizada_em     DATETIME        NOT NULL DEFAULT CURRENT_TIMESTAMP
                                    ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (login, tipo),
  CONSTRAINT fk_regras_conta FOREIGN KEY (login)
    REFERENCES contas (login) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
