From a0b0b98624fe0bf03c40c63472d81410540a20dd Mon Sep 17 00:00:00 2001 From: Jean Jacques Avril Date: Tue, 11 Mar 2025 11:21:15 +0000 Subject: [PATCH] feat: Remove outdated Swagger documentation files and update database configuration handling --- .env | 6 +++ backend/cmd/api/docs/docs.go | 62 ------------------------------- backend/cmd/api/docs/swagger.json | 38 ------------------- backend/cmd/api/docs/swagger.yaml | 26 ------------- backend/cmd/api/main.go | 35 ++++++++--------- 5 files changed, 22 insertions(+), 145 deletions(-) create mode 100644 .env delete mode 100644 backend/cmd/api/docs/docs.go delete mode 100644 backend/cmd/api/docs/swagger.json delete mode 100644 backend/cmd/api/docs/swagger.yaml diff --git a/.env b/.env new file mode 100644 index 0000000..3016f81 --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +DB_HOST=localhost +DB_PORT=5432 +DB_USER=timetracker +DB_PASSWORD=password +DB_NAME=timetracker +DB_SSLMODE=disable \ No newline at end of file diff --git a/backend/cmd/api/docs/docs.go b/backend/cmd/api/docs/docs.go deleted file mode 100644 index 0fe2d2e..0000000 --- a/backend/cmd/api/docs/docs.go +++ /dev/null @@ -1,62 +0,0 @@ -// 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": { - "/": { - "get": { - "description": "Get a hello message", - "produces": [ - "text/plain" - ], - "summary": "Say hello", - "operationId": "hello", - "responses": { - "200": { - "description": "Hello from the Time Tracker Backend!", - "schema": { - "type": "string" - } - } - } - } - } - }, - "securityDefinitions": { - "BearerAuth": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } -}` - -// SwaggerInfo holds exported Swagger Info so clients can modify it -var SwaggerInfo = &swag.Spec{ - Version: "1.0", - Host: "localhost:8080", - BasePath: "/api", - Schemes: []string{}, - Title: "Time Tracker API", - Description: "This is a simple time tracker API.", - InfoInstanceName: "swagger", - SwaggerTemplate: docTemplate, - LeftDelim: "{{", - RightDelim: "}}", -} - -func init() { - swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) -} diff --git a/backend/cmd/api/docs/swagger.json b/backend/cmd/api/docs/swagger.json deleted file mode 100644 index 0de2968..0000000 --- a/backend/cmd/api/docs/swagger.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "swagger": "2.0", - "info": { - "description": "This is a simple time tracker API.", - "title": "Time Tracker API", - "contact": {}, - "version": "1.0" - }, - "host": "localhost:8080", - "basePath": "/api", - "paths": { - "/": { - "get": { - "description": "Get a hello message", - "produces": [ - "text/plain" - ], - "summary": "Say hello", - "operationId": "hello", - "responses": { - "200": { - "description": "Hello from the Time Tracker Backend!", - "schema": { - "type": "string" - } - } - } - } - } - }, - "securityDefinitions": { - "BearerAuth": { - "type": "apiKey", - "name": "Authorization", - "in": "header" - } - } -} \ No newline at end of file diff --git a/backend/cmd/api/docs/swagger.yaml b/backend/cmd/api/docs/swagger.yaml deleted file mode 100644 index dbc3dc9..0000000 --- a/backend/cmd/api/docs/swagger.yaml +++ /dev/null @@ -1,26 +0,0 @@ -basePath: /api -host: localhost:8080 -info: - contact: {} - description: This is a simple time tracker API. - title: Time Tracker API - version: "1.0" -paths: - /: - get: - description: Get a hello message - operationId: hello - produces: - - text/plain - responses: - "200": - description: Hello from the Time Tracker Backend! - schema: - type: string - summary: Say hello -securityDefinitions: - BearerAuth: - in: header - name: Authorization - type: apiKey -swagger: "2.0" diff --git a/backend/cmd/api/main.go b/backend/cmd/api/main.go index f954e9b..aebf127 100644 --- a/backend/cmd/api/main.go +++ b/backend/cmd/api/main.go @@ -7,6 +7,7 @@ import ( "net/http" "os" "os/signal" + "strconv" "syscall" "time" @@ -41,30 +42,26 @@ func helloHandler(c *gin.Context) { } func main() { - // Get database configuration with sensible defaults - dbConfig := models.DefaultDatabaseConfig() - - // Override with environment variables if provided - if host := os.Getenv("DB_HOST"); host != "" { - dbConfig.Host = host + // Get database configuration from environment variables + dbConfig := models.DatabaseConfig{ + Host: os.Getenv("DB_HOST"), + Port: 5432, // Default PostgreSQL port + User: os.Getenv("DB_USER"), + Password: os.Getenv("DB_PASSWORD"), + DBName: os.Getenv("DB_NAME"), + SSLMode: os.Getenv("DB_SSLMODE"), } + + // Parse port if provided if port := os.Getenv("DB_PORT"); port != "" { - var portInt int - if _, err := fmt.Sscanf(port, "%d", &portInt); err == nil && portInt > 0 { + if portInt, err := strconv.Atoi(port); err == nil && portInt > 0 { dbConfig.Port = portInt } } - if user := os.Getenv("DB_USER"); user != "" { - dbConfig.User = user - } - if password := os.Getenv("DB_PASSWORD"); password != "" { - dbConfig.Password = password - } - if dbName := os.Getenv("DB_NAME"); dbName != "" { - dbConfig.DBName = dbName - } - if sslMode := os.Getenv("DB_SSLMODE"); sslMode != "" { - dbConfig.SSLMode = sslMode + + // Validate required configuration + if dbConfig.Host == "" || dbConfig.User == "" || dbConfig.Password == "" || dbConfig.DBName == "" { + log.Fatal("Missing required database configuration. Please set DB_HOST, DB_USER, DB_PASSWORD, and DB_NAME environment variables") } // Set log level based on environment