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.GET("/dbs/:databaseId", handlers.GetDatabase)
|
||||||
router.DELETE("/dbs/:databaseId", handlers.DeleteDatabase)
|
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)
|
router.GET("/", handlers.GetServerInfo)
|
||||||
|
|
||||||
return router
|
return router
|
||||||
|
|
|
@ -6,7 +6,7 @@ var collections = []Collection{
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetAllCollections(databaseId string) ([]Collection, RepositoryStatus) {
|
func GetAllCollections(databaseId string) ([]Collection, RepositoryStatus) {
|
||||||
var dbCollections []Collection
|
dbCollections := make([]Collection, 0)
|
||||||
|
|
||||||
for _, coll := range collections {
|
for _, coll := range collections {
|
||||||
if coll.internals.databaseId == databaseId {
|
if coll.internals.databaseId == databaseId {
|
||||||
|
|
|
@ -45,3 +45,44 @@ type Collection struct {
|
||||||
databaseId string
|
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