package controllers

import (
	"cloud.o-forge.io/core/oc-lib/tools"
	beego "github.com/beego/beego/v2/server/web"
)

// VersionController operations for Version
type VersionController struct {
	beego.Controller
}

// @Title GetAll
// @Description get version
// @Success 200
// @router / [get]
func (c *VersionController) GetAll() {
	c.Data["json"] = map[string]string{
		"service": "oc-datacenter",
		"version": "1",
	}
	c.ServeJSON()
}

// @Title Status
// @Description get status
// @Success 200
// @router /status [get]
func (c *VersionController) Status() {
	errStr := ""
	api := tools.API{}
	state, code, err := api.GetState()
	if err != nil {
		errStr = err.Error()
	}
	c.Data["json"] = map[string]interface{}{
		"data": map[string]interface{}{
			"state": state.String(),
			"code":  state,
		},
		"error": errStr,
		"code":  code,
	}
	c.ServeJSON()
}