gitextract_mzrohxsq/ ├── .air.toml ├── .env.example ├── .github/ │ └── workflows/ │ ├── build.yml │ ├── linter.yml │ └── test.yml ├── .gitignore ├── .golangci.yml ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── docker-compose.yml ├── go.mod ├── go.sum ├── src/ │ ├── config/ │ │ ├── config.go │ │ ├── fiber.go │ │ ├── oauth2.go │ │ ├── roles.go │ │ └── tokens.go │ ├── controller/ │ │ ├── auth_controller.go │ │ ├── health_check_controller.go │ │ └── user_controller.go │ ├── database/ │ │ ├── database.go │ │ ├── init/ │ │ │ └── init.sql │ │ └── migrations/ │ │ ├── 20240929085103_create-table-users.down.sql │ │ ├── 20240929085103_create-table-users.up.sql │ │ ├── 20240929085107_create-table-tokens.down.sql │ │ └── 20240929085107_create-table-tokens.up.sql │ ├── docs/ │ │ ├── docs.go │ │ ├── swagger.json │ │ └── swagger.yaml │ ├── main.go │ ├── middleware/ │ │ ├── auth.go │ │ ├── jwt.go │ │ ├── limiter.go │ │ ├── logger.go │ │ └── recover.go │ ├── model/ │ │ ├── token_model.go │ │ └── user_model.go │ ├── response/ │ │ ├── auth_response.go │ │ ├── error_response.go │ │ ├── example/ │ │ │ ├── error_example.go │ │ │ ├── example.go │ │ │ ├── health_check_example.go │ │ │ ├── token_example.go │ │ │ └── user_example.go │ │ ├── health_check_response.go │ │ ├── response.go │ │ └── user_response.go │ ├── router/ │ │ ├── auth_route.go │ │ ├── docs_route.go │ │ ├── health_check_route.go │ │ ├── router.go │ │ └── user_route.go │ ├── service/ │ │ ├── auth_service.go │ │ ├── email_service.go │ │ ├── health_check_service.go │ │ ├── token_service.go │ │ └── user_service.go │ ├── utils/ │ │ ├── bcrypt.go │ │ ├── error.go │ │ ├── logrus.go │ │ └── verify.go │ └── validation/ │ ├── auth_validation.go │ ├── custom_validation.go │ ├── user_validation.go │ └── validation.go └── test/ ├── fixture/ │ ├── token_fixture.go │ └── user_fixture.go ├── helper/ │ └── helper.go ├── init.go ├── integration/ │ ├── auth_test.go │ ├── health_check_test.go │ └── user_test.go └── unit/ └── model/ └── user_model_test.go