giganet_conecta
Version:
Aplicação com o fim de facilitar conexões com APi's e Banco de Dados (MySql, Mongo e Elasticsearch).
162 lines (158 loc) • 3.29 kB
JavaScript
const mongoose = require("mongoose");
module.exports = new mongoose.Schema(
{
vehiclePlate: {
type: String,
required: true,
},
vehicleModel: {
type: String,
required: true,
},
costCenter: {
type: String,
default: null, // transactionStatus "Negada"
},
driverName: {
type: String,
required: true,
},
registry: {
type: String,
default: null, // transactionStatus "Negada"
},
card: {
type: Number,
required: true,
},
fuelType: {
type: String,
required: true,
},
amountLiters: {
type: Number,
required: true,
},
unitValue: {
type: Number,
required: true,
},
stockedValue: {
type: Number,
required: true,
},
cardBalance: {
type: String,
default: null, // transactionStatus "Negada"
},
transactionDate: {
type: Date,
required: true,
},
authorization: {
type: String,
required: true,
},
transactionStatus: {
type: String,
required: true,
enum: ["Aprovada", "Negada"],
},
supplyLocation: {
type: String,
required: true,
},
ecContractee: {
type: Number,
required: true,
},
gasStationAddress: {
type: String,
required: true,
},
network: {
type: String,
required: true,
},
odometer: {
type: Number,
required: true,
},
standardAverage: {
type: String,
default: null, // transactionStatus "Negada"
},
valueCostKmTraveled: {
type: Number,
required: true,
},
ipa: {
type: Number,
required: true,
},
anpIndex: {
type: String,
default: null, // transactionStatus "Negada"
},
registration: {
type: String,
default: null, // transactionStatus "Negada"
},
baseCode: {
type: String,
required: true,
},
status: {
type: String,
required: true,
enum: ["concluido", "aguardando_bot", "pendente", "inativo"],
},
idCondutor: {
type: Number,
required: false,
},
nomeCondutor: {
type: String,
required: false,
},
idVeiculo: {
type: Number,
required: false,
},
responseTelegram: {
type: Boolean,
required: false,
},
responseDate: {
type: Date,
required: false,
},
idVeiculosDespesa: {
type: Number,
required: false,
},
responsibleForCompletion: {
type: String,
required: false,
},
conclusonTicketDate: {
type: Date,
required: false,
},
// 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 }
);