version split 수정

This commit is contained in:
2023-09-04 11:15:05 +09:00
parent 9afa1d87e7
commit e18dc74dc2

View File

@ -124,11 +124,9 @@ 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
divisionsSerialized []byte
serviceSerialized []byte
divisionsSplits map[string][]byte
}
func (sh *serviceDescription) isValidToken(apiToken primitive.ObjectID) bool {
@ -190,9 +188,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
}
@ -231,25 +229,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.sessionProvider = mg.sessionProvider
@ -262,7 +262,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))