package public

// user env ///////////////////////////////////////////////////////////////

var Env_dept					string = GetEnvif("DEPT")
var Env_userprofile				string = GetEnvif("USERPROFILE")
var Env_username				string = GetEnvif("USERNAME")
var Env_computername			string = GetEnvif("COMPUTERNAME")
var Env_homeshare				string = GetEnvif("HOMESHARE")
var Env_userdomain				string = GetEnvif("USERDOMAIN")



// computer env /////////////////////////////////////////////////////

const Env_FreeFileSyncExe		string = `C:\Program Files (x86)\zhiwei\FreeFileSync_10.22\FreeFileSync.exe`



// AD env ///////////////////////////////////////////////////////////

const Env_MainADHostname		string = "ADSERVER"
const Env_SMBAdserver 			string = `\\` +  Env_MainADHostname + `\`
const Env_ADSoft				string = Env_SMBAdserver + "software"
const Env_ADMain				string = Env_SMBAdserver + "ADMAIN"
var   Env_ADMainDeptShare		string = Env_ADMain + `\` + Env_dept + `\` + "部门共享"
const Env_ADSfoftlike			string = Env_ADSoft  + `\` + "softlike"



// app env ////////////////////////////////////////////////////////////////

const Debug						bool   = true
const DeamonPort				string = "16823"
const DeamonListen				string = ":" + DeamonPort
const ADServerDeamon			string = Env_MainADHostname + DeamonListen
const DocuBase					string =`C:\Users\Public\Documents\AD-Control\`



// backup env //////////////////////////////////////////////////////////////

var BackupVersion				string = "0416"
var BackupExtFile				string = ".ffs_batch"
var BackupReplaceKey					=[]byte("tengfei")



// wxwork env ///////////////////////////////////////////////////////////////

const WxworkBotLink				string = `https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=59107f72-5b72-4a20-a33c-fdb1cd46f2c6`

//
//
//
//  msg msG mSg mSG Msg MsG MSg MSG 
//
//


// msg env ////////////////////////////////////////////////////////////////

const EndSign					byte    = 125
const msgerror					string = "error"


// msg type ////////////////////////////////////////////////////////////////

const Msg_Report				string = "report"
const Msg_Exec_Shutdown			string = "shutdown"
const Msg_Exec_Reboot			string = "reboot"
const Msg_Backup				string = "backup"



// msg report type ///////////////////////////////////////////////////////////

const Msg_Report_Offwork		string = "offwork"



// msg backup status //////////////////////////////////////////////////////////////

const Msg_Backup_Status_Start	string = "start"
const Msg_Backup_Status_RFile	string = "rfile"
const Msg_Backup_Status_If		string = "if"
const Msg_Backup_Status_RunBak	string = "runbak"
const Msg_Backup_Status_Over	string = "over"
const Msg_Backup_Status_Error	string = msgerror


// msg exec status ////////////////////////////////////////////////////////////////

const Msg_Exec_State_Request	string = "request"
const Msg_Exec_State_ACK		string = "ack"




// Basic Json Fromat ///////////////////////////////////////////////////////
type MJbase struct{
	MsgType						string `json:"msgtype"`
	//MsgStatus					string `json:"msgstatus"`
	Username 					string `json:"username"`
	Computername 				string `json:"computername"`
}
// report Json Format //////////////////////////////////////////////////////
type MJreport struct {
	MJbase
	Report						string `json:"report"`
}

// Exec Json Fromat ///////////////////////////////////////////////////////
type MJexec struct {
	MJbase
	Status						string `json:"status"`
	Data						string `json:"data"`
	ExtData						string `json:"extdata"`
	Delay						string `json:"delay"`
	Explain						string `json:"explain"`
}
// backup Json Format /////////////////////////////////////////////////////
type MJbackup struct{
	MJbase
	Status						string `json:"status"`
	Version						string `json:"version"`
	DiskFree					string `json:"diskfree"`
	Error						bool   `json:"error"`
	BatchFileExist				bool   `json:"batchfileexist"`
	BatchFileData				[]byte `json:"batchfiledata"`
	BatchFileName				string `json:"batchfilename"`
	Explain						string `json:"explain"`
}
