├── .env.example ├── .github └── workflows │ └── build.yml ├── .gitignore ├── .golangci.yml ├── LICENSE ├── Makefile ├── README 2.md ├── README.md ├── api ├── controllers │ ├── controllers.go │ └── user_controller.go ├── middlewares │ ├── auth_middleware.go │ ├── middlewares.go │ ├── pagination_middleware.go │ ├── rate_limit_middleware.go │ ├── transaction_middleware.go │ └── upload_middleware.go ├── responses │ └── response.go └── routes │ ├── routes.go │ └── user_routes.go ├── api_errors └── errors.go ├── app.yaml.example ├── bootstrap ├── app.go └── modules.go ├── console ├── commands │ └── random.go ├── console.go └── serve.go ├── constants ├── context.go ├── rate_limit.go └── roles.go ├── dbconfig.yml ├── docker-compose.yml ├── docker ├── custom.cnf ├── db.Dockerfile ├── run.sh └── web.Dockerfile ├── docs ├── openapi.yaml ├── resources │ └── user.yaml ├── responses │ └── success_response.yaml └── schemas │ └── user_schema.yaml ├── go.mod ├── go.sum ├── hooks └── pre-commit ├── infrastructure ├── bucket.go ├── db.go ├── firebase.go ├── gmail.go ├── infrastructure.go ├── migration.go └── router.go ├── lib ├── base.go ├── binary_uuid.go ├── command.go ├── custom_bind.go ├── env.go ├── file_metadata.go ├── lib.go ├── logger.go └── signed_url.go ├── main.go ├── migration └── 20210421032843-create_users_table.sql ├── models └── user.go ├── repository ├── repository.go └── user_repository.go ├── seeds ├── admin_seed.go └── seeds.go ├── serviceAccountKey.json.example ├── services ├── bucket_service.go ├── firebase_service.go ├── service.go └── user_service.go ├── tests ├── integration │ ├── api_test │ │ └── user_routes_test.go │ ├── controllers_test │ │ ├── controllers_test.go │ │ └── user_controller_test.go │ └── service_test │ │ ├── service_test.go │ │ └── user_service_test.go ├── setup │ ├── db.go │ ├── env.go │ ├── module.go │ └── setup.go └── unit │ └── sample │ └── sample_test.go └── utils ├── datatype_converter.go ├── get_env.go ├── handle_errors.go ├── is_cli.go ├── log_config.go ├── paginate.go ├── send_sentry_msg.go └── status_in_list.go /.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/.env.example -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/Makefile -------------------------------------------------------------------------------- /README 2.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/README 2.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/README.md -------------------------------------------------------------------------------- /api/controllers/controllers.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/controllers/controllers.go -------------------------------------------------------------------------------- /api/controllers/user_controller.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/controllers/user_controller.go -------------------------------------------------------------------------------- /api/middlewares/auth_middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/auth_middleware.go -------------------------------------------------------------------------------- /api/middlewares/middlewares.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/middlewares.go -------------------------------------------------------------------------------- /api/middlewares/pagination_middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/pagination_middleware.go -------------------------------------------------------------------------------- /api/middlewares/rate_limit_middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/rate_limit_middleware.go -------------------------------------------------------------------------------- /api/middlewares/transaction_middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/transaction_middleware.go -------------------------------------------------------------------------------- /api/middlewares/upload_middleware.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/middlewares/upload_middleware.go -------------------------------------------------------------------------------- /api/responses/response.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/responses/response.go -------------------------------------------------------------------------------- /api/routes/routes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/routes/routes.go -------------------------------------------------------------------------------- /api/routes/user_routes.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api/routes/user_routes.go -------------------------------------------------------------------------------- /api_errors/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/api_errors/errors.go -------------------------------------------------------------------------------- /app.yaml.example: -------------------------------------------------------------------------------- 1 | runtime: go116 2 | entrypoint: main app:serve -------------------------------------------------------------------------------- /bootstrap/app.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/bootstrap/app.go -------------------------------------------------------------------------------- /bootstrap/modules.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/bootstrap/modules.go -------------------------------------------------------------------------------- /console/commands/random.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/console/commands/random.go -------------------------------------------------------------------------------- /console/console.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/console/console.go -------------------------------------------------------------------------------- /console/serve.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/console/serve.go -------------------------------------------------------------------------------- /constants/context.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/constants/context.go -------------------------------------------------------------------------------- /constants/rate_limit.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/constants/rate_limit.go -------------------------------------------------------------------------------- /constants/roles.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/constants/roles.go -------------------------------------------------------------------------------- /dbconfig.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/dbconfig.yml -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /docker/custom.cnf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docker/custom.cnf -------------------------------------------------------------------------------- /docker/db.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docker/db.Dockerfile -------------------------------------------------------------------------------- /docker/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docker/run.sh -------------------------------------------------------------------------------- /docker/web.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docker/web.Dockerfile -------------------------------------------------------------------------------- /docs/openapi.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docs/openapi.yaml -------------------------------------------------------------------------------- /docs/resources/user.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docs/resources/user.yaml -------------------------------------------------------------------------------- /docs/responses/success_response.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docs/responses/success_response.yaml -------------------------------------------------------------------------------- /docs/schemas/user_schema.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/docs/schemas/user_schema.yaml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/go.sum -------------------------------------------------------------------------------- /hooks/pre-commit: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/hooks/pre-commit -------------------------------------------------------------------------------- /infrastructure/bucket.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/bucket.go -------------------------------------------------------------------------------- /infrastructure/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/db.go -------------------------------------------------------------------------------- /infrastructure/firebase.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/firebase.go -------------------------------------------------------------------------------- /infrastructure/gmail.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/gmail.go -------------------------------------------------------------------------------- /infrastructure/infrastructure.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/infrastructure.go -------------------------------------------------------------------------------- /infrastructure/migration.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/migration.go -------------------------------------------------------------------------------- /infrastructure/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/infrastructure/router.go -------------------------------------------------------------------------------- /lib/base.go: -------------------------------------------------------------------------------- 1 | package lib 2 | 3 | type ModelBase struct { 4 | ID BinaryUUID `json:"id"` 5 | } 6 | -------------------------------------------------------------------------------- /lib/binary_uuid.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/binary_uuid.go -------------------------------------------------------------------------------- /lib/command.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/command.go -------------------------------------------------------------------------------- /lib/custom_bind.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/custom_bind.go -------------------------------------------------------------------------------- /lib/env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/env.go -------------------------------------------------------------------------------- /lib/file_metadata.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/file_metadata.go -------------------------------------------------------------------------------- /lib/lib.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/lib.go -------------------------------------------------------------------------------- /lib/logger.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/logger.go -------------------------------------------------------------------------------- /lib/signed_url.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/lib/signed_url.go -------------------------------------------------------------------------------- /main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/main.go -------------------------------------------------------------------------------- /migration/20210421032843-create_users_table.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/migration/20210421032843-create_users_table.sql -------------------------------------------------------------------------------- /models/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/models/user.go -------------------------------------------------------------------------------- /repository/repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/repository/repository.go -------------------------------------------------------------------------------- /repository/user_repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/repository/user_repository.go -------------------------------------------------------------------------------- /seeds/admin_seed.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/seeds/admin_seed.go -------------------------------------------------------------------------------- /seeds/seeds.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/seeds/seeds.go -------------------------------------------------------------------------------- /serviceAccountKey.json.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/serviceAccountKey.json.example -------------------------------------------------------------------------------- /services/bucket_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/services/bucket_service.go -------------------------------------------------------------------------------- /services/firebase_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/services/firebase_service.go -------------------------------------------------------------------------------- /services/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/services/service.go -------------------------------------------------------------------------------- /services/user_service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/services/user_service.go -------------------------------------------------------------------------------- /tests/integration/api_test/user_routes_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/integration/api_test/user_routes_test.go -------------------------------------------------------------------------------- /tests/integration/controllers_test/controllers_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/integration/controllers_test/controllers_test.go -------------------------------------------------------------------------------- /tests/integration/controllers_test/user_controller_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/integration/controllers_test/user_controller_test.go -------------------------------------------------------------------------------- /tests/integration/service_test/service_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/integration/service_test/service_test.go -------------------------------------------------------------------------------- /tests/integration/service_test/user_service_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/integration/service_test/user_service_test.go -------------------------------------------------------------------------------- /tests/setup/db.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/setup/db.go -------------------------------------------------------------------------------- /tests/setup/env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/setup/env.go -------------------------------------------------------------------------------- /tests/setup/module.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/setup/module.go -------------------------------------------------------------------------------- /tests/setup/setup.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/setup/setup.go -------------------------------------------------------------------------------- /tests/unit/sample/sample_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/tests/unit/sample/sample_test.go -------------------------------------------------------------------------------- /utils/datatype_converter.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/datatype_converter.go -------------------------------------------------------------------------------- /utils/get_env.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/get_env.go -------------------------------------------------------------------------------- /utils/handle_errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/handle_errors.go -------------------------------------------------------------------------------- /utils/is_cli.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/is_cli.go -------------------------------------------------------------------------------- /utils/log_config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/log_config.go -------------------------------------------------------------------------------- /utils/paginate.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/paginate.go -------------------------------------------------------------------------------- /utils/send_sentry_msg.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/send_sentry_msg.go -------------------------------------------------------------------------------- /utils/status_in_list.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Denes-cilwal/clean_gin_api/HEAD/utils/status_in_list.go --------------------------------------------------------------------------------