InitAPI
This commit is contained in:
2
go.mod
2
go.mod
@@ -5,7 +5,7 @@ go 1.23.0
|
|||||||
toolchain go1.24.0
|
toolchain go1.24.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260203083753-4f28b9b589d6
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203150531-ef916fe2d995
|
||||||
github.com/beego/beego/v2 v2.3.7
|
github.com/beego/beego/v2 v2.3.7
|
||||||
github.com/nats-io/nats.go v1.41.2
|
github.com/nats-io/nats.go v1.41.2
|
||||||
github.com/smartystreets/goconvey v1.7.2
|
github.com/smartystreets/goconvey v1.7.2
|
||||||
|
|||||||
2
go.sum
2
go.sum
@@ -18,6 +18,8 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20260203074447-30e6c9a6183c h1:c19lIseiUk5Hp
|
|||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260203074447-30e6c9a6183c/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203074447-30e6c9a6183c/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
|
||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260203083753-4f28b9b589d6 h1:N+0xkioACl3PNo+MquCIIOL/kSICevg340IYOFGQeOw=
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203083753-4f28b9b589d6 h1:N+0xkioACl3PNo+MquCIIOL/kSICevg340IYOFGQeOw=
|
||||||
cloud.o-forge.io/core/oc-lib v0.0.0-20260203083753-4f28b9b589d6/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203083753-4f28b9b589d6/go.mod h1:vHWauJsS6ryf7UDqq8hRXoYD5RsONxcFTxeZPOztEuI=
|
||||||
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203150531-ef916fe2d995 h1:ZDRvnzTTNHgMm5hYmseHdEPqQ6rn/4v+P9f/JIxPaNw=
|
||||||
|
cloud.o-forge.io/core/oc-lib v0.0.0-20260203150531-ef916fe2d995/go.mod h1:T0UCxRd8w+qCVVC0NEyDiWIGC5ADwEbQ7hFcvftd4Ks=
|
||||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||||
github.com/beego/beego/v2 v2.3.7 h1:z4btKtjU/rfp5BiYHkGD2QPjK9i1E9GH+I7vfhn6Agk=
|
github.com/beego/beego/v2 v2.3.7 h1:z4btKtjU/rfp5BiYHkGD2QPjK9i1E9GH+I7vfhn6Agk=
|
||||||
github.com/beego/beego/v2 v2.3.7/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
|
github.com/beego/beego/v2 v2.3.7/go.mod h1:5cqHsOHJIxkq44tBpRvtDe59GuVRVv/9/tyVDxd5ce4=
|
||||||
|
|||||||
34
main.go
34
main.go
@@ -4,42 +4,10 @@ import (
|
|||||||
_ "oc-workflow/routers"
|
_ "oc-workflow/routers"
|
||||||
|
|
||||||
oclib "cloud.o-forge.io/core/oc-lib"
|
oclib "cloud.o-forge.io/core/oc-lib"
|
||||||
"cloud.o-forge.io/core/oc-lib/tools"
|
|
||||||
beego "github.com/beego/beego/v2/server/web"
|
|
||||||
"github.com/beego/beego/v2/server/web/filter/cors"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const appname = "oc-workflow"
|
const appname = "oc-workflow"
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
// Init the oc-lib
|
oclib.InitAPI(appname)
|
||||||
oclib.Init(appname)
|
|
||||||
|
|
||||||
// Load the right config file
|
|
||||||
o := oclib.GetConfLoader()
|
|
||||||
|
|
||||||
// feed the library with the loaded config
|
|
||||||
oclib.SetConfig(
|
|
||||||
o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"),
|
|
||||||
o.GetStringDefault("MONGO_DATABASE", "DC_myDC"),
|
|
||||||
o.GetStringDefault("NATS_URL", "nats://localhost:4222"),
|
|
||||||
o.GetStringDefault("LOKI_URL", ""),
|
|
||||||
o.GetStringDefault("LOG_LEVEL", "info"),
|
|
||||||
)
|
|
||||||
// Beego init
|
|
||||||
beego.BConfig.AppName = appname
|
|
||||||
beego.BConfig.Listen.HTTPPort = o.GetIntDefault("port", 8080)
|
|
||||||
beego.BConfig.WebConfig.DirectoryIndex = true
|
|
||||||
beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger"
|
|
||||||
api := &tools.API{}
|
|
||||||
api.Discovered(beego.BeeApp.Handlers.GetAllControllerInfo())
|
|
||||||
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
|
|
||||||
AllowAllOrigins: true,
|
|
||||||
AllowMethods: []string{"GET", "POST", "PUT", "DELETE", "OPTIONS"},
|
|
||||||
AllowHeaders: []string{"Origin", "Authorization", "Content-Type"},
|
|
||||||
ExposeHeaders: []string{"Content-Length", "Content-Type"},
|
|
||||||
AllowCredentials: true,
|
|
||||||
}))
|
|
||||||
beego.Run()
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
41
populate.sh
41
populate.sh
@@ -1,41 +0,0 @@
|
|||||||
#!/usr/bin/bash
|
|
||||||
|
|
||||||
|
|
||||||
# Must specify a JSON with a following structure:
|
|
||||||
|
|
||||||
ENDPOINT="http://localhost:8087"
|
|
||||||
if [[ $DOCKER_ENVIRONMENT ]]; then
|
|
||||||
ENDPOINT="http://oc-catalog:8087"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $DOCKER_ENDPOINT ]]; then
|
|
||||||
ENDPOINT="$DOCKER_ENDPOINT"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ -z $1 ]] && { echo "Must specify a json path"; exit 1; }
|
|
||||||
[[ ! -f $1 ]] && { echo "$1 is not a file"; exit 1; }
|
|
||||||
cat "$1" | jq empty || { echo "$1 is not a valid JSON"; exit 1; }
|
|
||||||
|
|
||||||
########
|
|
||||||
|
|
||||||
while read row; do
|
|
||||||
TRGT_ENDPOINT=$(echo $row | jq -r '.api')
|
|
||||||
|
|
||||||
while read item; do
|
|
||||||
echo `echo $item | jq -r '.name'` to $ENDPOINT${TRGT_ENDPOINT}
|
|
||||||
answer=$(curl --fail "$ENDPOINT${TRGT_ENDPOINT}" \
|
|
||||||
-X POST \
|
|
||||||
-H "Content-Type: application/json" \
|
|
||||||
-d "$item")
|
|
||||||
echo $answer
|
|
||||||
if [[ $? -ne 0 || "$answer" == *"<html>"* ]]; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done < <(echo "$row" | jq -c '.content[]')
|
|
||||||
done < <(jq -c '.[]' $1)
|
|
||||||
|
|
||||||
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo
|
|
||||||
echo "All models submitted correctly!"
|
|
||||||
Reference in New Issue
Block a user