#!/usr/bin/env bash

# 指定新环境的地址
HOST_NEW=54.222.164.225:57017
PWD_NEW=k-caring

HOST=db.alphabets.cn:57017
DB=LightDB
PWD=e37cc2ba9de7
DATAPATH=/Users/lilin/Desktop

######################
## 导出
######################
if [ "$1" == "export" ]; then

# 指定APP的ID, 导出完整APP数据
mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=c986684082f1 --out="$DATAPATH"
mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=9bedd90dfc7b --out="$DATAPATH"
mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=admin --collection=system.users --query="{user: '9bedd90dfc7b'}" --out="$DATAPATH"

# 指定APP的ID, 导出APP管理数据
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1,domain:{\$in:['c986684082f1','9bedd90dfc7b']}}" --collection=apps --out="$DATAPATH"/data/apps.json

mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1,id:'r2space'}" --collection=users --out="$DATAPATH"/data/users.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1,corp:'d2d791f851c1',member:'55a8ae2a84abd90500189e7c'}" --collection=teams --out="$DATAPATH"/data/teams.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=authorities --out="$DATAPATH"/data/authorities.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=roles --out="$DATAPATH"/data/roles.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=boards --out="$DATAPATH"/data/boards.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=configurations --out="$DATAPATH"/data/configurations.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=functions --out="$DATAPATH"/data/functions.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=i18ns --out="$DATAPATH"/data/i18ns.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=routes --out="$DATAPATH"/data/routes.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=settings --out="$DATAPATH"/data/settings.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=structures --out="$DATAPATH"/data/structures.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=codes --out="$DATAPATH"/data/codes.json
mongoexport --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --sort="{_id:1}" --query="{valid:1}" --collection=files --out="$DATAPATH"/data/files.json

mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --collection fs.chunks --out="$DATAPATH"
mongodump --host=$HOST -u root -p $PWD --authenticationDatabase=admin --db=$DB --collection fs.files --out="$DATAPATH"

fi

######################
## 导入
######################
if [ "$1" == "import" ]; then

# 指定APP的ID, 导入完整APP数据
mongorestore --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=c986684082f1 --drop "$DATAPATH"/c986684082f1
mongorestore --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=9bedd90dfc7b --drop "$DATAPATH"/9bedd90dfc7b
mongorestore --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=admin "$DATAPATH"/admin

mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=apps --file="$DATAPATH"/data/apps.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=users --file="$DATAPATH"/data/users.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=teams --file="$DATAPATH"/data/teams.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=authorities --file="$DATAPATH"/data/authorities.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=roles --file="$DATAPATH"/data/roles.json

mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=boards --file="$DATAPATH"/data/boards.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=configurations --file="$DATAPATH"/data/configurations.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=functions --file="$DATAPATH"/data/functions.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=i18ns --file="$DATAPATH"/data/i18ns.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=routes --file="$DATAPATH"/data/routes.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=settings --file="$DATAPATH"/data/settings.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=structures --file="$DATAPATH"/data/structures.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=codes --file="$DATAPATH"/data/codes.json
mongoimport --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --drop --collection=files --file="$DATAPATH"/data/files.json

mongorestore --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --collection fs.chunks --drop "$DATAPATH"/$DB/fs.chunks.bson
mongorestore --host=$HOST_NEW -u root -p $PWD_NEW --authenticationDatabase=admin --db=$DB --collection fs.files --drop "$DATAPATH"/$DB/fs.files.bson

fi
