feat: Redis cluster support + version auto-detect + metrics API
This commit is contained in:
1 parent
8384006ae9
commit
3af65f2350
10 files changed
+485
-66
No files matched your search
@@ -20,9 +20,9 @@ func AccessibleInstances(c *gin.Context) {
|
||||
// admin/dba see all instances, filter by access_mode if needed
|
||||
query := model.DB.Order("id")
|
||||
if accessType == "readonly" {
|
||||
query = query.Where("access_mode IN ?", []string{"readwrite", "readonly"})
|
||||
query = query.Where("access_mode IN ? OR access_mode IS NULL", []string{"readwrite", "readonly"})
|
||||
} else {
|
||||
query = query.Where("access_mode IN ?", []string{"readwrite", "write"})
|
||||
query = query.Where("access_mode IN ? OR access_mode IS NULL", []string{"readwrite", "write"})
|
||||
}
|
||||
query.Find(&instances)
|
||||
} else {
|
||||
@@ -117,10 +117,11 @@ func TestNewConnection(c *gin.Context) {
|
||||
instance.Database = &req.Database
|
||||
}
|
||||
|
||||
success, message := testDBConnection(instance)
|
||||
if success {
|
||||
c.JSON(http.StatusOK, gin.H{"success": true, "message": message})
|
||||
} else {
|
||||
c.JSON(http.StatusBadRequest, gin.H{"success": false, "message": message})
|
||||
}
|
||||
result := testDBConnectionFull(instance)
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"success": result.Success,
|
||||
"message": result.Message,
|
||||
"version": result.Version,
|
||||
"cluster_mode": result.ClusterMode,
|
||||
})
|
||||
}
|
||||
Reference in new issue
Block a user