version split 수정
This commit is contained in:
@ -123,10 +123,8 @@ type serviceDescription struct {
|
||||
updateUserinfo func(info usertokeninfo) (bool, string, string)
|
||||
getProviderInfo func(platform string, uid string) (string, string, error)
|
||||
|
||||
divisionsForUsersSerialized []byte
|
||||
divisionsSerialized []byte
|
||||
serviceSerialized []byte
|
||||
serviceSummarySerialized []byte
|
||||
divisionsSplits map[string][]byte
|
||||
}
|
||||
|
||||
@ -189,9 +187,9 @@ func (sh *serviceDescription) prepare(mg *Maingate) error {
|
||||
}
|
||||
|
||||
divsForUsers := make(map[string]*DivisionForUser)
|
||||
var namesOnly []string
|
||||
defaultDivNames := make(map[string]bool)
|
||||
for dn, div := range divs {
|
||||
namesOnly = append(namesOnly, dn)
|
||||
defaultDivNames[dn] = true
|
||||
if div.State == DivisionState_Closed {
|
||||
continue
|
||||
}
|
||||
@ -230,25 +228,27 @@ func (sh *serviceDescription) prepare(mg *Maingate) error {
|
||||
}
|
||||
|
||||
sh.divisionsSerialized, _ = json.Marshal(divs)
|
||||
sh.divisionsForUsersSerialized, _ = json.Marshal(divsForUsers)
|
||||
|
||||
if len(sh.VersionSplits) == 0 {
|
||||
sh.VersionSplits = map[string]string{
|
||||
"default": strings.Join(namesOnly, ","),
|
||||
}
|
||||
}
|
||||
|
||||
sh.divisionsSplits = make(map[string][]byte)
|
||||
for ver, divnamesT := range sh.VersionSplits {
|
||||
divnames := strings.Split(divnamesT, ",")
|
||||
split := make(map[string]*DivisionForUser)
|
||||
for _, divname := range divnames {
|
||||
split[divname] = divsForUsers[divname]
|
||||
|
||||
// 스플릿 된 버전은 default에서 제거해야 한다.
|
||||
delete(defaultDivNames, divname)
|
||||
}
|
||||
splitMarshaled, _ := json.Marshal(split)
|
||||
sh.divisionsSplits[ver] = splitMarshaled
|
||||
}
|
||||
|
||||
defaultsDivs := make(map[string]*DivisionForUser)
|
||||
for divname := range defaultDivNames {
|
||||
defaultsDivs[divname] = divsForUsers[divname]
|
||||
}
|
||||
defaultMarshaled, _ := json.Marshal(defaultsDivs)
|
||||
sh.divisionsSplits["default"] = defaultMarshaled
|
||||
|
||||
sh.MaximumNumLinkAccount = mg.maingateConfig.MaximumNumLinkAccount
|
||||
sh.mongoClient = mg.mongoClient
|
||||
sh.auths = mg.auths
|
||||
@ -261,7 +261,6 @@ func (sh *serviceDescription) prepare(mg *Maingate) error {
|
||||
|
||||
sh.wl = mg.wl
|
||||
sh.bl = mg.bl
|
||||
sh.serviceSummarySerialized, _ = json.Marshal(sh.ServiceDescriptionSummary)
|
||||
sh.serviceSerialized, _ = json.Marshal(sh)
|
||||
|
||||
logger.Println("service is ready :", sh.ServiceCode, string(sh.serviceSerialized))
|
||||
|
||||
Reference in New Issue
Block a user