Skip to content

Commit

Permalink
#39 Auto-generated OpenAPI documentation (#40)
Browse files Browse the repository at this point in the history
  • Loading branch information
nkz-soft authored Nov 10, 2024
1 parent 44cad1c commit 47cf2c1
Show file tree
Hide file tree
Showing 14 changed files with 343 additions and 56 deletions.
2 changes: 0 additions & 2 deletions .github/workflows/build-by-branch.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,9 @@ jobs:
components: rustfmt, clippy
- name: Check code style
run: cargo fmt -- --check
continue-on-error: true
- name: Build
run: cargo build --release --all-features
- name: Check code
run: cargo clippy
continue-on-error: true
- name: Tests
run: cargo test
191 changes: 181 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

15 changes: 11 additions & 4 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,15 @@ members = [
resolver = "2"

[workspace.dependencies]

# Web
actix-web = "4.9.0"

# OpenAPI
utoipa = { version = "5.2.0", features = ["actix_extras", "uuid"] }
utoipa-actix-web = "0.1.2"
utoipa-swagger-ui = { version = "8.0.3", features = ["actix-web"] }

serde = { version = "1.0.214", features = ["derive"] }
serde_json = "1.0.132"

Expand All @@ -19,12 +26,12 @@ readonly = "0.2.12"
tokio-postgres = { version = "0.7.12", features = ["with-uuid-1"] }
postgres-types = { version = "0.2.8", features = ["uuid-1"] }
refinery = { version = "0.8.14", features = ["tokio-postgres"] }
tokio = { version = "1.41.0", features = ["full"] }
tokio = { version = "1.41.1", features = ["full"] }
async-trait = "0.1.83"
deadpool-postgres = { version = "0.14.0", features = ["serde"] }
quote = "1.0.37"
syn = { version = "2.0.87", features = ["full"] }
serial_test = "3.1.1"
serial_test = "3.2.0"

# Logging
log = "0.4.22"
Expand All @@ -36,8 +43,8 @@ dotenv = "0.15.0"
config = "0.14.1"

# Error Handling
anyhow = "1.0.92"
thiserror = "1.0.68"
anyhow = "1.0.93"
thiserror = "2.0.1"

# Testing
testcontainers = "0.23.1"
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,15 @@ CQRS (Command Query Responsibility Segregation) is a pattern that separates the
- [X] Configuration
- [X] Configuration file
- [X] Environment variables
- [x] OpenAPI documentation
- [ ] Advanced error handling
- [ ] Coming soon :)

## Technologies used

- [Rust](https://github.com/rust-lang/rust): The Rust Programming Language
- [Actix](https://github.com/actix/actix-web): Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust
- [Rust](https://github.com/rust-lang/rust): The Rust Programming Language.
- [Actix](https://github.com/actix/actix-web): Actix Web is a powerful, pragmatic, and extremely fast web framework for Rust.
- [Refinery](https://github.com/rust-db/refinery): Refinery strives to make running migrations for different databases as easy as possible.
- [rust-postgres](https://github.com/sfackler/rust-postgres): PostgreSQL support for Rust.
- [testcontainers-rs](https://github.com/testcontainers/testcontainers-rs): Testcontainers-rs is the official Rust language fork of http://testcontainers.org.
- [utoipa](https://github.com/juhaku/utoipa): Code first and compile time generated OpenAPI documentation for Rust APIs.
Loading

0 comments on commit 47cf2c1

Please sign in to comment.