├── .gitignore ├── Dockerfile ├── LICENSE ├── Makefile ├── README.md ├── cmd └── app │ ├── main.go │ └── main_test.go ├── docker-compose.yml ├── go.mod ├── go.sum ├── internal ├── app │ ├── errors.go │ └── service.go ├── domain │ ├── entity.go │ └── user │ │ ├── history │ │ └── history.go │ │ └── user.go ├── pkg │ └── must │ │ └── not_fail.go └── platform │ ├── http │ ├── errors.go │ ├── history.go │ ├── router.go │ └── users.go │ ├── postgres │ ├── errors.go │ ├── transactional.go │ ├── user_history.go │ └── user_repository.go │ └── service │ ├── config.go │ └── run.go └── resources └── migrations ├── 1_updated_at_trigger.down.sql ├── 1_updated_at_trigger.up.sql ├── 2_users_table.down.sql ├── 2_users_table.up.sql ├── 3_users_history_table.down.sql └── 3_users_history_table.up.sql /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | build/ 3 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/README.md -------------------------------------------------------------------------------- /cmd/app/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/cmd/app/main.go -------------------------------------------------------------------------------- /cmd/app/main_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/cmd/app/main_test.go -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/go.sum -------------------------------------------------------------------------------- /internal/app/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/app/errors.go -------------------------------------------------------------------------------- /internal/app/service.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/app/service.go -------------------------------------------------------------------------------- /internal/domain/entity.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/domain/entity.go -------------------------------------------------------------------------------- /internal/domain/user/history/history.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/domain/user/history/history.go -------------------------------------------------------------------------------- /internal/domain/user/user.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/domain/user/user.go -------------------------------------------------------------------------------- /internal/pkg/must/not_fail.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/pkg/must/not_fail.go -------------------------------------------------------------------------------- /internal/platform/http/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/http/errors.go -------------------------------------------------------------------------------- /internal/platform/http/history.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/http/history.go -------------------------------------------------------------------------------- /internal/platform/http/router.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/http/router.go -------------------------------------------------------------------------------- /internal/platform/http/users.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/http/users.go -------------------------------------------------------------------------------- /internal/platform/postgres/errors.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/postgres/errors.go -------------------------------------------------------------------------------- /internal/platform/postgres/transactional.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/postgres/transactional.go -------------------------------------------------------------------------------- /internal/platform/postgres/user_history.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/postgres/user_history.go -------------------------------------------------------------------------------- /internal/platform/postgres/user_repository.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/postgres/user_repository.go -------------------------------------------------------------------------------- /internal/platform/service/config.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/service/config.go -------------------------------------------------------------------------------- /internal/platform/service/run.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/internal/platform/service/run.go -------------------------------------------------------------------------------- /resources/migrations/1_updated_at_trigger.down.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/resources/migrations/1_updated_at_trigger.down.sql -------------------------------------------------------------------------------- /resources/migrations/1_updated_at_trigger.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/resources/migrations/1_updated_at_trigger.up.sql -------------------------------------------------------------------------------- /resources/migrations/2_users_table.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE users; 2 | -------------------------------------------------------------------------------- /resources/migrations/2_users_table.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/resources/migrations/2_users_table.up.sql -------------------------------------------------------------------------------- /resources/migrations/3_users_history_table.down.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE users_history; 2 | -------------------------------------------------------------------------------- /resources/migrations/3_users_history_table.up.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ar3s3ru/go-transaction-example/HEAD/resources/migrations/3_users_history_table.up.sql --------------------------------------------------------------------------------