서비스 디테일과 서비스 서머리 분리

This commit is contained in:
2023-06-07 11:16:53 +09:00
parent 621fd880a2
commit 5696f177e2
3 changed files with 10 additions and 5 deletions

View File

@ -106,7 +106,7 @@ func (caller apiCaller) writeAccessableServices(w http.ResponseWriter) {
w.Write([]byte(","))
}
w.Write([]byte(fmt.Sprintf(`"%s":`, v.ServiceName)))
serptr := atomic.LoadPointer(&v.serviceSerialized)
serptr := atomic.LoadPointer(&v.serviceSummarySerialized)
w.Write(*(*[]byte)(serptr))
start = false
}

View File

@ -200,6 +200,7 @@ type serviceDescription struct {
apiUsers unsafe.Pointer
divisionsSerialized unsafe.Pointer
serviceSerialized unsafe.Pointer
serviceSummarySerialized unsafe.Pointer
}
func (sh *serviceDescription) readProfile(authtype string, id string, binfo string) (email string, err error) {
@ -330,9 +331,12 @@ func (sh *serviceDescription) prepare(mg *Maingate) error {
mg.apiTokenToService.add(keyid.Hex(), sh.ServiceCode)
}
bt, _ := json.Marshal(sh.ServiceDescriptionSummary)
bt, _ := json.Marshal(sh)
atomic.StorePointer(&sh.serviceSerialized, unsafe.Pointer(&bt))
btsum, _ := json.Marshal(sh.ServiceDescriptionSummary)
atomic.StorePointer(&sh.serviceSummarySerialized, unsafe.Pointer(&btsum))
logger.Println("service is ready :", sh.ServiceName, sh.ServiceCode, sh.UseWhitelist, sh.ApiUsers, string(divmarshaled))
return nil

View File

@ -286,6 +286,7 @@ func (mg *Maingate) watchServiceCollection(parentctx context.Context, serveMux *
atomic.SwapPointer(&old.divisionsSerialized, data.Service.divisionsSerialized)
atomic.SwapPointer(&old.apiUsers, data.Service.apiUsers)
atomic.SwapPointer(&old.serviceSerialized, data.Service.serviceSerialized)
atomic.SwapPointer(&old.serviceSummarySerialized, data.Service.serviceSummarySerialized)
for _, token := range old.ServerApiTokens {
mg.apiTokenToService.remove(token.Hex())