From 1bad06c740642b7ce60b518bc94aac282169a03b Mon Sep 17 00:00:00 2001 From: mitul shah Date: Wed, 5 Mar 2025 18:03:56 +0530 Subject: [PATCH 1/3] Added make help commands --- Makefile | 126 +++++++++++--------------------------------------- README.md | 7 +++ help.mk | 43 +++++++++++++++++ make_help.png | Bin 0 -> 145999 bytes 4 files changed, 78 insertions(+), 98 deletions(-) create mode 100644 help.mk create mode 100644 make_help.png diff --git a/Makefile b/Makefile index 704f02f..f692c1f 100644 --- a/Makefile +++ b/Makefile @@ -35,10 +35,12 @@ GREEN=\033[1;32m YELLOW=\033[1;33m NC=\033[0m # No Color +include help.mk # place after ALL target and before all other targets + # ─────────────────────────────────────────────────────────── # 📝 CHECK & COPY .env IF MISSING # ─────────────────────────────────────────────────────────── -env: +env: ## 📝 CHECK & COPY .env IF MISSING @echo -e "$(YELLOW)🔍 Checking for .env file...$(NC)" @if [ ! -f .env ]; then \ echo -e "$(RED)⚠️ .env file not found! Creating from .env.example...$(NC)"; \ @@ -51,72 +53,48 @@ env: # ─────────────────────────────────────────────────────────── # 🎨 FORMAT CODE (gofmt & goimports) # ─────────────────────────────────────────────────────────── -format: +format: ## 🎨 FORMAT CODE (gofmt & goimports) @echo -e "$(YELLOW)🎨 Formatting Go code...$(NC)" @gofmt -w . @go install golang.org/x/tools/cmd/goimports@$(IMPORTS_VERSION) @goimports -w . @echo -e "$(GREEN)✅ Code formatted successfully!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🔍 RUN GO VET (Code Inspection) -# ─────────────────────────────────────────────────────────── -vet: +vet: ## 🔍 RUN GO VET (Code Inspection) @echo -e "$(YELLOW)🔍 Running go vet...$(NC)" @go vet ./... @echo -e "$(GREEN)✅ go vet completed!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🛡️ SECURITY SCAN (govulncheck) -# ─────────────────────────────────────────────────────────── -security_scan: +security_scan: ## 🛡️ SECURITY SCAN (govulncheck) @echo -e "$(RED)🛡️ Running security vulnerability scan...$(NC)" @go install golang.org/x/vuln/cmd/govulncheck@$(VULN_VERSION) @govulncheck ./... @echo -e "$(GREEN)✅ Security scan completed!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🔄 Install DEPENDENCIES (go mod tidy & upgrade) -# ─────────────────────────────────────────────────────────── -install_deps: +install_deps: ## 🔄 Install DEPENDENCIES (go mod tidy & upgrade) @echo -e "$(YELLOW)🔄 Install Go dependencies....$(NC)" @go mod tidy @echo -e "$(GREEN)✅ Dependencies updated!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🔎 LINT CODE (golangci-lint) -# ─────────────────────────────────────────────────────────── -lint: +lint: ## 🔎 LINT CODE (golangci-lint) @echo -e "$(YELLOW)🔎 Running golangci-lint...$(NC)" @which golangci-lint >/dev/null 2>&1 || (echo -e "$(RED)❌ golangci-lint not installed! Installing now...$(NC)" && go install github.com/golangci/golangci-lint/cmd/golangci-lint@$(LINT_VERSION)) @golangci-lint run ./... -# ─────────────────────────────────────────────────────────── -# 📢 STATIC CODE ANALYSIS (staticcheck) -# ─────────────────────────────────────────────────────────── -staticcheck: +staticcheck: ## 📢 STATIC CODE ANALYSIS (staticcheck) @echo -e "$(YELLOW)📢 Running staticcheck...$(NC)" @which staticcheck >/dev/null 2>&1 || (echo -e "$(RED)❌ staticcheck not installed! Installing now...$(NC)" && go install honnef.co/go/tools/cmd/staticcheck@latest) @staticcheck ./... -# ─────────────────────────────────────────────────────────── -# 🏃 RUN APPLICATION -# ─────────────────────────────────────────────────────────── -run: +run: ## 🏃 RUN APPLICATION @echo -e "$(BLUE)🚀 Running the application...$(NC)" @go run cmd/server/main.go -# ─────────────────────────────────────────────────────────── -# ✅ RUN TESTS -# ─────────────────────────────────────────────────────────── -test: +test: ## ✅ RUN TESTS @echo -e "$(YELLOW)🔍 Running tests...$(NC)" @go test -v ./... -# ─────────────────────────────────────────────────────────── -# 📊 GENERATE COVERAGE REPORT -# ─────────────────────────────────────────────────────────── -html-coverage: $(COVERAGE_DIR)/coverage.out +html-coverage: $(COVERAGE_DIR)/coverage.out ## 📊 GENERATE COVERAGE REPORT @echo -e "$(GREEN)📊 Generating HTML coverage report...$(NC)" @go tool cover -html=$(COVERAGE_DIR)/coverage.out -o $(COVERAGE_DIR)/coverage.html @echo -e "$(GREEN)✅ HTML coverage report generated at $(COVERAGE_DIR)/coverage.html$(NC)" @@ -128,14 +106,10 @@ $(COVERAGE_DIR)/coverage.out: | $(COVERAGE_DIR) @echo -e "$(YELLOW)📈 Running coverage analysis...$(NC)" @go test -coverprofile=$(COVERAGE_DIR)/coverage.out ./... -# Ensure .coverage directory exists -$(COVERAGE_DIR): +$(COVERAGE_DIR): ## Ensure .coverage directory exists @mkdir -p $(COVERAGE_DIR) -# ─────────────────────────────────────────────────────────── -# 📥 INSTALL SWAG CLI TOOL & PACKAGES -# ─────────────────────────────────────────────────────────── -install_swag: +install_swag: ## 📥 INSTALL SWAG CLI TOOL & PACKAGES @echo -e "$(GREEN)📥 Installing Swag CLI and dependencies...$(NC)" @which swag >/dev/null 2>&1 || (echo -e "$(RED)❌ Swag CLI not found! Installing now...$(NC)" && go install github.com/swaggo/swag/cmd/swag@latest) @echo -e "$(YELLOW)🔄 Updating project dependencies for Swag...$(NC)" @@ -143,44 +117,29 @@ install_swag: @go mod download @echo -e "$(GREEN)✅ Swag installation complete!$(NC)" -# ─────────────────────────────────────────────────────────── -# 📜 GENERATE API DOCUMENTATION -# ─────────────────────────────────────────────────────────── -generate_docs: install_swag +generate_docs: install_swag ## 📜 GENERATE API DOCUMENTATION @echo -e "$(YELLOW)📜 Generating API documentation using Swag...$(NC)" @swag init --parseDependency --parseInternal --parseDepth 1 -g ./cmd/server/main.go -o ./docs @echo -e "$(GREEN)✅ API documentation generated successfully!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🏗️ BUILD PROJECT -# ─────────────────────────────────────────────────────────── -build: +build: ## 🏗️ BUILD PROJECT @echo -e "$(BLUE)🏗️ Building the Go application...$(NC)" @mkdir -p $(BUILD_DIR) # ✅ Ensure the build directory exists @CGO_ENABLED=0 GOOS=linux go build $(GO_FLAGS) -o $(BUILD_DIR)/$(BUILD_NAME) $(CMD_DIR)/main.go @ls -lh $(BUILD_DIR) # ✅ Debug: List contents of the build directory @echo -e "$(GREEN)✅ Build complete: $(BUILD_DIR)/$(BUILD_NAME)$(NC)" -# ─────────────────────────────────────────────────────────── -# 🧹 CLEAN BUILD & COVERAGE FILES -# ─────────────────────────────────────────────────────────── -clean: +clean: ## 🧹 CLEAN BUILD & COVERAGE FILES @echo -e "$(YELLOW)🧹 Cleaning up build and coverage files...$(NC)" @rm -rf $(BUILD_DIR) @rm -rf $(COVERAGE_DIR) @echo -e "$(GREEN)✅ Cleanup complete!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🔍 CHECK MIGRATION VERSION -# ─────────────────────────────────────────────────────────── -version: +version: ## 🔍 CHECK MIGRATION VERSION @echo -e "$(BLUE)🔍 Checking installed migrate version...$(NC)" @$(INSTALL_DIR)/migrate -version -# ─────────────────────────────────────────────────────────── -# 📥 INSTALL GOLANG-MIGRATE -# ─────────────────────────────────────────────────────────── -install_migration: +install_migration: ## 📥 INSTALL GOLANG-MIGRATE @echo -e "$(GREEN)📥 Installing golang-migrate ($(MIGRATE_VERSION))...$(NC)" @mkdir -p $(INSTALL_DIR) @curl -L https://github.com/golang-migrate/migrate/releases/download/$(MIGRATE_VERSION)/migrate.linux-amd64.tar.gz -o migrate.tar.gz @@ -190,74 +149,45 @@ install_migration: @rm -f migrate.tar.gz @echo -e "$(GREEN)✅ Installation complete. Ensure $(INSTALL_DIR) is in your PATH.$(NC)" -# ─────────────────────────────────────────────────────────── -# 📦 CREATE A NEW DATABASE MIGRATION -# ─────────────────────────────────────────────────────────── -create_migration: +create_migration: ## 📦 CREATE A NEW DATABASE MIGRATION @echo -e "$(YELLOW)📦 Creating a new database migration...$(NC)" @$(INSTALL_DIR)/migrate create -ext=sql -dir=package/database/migrations -seq init -# ─────────────────────────────────────────────────────────── -# ⬆️ APPLY DATABASE MIGRATIONS -# ─────────────────────────────────────────────────────────── -migrate_up: +migrate_up: ## ⬆️ APPLY DATABASE MIGRATIONS @echo -e "$(GREEN)⬆️ Applying database migrations...$(NC)" @$(INSTALL_DIR)/migrate -path=package/database/migrations \ -database "mysql://${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" \ -verbose up - -# ─────────────────────────────────────────────────────────── -# ⬇️ ROLLBACK DATABASE MIGRATIONS -# ─────────────────────────────────────────────────────────── -migrate_down: +migrate_down: ## ⬇️ ROLLBACK DATABASE MIGRATIONS @echo -e "$(RED)⬇️ Rolling back database migrations...$(NC)" @$(INSTALL_DIR)/migrate -path=package/database/migrations \ -database "mysql://${DB_USER}:${DB_PASSWORD}@tcp(${DB_HOST}:${DB_PORT})/${DB_NAME}" \ -verbose down - -# ─────────────────────────────────────────────────────────── -# 🐳 BUILD DOCKER IMAGE -# ─────────────────────────────────────────────────────────── -docker_build: env docker_down +docker_build: env docker_down ## 🐳 BUILD DOCKER IMAGE @echo -e "$(BLUE)🐳 Building Docker image...$(NC)" @sudo docker-compose build @echo -e "$(GREEN)✅ Docker image built successfully!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🚀 START DOCKER CONTAINERS -# ─────────────────────────────────────────────────────────── -docker_up: docker_build +docker_up: docker_build ## 🚀 START DOCKER CONTAINERS @echo -e "$(BLUE)🚀 Starting Docker containers...$(NC)" @sudo docker-compose up -d @echo -e "$(GREEN)✅ Docker containers started successfully!$(NC)" -# ─────────────────────────────────────────────────────────── -# 📦 STOP & REMOVE DOCKER CONTAINERS -# ─────────────────────────────────────────────────────────── -docker_down: +docker_down: ## 🛑 STOP & REMOVE DOCKER CONTAINERS @echo -e "$(YELLOW)🛑 Stopping and removing Docker containers...$(NC)" @sudo docker-compose down @echo -e "$(GREEN)✅ Docker containers stopped and removed!$(NC)" -# ─────────────────────────────────────────────────────────── -# 📜 VIEW DOCKER LOGS -# ─────────────────────────────────────────────────────────── -docker_logs: +docker_logs: ## 📜 VIEW DOCKER LOGS @echo -e "$(YELLOW)📜 Viewing Docker logs...$(NC)" @sudo docker-compose logs -f -# ─────────────────────────────────────────────────────────── -# ✅ CLEAN DOCKER IMAGES & CONTAINERS -# ─────────────────────────────────────────────────────────── -docker_clean: docker_down +docker_clean: docker_down ## 🗑️ CLEAN DOCKER IMAGES & CONTAINERS @echo -e "$(RED)🗑️ Cleaning up Docker images and containers...$(NC)" @sudo docker system prune -af @echo -e "$(GREEN)✅ Docker cleanup complete!$(NC)" -# ─────────────────────────────────────────────────────────── -# 🚀 CI/CD PRE-CHECK (Runs everything before deployment) -# ─────────────────────────────────────────────────────────── -ci_check: env format vet lint staticcheck security_scan test +ci_check: env format vet lint staticcheck security_scan test ## 🚀 CI/CD PRE-CHECK @echo -e "$(GREEN)✅ CI/CD pre-check passed successfully!$(NC)" # Mark these targets as non-file targets diff --git a/README.md b/README.md index 25c81ff..b4a18c8 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,13 @@ golang-microservice-template/ - Docker and Docker Compose - Make +### All Make Commands +To Check All Commands: +```bash +make help +``` +![Make Help Commands](make_help.png) + ### Running the Application 1. Clone the repository ```bash diff --git a/help.mk b/help.mk new file mode 100644 index 0000000..642bd82 --- /dev/null +++ b/help.mk @@ -0,0 +1,43 @@ +.PHONY: help +help: ## Shows this generated help info for Makefile targets + @grep -E '^[a-zA-Z0-9_-]+:' $(MAKEFILE_LIST) | \ + awk -F: ' \ + { \ + target=$$2; \ + if ( !(target in targets) ) { \ + if ( /:.*##/ ) { \ + if ( ! /no-help/ ) { \ + sub(/^.*## ?/,"",$$0); \ + targets[target] = $$0; \ + } \ + } else { \ + targets[target] = "" \ + } \ + } \ + } \ + END { \ + for (target in targets) { \ + printf "\033[36m%-30s\033[0m %s\n", target, targets[target] \ + } \ + }' | sort + +.targets: + @grep -E '^[a-zA-Z0-9_-]+:' $(MAKEFILE_LIST) | \ + awk -F: ' \ + { \ + target=$$2; \ + if ( !(target in targets) ) { \ + if ( /:.*##/ ) { \ + if ( ! /no-help/ ) { \ + targets[target] = ""; \ + } \ + } else { \ + targets[target] = "" \ + } \ + } \ + } \ + END { \ + for (target in targets) { \ + printf "%s ", target, targets[target] \ + } \ + }' \ No newline at end of file diff --git a/make_help.png b/make_help.png new file mode 100644 index 0000000000000000000000000000000000000000..4a952f46f6734a4062e389ad451f2bf818145a97 GIT binary patch literal 145999 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 L`CWz77ythOYjDw` literal 0 HcmV?d00001 From 8c90c970b6be2cc618b5fae3b970d558bd623a7d Mon Sep 17 00:00:00 2001 From: mitul shah Date: Mon, 24 Mar 2025 16:22:58 +0530 Subject: [PATCH 2/3] minor changes --- .github/workflows/go.yml | 7 ++++++- .github/CODEOWNERS => CODEOWNERS | 0 package/database/database.go | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) rename .github/CODEOWNERS => CODEOWNERS (100%) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 623e5e7..d51e9f8 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -22,10 +22,15 @@ jobs: go-version: '1.21' - name: Install dependencies - run: go get ./... + run: go test -coverprofile=coverage.txt ./... - name: Build run: go build -v ./... - name: Test run: go test -v ./... + + - name: Upload coverage reports to Codecov + uses: codecov/codecov-action@v5 + with: + token: ${{ secrets.CODECOV_TOKEN }} diff --git a/.github/CODEOWNERS b/CODEOWNERS similarity index 100% rename from .github/CODEOWNERS rename to CODEOWNERS diff --git a/package/database/database.go b/package/database/database.go index 6488d61..3999407 100644 --- a/package/database/database.go +++ b/package/database/database.go @@ -76,7 +76,7 @@ func NewDatabase(dbCnfg DBConfig) (*Database, error) { // Close gracefully shuts down the database connection func (d *Database) Close() { - d.DB.Close() + _ = d.DB.Close() } // getDSN builds the Data Source Name based on the driver From e03eb99b4065d096de231bc41a6f234ec7f6a849 Mon Sep 17 00:00:00 2001 From: mitul shah Date: Wed, 26 Mar 2025 10:43:02 +0530 Subject: [PATCH 3/3] Change go mod to public --- cmd/server/main.go | 8 +- config/config.go | 7 +- docs/docs.go | 94 +++++++++---------- docs/swagger.json | 94 +++++++++---------- docs/swagger.yaml | 94 +++++++++---------- go.mod | 2 +- internal/handlers/category/api.go | 9 +- internal/handlers/category/create.go | 7 +- internal/handlers/category/create_test.go | 6 +- internal/handlers/category/delete.go | 5 +- internal/handlers/category/delete_test.go | 6 +- internal/handlers/category/details.go | 5 +- internal/handlers/category/details_test.go | 6 +- internal/handlers/category/update.go | 7 +- internal/handlers/category/update_test.go | 4 +- internal/handlers/health/api.go | 5 +- internal/handlers/health/api_test.go | 2 +- internal/handlers/product/api.go | 9 +- internal/handlers/product/create.go | 7 +- internal/handlers/product/create_test.go | 6 +- internal/handlers/product/delete.go | 5 +- internal/handlers/product/delete_test.go | 4 +- internal/handlers/product/details.go | 5 +- internal/handlers/product/details_test.go | 4 +- internal/handlers/product/update.go | 7 +- internal/handlers/product/update_test.go | 4 +- internal/handlers/server.go | 21 +++-- internal/repository/category_repo.go | 3 +- internal/repository/category_repo_test.go | 6 +- internal/repository/product_repo.go | 3 +- internal/repository/product_repo_test.go | 6 +- internal/repository/repo.go | 2 +- internal/response/reponse.go | 2 +- .../mocks/CategoryServiceInterface.go | 4 +- internal/services/category/service.go | 9 +- internal/services/category/service_test.go | 6 +- .../product/mocks/ProductServiceInterface.go | 2 +- internal/services/product/service.go | 9 +- internal/services/product/service_test.go | 4 +- package/database/database_test.go | 2 +- package/middleware/basic_auth.go | 3 +- 41 files changed, 257 insertions(+), 237 deletions(-) diff --git a/cmd/server/main.go b/cmd/server/main.go index 0a77ed6..8531e05 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -1,9 +1,11 @@ package main import ( - "golang-rest-api-template/config" - _ "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + + _ "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + + "github.com/MitulShah1/golang-rest-api-template/config" ) // @title REST API Template Example diff --git a/config/config.go b/config/config.go index 125292c..4275ba7 100644 --- a/config/config.go +++ b/config/config.go @@ -2,15 +2,16 @@ package config import ( "context" - "golang-rest-api-template/internal/handlers" - "golang-rest-api-template/package/database" - "golang-rest-api-template/package/logger" "net/http" "os" "os/signal" "syscall" "time" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers" + "github.com/MitulShah1/golang-rest-api-template/package/database" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + "github.com/joho/godotenv" ) diff --git a/docs/docs.go b/docs/docs.go index 2eb4ae1..498708a 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -74,19 +74,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -98,7 +98,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -129,7 +129,7 @@ const docTemplate = `{ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest" } } ], @@ -137,19 +137,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -161,7 +161,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -191,19 +191,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -215,7 +215,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -241,7 +241,7 @@ const docTemplate = `{ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest" } } ], @@ -249,19 +249,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -273,7 +273,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -299,7 +299,7 @@ const docTemplate = `{ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.CreateProductRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest" } } ], @@ -307,19 +307,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -331,7 +331,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -363,19 +363,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -387,7 +387,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -418,7 +418,7 @@ const docTemplate = `{ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest" } } ], @@ -426,19 +426,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -450,7 +450,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -480,19 +480,19 @@ const docTemplate = `{ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -504,7 +504,7 @@ const docTemplate = `{ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -512,11 +512,11 @@ const docTemplate = `{ } }, "definitions": { - "golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse": { "type": "object", "properties": { "data": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryDetail" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail" }, "message": { "type": "string" @@ -526,7 +526,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_category_model.CategoryDetail": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail": { "type": "object", "properties": { "description": { @@ -543,7 +543,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest": { "type": "object", "required": [ "description", @@ -562,7 +562,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse": { "type": "object", "properties": { "data": { @@ -581,7 +581,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_category_model.StandardResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse": { "type": "object", "properties": { "data": {}, @@ -593,7 +593,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest": { "type": "object", "required": [ "description", @@ -612,7 +612,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_product_model.CreateProductRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest": { "type": "object", "required": [ "category_id", @@ -639,7 +639,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse": { "type": "object", "properties": { "category_id": { @@ -662,7 +662,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_product_model.StandardResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse": { "type": "object", "properties": { "data": {}, @@ -674,7 +674,7 @@ const docTemplate = `{ } } }, - "golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest": { "type": "object", "required": [ "category_id", diff --git a/docs/swagger.json b/docs/swagger.json index b81be6c..f74341e 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -67,19 +67,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -91,7 +91,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -122,7 +122,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest" } } ], @@ -130,19 +130,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -154,7 +154,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -184,19 +184,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -208,7 +208,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -234,7 +234,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest" } } ], @@ -242,19 +242,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } }, "404": { @@ -266,7 +266,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse" } } } @@ -292,7 +292,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.CreateProductRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest" } } ], @@ -300,19 +300,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -324,7 +324,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -356,19 +356,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -380,7 +380,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -411,7 +411,7 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest" } } ], @@ -419,19 +419,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -443,7 +443,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -473,19 +473,19 @@ "200": { "description": "OK", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "400": { "description": "Bad Request", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "401": { "description": "Unauthorized", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } }, "404": { @@ -497,7 +497,7 @@ "500": { "description": "Internal Server Error", "schema": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse" } } } @@ -505,11 +505,11 @@ } }, "definitions": { - "golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse": { "type": "object", "properties": { "data": { - "$ref": "#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryDetail" + "$ref": "#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail" }, "message": { "type": "string" @@ -519,7 +519,7 @@ } } }, - "golang-rest-api-template_internal_handlers_category_model.CategoryDetail": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail": { "type": "object", "properties": { "description": { @@ -536,7 +536,7 @@ } } }, - "golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest": { "type": "object", "required": [ "description", @@ -555,7 +555,7 @@ } } }, - "golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse": { "type": "object", "properties": { "data": { @@ -574,7 +574,7 @@ } } }, - "golang-rest-api-template_internal_handlers_category_model.StandardResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse": { "type": "object", "properties": { "data": {}, @@ -586,7 +586,7 @@ } } }, - "golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest": { "type": "object", "required": [ "description", @@ -605,7 +605,7 @@ } } }, - "golang-rest-api-template_internal_handlers_product_model.CreateProductRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest": { "type": "object", "required": [ "category_id", @@ -632,7 +632,7 @@ } } }, - "golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse": { "type": "object", "properties": { "category_id": { @@ -655,7 +655,7 @@ } } }, - "golang-rest-api-template_internal_handlers_product_model.StandardResponse": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse": { "type": "object", "properties": { "data": {}, @@ -667,7 +667,7 @@ } } }, - "golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest": { + "github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest": { "type": "object", "required": [ "category_id", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 510946f..2eab851 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1,15 +1,15 @@ basePath: /api definitions: - golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse: properties: data: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryDetail' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail' message: type: string success: type: boolean type: object - golang-rest-api-template_internal_handlers_category_model.CategoryDetail: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryDetail: properties: description: type: string @@ -20,7 +20,7 @@ definitions: parent_id: type: integer type: object - golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest: properties: description: type: string @@ -33,7 +33,7 @@ definitions: - name - parent_id type: object - golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse: properties: data: properties: @@ -45,7 +45,7 @@ definitions: success: type: boolean type: object - golang-rest-api-template_internal_handlers_category_model.StandardResponse: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse: properties: data: {} message: @@ -53,7 +53,7 @@ definitions: success: type: boolean type: object - golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest: properties: description: type: string @@ -66,7 +66,7 @@ definitions: - name - parent_id type: object - golang-rest-api-template_internal_handlers_product_model.CreateProductRequest: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest: properties: category_id: type: integer @@ -85,7 +85,7 @@ definitions: - price - stock type: object - golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse: properties: category_id: type: integer @@ -100,7 +100,7 @@ definitions: stock: type: integer type: object - golang-rest-api-template_internal_handlers_product_model.StandardResponse: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse: properties: data: {} message: @@ -108,7 +108,7 @@ definitions: success: type: boolean type: object - golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest: + github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest: properties: category_id: type: integer @@ -177,15 +177,15 @@ paths: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "404": description: 404 page not found schema: @@ -193,7 +193,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' summary: Delete Category example tags: - Category @@ -213,15 +213,15 @@ paths: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CategoryByIDResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "404": description: 404 page not found schema: @@ -229,7 +229,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' summary: Get Category details example tags: - Category @@ -248,22 +248,22 @@ paths: name: category required: true schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.UpdateCategoryRequest' produces: - application/json responses: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "404": description: 404 page not found schema: @@ -271,7 +271,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' summary: Update Category example tags: - Category @@ -286,22 +286,22 @@ paths: name: category required: true schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryRequest' produces: - application/json responses: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.CreateCategoryResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' "404": description: 404 page not found schema: @@ -309,7 +309,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_category_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_category_model.StandardResponse' summary: Create Category example tags: - Category @@ -324,22 +324,22 @@ paths: name: product required: true schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.CreateProductRequest' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.CreateProductRequest' produces: - application/json responses: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "404": description: 404 page not found schema: @@ -347,7 +347,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' summary: Create Product example tags: - Product @@ -368,15 +368,15 @@ paths: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "404": description: 404 page not found schema: @@ -384,7 +384,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' summary: Delete Product example tags: - Product @@ -404,15 +404,15 @@ paths: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.ProductDetailResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "404": description: 404 page not found schema: @@ -420,7 +420,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' summary: Get Product details example tags: - Product @@ -439,22 +439,22 @@ paths: name: product required: true schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.UpdateProductRequest' produces: - application/json responses: "200": description: OK schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "400": description: Bad Request schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "401": description: Unauthorized schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' "404": description: 404 page not found schema: @@ -462,7 +462,7 @@ paths: "500": description: Internal Server Error schema: - $ref: '#/definitions/golang-rest-api-template_internal_handlers_product_model.StandardResponse' + $ref: '#/definitions/github_com_MitulShah1_golang-rest-api-template_internal_handlers_product_model.StandardResponse' summary: Update Product example tags: - Product diff --git a/go.mod b/go.mod index d1cf192..f81d27f 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module golang-rest-api-template +module github.com/MitulShah1/golang-rest-api-template go 1.21.0 diff --git a/internal/handlers/category/api.go b/internal/handlers/category/api.go index 53f6b22..c86c04c 100644 --- a/internal/handlers/category/api.go +++ b/internal/handlers/category/api.go @@ -2,12 +2,13 @@ package category import ( "encoding/json" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/internal/services/category" - "golang-rest-api-template/package/logger" "net/http" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/internal/services/category" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/category/create.go b/internal/handlers/category/create.go index c1dc141..95e3538 100644 --- a/internal/handlers/category/create.go +++ b/internal/handlers/category/create.go @@ -2,11 +2,12 @@ package category import ( "encoding/json" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/package/validation" "io" "net/http" + + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/package/validation" ) // Category godoc diff --git a/internal/handlers/category/create_test.go b/internal/handlers/category/create_test.go index 99268d6..a3f7cac 100644 --- a/internal/handlers/category/create_test.go +++ b/internal/handlers/category/create_test.go @@ -9,9 +9,9 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/services/category/mocks" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/services/category/mocks" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/stretchr/testify/assert" ) diff --git a/internal/handlers/category/delete.go b/internal/handlers/category/delete.go index df82a23..c0b4fc5 100644 --- a/internal/handlers/category/delete.go +++ b/internal/handlers/category/delete.go @@ -1,11 +1,12 @@ package category import ( - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/response" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/category/delete_test.go b/internal/handlers/category/delete_test.go index f47e1e7..c66c86a 100644 --- a/internal/handlers/category/delete_test.go +++ b/internal/handlers/category/delete_test.go @@ -7,9 +7,9 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/category/model" - sqlModel "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + sqlModel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/category/details.go b/internal/handlers/category/details.go index c2d411d..1cc9973 100644 --- a/internal/handlers/category/details.go +++ b/internal/handlers/category/details.go @@ -2,11 +2,12 @@ package category import ( "encoding/json" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/response" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/category/details_test.go b/internal/handlers/category/details_test.go index 4622aea..2991148 100644 --- a/internal/handlers/category/details_test.go +++ b/internal/handlers/category/details_test.go @@ -6,9 +6,9 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/category/model" - sqlModel "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + sqlModel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/category/update.go b/internal/handlers/category/update.go index b9538da..889b8bd 100644 --- a/internal/handlers/category/update.go +++ b/internal/handlers/category/update.go @@ -2,13 +2,14 @@ package category import ( "encoding/json" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/package/validation" "io" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/package/validation" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/category/update_test.go b/internal/handlers/category/update_test.go index a818a63..c25e4df 100644 --- a/internal/handlers/category/update_test.go +++ b/internal/handlers/category/update_test.go @@ -7,8 +7,8 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/health/api.go b/internal/handlers/health/api.go index f79ae5d..e935b25 100644 --- a/internal/handlers/health/api.go +++ b/internal/handlers/health/api.go @@ -1,10 +1,11 @@ package health import ( - "golang-rest-api-template/internal/response" - "golang-rest-api-template/package/logger" "net/http" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/health/api_test.go b/internal/handlers/health/api_test.go index 6ee4fe3..0942bb2 100644 --- a/internal/handlers/health/api_test.go +++ b/internal/handlers/health/api_test.go @@ -3,7 +3,7 @@ package health import ( "testing" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/stretchr/testify/assert" ) diff --git a/internal/handlers/product/api.go b/internal/handlers/product/api.go index 6c730c0..6b34b28 100644 --- a/internal/handlers/product/api.go +++ b/internal/handlers/product/api.go @@ -2,12 +2,13 @@ package product import ( "encoding/json" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/internal/services/product" - "golang-rest-api-template/package/logger" "net/http" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/internal/services/product" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/product/create.go b/internal/handlers/product/create.go index 0a62dcd..f70190a 100644 --- a/internal/handlers/product/create.go +++ b/internal/handlers/product/create.go @@ -2,11 +2,12 @@ package product import ( "encoding/json" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/package/validation" "io" "net/http" + + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/package/validation" ) // Product godoc diff --git a/internal/handlers/product/create_test.go b/internal/handlers/product/create_test.go index 65211da..4951085 100644 --- a/internal/handlers/product/create_test.go +++ b/internal/handlers/product/create_test.go @@ -9,9 +9,9 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/services/product/mocks" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/services/product/mocks" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/stretchr/testify/assert" ) diff --git a/internal/handlers/product/delete.go b/internal/handlers/product/delete.go index f004cc3..82fcb2d 100644 --- a/internal/handlers/product/delete.go +++ b/internal/handlers/product/delete.go @@ -1,11 +1,12 @@ package product import ( - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/product/delete_test.go b/internal/handlers/product/delete_test.go index fc5b16a..257d6f3 100644 --- a/internal/handlers/product/delete_test.go +++ b/internal/handlers/product/delete_test.go @@ -7,8 +7,8 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/product/details.go b/internal/handlers/product/details.go index a392d21..19e3697 100644 --- a/internal/handlers/product/details.go +++ b/internal/handlers/product/details.go @@ -2,11 +2,12 @@ package product import ( "encoding/json" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/product/details_test.go b/internal/handlers/product/details_test.go index 5e16ec8..34277d2 100644 --- a/internal/handlers/product/details_test.go +++ b/internal/handlers/product/details_test.go @@ -7,8 +7,8 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/product/update.go b/internal/handlers/product/update.go index 0efa29b..b7a1b9b 100644 --- a/internal/handlers/product/update.go +++ b/internal/handlers/product/update.go @@ -2,13 +2,14 @@ package product import ( "encoding/json" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/response" - "golang-rest-api-template/package/validation" "io" "net/http" "strconv" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/response" + "github.com/MitulShah1/golang-rest-api-template/package/validation" + "github.com/gorilla/mux" ) diff --git a/internal/handlers/product/update_test.go b/internal/handlers/product/update_test.go index 8e5155d..9596e5b 100644 --- a/internal/handlers/product/update_test.go +++ b/internal/handlers/product/update_test.go @@ -8,8 +8,8 @@ import ( "net/http/httptest" "testing" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" "github.com/gorilla/mux" "github.com/stretchr/testify/assert" diff --git a/internal/handlers/server.go b/internal/handlers/server.go index b436323..24c0b66 100644 --- a/internal/handlers/server.go +++ b/internal/handlers/server.go @@ -2,19 +2,20 @@ package handlers import ( "context" - "golang-rest-api-template/internal/handlers/health" - prodApi "golang-rest-api-template/internal/handlers/product" - "golang-rest-api-template/internal/repository" - "golang-rest-api-template/internal/services/category" - "golang-rest-api-template/internal/services/product" - "golang-rest-api-template/package/database" - "golang-rest-api-template/package/logger" - "golang-rest-api-template/package/middleware" "net" "net/http" - _ "golang-rest-api-template/docs" - catApi "golang-rest-api-template/internal/handlers/category" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/health" + prodApi "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product" + "github.com/MitulShah1/golang-rest-api-template/internal/repository" + "github.com/MitulShah1/golang-rest-api-template/internal/services/category" + "github.com/MitulShah1/golang-rest-api-template/internal/services/product" + "github.com/MitulShah1/golang-rest-api-template/package/database" + "github.com/MitulShah1/golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/package/middleware" + + _ "github.com/MitulShah1/golang-rest-api-template/docs" + catApi "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category" "github.com/gorilla/mux" httpSwagger "github.com/swaggo/http-swagger/v2" diff --git a/internal/repository/category_repo.go b/internal/repository/category_repo.go index b855eb7..ce7761f 100644 --- a/internal/repository/category_repo.go +++ b/internal/repository/category_repo.go @@ -3,7 +3,8 @@ package repository import ( "context" "database/sql" - "golang-rest-api-template/internal/repository/model" + + "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" "github.com/Masterminds/squirrel" ) diff --git a/internal/repository/category_repo_test.go b/internal/repository/category_repo_test.go index bbbf0a7..d52266f 100644 --- a/internal/repository/category_repo_test.go +++ b/internal/repository/category_repo_test.go @@ -7,9 +7,9 @@ import ( "testing" "time" - "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/database" - "golang-rest-api-template/package/database/mocks" + "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/database" + "github.com/MitulShah1/golang-rest-api-template/package/database/mocks" "github.com/DATA-DOG/go-sqlmock" "github.com/stretchr/testify/assert" diff --git a/internal/repository/product_repo.go b/internal/repository/product_repo.go index 40591aa..6135387 100644 --- a/internal/repository/product_repo.go +++ b/internal/repository/product_repo.go @@ -4,7 +4,8 @@ import ( "context" "database/sql" "fmt" - "golang-rest-api-template/internal/repository/model" + + "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" "github.com/Masterminds/squirrel" ) diff --git a/internal/repository/product_repo_test.go b/internal/repository/product_repo_test.go index ebafa2c..bdc8416 100644 --- a/internal/repository/product_repo_test.go +++ b/internal/repository/product_repo_test.go @@ -6,10 +6,10 @@ import ( "errors" "testing" - "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/database" + "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/database" - "golang-rest-api-template/package/database/mocks" + "github.com/MitulShah1/golang-rest-api-template/package/database/mocks" "github.com/DATA-DOG/go-sqlmock" "github.com/stretchr/testify/assert" diff --git a/internal/repository/repo.go b/internal/repository/repo.go index 861ee82..1e3ffa4 100644 --- a/internal/repository/repo.go +++ b/internal/repository/repo.go @@ -1,6 +1,6 @@ package repository -import "golang-rest-api-template/package/database" +import "github.com/MitulShah1/golang-rest-api-template/package/database" type DBRepository interface { // Product Repository diff --git a/internal/response/reponse.go b/internal/response/reponse.go index 5bdba29..baf7bf3 100644 --- a/internal/response/reponse.go +++ b/internal/response/reponse.go @@ -3,7 +3,7 @@ package response import ( "net/http" - "golang-rest-api-template/package/logger" + "github.com/MitulShah1/golang-rest-api-template/package/logger" ) func sendResponse(w http.ResponseWriter, status int, resp []byte, contentType string) { diff --git a/internal/services/category/mocks/CategoryServiceInterface.go b/internal/services/category/mocks/CategoryServiceInterface.go index 8d21fa7..69815c8 100644 --- a/internal/services/category/mocks/CategoryServiceInterface.go +++ b/internal/services/category/mocks/CategoryServiceInterface.go @@ -4,11 +4,11 @@ package mocks import ( context "context" - model "golang-rest-api-template/internal/handlers/category/model" + model "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" mock "github.com/stretchr/testify/mock" - repositorymodel "golang-rest-api-template/internal/repository/model" + repositorymodel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" ) // CategoryServiceInterface is an autogenerated mock type for the CategoryServiceInterface type diff --git a/internal/services/category/service.go b/internal/services/category/service.go index 238d61f..4ede6ce 100644 --- a/internal/services/category/service.go +++ b/internal/services/category/service.go @@ -2,10 +2,11 @@ package category import ( "context" - "golang-rest-api-template/internal/handlers/category/model" - "golang-rest-api-template/internal/repository" - sqlModel "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/logger" + + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + "github.com/MitulShah1/golang-rest-api-template/internal/repository" + sqlModel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" ) type CategoryServiceInterface interface { diff --git a/internal/services/category/service_test.go b/internal/services/category/service_test.go index 7ffa3a2..70af4df 100644 --- a/internal/services/category/service_test.go +++ b/internal/services/category/service_test.go @@ -7,9 +7,9 @@ import ( "github.com/stretchr/testify/assert" - "golang-rest-api-template/internal/handlers/category/model" - sqlModel "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/internal/services/category/mocks" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/category/model" + sqlModel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/internal/services/category/mocks" ) var mockRepo = new(mocks.CategoryServiceInterface) diff --git a/internal/services/product/mocks/ProductServiceInterface.go b/internal/services/product/mocks/ProductServiceInterface.go index a9f7bc6..e4717ce 100644 --- a/internal/services/product/mocks/ProductServiceInterface.go +++ b/internal/services/product/mocks/ProductServiceInterface.go @@ -4,8 +4,8 @@ package mocks import ( context "context" - model "golang-rest-api-template/internal/handlers/product/model" + model "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" mock "github.com/stretchr/testify/mock" ) diff --git a/internal/services/product/service.go b/internal/services/product/service.go index 820827f..ddc1f09 100644 --- a/internal/services/product/service.go +++ b/internal/services/product/service.go @@ -2,10 +2,11 @@ package product import ( "context" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/repository" - sqlModel "golang-rest-api-template/internal/repository/model" - "golang-rest-api-template/package/logger" + + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/repository" + sqlModel "github.com/MitulShah1/golang-rest-api-template/internal/repository/model" + "github.com/MitulShah1/golang-rest-api-template/package/logger" ) type ProductServiceInterface interface { diff --git a/internal/services/product/service_test.go b/internal/services/product/service_test.go index 201d1e7..76bfe4c 100644 --- a/internal/services/product/service_test.go +++ b/internal/services/product/service_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/assert" - "golang-rest-api-template/internal/handlers/product/model" - "golang-rest-api-template/internal/services/product/mocks" + "github.com/MitulShah1/golang-rest-api-template/internal/handlers/product/model" + "github.com/MitulShah1/golang-rest-api-template/internal/services/product/mocks" ) var mockService = new(mocks.ProductServiceInterface) diff --git a/package/database/database_test.go b/package/database/database_test.go index 2757141..bfcebc6 100644 --- a/package/database/database_test.go +++ b/package/database/database_test.go @@ -4,7 +4,7 @@ import ( "errors" "testing" - "golang-rest-api-template/package/database/mocks" + "github.com/MitulShah1/golang-rest-api-template/package/database/mocks" "github.com/DATA-DOG/go-sqlmock" "github.com/stretchr/testify/assert" diff --git a/package/middleware/basic_auth.go b/package/middleware/basic_auth.go index ffea3a5..cd35747 100644 --- a/package/middleware/basic_auth.go +++ b/package/middleware/basic_auth.go @@ -3,9 +3,10 @@ package middleware import ( "encoding/base64" "encoding/json" - "golang-rest-api-template/internal/response" "net/http" "strings" + + "github.com/MitulShah1/golang-rest-api-template/internal/response" ) // AuthMiddleware is a simple Basic Authentication middleware