UNPKG

giganet_conecta

Version:

Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql, Mongo e Elasticsearch).

83 lines (72 loc) 2.36 kB
const mongoose = require("mongoose"); module.exports = new mongoose.Schema( { // Status do registro (ativo, inativo, etc.) status: { type: String, required: true }, // Informações do veículo id_veiculo: { type: Number, required: true }, placa: { type: String, required: true, }, // Informações financeiras e de despesas id_fn_apagar: { type: Number, default: null }, id_filial: { type: Number, default: null }, // documento: { type: String, required: true }, // Informações adicionais nome: { type: String, required: true }, cidade: { type: String, default: null }, descricao: { type: String, default: null }, // Dados de emissão data_emissao: { type: String, required: true }, // Dados financeiros valor: { type: Number, min: 0, required: true, get: (value) => parseFloat(value).toFixed(2), set: (value) => parseFloat(value).toFixed(2), }, // Abastecimentos abastecimentos: { type: [ new mongoose.Schema( { id_veiculo_despesa: { type: Number, default: null }, // Informações do condutor id_condutor: { type: Number, required: true }, nome: { type: String, required: true }, // Dados do veículo kilometragem: { type: Number, min: 0, required: true }, quantidade_litros: { type: Number, min: 0, required: true }, valor_litro: { type: Number, min: 0, required: true, get: (value) => parseFloat(value).toFixed(2), set: (value) => parseFloat(value).toFixed(2), }, descricao: { type: String, default: null }, }, { _id: false } ), ], required: true, }, // Imagens relacionadas images: { type: [ new mongoose.Schema( { file_path_telegram: { type: String, required: true }, file_path: { type: String, required: true }, key: { type: String, required: true }, }, { _id: false } // Desativa o _id no subdocumento ), ], required: true, }, }, { timestamps: true } );