diff --git a/internal/db/models/http_web_dao.go b/internal/db/models/http_web_dao.go index a5a7cefa..420718fe 100644 --- a/internal/db/models/http_web_dao.go +++ b/internal/db/models/http_web_dao.go @@ -87,7 +87,16 @@ func (this *HTTPWebDAO) ComposeWebConfig(webId int64) (*serverconfigs.HTTPWebCon config := &serverconfigs.HTTPWebConfig{} config.Id = webId config.IsOn = web.IsOn == 1 - config.Root = web.Root + + // root + if IsNotNull(web.Root) { + rootConfig := &serverconfigs.HTTPRootConfig{} + err = json.Unmarshal([]byte(web.Root), rootConfig) + if err != nil { + return nil, err + } + config.Root = rootConfig + } // gzip if IsNotNull(web.Gzip) { @@ -255,10 +264,10 @@ func (this *HTTPWebDAO) ComposeWebConfig(webId int64) (*serverconfigs.HTTPWebCon } // 创建Web配置 -func (this *HTTPWebDAO) CreateWeb(root string) (int64, error) { +func (this *HTTPWebDAO) CreateWeb(rootJSON []byte) (int64, error) { op := NewHTTPWebOperator() op.State = HTTPWebStateEnabled - op.Root = root + op.Root = rootJSON _, err := this.Save(op) if err != nil { return 0, err @@ -267,13 +276,13 @@ func (this *HTTPWebDAO) CreateWeb(root string) (int64, error) { } // 修改Web配置 -func (this *HTTPWebDAO) UpdateWeb(webId int64, root string) error { +func (this *HTTPWebDAO) UpdateWeb(webId int64, rootJSON []byte) error { if webId <= 0 { return errors.New("invalid webId") } op := NewHTTPWebOperator() op.Id = webId - op.Root = root + op.Root = rootJSON _, err := this.Save(op) return err } diff --git a/internal/db/models/server_dao.go b/internal/db/models/server_dao.go index 8b3f9725..8e5781da 100644 --- a/internal/db/models/server_dao.go +++ b/internal/db/models/server_dao.go @@ -129,6 +129,12 @@ func (this *ServerDAO) CreateServer(adminId int64, userId int64, serverType serv } serverId = types.Int64(op.Id) + + _, err = this.RenewServerConfig(serverId) + if err != nil { + return serverId, err + } + return serverId, nil } @@ -320,7 +326,7 @@ func (this *ServerDAO) InitServerWeb(serverId int64) (int64, error) { return 0, errors.New("serverId should not be smaller than 0") } - webId, err := SharedHTTPWebDAO.CreateWeb("") + webId, err := SharedHTTPWebDAO.CreateWeb(nil) if err != nil { return 0, err } diff --git a/internal/rpc/services/service_http_location.go b/internal/rpc/services/service_http_location.go index b979331d..98072993 100644 --- a/internal/rpc/services/service_http_location.go +++ b/internal/rpc/services/service_http_location.go @@ -143,7 +143,7 @@ func (this *HTTPLocationService) FindAndInitHTTPLocationWebConfig(ctx context.Co } if webId <= 0 { - webId, err = models.SharedHTTPWebDAO.CreateWeb("") + webId, err = models.SharedHTTPWebDAO.CreateWeb(nil) if err != nil { return nil, err } diff --git a/internal/rpc/services/service_http_web.go b/internal/rpc/services/service_http_web.go index 8cc67bd1..7bab0afd 100644 --- a/internal/rpc/services/service_http_web.go +++ b/internal/rpc/services/service_http_web.go @@ -19,7 +19,7 @@ func (this *HTTPWebService) CreateHTTPWeb(ctx context.Context, req *pb.CreateHTT return nil, err } - webId, err := models.SharedHTTPWebDAO.CreateWeb(req.Root) + webId, err := models.SharedHTTPWebDAO.CreateWeb(req.RootJSON) if err != nil { return nil, err } @@ -47,7 +47,6 @@ func (this *HTTPWebService) FindEnabledHTTPWeb(ctx context.Context, req *pb.Find result := &pb.HTTPWeb{} result.Id = int64(web.Id) result.IsOn = web.IsOn == 1 - result.Root = web.Root return &pb.FindEnabledHTTPWebResponse{Web: result}, nil } @@ -79,7 +78,7 @@ func (this *HTTPWebService) UpdateHTTPWeb(ctx context.Context, req *pb.UpdateHTT return nil, err } - err = models.SharedHTTPWebDAO.UpdateWeb(req.WebId, req.Root) + err = models.SharedHTTPWebDAO.UpdateWeb(req.WebId, req.RootJSON) if err != nil { return nil, err }