vs-mongo-mart

Table of Contents

ActiveTask

{
    startdate: {type:Date, default:Date.now()},
    duedate:{ type:Date,default:''},
    finishdate:{ type:Date,default:''},

    complete:{ type:Boolean,default:false},
    level:{ type:String,default:'0'},//0-5

    workflow:{type:String, default:''}, //id of workflow
    flow: { type:String, default:''}, //id of flow in workflow
    group: { type: String, default: '' },   // refering to database
    work: { type: String, default: '' },   // refering to the collection
    dept: { type: String, default: ''},
    ref: { type: String, default: '' },   // refering to an item in the collection
    type: { type: String, default: ''}, //to identify the type
    assignees: { type: Array, default: [] },

    checks: { type: Object, default: {} },  // for specific review checks

    followup: { type: Boolean, default: false },
    employees: { type: Array, default: [] },
    notes: { type: String, default: '' },
    notify: { type: Array, default: [] },
    comments: { type: Array, default: [] },
    logs: {// this is datelog in projects, should we align?
        type: Array, default: [{
            date: Date.now,
            msg: 'Review Created'
        }]
    }
}

FinishedTask

{
    startdate: {type:Date, default:Date.now()},
    duedate:{ type:Date,default:''},
    finishdate:{ type:Date,default:''},

    complete:{ type:Boolean,default:false},
    level:{ type:String,default:'0'},//0-5

    workflow:{type:String, default:''}, //id of workflow
    flow: { type:String, default:''}, //id of flow in workflow
    group: { type: String, default: '' },   // refering to database
    work: { type: String, default: '' },   // refering to the collection
    dept: { type: String, default: ''},
    ref: { type: String, default: '' },   // refering to an item in the collection
    type: { type: String, default: ''}, //to identify the type
    assignees: { type: Array, default: [] },

    checks: { type: Object, default: {} },  // for specific review checks

    followup: { type: Boolean, default: false },
    employees: { type: Array, default: [] },
    notes: { type: String, default: '' },
    notify: { type: Array, default: [] },
    comments: { type: Array, default: [] },
    logs: {// this is datelog in projects, should we align?
        type: Array, default: [{
            date: Date.now,
            msg: 'Review Created'
        }]
    }
}

Workflow

// unique -> id
{
    id:{type:String,default:''},
    name:{type:String,default:''},
    dept:{type:String,default:''},
    group:{type:String,default:''},
    work:{type:String,default:''},
    watchers:{type:Array,default:[]},//people responsible for the overall flow
    workheaders:{type:Array,default:[]},
    flow:{type:Array,default:[]}
}

Todo

{
    type:{type:String,default:''}, // work | watching
    workflow:{type:String,default:''}

    // type watching only -
    // list:{type:Array,default:[]} // all of the active work

    // type work only -
    // todo:{type:Object,default:{}}
    // ref: {type:String,default:''} // id of work
    //
}