mirror of https://github.com/pikami/cosmium.git
Added get APIs for Stored Procedures, Triggers and User Defined Functions
This commit is contained in:
parent
0689119a64
commit
a4181ef6bf
|
@ -0,0 +1,15 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
func GetOffers(c *gin.Context) {
|
||||
c.IndentedJSON(http.StatusOK, gin.H{
|
||||
"_rid": "",
|
||||
"_count": 0,
|
||||
"Offers": []interface{}{},
|
||||
})
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/pikami/cosmium/internal/repositories"
|
||||
)
|
||||
|
||||
func GetAllStoredProcedures(c *gin.Context) {
|
||||
databaseId := c.Param("databaseId")
|
||||
collectionId := c.Param("collId")
|
||||
|
||||
sps, status := repositories.GetAllStoredProcedures(databaseId, collectionId)
|
||||
|
||||
if status == repositories.StatusOk {
|
||||
c.IndentedJSON(http.StatusOK, gin.H{"_rid": "", "StoredProcedures": sps, "_count": len(sps)})
|
||||
return
|
||||
}
|
||||
|
||||
c.IndentedJSON(http.StatusInternalServerError, gin.H{"message": "Unknown error"})
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/pikami/cosmium/internal/repositories"
|
||||
)
|
||||
|
||||
func GetAllTriggers(c *gin.Context) {
|
||||
databaseId := c.Param("databaseId")
|
||||
collectionId := c.Param("collId")
|
||||
|
||||
triggers, status := repositories.GetAllTriggers(databaseId, collectionId)
|
||||
|
||||
if status == repositories.StatusOk {
|
||||
c.IndentedJSON(http.StatusOK, gin.H{"_rid": "", "Triggers": triggers, "_count": len(triggers)})
|
||||
return
|
||||
}
|
||||
|
||||
c.IndentedJSON(http.StatusInternalServerError, gin.H{"message": "Unknown error"})
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/pikami/cosmium/internal/repositories"
|
||||
)
|
||||
|
||||
func GetAllUserDefinedFunctions(c *gin.Context) {
|
||||
databaseId := c.Param("databaseId")
|
||||
collectionId := c.Param("collId")
|
||||
|
||||
udfs, status := repositories.GetAllUserDefinedFunctions(databaseId, collectionId)
|
||||
|
||||
if status == repositories.StatusOk {
|
||||
c.IndentedJSON(http.StatusOK, gin.H{"_rid": "", "UserDefinedFunctions": udfs, "_count": len(udfs)})
|
||||
return
|
||||
}
|
||||
|
||||
c.IndentedJSON(http.StatusInternalServerError, gin.H{"message": "Unknown error"})
|
||||
}
|
|
@ -18,6 +18,11 @@ func CreateRouter() *gin.Engine {
|
|||
router.GET("/dbs/:databaseId", handlers.GetDatabase)
|
||||
router.DELETE("/dbs/:databaseId", handlers.DeleteDatabase)
|
||||
|
||||
router.GET("/dbs/:databaseId/colls/:collId/udfs", handlers.GetAllUserDefinedFunctions)
|
||||
router.GET("/dbs/:databaseId/colls/:collId/sprocs", handlers.GetAllStoredProcedures)
|
||||
router.GET("/dbs/:databaseId/colls/:collId/triggers", handlers.GetAllTriggers)
|
||||
|
||||
router.GET("/offers", handlers.GetOffers)
|
||||
router.GET("/", handlers.GetServerInfo)
|
||||
|
||||
return router
|
||||
|
|
|
@ -6,7 +6,7 @@ var collections = []Collection{
|
|||
}
|
||||
|
||||
func GetAllCollections(databaseId string) ([]Collection, RepositoryStatus) {
|
||||
var dbCollections []Collection
|
||||
dbCollections := make([]Collection, 0)
|
||||
|
||||
for _, coll := range collections {
|
||||
if coll.internals.databaseId == databaseId {
|
||||
|
|
|
@ -45,3 +45,44 @@ type Collection struct {
|
|||
databaseId string
|
||||
}
|
||||
}
|
||||
|
||||
type UserDefinedFunction struct {
|
||||
Body string `json:"body"`
|
||||
ID string `json:"id"`
|
||||
Rid string `json:"_rid"`
|
||||
Ts int `json:"_ts"`
|
||||
Self string `json:"_self"`
|
||||
Etag string `json:"_etag"`
|
||||
internals struct {
|
||||
databaseId string
|
||||
collectionId string
|
||||
}
|
||||
}
|
||||
|
||||
type StoredProcedure struct {
|
||||
Body string `json:"body"`
|
||||
ID string `json:"id"`
|
||||
Rid string `json:"_rid"`
|
||||
Ts int `json:"_ts"`
|
||||
Self string `json:"_self"`
|
||||
Etag string `json:"_etag"`
|
||||
internals struct {
|
||||
databaseId string
|
||||
collectionId string
|
||||
}
|
||||
}
|
||||
|
||||
type Trigger struct {
|
||||
Body string `json:"body"`
|
||||
ID string `json:"id"`
|
||||
TriggerOperation string `json:"triggerOperation"`
|
||||
TriggerType string `json:"triggerType"`
|
||||
Rid string `json:"_rid"`
|
||||
Ts int `json:"_ts"`
|
||||
Self string `json:"_self"`
|
||||
Etag string `json:"_etag"`
|
||||
internals struct {
|
||||
databaseId string
|
||||
collectionId string
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
package repositories
|
||||
|
||||
var storedProcedures = []StoredProcedure{}
|
||||
|
||||
func GetAllStoredProcedures(databaseId string, collectionId string) ([]StoredProcedure, RepositoryStatus) {
|
||||
sps := make([]StoredProcedure, 0)
|
||||
|
||||
for _, coll := range storedProcedures {
|
||||
if coll.internals.databaseId == databaseId && coll.internals.collectionId == collectionId {
|
||||
sps = append(sps, coll)
|
||||
}
|
||||
}
|
||||
|
||||
return sps, StatusOk
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package repositories
|
||||
|
||||
var triggers = []Trigger{}
|
||||
|
||||
func GetAllTriggers(databaseId string, collectionId string) ([]Trigger, RepositoryStatus) {
|
||||
sps := make([]Trigger, 0)
|
||||
|
||||
for _, coll := range triggers {
|
||||
if coll.internals.databaseId == databaseId && coll.internals.collectionId == collectionId {
|
||||
sps = append(sps, coll)
|
||||
}
|
||||
}
|
||||
|
||||
return sps, StatusOk
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package repositories
|
||||
|
||||
var userDefinedFunctions = []UserDefinedFunction{}
|
||||
|
||||
func GetAllUserDefinedFunctions(databaseId string, collectionId string) ([]UserDefinedFunction, RepositoryStatus) {
|
||||
udfs := make([]UserDefinedFunction, 0)
|
||||
|
||||
for _, coll := range userDefinedFunctions {
|
||||
if coll.internals.databaseId == databaseId && coll.internals.collectionId == collectionId {
|
||||
udfs = append(udfs, coll)
|
||||
}
|
||||
}
|
||||
|
||||
return udfs, StatusOk
|
||||
}
|
Loading…
Reference in New Issue