update swagger base path
All checks were successful
Release and Deploy / build (push) Successful in 1m48s
Release and Deploy / deploy (push) Successful in 22s

This commit is contained in:
Fran Jurmanović
2025-08-05 14:39:44 +02:00
parent ac61ba5223
commit 5324a41e05
12 changed files with 100 additions and 100 deletions

View File

@@ -11,7 +11,7 @@
// @license.url https://opensource.org/licenses/MIT // @license.url https://opensource.org/licenses/MIT
// //
// @host https://acc.jurmanovic.com // @host https://acc.jurmanovic.com
// @BasePath /api/v1 // @BasePath /v1
// @schemes http https // @schemes http https
// //
// @securityDefinitions.apikey BearerAuth // @securityDefinitions.apikey BearerAuth

View File

@@ -58,7 +58,7 @@ func NewConfigController(as *service.ConfigService, routeGroups *common.RouteGro
// @Failure 404 {object} error_handler.ErrorResponse "Server or config file not found" // @Failure 404 {object} error_handler.ErrorResponse "Server or config file not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/config/{file} [put] // @Router /server/{id}/config/{file} [put]
func (ac *ConfigController) UpdateConfig(c *fiber.Ctx) error { func (ac *ConfigController) UpdateConfig(c *fiber.Ctx) error {
restart := c.QueryBool("restart") restart := c.QueryBool("restart")
serverID := c.Params("id") serverID := c.Params("id")
@@ -106,7 +106,7 @@ func (ac *ConfigController) UpdateConfig(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Server or config file not found" // @Failure 404 {object} error_handler.ErrorResponse "Server or config file not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/config/{file} [get] // @Router /server/{id}/config/{file} [get]
func (ac *ConfigController) GetConfig(c *fiber.Ctx) error { func (ac *ConfigController) GetConfig(c *fiber.Ctx) error {
Model, err := ac.service.GetConfig(c) Model, err := ac.service.GetConfig(c)
if err != nil { if err != nil {
@@ -130,7 +130,7 @@ func (ac *ConfigController) GetConfig(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Server not found" // @Failure 404 {object} error_handler.ErrorResponse "Server not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/config [get] // @Router /server/{id}/config [get]
func (ac *ConfigController) GetConfigs(c *fiber.Ctx) error { func (ac *ConfigController) GetConfigs(c *fiber.Ctx) error {
Model, err := ac.service.GetConfigs(c) Model, err := ac.service.GetConfigs(c)
if err != nil { if err != nil {

View File

@@ -46,7 +46,7 @@ func NewLookupController(as *service.LookupService, routeGroups *common.RouteGro
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/lookup/tracks [get] // @Router /lookup/tracks [get]
func (ac *LookupController) GetTracks(c *fiber.Ctx) error { func (ac *LookupController) GetTracks(c *fiber.Ctx) error {
result, err := ac.service.GetTracks(c) result, err := ac.service.GetTracks(c)
if err != nil { if err != nil {
@@ -66,7 +66,7 @@ func (ac *LookupController) GetTracks(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/lookup/car-models [get] // @Router /lookup/car-models [get]
func (ac *LookupController) GetCarModels(c *fiber.Ctx) error { func (ac *LookupController) GetCarModels(c *fiber.Ctx) error {
result, err := ac.service.GetCarModels(c) result, err := ac.service.GetCarModels(c)
if err != nil { if err != nil {
@@ -86,7 +86,7 @@ func (ac *LookupController) GetCarModels(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/lookup/driver-categories [get] // @Router /lookup/driver-categories [get]
func (ac *LookupController) GetDriverCategories(c *fiber.Ctx) error { func (ac *LookupController) GetDriverCategories(c *fiber.Ctx) error {
result, err := ac.service.GetDriverCategories(c) result, err := ac.service.GetDriverCategories(c)
if err != nil { if err != nil {
@@ -106,7 +106,7 @@ func (ac *LookupController) GetDriverCategories(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/lookup/cup-categories [get] // @Router /lookup/cup-categories [get]
func (ac *LookupController) GetCupCategories(c *fiber.Ctx) error { func (ac *LookupController) GetCupCategories(c *fiber.Ctx) error {
result, err := ac.service.GetCupCategories(c) result, err := ac.service.GetCupCategories(c)
if err != nil { if err != nil {
@@ -126,7 +126,7 @@ func (ac *LookupController) GetCupCategories(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/lookup/session-types [get] // @Router /lookup/session-types [get]
func (ac *LookupController) GetSessionTypes(c *fiber.Ctx) error { func (ac *LookupController) GetSessionTypes(c *fiber.Ctx) error {
result, err := ac.service.GetSessionTypes(c) result, err := ac.service.GetSessionTypes(c)
if err != nil { if err != nil {

View File

@@ -61,7 +61,7 @@ func NewMembershipController(service *service.MembershipService, auth *middlewar
// @Failure 400 {object} error_handler.ErrorResponse "Invalid request body" // @Failure 400 {object} error_handler.ErrorResponse "Invalid request body"
// @Failure 401 {object} error_handler.ErrorResponse "Invalid credentials" // @Failure 401 {object} error_handler.ErrorResponse "Invalid credentials"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Router /v1/auth/login [post] // @Router /auth/login [post]
func (c *MembershipController) Login(ctx *fiber.Ctx) error { func (c *MembershipController) Login(ctx *fiber.Ctx) error {
type request struct { type request struct {
Username string `json:"username"` Username string `json:"username"`
@@ -96,7 +96,7 @@ func (c *MembershipController) Login(ctx *fiber.Ctx) error {
// @Failure 409 {object} error_handler.ErrorResponse "User already exists" // @Failure 409 {object} error_handler.ErrorResponse "User already exists"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership [post] // @Router /membership [post]
func (mc *MembershipController) CreateUser(c *fiber.Ctx) error { func (mc *MembershipController) CreateUser(c *fiber.Ctx) error {
type request struct { type request struct {
Username string `json:"username"` Username string `json:"username"`
@@ -128,7 +128,7 @@ func (mc *MembershipController) CreateUser(c *fiber.Ctx) error {
// @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions" // @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership [get] // @Router /membership [get]
func (mc *MembershipController) ListUsers(c *fiber.Ctx) error { func (mc *MembershipController) ListUsers(c *fiber.Ctx) error {
users, err := mc.service.ListUsers(c.UserContext()) users, err := mc.service.ListUsers(c.UserContext())
if err != nil { if err != nil {
@@ -150,7 +150,7 @@ func (mc *MembershipController) ListUsers(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 404 {object} error_handler.ErrorResponse "User not found" // @Failure 404 {object} error_handler.ErrorResponse "User not found"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership/{id} [get] // @Router /membership/{id} [get]
func (mc *MembershipController) GetUser(c *fiber.Ctx) error { func (mc *MembershipController) GetUser(c *fiber.Ctx) error {
id, err := uuid.Parse(c.Params("id")) id, err := uuid.Parse(c.Params("id"))
if err != nil { if err != nil {
@@ -175,7 +175,7 @@ func (mc *MembershipController) GetUser(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 404 {object} error_handler.ErrorResponse "User not found" // @Failure 404 {object} error_handler.ErrorResponse "User not found"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/auth/me [get] // @Router /auth/me [get]
func (mc *MembershipController) GetMe(c *fiber.Ctx) error { func (mc *MembershipController) GetMe(c *fiber.Ctx) error {
userID, ok := c.Locals("userID").(string) userID, ok := c.Locals("userID").(string)
if !ok || userID == "" { if !ok || userID == "" {
@@ -206,7 +206,7 @@ func (mc *MembershipController) GetMe(c *fiber.Ctx) error {
// @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions" // @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions"
// @Failure 404 {object} error_handler.ErrorResponse "User not found" // @Failure 404 {object} error_handler.ErrorResponse "User not found"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership/{id} [delete] // @Router /membership/{id} [delete]
func (mc *MembershipController) DeleteUser(c *fiber.Ctx) error { func (mc *MembershipController) DeleteUser(c *fiber.Ctx) error {
id, err := uuid.Parse(c.Params("id")) id, err := uuid.Parse(c.Params("id"))
if err != nil { if err != nil {
@@ -235,7 +235,7 @@ func (mc *MembershipController) DeleteUser(c *fiber.Ctx) error {
// @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions" // @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions"
// @Failure 404 {object} error_handler.ErrorResponse "User not found" // @Failure 404 {object} error_handler.ErrorResponse "User not found"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership/{id} [put] // @Router /membership/{id} [put]
func (mc *MembershipController) UpdateUser(c *fiber.Ctx) error { func (mc *MembershipController) UpdateUser(c *fiber.Ctx) error {
id, err := uuid.Parse(c.Params("id")) id, err := uuid.Parse(c.Params("id"))
if err != nil { if err != nil {
@@ -266,7 +266,7 @@ func (mc *MembershipController) UpdateUser(c *fiber.Ctx) error {
// @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions" // @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/membership/roles [get] // @Router /membership/roles [get]
func (mc *MembershipController) GetRoles(c *fiber.Ctx) error { func (mc *MembershipController) GetRoles(c *fiber.Ctx) error {
roles, err := mc.service.GetAllRoles(c.UserContext()) roles, err := mc.service.GetAllRoles(c.UserContext())
if err != nil { if err != nil {

View File

@@ -50,7 +50,7 @@ func NewServerController(ss *service.ServerService, routeGroups *common.RouteGro
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/api/server [get] // @Router /api/server [get]
func (ac *ServerController) GetAllApi(c *fiber.Ctx) error { func (ac *ServerController) GetAllApi(c *fiber.Ctx) error {
var filter model.ServerFilter var filter model.ServerFilter
if err := common.ParseQueryFilter(c, &filter); err != nil { if err := common.ParseQueryFilter(c, &filter); err != nil {
@@ -79,7 +79,7 @@ func (ac *ServerController) GetAllApi(c *fiber.Ctx) error {
// @Failure 401 {object} error_handler.ErrorResponse "Unauthorized" // @Failure 401 {object} error_handler.ErrorResponse "Unauthorized"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server [get] // @Router /server [get]
func (ac *ServerController) GetAll(c *fiber.Ctx) error { func (ac *ServerController) GetAll(c *fiber.Ctx) error {
var filter model.ServerFilter var filter model.ServerFilter
if err := common.ParseQueryFilter(c, &filter); err != nil { if err := common.ParseQueryFilter(c, &filter); err != nil {
@@ -105,7 +105,7 @@ func (ac *ServerController) GetAll(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Server not found" // @Failure 404 {object} error_handler.ErrorResponse "Server not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id} [get] // @Router /server/{id} [get]
func (ac *ServerController) GetById(c *fiber.Ctx) error { func (ac *ServerController) GetById(c *fiber.Ctx) error {
serverIDStr := c.Params("id") serverIDStr := c.Params("id")
serverID, err := uuid.Parse(serverIDStr) serverID, err := uuid.Parse(serverIDStr)
@@ -133,7 +133,7 @@ func (ac *ServerController) GetById(c *fiber.Ctx) error {
// @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions" // @Failure 403 {object} error_handler.ErrorResponse "Insufficient permissions"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server [post] // @Router /server [post]
func (ac *ServerController) CreateServer(c *fiber.Ctx) error { func (ac *ServerController) CreateServer(c *fiber.Ctx) error {
server := new(model.Server) server := new(model.Server)
if err := c.BodyParser(server); err != nil { if err := c.BodyParser(server); err != nil {
@@ -161,7 +161,7 @@ func (ac *ServerController) CreateServer(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Server not found" // @Failure 404 {object} error_handler.ErrorResponse "Server not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id} [put] // @Router /server/{id} [put]
func (ac *ServerController) UpdateServer(c *fiber.Ctx) error { func (ac *ServerController) UpdateServer(c *fiber.Ctx) error {
serverIDStr := c.Params("id") serverIDStr := c.Params("id")
serverID, err := uuid.Parse(serverIDStr) serverID, err := uuid.Parse(serverIDStr)
@@ -195,7 +195,7 @@ func (ac *ServerController) UpdateServer(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Server not found" // @Failure 404 {object} error_handler.ErrorResponse "Server not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id} [delete] // @Router /server/{id} [delete]
func (ac *ServerController) DeleteServer(c *fiber.Ctx) error { func (ac *ServerController) DeleteServer(c *fiber.Ctx) error {
serverIDStr := c.Params("id") serverIDStr := c.Params("id")
serverID, err := uuid.Parse(serverIDStr) serverID, err := uuid.Parse(serverIDStr)

View File

@@ -51,7 +51,7 @@ func NewServiceControlController(as *service.ServiceControlService, routeGroups
// @Failure 404 {object} error_handler.ErrorResponse "Service not found" // @Failure 404 {object} error_handler.ErrorResponse "Service not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/service/{service} [get] // @Router /server/{id}/service/{service} [get]
func (ac *ServiceControlController) getStatus(c *fiber.Ctx) error { func (ac *ServiceControlController) getStatus(c *fiber.Ctx) error {
id := c.Params("id") id := c.Params("id")
c.Locals("serverId", id) c.Locals("serverId", id)
@@ -78,7 +78,7 @@ func (ac *ServiceControlController) getStatus(c *fiber.Ctx) error {
// @Failure 409 {object} error_handler.ErrorResponse "Service already running" // @Failure 409 {object} error_handler.ErrorResponse "Service already running"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/service/start [post] // @Router /server/{id}/service/start [post]
func (ac *ServiceControlController) startServer(c *fiber.Ctx) error { func (ac *ServiceControlController) startServer(c *fiber.Ctx) error {
id := c.Params("id") id := c.Params("id")
c.Locals("serverId", id) c.Locals("serverId", id)
@@ -105,7 +105,7 @@ func (ac *ServiceControlController) startServer(c *fiber.Ctx) error {
// @Failure 409 {object} error_handler.ErrorResponse "Service already stopped" // @Failure 409 {object} error_handler.ErrorResponse "Service already stopped"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/service/stop [post] // @Router /server/{id}/service/stop [post]
func (ac *ServiceControlController) stopServer(c *fiber.Ctx) error { func (ac *ServiceControlController) stopServer(c *fiber.Ctx) error {
id := c.Params("id") id := c.Params("id")
c.Locals("serverId", id) c.Locals("serverId", id)
@@ -131,7 +131,7 @@ func (ac *ServiceControlController) stopServer(c *fiber.Ctx) error {
// @Failure 404 {object} error_handler.ErrorResponse "Service not found" // @Failure 404 {object} error_handler.ErrorResponse "Service not found"
// @Failure 500 {object} error_handler.ErrorResponse "Internal server error" // @Failure 500 {object} error_handler.ErrorResponse "Internal server error"
// @Security BearerAuth // @Security BearerAuth
// @Router /v1/server/{id}/service/restart [post] // @Router /server/{id}/service/restart [post]
func (ac *ServiceControlController) restartServer(c *fiber.Ctx) error { func (ac *ServiceControlController) restartServer(c *fiber.Ctx) error {
id := c.Params("id") id := c.Params("id")
c.Locals("serverId", id) c.Locals("serverId", id)

View File

@@ -42,7 +42,7 @@ func NewStateHistoryController(as *service.StateHistoryService, routeGroups *com
// @Description Return StateHistorys // @Description Return StateHistorys
// @Tags StateHistory // @Tags StateHistory
// @Success 200 {array} string // @Success 200 {array} string
// @Router /v1/state-history [get] // @Router /state-history [get]
func (ac *StateHistoryController) GetAll(c *fiber.Ctx) error { func (ac *StateHistoryController) GetAll(c *fiber.Ctx) error {
var filter model.StateHistoryFilter var filter model.StateHistoryFilter
if err := common.ParseQueryFilter(c, &filter); err != nil { if err := common.ParseQueryFilter(c, &filter); err != nil {
@@ -63,7 +63,7 @@ func (ac *StateHistoryController) GetAll(c *fiber.Ctx) error {
// @Description Return StateHistorys // @Description Return StateHistorys
// @Tags StateHistory // @Tags StateHistory
// @Success 200 {array} string // @Success 200 {array} string
// @Router /v1/state-history/statistics [get] // @Router /state-history/statistics [get]
func (ac *StateHistoryController) GetStatistics(c *fiber.Ctx) error { func (ac *StateHistoryController) GetStatistics(c *fiber.Ctx) error {
var filter model.StateHistoryFilter var filter model.StateHistoryFilter
if err := common.ParseQueryFilter(c, &filter); err != nil { if err := common.ParseQueryFilter(c, &filter); err != nil {

View File

@@ -33,7 +33,7 @@ func NewSystemController(routeGroups *common.RouteGroups) *SystemController {
// @Description Return service control status // @Description Return service control status
// @Tags system // @Tags system
// @Success 200 {array} string // @Success 200 {array} string
// @Router /v1/system/health [get] // @Router /system/health [get]
func (ac *SystemController) getFirst(c *fiber.Ctx) error { func (ac *SystemController) getFirst(c *fiber.Ctx) error {
return c.SendString(configs.Version) return c.SendString(configs.Version)
} }

View File

@@ -8,7 +8,7 @@ import (
) )
var ( var (
Version = "0.10.2" Version = "0.10.3"
Prefix = "v1" Prefix = "v1"
Secret string Secret string
SecretCode string SecretCode string

View File

@@ -22,7 +22,7 @@ const docTemplate = `{
"host": "{{.Host}}", "host": "{{.Host}}",
"basePath": "{{.BasePath}}", "basePath": "{{.BasePath}}",
"paths": { "paths": {
"/v1/api/server": { "/api/server": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -113,7 +113,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/auth/login": { "/auth/login": {
"post": { "post": {
"description": "Authenticate a user and receive a JWT token", "description": "Authenticate a user and receive a JWT token",
"consumes": [ "consumes": [
@@ -178,7 +178,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/auth/me": { "/auth/me": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -218,7 +218,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/lookup/car-models": { "/lookup/car-models": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -272,7 +272,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/lookup/cup-categories": { "/lookup/cup-categories": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -323,7 +323,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/lookup/driver-categories": { "/lookup/driver-categories": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -377,7 +377,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/lookup/session-types": { "/lookup/session-types": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -431,7 +431,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/lookup/tracks": { "/lookup/tracks": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -482,7 +482,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/membership": { "/membership": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -609,7 +609,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/membership/roles": { "/membership/roles": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -658,7 +658,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/membership/{id}": { "/membership/{id}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -837,7 +837,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server": { "/server": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -989,7 +989,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}": { "/server/{id}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1189,7 +1189,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/config": { "/server/{id}/config": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1259,7 +1259,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/config/{file}": { "/server/{id}/config/{file}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1419,7 +1419,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/service/restart": { "/server/{id}/service/restart": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1498,7 +1498,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/service/start": { "/server/{id}/service/start": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1583,7 +1583,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/service/stop": { "/server/{id}/service/stop": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1668,7 +1668,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/server/{id}/service/{service}": { "/server/{id}/service/{service}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1737,7 +1737,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/state-history": { "/state-history": {
"get": { "get": {
"description": "Return StateHistorys", "description": "Return StateHistorys",
"tags": [ "tags": [
@@ -1757,7 +1757,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/state-history/statistics": { "/state-history/statistics": {
"get": { "get": {
"description": "Return StateHistorys", "description": "Return StateHistorys",
"tags": [ "tags": [
@@ -1777,7 +1777,7 @@ const docTemplate = `{
} }
} }
}, },
"/v1/system/health": { "/system/health": {
"get": { "get": {
"description": "Return service control status", "description": "Return service control status",
"tags": [ "tags": [
@@ -1980,7 +1980,7 @@ const docTemplate = `{
var SwaggerInfo = &swag.Spec{ var SwaggerInfo = &swag.Spec{
Version: "1.0", Version: "1.0",
Host: "https://acc.jurmanovic.com", Host: "https://acc.jurmanovic.com",
BasePath: "/api/v1", BasePath: "/v1",
Schemes: []string{"http", "https"}, Schemes: []string{"http", "https"},
Title: "ACC Server Manager API", Title: "ACC Server Manager API",
Description: "API for managing Assetto Corsa Competizione dedicated servers", Description: "API for managing Assetto Corsa Competizione dedicated servers",

View File

@@ -18,9 +18,9 @@
"version": "1.0" "version": "1.0"
}, },
"host": "https://acc.jurmanovic.com", "host": "https://acc.jurmanovic.com",
"basePath": "/api/v1", "basePath": "/v1",
"paths": { "paths": {
"/v1/api/server": { "/api/server": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -111,7 +111,7 @@
} }
} }
}, },
"/v1/auth/login": { "/auth/login": {
"post": { "post": {
"description": "Authenticate a user and receive a JWT token", "description": "Authenticate a user and receive a JWT token",
"consumes": [ "consumes": [
@@ -176,7 +176,7 @@
} }
} }
}, },
"/v1/auth/me": { "/auth/me": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -216,7 +216,7 @@
} }
} }
}, },
"/v1/lookup/car-models": { "/lookup/car-models": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -270,7 +270,7 @@
} }
} }
}, },
"/v1/lookup/cup-categories": { "/lookup/cup-categories": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -321,7 +321,7 @@
} }
} }
}, },
"/v1/lookup/driver-categories": { "/lookup/driver-categories": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -375,7 +375,7 @@
} }
} }
}, },
"/v1/lookup/session-types": { "/lookup/session-types": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -429,7 +429,7 @@
} }
} }
}, },
"/v1/lookup/tracks": { "/lookup/tracks": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -480,7 +480,7 @@
} }
} }
}, },
"/v1/membership": { "/membership": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -607,7 +607,7 @@
} }
} }
}, },
"/v1/membership/roles": { "/membership/roles": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -656,7 +656,7 @@
} }
} }
}, },
"/v1/membership/{id}": { "/membership/{id}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -835,7 +835,7 @@
} }
} }
}, },
"/v1/server": { "/server": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -987,7 +987,7 @@
} }
} }
}, },
"/v1/server/{id}": { "/server/{id}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1187,7 +1187,7 @@
} }
} }
}, },
"/v1/server/{id}/config": { "/server/{id}/config": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1257,7 +1257,7 @@
} }
} }
}, },
"/v1/server/{id}/config/{file}": { "/server/{id}/config/{file}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1417,7 +1417,7 @@
} }
} }
}, },
"/v1/server/{id}/service/restart": { "/server/{id}/service/restart": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1496,7 +1496,7 @@
} }
} }
}, },
"/v1/server/{id}/service/start": { "/server/{id}/service/start": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1581,7 +1581,7 @@
} }
} }
}, },
"/v1/server/{id}/service/stop": { "/server/{id}/service/stop": {
"post": { "post": {
"security": [ "security": [
{ {
@@ -1666,7 +1666,7 @@
} }
} }
}, },
"/v1/server/{id}/service/{service}": { "/server/{id}/service/{service}": {
"get": { "get": {
"security": [ "security": [
{ {
@@ -1735,7 +1735,7 @@
} }
} }
}, },
"/v1/state-history": { "/state-history": {
"get": { "get": {
"description": "Return StateHistorys", "description": "Return StateHistorys",
"tags": [ "tags": [
@@ -1755,7 +1755,7 @@
} }
} }
}, },
"/v1/state-history/statistics": { "/state-history/statistics": {
"get": { "get": {
"description": "Return StateHistorys", "description": "Return StateHistorys",
"tags": [ "tags": [
@@ -1775,7 +1775,7 @@
} }
} }
}, },
"/v1/system/health": { "/system/health": {
"get": { "get": {
"description": "Return service control status", "description": "Return service control status",
"tags": [ "tags": [

View File

@@ -1,4 +1,4 @@
basePath: /api/v1 basePath: /v1
definitions: definitions:
error_handler.ErrorResponse: error_handler.ErrorResponse:
properties: properties:
@@ -124,7 +124,7 @@ info:
title: ACC Server Manager API title: ACC Server Manager API
version: "1.0" version: "1.0"
paths: paths:
/v1/api/server: /api/server:
get: get:
consumes: consumes:
- application/json - application/json
@@ -180,7 +180,7 @@ paths:
summary: List all servers (API format) summary: List all servers (API format)
tags: tags:
- Server - Server
/v1/auth/login: /auth/login:
post: post:
consumes: consumes:
- application/json - application/json
@@ -222,7 +222,7 @@ paths:
summary: User login summary: User login
tags: tags:
- Authentication - Authentication
/v1/auth/me: /auth/me:
get: get:
consumes: consumes:
- application/json - application/json
@@ -247,7 +247,7 @@ paths:
summary: Get current user details summary: Get current user details
tags: tags:
- Authentication - Authentication
/v1/lookup/car-models: /lookup/car-models:
get: get:
consumes: consumes:
- application/json - application/json
@@ -281,7 +281,7 @@ paths:
summary: Get available car models summary: Get available car models
tags: tags:
- Lookups - Lookups
/v1/lookup/cup-categories: /lookup/cup-categories:
get: get:
consumes: consumes:
- application/json - application/json
@@ -313,7 +313,7 @@ paths:
summary: Get cup categories summary: Get cup categories
tags: tags:
- Lookups - Lookups
/v1/lookup/driver-categories: /lookup/driver-categories:
get: get:
consumes: consumes:
- application/json - application/json
@@ -347,7 +347,7 @@ paths:
summary: Get driver categories summary: Get driver categories
tags: tags:
- Lookups - Lookups
/v1/lookup/session-types: /lookup/session-types:
get: get:
consumes: consumes:
- application/json - application/json
@@ -382,7 +382,7 @@ paths:
summary: Get session types summary: Get session types
tags: tags:
- Lookups - Lookups
/v1/lookup/tracks: /lookup/tracks:
get: get:
consumes: consumes:
- application/json - application/json
@@ -414,7 +414,7 @@ paths:
summary: Get available tracks summary: Get available tracks
tags: tags:
- Lookups - Lookups
/v1/membership: /membership:
get: get:
consumes: consumes:
- application/json - application/json
@@ -495,7 +495,7 @@ paths:
summary: Create a new user summary: Create a new user
tags: tags:
- User Management - User Management
/v1/membership/{id}: /membership/{id}:
delete: delete:
consumes: consumes:
- application/json - application/json
@@ -610,7 +610,7 @@ paths:
summary: Update user summary: Update user
tags: tags:
- User Management - User Management
/v1/membership/roles: /membership/roles:
get: get:
consumes: consumes:
- application/json - application/json
@@ -641,7 +641,7 @@ paths:
summary: Get all roles summary: Get all roles
tags: tags:
- User Management - User Management
/v1/server: /server:
get: get:
consumes: consumes:
- application/json - application/json
@@ -736,7 +736,7 @@ paths:
summary: Create a new ACC server summary: Create a new ACC server
tags: tags:
- Server - Server
/v1/server/{id}: /server/{id}:
delete: delete:
consumes: consumes:
- application/json - application/json
@@ -865,7 +865,7 @@ paths:
summary: Update an ACC server summary: Update an ACC server
tags: tags:
- Server - Server
/v1/server/{id}/config: /server/{id}/config:
get: get:
consumes: consumes:
- application/json - application/json
@@ -910,7 +910,7 @@ paths:
summary: List available configuration files summary: List available configuration files
tags: tags:
- Server Configuration - Server Configuration
/v1/server/{id}/config/{file}: /server/{id}/config/{file}:
get: get:
consumes: consumes:
- application/json - application/json
@@ -1014,7 +1014,7 @@ paths:
summary: Update server configuration file summary: Update server configuration file
tags: tags:
- Server Configuration - Server Configuration
/v1/server/{id}/service/{service}: /server/{id}/service/{service}:
get: get:
consumes: consumes:
- application/json - application/json
@@ -1058,7 +1058,7 @@ paths:
summary: Get service status summary: Get service status
tags: tags:
- Service Control - Service Control
/v1/server/{id}/service/restart: /server/{id}/service/restart:
post: post:
consumes: consumes:
- application/json - application/json
@@ -1108,7 +1108,7 @@ paths:
summary: Restart a Windows service summary: Restart a Windows service
tags: tags:
- Service Control - Service Control
/v1/server/{id}/service/start: /server/{id}/service/start:
post: post:
consumes: consumes:
- application/json - application/json
@@ -1162,7 +1162,7 @@ paths:
summary: Start a Windows service summary: Start a Windows service
tags: tags:
- Service Control - Service Control
/v1/server/{id}/service/stop: /server/{id}/service/stop:
post: post:
consumes: consumes:
- application/json - application/json
@@ -1216,7 +1216,7 @@ paths:
summary: Stop a Windows service summary: Stop a Windows service
tags: tags:
- Service Control - Service Control
/v1/state-history: /state-history:
get: get:
description: Return StateHistorys description: Return StateHistorys
responses: responses:
@@ -1229,7 +1229,7 @@ paths:
summary: Return StateHistorys summary: Return StateHistorys
tags: tags:
- StateHistory - StateHistory
/v1/state-history/statistics: /state-history/statistics:
get: get:
description: Return StateHistorys description: Return StateHistorys
responses: responses:
@@ -1242,7 +1242,7 @@ paths:
summary: Return StateHistorys summary: Return StateHistorys
tags: tags:
- StateHistory - StateHistory
/v1/system/health: /system/health:
get: get:
description: Return service control status description: Return service control status
responses: responses: