Skip to content

Commit

Permalink
Use NameID instead of UUID (Fix #18)
Browse files Browse the repository at this point in the history
  • Loading branch information
ish-hcc committed Jul 3, 2024
1 parent 53abfa9 commit aca56e1
Show file tree
Hide file tree
Showing 6 changed files with 55 additions and 5 deletions.
2 changes: 2 additions & 0 deletions server/common/definitions.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ var ShortModuleName = "HONEYBEE"

// ModuleROOT : Variable name of the module's root path
var ModuleROOT = "CMHONEYBEE_ROOT"

const TableCountMaxLimit = 99
19 changes: 19 additions & 0 deletions server/dao/connectionInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package dao

import (
"errors"
"fmt"
"github.com/cloud-barista/cm-honeybee/server/common"
"github.com/cloud-barista/cm-honeybee/server/db"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/model"
"gorm.io/gorm"
Expand Down Expand Up @@ -84,6 +86,23 @@ func ConnectionInfoGetList(connectionInfo *model.ConnectionInfo, page int, row i
return connectionInfos, nil
}

func ConnectionInfoGetCount() (int64, error) {
var count int64

result := db.DB.Model(&model.ConnectionInfo{}).Count(&count)
err := result.Error
if err != nil {
return -1, err
}

if count >= common.TableCountMaxLimit {
return -1, fmt.Errorf("max connection info count exceeded."+
" (max: %d)", common.TableCountMaxLimit)
}

return count, nil
}

func ConnectionInfoUpdate(connectionInfo *model.ConnectionInfo) error {
result := db.DB.Model(&model.ConnectionInfo{}).Where("id = ?", connectionInfo.ID).Updates(connectionInfo)
err := result.Error
Expand Down
19 changes: 19 additions & 0 deletions server/dao/sourceGroup.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ package dao

import (
"errors"
"fmt"
"github.com/cloud-barista/cm-honeybee/server/common"
"github.com/cloud-barista/cm-honeybee/server/db"
"github.com/cloud-barista/cm-honeybee/server/lib/ssh"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/model"
Expand Down Expand Up @@ -70,6 +72,23 @@ func SourceGroupGetList(sourceGroup *model.SourceGroup, page int, row int) (*[]m
return sourceGroups, nil
}

func SourceGroupGetCount() (int64, error) {
var count int64

result := db.DB.Model(&model.SourceGroup{}).Count(&count)
err := result.Error
if err != nil {
return -1, err
}

if count >= common.TableCountMaxLimit {
return -1, fmt.Errorf("max connection info count exceeded."+
" (max: %d)", common.TableCountMaxLimit)
}

return count, nil
}

func SourceGroupUpdate(sourceGroup *model.SourceGroup) error {
result := db.DB.Model(&model.SourceGroup{}).Where("id = ?", sourceGroup.ID).Updates(sourceGroup)
err := result.Error
Expand Down
2 changes: 1 addition & 1 deletion server/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ go 1.21.6

require (
github.com/glebarez/go-sqlite v1.22.0 // indirect
github.com/google/uuid v1.6.0
github.com/jollaman999/utils v1.0.10 // Original codes from https://github.com/hcloud-classic/hcc-harp
github.com/labstack/echo/v4 v4.12.0
golang.org/x/sys v0.20.0 // indirect
Expand Down Expand Up @@ -35,6 +34,7 @@ require (
github.com/go-openapi/swag v0.23.0 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang-jwt/jwt v3.2.2+incompatible // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
github.com/josharian/intern v1.0.0 // indirect
Expand Down
9 changes: 7 additions & 2 deletions server/pkg/api/rest/controller/connectionInfo.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ package controller

import (
"errors"
"fmt"
"github.com/cloud-barista/cm-honeybee/server/dao"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/common"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/model"
"github.com/google/uuid"
"github.com/jollaman999/utils/iputil"
"github.com/labstack/echo/v4"
"net/http"
Expand Down Expand Up @@ -62,8 +62,13 @@ func CreateConnectionInfo(c echo.Context) error {
return err
}

connectionInfoCount, err := dao.ConnectionInfoGetCount()
if err != nil {
return common.ReturnErrorMsg(c, err.Error())
}

connectionInfo := &model.ConnectionInfo{
ID: uuid.New().String(),
ID: "connection-" + fmt.Sprintf("%02d", int(connectionInfoCount)+1),
Name: createConnectionInfoReq.Name,
Description: createConnectionInfoReq.Description,
SourceGroupID: sourceGroup.ID,
Expand Down
9 changes: 7 additions & 2 deletions server/pkg/api/rest/controller/sourceGroup.go
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package controller

import (
"fmt"
"github.com/cloud-barista/cm-honeybee/server/dao"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/common"
"github.com/cloud-barista/cm-honeybee/server/pkg/api/rest/model"
"github.com/google/uuid"
"github.com/jollaman999/utils/logger"
"github.com/labstack/echo/v4"
"net/http"
Expand Down Expand Up @@ -33,8 +33,13 @@ func CreateSourceGroup(c echo.Context) error {
return common.ReturnErrorMsg(c, "Please provide the name.")
}

sourceGroupCount, err := dao.SourceGroupGetCount()
if err != nil {
return common.ReturnErrorMsg(c, err.Error())
}

sourceGroup := &model.SourceGroup{
ID: uuid.New().String(),
ID: "group-" + fmt.Sprintf("%02d", int(sourceGroupCount)+1),
Name: createSourceGroupReq.Name,
Description: createSourceGroupReq.Description,
}
Expand Down

0 comments on commit aca56e1

Please sign in to comment.