routes.go 2.63 KiB
Newer Older
Somnath Ghorpade's avatar
Somnath Ghorpade committed
package routes

import (
	"golangtemplate/servers/app/models"
	"golangtemplate/servers/app/modules/immudbcrudoperations"
	"golangtemplate/servers/app/modules/mongodbcrudoperations"
	"golangtemplate/servers/app/modules/mssqlservercrudoperations"
	mysqlcrudoperation "golangtemplate/servers/app/modules/mysqlcrudoperations"
	"golangtemplate/servers/middleware"
	"net/http"

	"corelab.mkcl.org/MKCLOS/coredevelopmentplatform/corepkgv2/routebuildermdl"

	"github.com/gin-gonic/gin"
)

// Init - route
func Init(g *gin.Engine) {
	o := g.Group("/o")
	r := g.Group("/r")
	r.Use(middleware.Auth())
	c := r.Group("/c")
	c.Use(middleware.RolebasedAuth())
	// use in case of mongo DB
	r.POST("/readData", mongodbcrudoperations.ReadData)
	r.POST("/insertData", mongodbcrudoperations.InsertData)
	r.POST("/updateData", mongodbcrudoperations.UpdateData)
	c.POST("/deleteData", mongodbcrudoperations.DeleteData)

	//use is case of mssql server
	o.POST("/readSqlServerData", mssqlservercrudoperations.ReadDataFromMSSQLServer)
	o.POST("/writeDataToSqlServer", mssqlservercrudoperations.WriteDataToMSSQLServer)
	o.POST("/updateSqlServerData", mssqlservercrudoperations.UpdateMSSQLServerData)
	o.POST("/deleteSqlServerData", mssqlservercrudoperations.DeleteDataFromMSSQLServer)

	// use in case of mysql DB
	o.POST("/readDataFromMySql", mysqlcrudoperation.ReadDataFromMySql)
	o.POST("/writeDataToMySql", mysqlcrudoperation.WriteDataToMySql)
	o.POST("/updateMySqlData", mysqlcrudoperation.UpdateMySqlData)
	o.POST("/deleteDataFromMySql", mysqlcrudoperation.DeleteDataFromMySql)

	//use in case of immudb
	o.POST("/getKeyData", immudbcrudoperations.GetKeyData)
	o.POST("/setKeyData", immudbcrudoperations.SetKeyData)
	o.POST("/setVerifiedKeys", immudbcrudoperations.SetVerifiedKeys)
	o.POST("/getAllKeysData", immudbcrudoperations.GetAllKeysData)
	o.POST("/getKeyHistory", immudbcrudoperations.GetKeyHistory)
	o.POST("/setExpirableKey", immudbcrudoperations.SetExpirableKey)
	o.POST("/getVerifiedKeyData", immudbcrudoperations.GetVerifiedKeyData)
	o.POST("/deleteKey", immudbcrudoperations.DeleteKey)
	o.POST("/createDatabase", immudbcrudoperations.CreateDatabase)
	o.POST("/createUser", immudbcrudoperations.CreateUser)
	o.POST("/listUsers", immudbcrudoperations.ListUsers)
	o.POST("/deleteDatabase", immudbcrudoperations.DeleteDatabase)
	o.POST("/listDatabases", immudbcrudoperations.ListDatabases)
	o.POST("/getActiveKeys", immudbcrudoperations.GetActiveKeys)

	//Use in case of generating token for login.
	o.POST("/Login", models.GenerateTokenForLogin)

	g.GET("/checkServerStatus", func(c *gin.Context) {
		c.String(http.StatusOK, "Server is running - OK")
	})
	routebuildermdl.Init(o, r, c, models.JWTKey)
}