UNPKG

fbhelpernodejs

Version:

Modulo para axuiliar a construção de bots

60 lines (56 loc) 2.25 kB
/** * Created by Junior on 02/03/2018. */ module.exports = restful => { const mongoose = restful.mongoose; const deepPopulate = require('mongoose-deep-populate')(mongoose); const message = { type: { type: String, required: true, default: 'carrossel', enum: ['image', 'carrossel', 'text', 'video', 'buttons', 'quickreply'] }, value: { type: String, required: false }, elements: [{ title: { type: String, required: false }, subTitle: { type: String, required: false }, image: { type: String, required: false }, url: { type: String, required: false }, callback: { type: String, required: false }, type: { type: String, required: false }, elements: [{ title: { type: String, required: false }, type: { type: String, required: false }, callback: { type: String, required: false } }] }] }; const BroadcastsSchema = new mongoose.Schema({ // type message: message, message2: message, msgsSent: { type: Number, required: false }, msgsErrors: { type: Number, required: false }, msgsRead: { type: Number, required: false }, finished: { type: Boolean, required: true, default: false }, createdAt: { type: Date, required: true, default: () => new Date() }, scheduledDate: { type: Date, required: true, default: () => new Date() }, beginSend: { type: Date, required: false }, finishedAt: { type: Date, required: false }, status: { type: String, required: true, enum: ['pendente', 'enviando', 'enviado'], default: 'pendente' }, page: { type: mongoose.Schema.Types.ObjectId, required: true, immutable: true, ref: 'Pages' }, channels: [{ channel: { type: mongoose.Schema.Types.ObjectId, ref: 'Channels', required: true }, sendAt: { type: Date, required: false }, broadcastID: { type: String, required: false } }], // ID DO FB creativeID: { type: String, required: false }, url: { type: String, required: false }, clicked: { type: Number, required: true, default: 0 }, labelMode: { type: Boolean, required: true, default: false } }); BroadcastsSchema.plugin(deepPopulate); return restful.model('Broadcasts', BroadcastsSchema); };