/**
 * Created by zhang on 2018/9/3.
 */
import mongoose from "mongoose";
const uuidV1 = require('uuid/v1');
let moment = require("moment");
let projectFeatureModel = mongoose.model('std_project_feature_lib');
let compilationModel = mongoose.model('compilation');

let projectFeatureLib = {
    findByCondition:async function(conditions,options,single=true){
        if(single == true){
            return await projectFeatureModel.findOne(conditions,options);
        }else {
            return await  projectFeatureModel.find(conditions,options);
        }
    },
    addLib : async function (data){
        let now = new Date().getTime();
        let dateStr = moment(now).format('YYYY-MM-DD HH:mm:ss');
        //取编办信息
        let compilation = await compilationModel.findOne({_id:data.compilationId});
        if(compilation){
            let newLib = {
                creator: data.userAccount,
                createDate: now,
                recentOpr: [{operator: data.userAccount, operateDate: dateStr}],
                name: data.name,
                compilationId: data.compilationId,
                compilationName: compilation.name,
            };
            newLib.ID = uuidV1();
            return await projectFeatureModel.create(newLib);
        }else {
            throw  new Error("没有找到该编办！");
        }
    },
    saveLib:async function(param) {
        return await projectFeatureModel.findOneAndUpdate(param.query,param.data,{new:true});
    },
    deleteLibByID:async function(ID){
        return await projectFeatureModel.deleteOne({ID:ID});
    },
};

export default projectFeatureLib