giganet_conecta
Version:
Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql & Mongo).
247 lines (242 loc) • 6.15 kB
JavaScript
const { Model, DataTypes, fn } = require("sequelize");
module.exports = Vd_Contrato;
async function Vd_Contrato(sequelize) {
class Model_Vd_Contrato extends Model {}
Model_Vd_Contrato.init(
{
id: {
autoIncrement: true,
type: DataTypes.INTEGER,
allowNull: false,
primaryKey: true,
},
nome: {
type: DataTypes.STRING(200),
allowNull: false,
},
descricao: {
type: DataTypes.STRING(200),
allowNull: true,
},
id_tipo_documento: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_vendedor: {
type: DataTypes.INTEGER,
allowNull: true,
},
comissao: {
type: DataTypes.DECIMAL(5, 2),
allowNull: true,
},
id_carteira_cobranca: {
type: DataTypes.INTEGER,
allowNull: true,
},
valor_contrato: {
type: DataTypes.DECIMAL(15, 9),
allowNull: true,
},
Ativo: {
type: DataTypes.ENUM("S", "N"),
allowNull: true,
},
limitar_n_logins: {
type: DataTypes.ENUM("S", "N"),
allowNull: true,
defaultValue: "S",
},
logins_simultaneos: {
type: DataTypes.INTEGER,
allowNull: true,
defaultValue: 1,
},
valor_adicional: {
type: DataTypes.DECIMAL(15, 2),
allowNull: true,
},
tipo: {
type: DataTypes.ENUM("I", "T", "S", "SVA"),
allowNull: false,
defaultValue: "I",
},
tel_franquia_segundos: {
type: DataTypes.INTEGER,
allowNull: true,
},
tel_franquia_prefix: {
type: DataTypes.STRING(250),
allowNull: true,
},
id_cidade: {
type: DataTypes.INTEGER,
allowNull: true,
},
moeda: {
type: DataTypes.STRING(10),
allowNull: true,
defaultValue: "R$",
},
id_tipo_doc_ativ: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_produto_ativ: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_cond_pag_ativ: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_vendedor_ativ: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_filial: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_modelo: {
type: DataTypes.INTEGER,
allowNull: true,
},
tipo_doc_opc: {
type: DataTypes.INTEGER,
allowNull: true,
},
tipo_doc_opc2: {
type: DataTypes.INTEGER,
allowNull: true,
},
tipo_doc_opc3: {
type: DataTypes.INTEGER,
allowNull: true,
},
tipo_doc_opc4: {
type: DataTypes.INTEGER,
allowNull: true,
},
utilizar_desconto_ate_vencimento: {
type: DataTypes.ENUM("S", "N"),
allowNull: true,
defaultValue: "N",
},
id_produto_ate_vencimento: {
type: DataTypes.INTEGER,
allowNull: true,
},
valor_desconto: {
type: DataTypes.DECIMAL(15, 2),
allowNull: true,
},
utilizar_desconto_por_repeticao: {
type: DataTypes.ENUM("S", "N"),
allowNull: true,
defaultValue: "N",
},
qtde_repeticoes_desconto: {
type: DataTypes.INTEGER,
allowNull: true,
},
id_produto_contrato_vinc: {
type: DataTypes.INTEGER,
allowNull: true,
},
mostrar_na_viabilidade: {
type: DataTypes.ENUM("S", "N"),
allowNull: false,
defaultValue: "N",
},
utilizar_desconto_no_produto_plano: {
type: DataTypes.ENUM("S", "N"),
allowNull: false,
defaultValue: "N",
},
ultima_atualizacao: {
type: DataTypes.DATE,
allowNull: true,
defaultValue: fn("current_timestamp"),
},
fidelidade: {
type: DataTypes.INTEGER.UNSIGNED,
allowNull: true,
},
base_geracao_por_tipo_doc: {
type: DataTypes.ENUM("OPC", "PROD", "P"),
allowNull: true,
defaultValue: "P",
},
},
{
sequelize,
tableName: "vd_contratos",
timestamps: false,
indexes: [
{
name: "PRIMARY",
unique: true,
using: "BTREE",
fields: [{ name: "id" }],
},
{
name: "id_tipo_documento",
using: "BTREE",
fields: [{ name: "id_tipo_documento" }],
},
{
name: "id_vendedor",
using: "BTREE",
fields: [{ name: "id_vendedor" }],
},
{
name: "id_carteira_cobranca",
using: "BTREE",
fields: [{ name: "id_carteira_cobranca" }],
},
{
name: "id_tipo_doc_ativ",
using: "BTREE",
fields: [{ name: "id_tipo_doc_ativ" }],
},
{
name: "id_cidade",
using: "BTREE",
fields: [{ name: "id_cidade" }],
},
{
name: "id_produto_ativ",
using: "BTREE",
fields: [{ name: "id_produto_ativ" }],
},
{
name: "id_cond_pag_ativ",
using: "BTREE",
fields: [{ name: "id_cond_pag_ativ" }],
},
{
name: "id_vendedor_ativ",
using: "BTREE",
fields: [{ name: "id_vendedor_ativ" }],
},
{
name: "id_filial",
using: "BTREE",
fields: [{ name: "id_filial" }],
},
{
name: "id_modelo",
using: "BTREE",
fields: [{ name: "id_modelo" }],
},
{
name: "ultima_atualizacao",
using: "BTREE",
fields: [{ name: "ultima_atualizacao" }],
},
],
}
);
return Model_Vd_Contrato;
}