package protocol

//指定的请求头字段
const (
	// HeaderAccessToken  string = "x-mmm-accesstoken"
	HeaderAccessToken  string = "Authorization"
	HeaderRefreshToken string = "x-mmm-refreshtoken"
)

//用来存储从token中解析出来的内容对应的键名
const (
	HeaderCompanyid  string = "header_companyid"
	HeaderUserid     string = "header_userid"
	HeaderUCompanyid string = "header_ucompanyid"
)

//BaseHeader 请求的header数据
//减少在具体业务方法中使用 this.Ctx.Input.Header("xxxx")
type BaseHeader struct {
	AccessToken  string
	RefreshToken string
}

//RequestLogin 登录请求
type RequestLogin struct {
	Account  string `json:"account"`
	Password string `json:"password"`
}

//RequestLoginSms 短信验证登录请求
type RequestLoginSms struct {
	Account string `json:"account"`
	Code    string `json:"code"`
}

//ResponseLogin 登录响应
type ResponseLogin struct {
	Access LoginAuthToken `json:"access"`
}

type LoginAuthToken struct {
	AccessToken string `json:"access_token"`
	ExpiresIn   int64  `json:"expires_in"`
	// RefreshToken   string `json:"refresh_token"`
	// RefreshExpires int64  `json:"refresh_expires"`
}

//RequestSwapCompany 切换公司
type RequestSwapCompany struct {
	CompanyId int64 `json:"company_id"`
}

// ResponseSwapCompany ...
type ResponseSwapCompany struct {
	LoginAuthToken
}

//ResponseMeInfo 用户个人的me信息
type ResponseMeInfo struct {
	NickName    string `json:"nick_name"`
	Icon        string `json:"icon"`
	Companyid   int64  `json:"company_id"`
	Companyname string `json:"company_name"`
	Logo        string `json:"logo"`
	AdminType   int    `json:"admin_type"`
	CreateTime  string `json:"create_time"`
}

type MeCompany struct {
	Id   int64  `json:"id"`
	Name string `json:"name"`
	Logo string `json:"logo"`
}