From 38c86aea82adfd43b6ac9bbe906cce0809976dfd Mon Sep 17 00:00:00 2001 From: Michael Quigley Date: Mon, 21 Nov 2022 14:51:11 -0500 Subject: [PATCH] implement store layer for service model changes (#103) --- controller/share_public.go | 10 ++++++---- controller/store/service.go | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/controller/share_public.go b/controller/share_public.go index 24c86e7e..ca97b77f 100644 --- a/controller/share_public.go +++ b/controller/share_public.go @@ -93,10 +93,12 @@ func (h *sharePublicHandler) Handle(params service.ShareParams, principal *rest_ frontendUrl := h.proxyUrl(svcName) sid, err := str.CreateService(envId, &store.Service{ - ZId: svcZId, - Name: svcName, - Frontend: frontendUrl, - Backend: params.Body.BackendProxyEndpoint, + ZId: svcZId, + Name: svcName, + Frontend: frontendUrl, + Backend: params.Body.BackendProxyEndpoint, + ShareMode: "public", + BackendMode: "proxy", }, tx) if err != nil { logrus.Errorf("error creating service record: %v", err) diff --git a/controller/store/service.go b/controller/store/service.go index 96a12ddf..01f4d707 100644 --- a/controller/store/service.go +++ b/controller/store/service.go @@ -12,15 +12,17 @@ type Service struct { Name string Frontend string Backend string + ShareMode string + BackendMode string } func (self *Store) CreateService(envId int, svc *Service, tx *sqlx.Tx) (int, error) { - stmt, err := tx.Prepare("insert into services (environment_id, z_id, name, frontend, backend) values ($1, $2, $3, $4, $5) returning id") + stmt, err := tx.Prepare("insert into services (environment_id, z_id, name, frontend, backend, share_mode, backend_mode) values ($1, $2, $3, $4, $5, $6, $7) returning id") if err != nil { return 0, errors.Wrap(err, "error preparing services insert statement") } var id int - if err := stmt.QueryRow(envId, svc.ZId, svc.Name, svc.Frontend, svc.Backend).Scan(&id); err != nil { + if err := stmt.QueryRow(envId, svc.ZId, svc.Name, svc.Frontend, svc.Backend, svc.ShareMode, svc.BackendMode).Scan(&id); err != nil { return 0, errors.Wrap(err, "error executing services insert statement") } return id, nil @@ -67,12 +69,12 @@ func (self *Store) FindServicesForEnvironment(envId int, tx *sqlx.Tx) ([]*Servic } func (self *Store) UpdateService(svc *Service, tx *sqlx.Tx) error { - sql := "update services set z_id = $1, name = $2, frontend = $3, backend = $4, updated_at = strftime('%Y-%m-%d %H:%M:%f', 'now') where id = $5" + sql := "update services set z_id = $1, name = $2, frontend = $3, backend = $4, share_mode = $5, backend_mode = $6, updated_at = strftime('%Y-%m-%d %H:%M:%f', 'now') where id = $7" stmt, err := tx.Prepare(sql) if err != nil { return errors.Wrap(err, "error preparing services update statement") } - _, err = stmt.Exec(svc.ZId, svc.Name, svc.Frontend, svc.Backend, svc.Id) + _, err = stmt.Exec(svc.ZId, svc.Name, svc.Frontend, svc.Backend, svc.ShareMode, svc.BackendMode, svc.Id) if err != nil { return errors.Wrap(err, "error executing services update statement") }