From 1b90e12fecb437aaab2b79361998b3d3b867c1e6 Mon Sep 17 00:00:00 2001 From: mountain Date: Wed, 21 Jun 2023 18:14:44 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B9=88=20=EB=94=94=EB=B9=84=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=EC=B2=AB=20=EC=8B=A4=ED=96=89=ED=95=A0=20=EB=95=8C?= =?UTF-8?q?=20=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/api.go | 8 +++++++- core/watch.go | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/core/api.go b/core/api.go index bc7e060..6c3fc1f 100644 --- a/core/api.go +++ b/core/api.go @@ -303,6 +303,12 @@ func (caller apiCaller) serviceAPI(w http.ResponseWriter, r *http.Request) error return err } + if len(service.ServerApiTokens) == 0 { + service.ServerApiTokens = []primitive.ObjectID{ + primitive.NewObjectIDFromTimestamp(time.Now().Add(-time.Hour * 24 * 30 * 465)), + } + } + filter := bson.M{"_id": service.Id} success, _, err := mg.mongoClient.Update(CollectionService, filter, bson.M{ "$set": &service, @@ -335,7 +341,7 @@ func (caller apiCaller) maintenanceAPI(w http.ResponseWriter, r *http.Request) e } _, _, err := mg.mongoClient.Update(CollectionService, bson.M{ - "_Id": mg.service().Id, + "_id": mg.service().Id, }, bson.M{ "$set": bson.M{"divisions": divs}, }, options.Update().SetUpsert(false)) diff --git a/core/watch.go b/core/watch.go index 1e85173..06ecacf 100644 --- a/core/watch.go +++ b/core/watch.go @@ -286,9 +286,13 @@ func (mg *Maingate) watchServiceCollection(parentctx context.Context, serveMux * if err := data.Service.prepare(mg); err != nil { logger.Error("service cannot be prepared :", data.Service, err) } else { + // 내가 임시로 가지고 있던 서비스일 수 있다. + already := mg.service().Id == data.Service.Id logger.Println("service is on the board! :", data.Service) atomic.StorePointer(&mg.serviceptr, unsafe.Pointer(data.Service)) - serveMux.Handle(common.MakeHttpHandlerPattern(prefix, data.Service.ServiceCode, "/"), mg.service()) + if !already { + serveMux.Handle(common.MakeHttpHandlerPattern(prefix, data.Service.ServiceCode, "/"), mg.service()) + } } case "replace":