import Nedb from 'nedb'
import path from 'path'

let baseUrl = '/'

if (process.env.VUE_APP_CURRENTMODE === 'electron') {
  const { remote } = window.require('electron')
  baseUrl = remote.app.getPath('userData')
}

/**
 * 企业联系人
 */
const contacts = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/contacts.db')
})

/**
 * 部门信息
 */
const departments = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/departments.db')
})

/**
 * 客户联系人
 */
const customers = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/customers.db')
})

/**
 * 客户公司信息
 */
const corporations = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/corporations.db')
})

/**
 * 标签
 * @param {Array} Labels 标签
 * @param {string} WeChatId 绑定的微信id
 * @param {int} userId 用户 SupplierId +  UnionId
 */
const labels = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/labels.db')
})

/**
 * 添加好友记录
 */
const addCustomerFromSearchTask = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/addCustomerFromSearchTask.db')
})

/**
 * 群行为任务表
 * @param {string} Content 具体内容
 * @param {int} Action 行为指令
 * @param {int} taskId 任务id
 * @param {string} WeChatId 绑定的微信id
 * @param {int} result 绑定的微信id 0默认 1成功 2失败
 * @param {int} userId 用户 SupplierId +  UnionId
 */
const chatRoomTask = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/chatRoomTask.db')
})

/**
 * 群聊设置
 * @param {int} DoNotTouch 免打扰 1关闭 0开启
 * @param {int} SaveToAddress 保存到通讯录 0关闭 1开启
 * @param {int} SetInvitationConfirm 设置邀请进群确认 0关闭 1开启
 * @param {string} ChatRoomId 群id
 * @param {int} WeChatId 微信id
 * @param {int} userId 用户 SupplierId +  UnionId
 */
const chatRoomConfig = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/chatRoomConfig.db')
})

/**
 * 修改备注任务日志
 * @param {string} DelFlag 删除标志  1 删除备注 2 删除描述 4 删除号码；可组合
 * @param {string} Desc 描述
 * @param {string} Phone 电话号码
 * @param {string} Memo 备注
 * @param {string} FriendId 好友id
 * @param {string} WeChatId 微信id
 * @param {int} TaskId int 任务ID
 * @param {string} flag 任务类型 修改备注1 修改号码10 修改描述100 修改所有111 修改备注和号码11 修改备注和描述101 ...
 * @param {string} result 任务结果
 * @param {string} userId 当前用户
 */
const memoTask = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/memoTask.db')
})

/**
 * 红包统计
 * @param {string} InvalidTime 失效时间
 * @param {string} Key 红包key
 * @param {string} Title 说句话
 * @param {string} ContentType 消息类型
 * @param {string} FriendId 好友id
 * @param {boolean} IsSend 是微信发给好友 1是 0false
 * @param {string} MsgId 手机维护的消息id
 * @param {string} taskId PC维护的消息id
 * @param {string} WeChatId 微信id
 * @param {string} createTime 消息创建事件
 * @param {int} Amount 金额
 * @param {string} msgSvrId 微信内部消息唯一id
 * @param {int} opened 获取红包结果 0失败 1成功
 * @param {string} userId 当前用户
 */
const luckMoney = new Nedb({
  autoload: true,
  filename: path.join(baseUrl, '/luckMoney.db')
})

export default {
  contacts,
  departments,
  customers,
  corporations,
  addCustomerFromSearchTask,
  labels,
  chatRoomTask,
  chatRoomConfig,
  memoTask,
  luckMoney
}
