get model info by id 58/13558/1
authorrajdeep11 <rajdeep.sin@samsung.com>
Wed, 9 Oct 2024 05:56:50 +0000 (11:26 +0530)
committerrajdeep11 <rajdeep.sin@samsung.com>
Wed, 9 Oct 2024 05:56:50 +0000 (11:26 +0530)
Change-Id: I6f80ca928c507a4c71dbb29e5c881f37cfb984e2
Signed-off-by: rajdeep11 <rajdeep.sin@samsung.com>
apis/mmes_apis.go
db/iDB.go
db/modelInfoRepository.go
routers/router.go

index afbe154..482811e 100644 (file)
@@ -205,6 +205,32 @@ func (m *MmeApiHandler) GetModelInfo(cont *gin.Context) {
        }
 }
 
+func (m *MmeApiHandler) GetModelInfoById(cont *gin.Context) {
+       logging.INFO("Get model info by id ...")
+       id := cont.Param("id")
+       modelInfo, err := m.iDB.GetModelInfoById(id)
+       if err != nil {
+               logging.ERROR("error:", err)
+               cont.JSON(http.StatusInternalServerError, gin.H{
+                       "code":    http.StatusInternalServerError,
+                       "message": err.Error(),
+               })
+               return
+       }
+       if modelInfo.Id == ""{
+               statusCode := http.StatusNotFound
+               errMessage := fmt.Sprintf("Record not found with id: %s", id)
+               logging.ERROR("Record not found, send status code: ", statusCode)
+               cont.JSON(statusCode, gin.H{
+                       "code":    statusCode,
+                       "message": errMessage,
+               })
+               return
+       }
+       cont.JSON(http.StatusOK, modelInfo)
+       return
+}
+
 /*
 Provides the model details by param model name
 */
index 969c634..0d1be63 100644 (file)
--- a/db/iDB.go
+++ b/db/iDB.go
@@ -27,6 +27,7 @@ type IDB interface {
        GetAll() ([]models.ModelInfo, error)
        GetModelInfoByName(modelName string)([]models.ModelInfo, error)
        GetModelInfoByNameAndVer(modelName string, modelVersion string)(*models.ModelInfo, error)
+       GetModelInfoById(id string)(*models.ModelInfo, error)
        Update(modelInfo models.ModelInfo) error
        Delete(id string) error
 }
index e277253..c72b5b1 100644 (file)
@@ -81,4 +81,13 @@ func (repo *ModelInfoRepository) GetModelInfoByNameAndVer(modelName string, mode
                return nil, result.Error
        }
        return &modelInfo, nil
+}
+func (repo *ModelInfoRepository) GetModelInfoById(id string)(*models.ModelInfo, error){
+       logging.INFO("id is:", id)
+       var modelInfo models.ModelInfo
+       result := repo.db.Where("id = ?", id).Find(&modelInfo)
+       if result.Error != nil {
+               return nil, result.Error
+       }
+       return &modelInfo, nil
 }
\ No newline at end of file
index 365268b..3cd3235 100644 (file)
@@ -30,6 +30,7 @@ func InitRouter(handler *apis.MmeApiHandler) *gin.Engine {
        r.POST("/registerModel", handler.RegisterModel)
        r.GET("/getModelInfo", handler.GetModelInfo)
        r.PUT("/modelInfo/:id", handler.UpdateModel)
+       r.GET("/modelInfo/:id", handler.GetModelInfoById)
        r.DELETE("/modelInfo/:id", handler.DeleteModel)
        r.GET("/getModelInfo/:modelName", handler.GetModelInfoByName)
        r.POST("/uploadModel/:modelName", handler.UploadModel)