/**
 * Created by zhang on 2018/9/10.
 */

import mongoose from "mongoose";

const uuidV1 = require('uuid/v1');
let moment = require("moment");
let materialModel = mongoose.model('std_material_lib');

let materialLib = {
    findByCondition:async function(conditions,options,single=true){
        if(single == true){
            return await materialModel.findOne(conditions,options);
        }else {
            return await  materialModel.find(conditions,options);
        }
    },
    addLib : async function (data){
        let now = new Date().getTime();
        let dateStr = moment(now).format('YYYY-MM-DD HH:mm:ss');
        let newLib = {
            creator: data.userAccount,
            createDate: now,
            recentOpr: [{operator: data.userAccount, operateDate: dateStr}],
            name: data.name,
        };
        newLib.ID = uuidV1();
        return await materialModel.create(newLib);


    },
    saveLib:async function(param) {
        return await materialModel.findOneAndUpdate(param.query,param.data,{new:true});
    },
    deleteLibByID:async function(ID){
        return await materialModel.deleteOne({ID:ID});
    }
};

export default materialLib