├── .env ├── .env.example ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── copilot-instructions.md ├── dependabot.yml └── workflows │ ├── cibuild.yml │ └── delete-gh-run.yaml ├── .gitignore ├── .golangci.yml ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── compiler.xml ├── go-rest-api-example.iml ├── misc.xml ├── modules.xml ├── sonarlint │ └── issuestore │ │ └── index.pb └── vcs.xml ├── .vscode ├── launch.json └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── OpenApi-v1.postman_collection.json ├── OpenApi-v1.yaml ├── README.md ├── SECURITY.md ├── codecov.yml ├── docker-compose.yaml ├── go-rest-api-example-local.postman_environment.json ├── go-rest-api-example.iml ├── go-rest-api.svg ├── go.mod ├── go.sum ├── internal ├── config │ ├── config.go │ └── config_test.go ├── db │ ├── mocks │ │ ├── connection_mock.go │ │ └── orders.repo_mock.go │ ├── ordersRepo.go │ └── ordersRepo_test.go ├── errors │ └── errorCodes.go ├── handlers │ ├── dataSeedHandler.go │ ├── dataSeedHandler_test.go │ ├── ordersHandler.go │ ├── ordersHandler_test.go │ ├── statusHandler.go │ └── statusHandler_test.go ├── middleware │ ├── authMiddleware.go │ ├── authMiddleware_test.go │ ├── internalAuthMiddleware.go │ ├── internalAuthMiddleware_test.go │ ├── queryParamsCheckMiddleware.go │ ├── queryParamsCheckMiddleware_test.go │ ├── requestIdMiddleware.go │ ├── requestIdMiddleware_test.go │ ├── requestLogMiddleware.go │ ├── requestLogMiddleware_test.go │ ├── responseHeadersMiddleware.go │ └── responseHeadersMiddleware_test.go ├── mockData │ ├── mongoDB_test_credentials.json │ ├── mongoDB_test_credentials_fail.json │ ├── order.json │ └── orders.json ├── models │ ├── data │ │ └── dataModels.go │ ├── external │ │ └── externalModels.go │ └── types.go ├── server │ ├── server.go │ └── server_test.go └── utilities │ ├── util.go │ └── util_test.go ├── localDevelopment ├── db-credentials-sidecar.json └── init-mongo.js ├── main.go ├── main_test.go └── pkg ├── flightrecorder ├── flightrecorder.go └── flightrecorder_test.go ├── logger ├── logger.go └── logger_test.go └── mongodb ├── connection.go ├── connection_test.go ├── options.go ├── options_test.go ├── types.go ├── types_test.go ├── url.go └── url_test.go /.env: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.env -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.env.example -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/copilot-instructions.md -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/cibuild.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/workflows/cibuild.yml -------------------------------------------------------------------------------- /.github/workflows/delete-gh-run.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.github/workflows/delete-gh-run.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.golangci.yml -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/compiler.xml -------------------------------------------------------------------------------- /.idea/go-rest-api-example.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/go-rest-api-example.iml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/sonarlint/issuestore/index.pb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/sonarlint/issuestore/index.pb -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/CODE_OF_CONDUCT.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/Makefile -------------------------------------------------------------------------------- /OpenApi-v1.postman_collection.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/OpenApi-v1.postman_collection.json -------------------------------------------------------------------------------- /OpenApi-v1.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/OpenApi-v1.yaml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/SECURITY.md -------------------------------------------------------------------------------- /codecov.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/codecov.yml -------------------------------------------------------------------------------- /docker-compose.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/docker-compose.yaml -------------------------------------------------------------------------------- /go-rest-api-example-local.postman_environment.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/go-rest-api-example-local.postman_environment.json -------------------------------------------------------------------------------- /go-rest-api-example.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/go-rest-api-example.iml -------------------------------------------------------------------------------- /go-rest-api.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/go-rest-api.svg -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/go.sum -------------------------------------------------------------------------------- /internal/config/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/config/config.go -------------------------------------------------------------------------------- /internal/config/config_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/config/config_test.go -------------------------------------------------------------------------------- /internal/db/mocks/connection_mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/db/mocks/connection_mock.go -------------------------------------------------------------------------------- /internal/db/mocks/orders.repo_mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/db/mocks/orders.repo_mock.go -------------------------------------------------------------------------------- /internal/db/ordersRepo.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/db/ordersRepo.go -------------------------------------------------------------------------------- /internal/db/ordersRepo_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/db/ordersRepo_test.go -------------------------------------------------------------------------------- /internal/errors/errorCodes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/errors/errorCodes.go -------------------------------------------------------------------------------- /internal/handlers/dataSeedHandler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/dataSeedHandler.go -------------------------------------------------------------------------------- /internal/handlers/dataSeedHandler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/dataSeedHandler_test.go -------------------------------------------------------------------------------- /internal/handlers/ordersHandler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/ordersHandler.go -------------------------------------------------------------------------------- /internal/handlers/ordersHandler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/ordersHandler_test.go -------------------------------------------------------------------------------- /internal/handlers/statusHandler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/statusHandler.go -------------------------------------------------------------------------------- /internal/handlers/statusHandler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/handlers/statusHandler_test.go -------------------------------------------------------------------------------- /internal/middleware/authMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/authMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/authMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/authMiddleware_test.go -------------------------------------------------------------------------------- /internal/middleware/internalAuthMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/internalAuthMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/internalAuthMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/internalAuthMiddleware_test.go -------------------------------------------------------------------------------- /internal/middleware/queryParamsCheckMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/queryParamsCheckMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/queryParamsCheckMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/queryParamsCheckMiddleware_test.go -------------------------------------------------------------------------------- /internal/middleware/requestIdMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/requestIdMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/requestIdMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/requestIdMiddleware_test.go -------------------------------------------------------------------------------- /internal/middleware/requestLogMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/requestLogMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/requestLogMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/requestLogMiddleware_test.go -------------------------------------------------------------------------------- /internal/middleware/responseHeadersMiddleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/responseHeadersMiddleware.go -------------------------------------------------------------------------------- /internal/middleware/responseHeadersMiddleware_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/middleware/responseHeadersMiddleware_test.go -------------------------------------------------------------------------------- /internal/mockData/mongoDB_test_credentials.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/mockData/mongoDB_test_credentials.json -------------------------------------------------------------------------------- /internal/mockData/mongoDB_test_credentials_fail.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/mockData/mongoDB_test_credentials_fail.json -------------------------------------------------------------------------------- /internal/mockData/order.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/mockData/order.json -------------------------------------------------------------------------------- /internal/mockData/orders.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/mockData/orders.json -------------------------------------------------------------------------------- /internal/models/data/dataModels.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/models/data/dataModels.go -------------------------------------------------------------------------------- /internal/models/external/externalModels.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/models/external/externalModels.go -------------------------------------------------------------------------------- /internal/models/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/models/types.go -------------------------------------------------------------------------------- /internal/server/server.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/server/server.go -------------------------------------------------------------------------------- /internal/server/server_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/server/server_test.go -------------------------------------------------------------------------------- /internal/utilities/util.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/utilities/util.go -------------------------------------------------------------------------------- /internal/utilities/util_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/internal/utilities/util_test.go -------------------------------------------------------------------------------- /localDevelopment/db-credentials-sidecar.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/localDevelopment/db-credentials-sidecar.json -------------------------------------------------------------------------------- /localDevelopment/init-mongo.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/localDevelopment/init-mongo.js -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/main.go -------------------------------------------------------------------------------- /main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/main_test.go -------------------------------------------------------------------------------- /pkg/flightrecorder/flightrecorder.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/flightrecorder/flightrecorder.go -------------------------------------------------------------------------------- /pkg/flightrecorder/flightrecorder_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/flightrecorder/flightrecorder_test.go -------------------------------------------------------------------------------- /pkg/logger/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/logger/logger.go -------------------------------------------------------------------------------- /pkg/logger/logger_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/logger/logger_test.go -------------------------------------------------------------------------------- /pkg/mongodb/connection.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/connection.go -------------------------------------------------------------------------------- /pkg/mongodb/connection_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/connection_test.go -------------------------------------------------------------------------------- /pkg/mongodb/options.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/options.go -------------------------------------------------------------------------------- /pkg/mongodb/options_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/options_test.go -------------------------------------------------------------------------------- /pkg/mongodb/types.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/types.go -------------------------------------------------------------------------------- /pkg/mongodb/types_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/types_test.go -------------------------------------------------------------------------------- /pkg/mongodb/url.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/url.go -------------------------------------------------------------------------------- /pkg/mongodb/url_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rameshsunkara/go-rest-api-example/HEAD/pkg/mongodb/url_test.go --------------------------------------------------------------------------------