ALTER TABLE packages
  ADD COLUMN IF NOT EXISTS picture VARCHAR (200),
  ADD COLUMN IF NOT EXISTS title VARCHAR (200),
  ADD COLUMN IF NOT EXISTS description TEXT,
  ADD COLUMN IF NOT EXISTS config_fields JSON;

ALTER TABLE shopping_cart
  ADD COLUMN config JSON;

ALTER TABLE shared.bank_billets ALTER COLUMN barcode DROP NOT NULL;

-- CON-382

ALTER TABLE packages
  ADD COLUMN contract_policy VARCHAR(100) NOT NULL DEFAULT 'AUTO';

INSERT INTO "shared"."packages" ("id",
                                 "name",
                                 "price",
                                 "quantity",
                                 "initial_date",
                                 "final_date",
                                 "validity",
                                 "created_at",
                                 "updated_at",
                                 "deleted_at",
                                 "types",
                                 "niche_id",
                                 "picture",
                                 "title",
                                 "description",
                                 "config_fields",
                                 "contract_policy")
VALUES
(DEFAULT,
 'statutory_journal',
 1700,
 1,
 NULL,
 NULL,
 NULL,
 DEFAULT,
 NULL,
 NULL,
 DEFAULT,
 NULL,
 'https://picsum.photos/365/200',
 'Revisão Estatutária',
 'Conte com a mais completa assessoria jurídica para revisar seu estatuto para fechar brechas e garantir a segurança nos documentos da sua igreja. Revisão do Estatuto atual, Análise da última Ata e do último relatório do Conselho Fiscal. Orientações Corretivas e Preventivas.',
 NULL,
 'MANUAL'),
(DEFAULT,
 'church_constitution',
 2500,
 1,
 NULL,
 NULL,
 NULL,
 DEFAULT,
 NULL,
 NULL,
 DEFAULT,
 NULL,
 'https://picsum.photos/365/200',
 'Constituição da sua igreja',
 'Formalização jurídica da igreja com elaboração do Estatuto, Registro no CNPJ e inscrição municipal. Orientações jurídicas e contábeis a respeito dos controles financeiros e cumprimento das obrigações legais.',
 NULL,
 'MANUAL');

CREATE TABLE contract_requests
(
  id         VARCHAR(36) NOT NULL DEFAULT generate_guid(),
  company_id VARCHAR(36) NOT NULL,
  package_id VARCHAR(36) NOT NULL,
  status     VARCHAR(10) NOT NULL DEFAULT 'pending',
  created_by VARCHAR(36) NOT NULL,
  updated_by VARCHAR(36),
  deleted_by VARCHAR(36),
  created_at TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
  updated_at TIMESTAMP   NOT NULL DEFAULT CURRENT_TIMESTAMP,
  deleted_at TIMESTAMP,

  CONSTRAINT contract_requests_pk PRIMARY KEY (id),
  CONSTRAINT contract_requests_company FOREIGN KEY (company_id) REFERENCES companies (id),
  CONSTRAINT contract_requests_package FOREIGN KEY (package_id) REFERENCES packages (id)
);
