From 3293915062ca983d1b0d363f9adffc56bc4f5a25 Mon Sep 17 00:00:00 2001 From: d3m0k1d Date: Fri, 3 Apr 2026 21:04:49 +0300 Subject: [PATCH] chore: proj struct and swagger docs for backend --- backend/cmd/main.go | 23 +++++++++++++++ backend/docs/docs.go | 44 +++++++++++++++++++++++++++++ backend/docs/swagger.json | 15 ++++++++++ backend/docs/swagger.yaml | 10 +++++++ backend/internal/config/config.go | 1 + backend/internal/config/types.go | 4 +++ backend/internal/handlers/agents.go | 1 + backend/internal/storage/db.go | 1 + backend/makefile | 6 ++++ 9 files changed, 105 insertions(+) create mode 100644 backend/cmd/main.go create mode 100644 backend/docs/docs.go create mode 100644 backend/docs/swagger.json create mode 100644 backend/docs/swagger.yaml create mode 100644 backend/internal/config/config.go create mode 100644 backend/internal/config/types.go create mode 100644 backend/internal/handlers/agents.go create mode 100644 backend/internal/storage/db.go create mode 100644 backend/makefile diff --git a/backend/cmd/main.go b/backend/cmd/main.go new file mode 100644 index 0000000..e022326 --- /dev/null +++ b/backend/cmd/main.go @@ -0,0 +1,23 @@ +package cmd + +import ( + "gitea.d3m0k1d.ru/d3m0k1d/HellreigN/backend/docs" + "github.com/gin-gonic/gin" + swaggerFiles "github.com/swaggo/files" + ginSwagger "github.com/swaggo/gin-swagger" +) + +// @securityDefinitions.apikey Bearer +// @in header +// @name Authorization +// @description Type "Bearer" followed by a space and the JWT token. + +func main() { + router := gin.Default() + docs.SwaggerInfo.BasePath = "/api/v1" + docs.SwaggerInfo.Title = "HellreigN" + docs.SwaggerInfo.Version = "1.0" + docs.SwaggerInfo.Description = "API for HellreigN" + docs.SwaggerInfo.Schemes = []string{"http"} + router.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler)) +} diff --git a/backend/docs/docs.go b/backend/docs/docs.go new file mode 100644 index 0000000..a91df67 --- /dev/null +++ b/backend/docs/docs.go @@ -0,0 +1,44 @@ +// Package docs Code generated by swaggo/swag. DO NOT EDIT +package docs + +import "github.com/swaggo/swag" + +const docTemplate = `{ + "schemes": {{ marshal .Schemes }}, + "swagger": "2.0", + "info": { + "description": "{{escape .Description}}", + "title": "{{.Title}}", + "contact": {}, + "version": "{{.Version}}" + }, + "host": "{{.Host}}", + "basePath": "{{.BasePath}}", + "paths": {}, + "securityDefinitions": { + "Bearer": { + "description": "Type \"Bearer\" followed by a space and the JWT token.", + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } +}` + +// SwaggerInfo holds exported Swagger Info so clients can modify it +var SwaggerInfo = &swag.Spec{ + Version: "", + Host: "", + BasePath: "", + Schemes: []string{}, + Title: "", + Description: "", + InfoInstanceName: "swagger", + SwaggerTemplate: docTemplate, + LeftDelim: "{{", + RightDelim: "}}", +} + +func init() { + swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) +} diff --git a/backend/docs/swagger.json b/backend/docs/swagger.json new file mode 100644 index 0000000..5173354 --- /dev/null +++ b/backend/docs/swagger.json @@ -0,0 +1,15 @@ +{ + "swagger": "2.0", + "info": { + "contact": {} + }, + "paths": {}, + "securityDefinitions": { + "Bearer": { + "description": "Type \"Bearer\" followed by a space and the JWT token.", + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + } +} \ No newline at end of file diff --git a/backend/docs/swagger.yaml b/backend/docs/swagger.yaml new file mode 100644 index 0000000..0dbe493 --- /dev/null +++ b/backend/docs/swagger.yaml @@ -0,0 +1,10 @@ +info: + contact: {} +paths: {} +securityDefinitions: + Bearer: + description: Type "Bearer" followed by a space and the JWT token. + in: header + name: Authorization + type: apiKey +swagger: "2.0" diff --git a/backend/internal/config/config.go b/backend/internal/config/config.go new file mode 100644 index 0000000..d912156 --- /dev/null +++ b/backend/internal/config/config.go @@ -0,0 +1 @@ +package config diff --git a/backend/internal/config/types.go b/backend/internal/config/types.go new file mode 100644 index 0000000..809bc99 --- /dev/null +++ b/backend/internal/config/types.go @@ -0,0 +1,4 @@ +package config + +type Config struct { +} diff --git a/backend/internal/handlers/agents.go b/backend/internal/handlers/agents.go new file mode 100644 index 0000000..5ac8282 --- /dev/null +++ b/backend/internal/handlers/agents.go @@ -0,0 +1 @@ +package handlers diff --git a/backend/internal/storage/db.go b/backend/internal/storage/db.go new file mode 100644 index 0000000..82be054 --- /dev/null +++ b/backend/internal/storage/db.go @@ -0,0 +1 @@ +package storage diff --git a/backend/makefile b/backend/makefile new file mode 100644 index 0000000..83cff12 --- /dev/null +++ b/backend/makefile @@ -0,0 +1,6 @@ +.PHONY: docs lint +docs: + swag init -g ./cmd/main.go --parseDependency --parseInternal + +lint: + golangci-lint run --fix