[INFO] cloning repository https://github.com/CrimsonBolt47/Transaction-back-end-API
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/CrimsonBolt47/Transaction-back-end-API" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrimsonBolt47%2FTransaction-back-end-API", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrimsonBolt47%2FTransaction-back-end-API'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e29f5247a5f006fe9fbc67b2327d1d0d1f06fc71
[INFO] checking CrimsonBolt47/Transaction-back-end-API against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrimsonBolt47%2FTransaction-back-end-API" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/CrimsonBolt47/Transaction-back-end-API
[INFO] finished tweaking git repo https://github.com/CrimsonBolt47/Transaction-back-end-API
[INFO] tweaked toml for git repo https://github.com/CrimsonBolt47/Transaction-back-end-API written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/CrimsonBolt47/Transaction-back-end-API on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/CrimsonBolt47/Transaction-back-end-API already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7e03564b2687b00cbd2c3811d27bb82c11f12ebf818eb3da4d1ea06ca1c52ff0
[INFO] running `Command { std: "docker" "start" "-a" "7e03564b2687b00cbd2c3811d27bb82c11f12ebf818eb3da4d1ea06ca1c52ff0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7e03564b2687b00cbd2c3811d27bb82c11f12ebf818eb3da4d1ea06ca1c52ff0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7e03564b2687b00cbd2c3811d27bb82c11f12ebf818eb3da4d1ea06ca1c52ff0", kill_on_drop: false }`
[INFO] [stdout] 7e03564b2687b00cbd2c3811d27bb82c11f12ebf818eb3da4d1ea06ca1c52ff0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0a92934e03d441726f626f6b9cedf6180c1c923488bc2e7c7fef741b18357381
[INFO] running `Command { std: "docker" "start" "-a" "0a92934e03d441726f626f6b9cedf6180c1c923488bc2e7c7fef741b18357381", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling cc v1.2.49
[INFO] [stderr]     Checking serde_json v1.0.145
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]     Checking regex-automata v0.4.13
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking url v2.5.7
[INFO] [stderr]     Checking hmac v0.12.1
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]     Checking axum-core v0.5.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking atoi v2.0.0
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking futures-intrusive v0.5.0
[INFO] [stderr]     Checking inout v0.1.4
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]     Checking cipher v0.4.4
[INFO] [stderr]     Checking tracing-serde v0.2.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking headers v0.4.1
[INFO] [stderr]     Checking blowfish v0.9.1
[INFO] [stderr]     Checking rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking bcrypt v0.17.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]     Checking regex v1.12.2
[INFO] [stderr]     Checking tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling validator_derive v0.20.0
[INFO] [stderr]     Checking time v0.3.44
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]     Checking tracing-appender v0.2.4
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking tower-http v0.6.8
[INFO] [stderr]     Checking h2 v0.4.12
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]     Checking sqlx-postgres v0.8.6
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper-util v0.1.19
[INFO] [stderr]     Checking axum v0.8.7
[INFO] [stderr]     Checking hyper-tls v0.6.0
[INFO] [stderr]     Checking reqwest v0.12.26
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.6
[INFO] [stderr]    Compiling sqlx-macros v0.8.6
[INFO] [stderr]     Checking sqlx v0.8.6
[INFO] [stderr]     Checking axum-health v0.1.2
[INFO] [stderr]     Checking axum-extra v0.12.2
[INFO] [stderr]     Checking transaction_axum_api v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/middleware/middleware.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let result = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 29 | |         AuthUser,
[INFO] [stdout] 30 | |         "select account_id from api_keys where key_hash = $1",
[INFO] [stdout] 31 | |         api_key_hash
[INFO] [stdout] 32 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/middleware/middleware.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let result = sqlx::query_as!(AuthWriteUser,r#"select account_id,permissions as "permissions: KeyPermissions" from api_keys whe...
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         api_key_hash)
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |         AccountId,
[INFO] [stdout] 38 | |         "insert into accounts (name,email) values ($1, $2) returning id",
[INFO] [stdout] 39 | |         payload.name,
[INFO] [stdout] 40 | |         payload.email
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |       let api_key_row = sqlx::query_as!(CreateAPIKeyResp,r#"insert into api_keys (account_id,key_hash) values ($1, $2) returning id,...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 57 | |             account_row.id,
[INFO] [stdout] 58 | |             key_hash)
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 88 | |         Account,
[INFO] [stdout] 89 | |         "select * from accounts where id = $1",
[INFO] [stdout] 90 | |         auth.account_id
[INFO] [stdout] 91 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/accounts.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         sqlx::query!("select * from accounts where email = $1", payload.email)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let api_key_row = sqlx::query_as!(GetAPIKey,r#"insert into api_keys 
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 31 | |             (account_id,key_hash,permissions,label) values ($1,$2,$3,$4) 
[INFO] [stdout] 32 | |             returning id,account_id,label,permissions as "permissions: KeyPermissions", created_at"#,
[INFO] [stdout] 33 | |             auth.account_id,
[INFO] [stdout] 34 | |             key_hash,
[INFO] [stdout] 35 | |             payload.permissions as KeyPermissions,
[INFO] [stdout] 36 | |             payload.label)
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let api_keys_rows = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,creat...
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 63 | |         auth.account_id)
[INFO] [stdout]    | |________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,create...
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 83 | |         auth.account_id,
[INFO] [stdout] 84 | |         api_key_id)
[INFO] [stdout]    | |___________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/api_keys.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"delete from api_keys where id = $2 and account_id = $1 returning id,account_i...
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 109 | |         auth.account_id,
[INFO] [stdout] 110 | |         api_key_id)
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/middleware/middleware.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let result = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 29 | |         AuthUser,
[INFO] [stdout] 30 | |         "select account_id from api_keys where key_hash = $1",
[INFO] [stdout] 31 | |         api_key_hash
[INFO] [stdout] 32 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             sqlx::query!(
[INFO] [stdout] 41 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 42 | |                 payload.amount,
[INFO] [stdout] 43 | |                 auth.account_id
[INFO] [stdout] 44 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | /             sqlx::query!(
[INFO] [stdout] 50 | |                 "update accounts set balance = balance - $1 where id = $2",
[INFO] [stdout] 51 | |                 payload.amount,
[INFO] [stdout] 52 | |                 auth.account_id
[INFO] [stdout] 53 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |               let to_id_update = sqlx::query!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 66 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 67 | |                 payload.amount,
[INFO] [stdout] 68 | |                 to_id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/middleware/middleware.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let result = sqlx::query_as!(AuthWriteUser,r#"select account_id,permissions as "permissions: KeyPermissions" from api_keys whe...
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         api_key_hash)
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 | /             sqlx::query!(
[INFO] [stdout] 82 | |                 "update accounts set balance = balance - $1 where id = $2",
[INFO] [stdout] 83 | |                 payload.amount,
[INFO] [stdout] 84 | |                 auth.account_id
[INFO] [stdout] 85 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:112:27
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 113 | |         (account_id, from_id, to_id, amount, transaction_type, idempotency_key, transaction_status) 
[INFO] [stdout] 114 | |          values ($1, $2, $3, $4, $5, $6, $7) 
[INFO] [stdout] 115 | |          returning id,transaction_type "transaction_type: TransactionType",to_id, from_id,amount,transaction_status "transaction_...
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         TransactionStatus::Success as TransactionStatus
[INFO] [stdout] 122 | |     ).fetch_one(&mut *tx).await;
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:153:36
[INFO] [stdout]     |
[INFO] [stdout] 153 |   ...   let original = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id, from...
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 154 | | ...       where account_id = $1 AND idempotency_key = $2"#,
[INFO] [stdout] 155 | | ...       auth.account_id, payload.idempotency_key
[INFO] [stdout] 156 | | ...   ).fetch_one(&pg).await.map_err(|_| AppError::database("Duplicate lookup fail"))?;
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |       let transaction_rows = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id...
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 177 | |      from transactions where account_id=$1 or to_id=$1"#,
[INFO] [stdout] 178 | |         auth.account_id)
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:197:27
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id,...
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 198 | |      from transactions where (account_id=$1 or to_id=$1) and id = $2"#,
[INFO] [stdout] 199 | |         auth.account_id,
[INFO] [stdout] 200 | |         transaction_id)
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let webhook_row = sqlx::query_as!(Webhook,"insert into webhooks (account_id,url,secret) values ($1,$2,$3) returning id,account...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 38 | |         auth.account_id,
[INFO] [stdout] 39 | |         payload.url,
[INFO] [stdout] 40 | |         secret)
[INFO] [stdout]    | |_______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let webhook_rows = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 67 | |         GetWebhook,
[INFO] [stdout] 68 | |         "select id,account_id,url,created_at from webhooks where account_id = $1",
[INFO] [stdout] 69 | |         auth.account_id
[INFO] [stdout] 70 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:89:23
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let webhook_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 90 | |         GetWebhook,
[INFO] [stdout] 91 | |         "select id,account_id,url,created_at from webhooks where account_id = $1 and id = $2",
[INFO] [stdout] 92 | |         auth.account_id,
[INFO] [stdout] 93 | |         webhook_id
[INFO] [stdout] 94 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/webhooks.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let webhook_row = sqlx::query_as!(GetWebhook,"delete from webhooks where account_id = $1 and id = $2 returning id,account_id,...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 118 | |         ,auth.account_id
[INFO] [stdout] 119 | |         ,webhook_id)
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/utils/webhooks.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let webhook_rows = sqlx::query_as!(Webhook, "select * from webhooks where account_id = $1", account_id)
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |         AccountId,
[INFO] [stdout] 38 | |         "insert into accounts (name,email) values ($1, $2) returning id",
[INFO] [stdout] 39 | |         payload.name,
[INFO] [stdout] 40 | |         payload.email
[INFO] [stdout] 41 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |       let api_key_row = sqlx::query_as!(CreateAPIKeyResp,r#"insert into api_keys (account_id,key_hash) values ($1, $2) returning id,...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 57 | |             account_row.id,
[INFO] [stdout] 58 | |             key_hash)
[INFO] [stdout]    | |_____________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/accounts.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 88 | |         Account,
[INFO] [stdout] 89 | |         "select * from accounts where id = $1",
[INFO] [stdout] 90 | |         auth.account_id
[INFO] [stdout] 91 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/accounts.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |         sqlx::query!("select * from accounts where email = $1", payload.email)
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/middleware/middleware.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthUser` and `AuthWriteUser`
[INFO] [stdout]   --> src/middleware/middleware.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |         accounts::{AuthUser, AuthWriteUser},
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountId`, `CreateAPIKeyResp`, and `KeyPermissions`
[INFO] [stdout]   --> src/route/accounts.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |             Account, AccountId, AuthUser, AuthWriteUser, CreateAccountReq, UpdateAccountReq,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] 16 |         },
[INFO] [stdout] 17 |         api_keys::{CreateAPIKeyResp, KeyPermissions},
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetAPIKey` and `KeyPermissions`
[INFO] [stdout]   --> src/route/api_keys.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |         api_keys::{CreateAPIKeyReq, GetAPIKey, KeyPermissions},
[INFO] [stdout]    |                                     ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetTransaction` and `TransactionStatus`
[INFO] [stdout]   --> src/route/transactions.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CreateTransactionsReq, GetTransaction, TransactionStatus,
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetWebhook` and `Webhook`
[INFO] [stdout]   --> src/route/webhooks.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |         webhooks::{CreateWebhookReq, GetWebhook, Webhook},
[INFO] [stdout]    |                                      ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webhooks::Webhook`
[INFO] [stdout]  --> src/utils/webhooks.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{models::{transactions::GetTransaction, webhooks::Webhook}, utils::errorhandler::AppError};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let api_key_row = sqlx::query_as!(GetAPIKey,r#"insert into api_keys 
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 31 | |             (account_id,key_hash,permissions,label) values ($1,$2,$3,$4) 
[INFO] [stdout] 32 | |             returning id,account_id,label,permissions as "permissions: KeyPermissions", created_at"#,
[INFO] [stdout] 33 | |             auth.account_id,
[INFO] [stdout] 34 | |             key_hash,
[INFO] [stdout] 35 | |             payload.permissions as KeyPermissions,
[INFO] [stdout] 36 | |             payload.label)
[INFO] [stdout]    | |__________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let api_keys_rows = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,creat...
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 63 | |         auth.account_id)
[INFO] [stdout]    | |________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/api_keys.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,create...
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 83 | |         auth.account_id,
[INFO] [stdout] 84 | |         api_key_id)
[INFO] [stdout]    | |___________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/api_keys.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"delete from api_keys where id = $2 and account_id = $1 returning id,account_i...
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 109 | |         auth.account_id,
[INFO] [stdout] 110 | |         api_key_id)
[INFO] [stdout]     | |___________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 | /             sqlx::query!(
[INFO] [stdout] 41 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 42 | |                 payload.amount,
[INFO] [stdout] 43 | |                 auth.account_id
[INFO] [stdout] 44 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 | /             sqlx::query!(
[INFO] [stdout] 50 | |                 "update accounts set balance = balance - $1 where id = $2",
[INFO] [stdout] 51 | |                 payload.amount,
[INFO] [stdout] 52 | |                 auth.account_id
[INFO] [stdout] 53 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |               let to_id_update = sqlx::query!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 66 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 67 | |                 payload.amount,
[INFO] [stdout] 68 | |                 to_id
[INFO] [stdout] 69 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/transactions.rs:81:13
[INFO] [stdout]    |
[INFO] [stdout] 81 | /             sqlx::query!(
[INFO] [stdout] 82 | |                 "update accounts set balance = balance - $1 where id = $2",
[INFO] [stdout] 83 | |                 payload.amount,
[INFO] [stdout] 84 | |                 auth.account_id
[INFO] [stdout] 85 | |             )
[INFO] [stdout]    | |_____________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:112:27
[INFO] [stdout]     |
[INFO] [stdout] 112 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 113 | |         (account_id, from_id, to_id, amount, transaction_type, idempotency_key, transaction_status) 
[INFO] [stdout] 114 | |          values ($1, $2, $3, $4, $5, $6, $7) 
[INFO] [stdout] 115 | |          returning id,transaction_type "transaction_type: TransactionType",to_id, from_id,amount,transaction_status "transaction_...
[INFO] [stdout] ...   |
[INFO] [stdout] 121 | |         TransactionStatus::Success as TransactionStatus
[INFO] [stdout] 122 | |     ).fetch_one(&mut *tx).await;
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:153:36
[INFO] [stdout]     |
[INFO] [stdout] 153 |   ...   let original = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id, from...
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 154 | | ...       where account_id = $1 AND idempotency_key = $2"#,
[INFO] [stdout] 155 | | ...       auth.account_id, payload.idempotency_key
[INFO] [stdout] 156 | | ...   ).fetch_one(&pg).await.map_err(|_| AppError::database("Duplicate lookup fail"))?;
[INFO] [stdout]     | |_______^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |       let transaction_rows = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id...
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 177 | |      from transactions where account_id=$1 or to_id=$1"#,
[INFO] [stdout] 178 | |         auth.account_id)
[INFO] [stdout]     | |________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/transactions.rs:197:27
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id,...
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 198 | |      from transactions where (account_id=$1 or to_id=$1) and id = $2"#,
[INFO] [stdout] 199 | |         auth.account_id,
[INFO] [stdout] 200 | |         transaction_id)
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let webhook_row = sqlx::query_as!(Webhook,"insert into webhooks (account_id,url,secret) values ($1,$2,$3) returning id,account...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 38 | |         auth.account_id,
[INFO] [stdout] 39 | |         payload.url,
[INFO] [stdout] 40 | |         secret)
[INFO] [stdout]    | |_______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let webhook_rows = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 67 | |         GetWebhook,
[INFO] [stdout] 68 | |         "select id,account_id,url,created_at from webhooks where account_id = $1",
[INFO] [stdout] 69 | |         auth.account_id
[INFO] [stdout] 70 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/route/webhooks.rs:89:23
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let webhook_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 90 | |         GetWebhook,
[INFO] [stdout] 91 | |         "select id,account_id,url,created_at from webhooks where account_id = $1 and id = $2",
[INFO] [stdout] 92 | |         auth.account_id,
[INFO] [stdout] 93 | |         webhook_id
[INFO] [stdout] 94 | |     )
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]    --> src/route/webhooks.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let webhook_row = sqlx::query_as!(GetWebhook,"delete from webhooks where account_id = $1 and id = $2 returning id,account_id,...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 118 | |         ,auth.account_id
[INFO] [stdout] 119 | |         ,webhook_id)
[INFO] [stdout]     | |____________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: error communicating with database: Connection refused (os error 111)
[INFO] [stdout]   --> src/utils/webhooks.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let webhook_rows = sqlx::query_as!(Webhook, "select * from webhooks where account_id = $1", account_id)
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the macro `$crate::sqlx_macros::expand_query` which comes from the expansion of the macro `sqlx::query_as` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]   --> src/middleware/middleware.rs:11:22
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{error, warn};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AuthUser` and `AuthWriteUser`
[INFO] [stdout]   --> src/middleware/middleware.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |         accounts::{AuthUser, AuthWriteUser},
[INFO] [stdout]    |                    ^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AccountId`, `CreateAPIKeyResp`, and `KeyPermissions`
[INFO] [stdout]   --> src/route/accounts.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |             Account, AccountId, AuthUser, AuthWriteUser, CreateAccountReq, UpdateAccountReq,
[INFO] [stdout]    |                      ^^^^^^^^^
[INFO] [stdout] 16 |         },
[INFO] [stdout] 17 |         api_keys::{CreateAPIKeyResp, KeyPermissions},
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetAPIKey` and `KeyPermissions`
[INFO] [stdout]   --> src/route/api_keys.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |         api_keys::{CreateAPIKeyReq, GetAPIKey, KeyPermissions},
[INFO] [stdout]    |                                     ^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetTransaction` and `TransactionStatus`
[INFO] [stdout]   --> src/route/transactions.rs:17:36
[INFO] [stdout]    |
[INFO] [stdout] 17 |             CreateTransactionsReq, GetTransaction, TransactionStatus,
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GetWebhook` and `Webhook`
[INFO] [stdout]   --> src/route/webhooks.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |         webhooks::{CreateWebhookReq, GetWebhook, Webhook},
[INFO] [stdout]    |                                      ^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `webhooks::Webhook`
[INFO] [stdout]  --> src/utils/webhooks.rs:8:52
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::{models::{transactions::GetTransaction, webhooks::Webhook}, utils::errorhandler::AppError};
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/middleware/middleware.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let result = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 29 | |         AuthUser,
[INFO] [stdout] 30 | |         "select account_id from api_keys where key_hash = $1",
[INFO] [stdout] 31 | |         api_key_hash
[INFO] [stdout] 32 | |     )
[INFO] [stdout] 33 | |     .fetch_optional(&pg)
[INFO] [stdout] 34 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/middleware/middleware.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let result = sqlx::query_as!(AuthWriteUser,r#"select account_id,permissions as "permissions: KeyPermissions" from api_keys whe...
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         api_key_hash)
[INFO] [stdout] 59 | |         .fetch_optional(&pg)
[INFO] [stdout] 60 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |         AccountId,
[INFO] [stdout] 38 | |         "insert into accounts (name,email) values ($1, $2) returning id",
[INFO] [stdout] 39 | |         payload.name,
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 43 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |       let api_key_row = sqlx::query_as!(CreateAPIKeyResp,r#"insert into api_keys (account_id,key_hash) values ($1, $2) returning id,...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 57 | |             account_row.id,
[INFO] [stdout] 58 | |             key_hash)
[INFO] [stdout] 59 | |             .fetch_one(&mut *tx)
[INFO] [stdout] 60 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 88 | |         Account,
[INFO] [stdout] 89 | |         "select * from accounts where id = $1",
[INFO] [stdout] 90 | |         auth.account_id
[INFO] [stdout] 91 | |     )
[INFO] [stdout] 92 | |     .fetch_one(&pg)
[INFO] [stdout] 93 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/accounts.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | /         sqlx::query!("select * from accounts where email = $1", payload.email)
[INFO] [stdout] 114 | |             .fetch_optional(&pg)
[INFO] [stdout] 115 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let api_key_row = sqlx::query_as!(GetAPIKey,r#"insert into api_keys 
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 31 | |             (account_id,key_hash,permissions,label) values ($1,$2,$3,$4) 
[INFO] [stdout] 32 | |             returning id,account_id,label,permissions as "permissions: KeyPermissions", created_at"#,
[INFO] [stdout] 33 | |             auth.account_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |             .fetch_one(&mut *tx)
[INFO] [stdout] 38 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let api_keys_rows = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,creat...
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 63 | |         auth.account_id)
[INFO] [stdout] 64 | |         .fetch_all(&pg)
[INFO] [stdout] 65 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,create...
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 83 | |         auth.account_id,
[INFO] [stdout] 84 | |         api_key_id)
[INFO] [stdout] 85 | |         .fetch_one(&pg)
[INFO] [stdout] 86 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/api_keys.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"delete from api_keys where id = $2 and account_id = $1 returning id,account_i...
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 109 | |         auth.account_id,
[INFO] [stdout] 110 | |         api_key_id)
[INFO] [stdout] 111 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 112 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/middleware/middleware.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |       let result = sqlx::query_as!(
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 29 | |         AuthUser,
[INFO] [stdout] 30 | |         "select account_id from api_keys where key_hash = $1",
[INFO] [stdout] 31 | |         api_key_hash
[INFO] [stdout] 32 | |     )
[INFO] [stdout] 33 | |     .fetch_optional(&pg)
[INFO] [stdout] 34 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/middleware/middleware.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |       let result = sqlx::query_as!(AuthWriteUser,r#"select account_id,permissions as "permissions: KeyPermissions" from api_keys whe...
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 58 | |         api_key_hash)
[INFO] [stdout] 59 | |         .fetch_optional(&pg)
[INFO] [stdout] 60 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/transactions.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |               let to_id_update = sqlx::query!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 66 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 67 | |                 payload.amount,
[INFO] [stdout] 68 | |                 to_id
[INFO] [stdout] 69 | |             )
[INFO] [stdout] 70 | |             .execute(&mut *tx)
[INFO] [stdout] 71 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:36:23
[INFO] [stdout]    |
[INFO] [stdout] 36 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 37 | |         AccountId,
[INFO] [stdout] 38 | |         "insert into accounts (name,email) values ($1, $2) returning id",
[INFO] [stdout] 39 | |         payload.name,
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |     .fetch_one(&mut *tx)
[INFO] [stdout] 43 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:56:23
[INFO] [stdout]    |
[INFO] [stdout] 56 |       let api_key_row = sqlx::query_as!(CreateAPIKeyResp,r#"insert into api_keys (account_id,key_hash) values ($1, $2) returning id,...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 57 | |             account_row.id,
[INFO] [stdout] 58 | |             key_hash)
[INFO] [stdout] 59 | |             .fetch_one(&mut *tx)
[INFO] [stdout] 60 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/accounts.rs:87:23
[INFO] [stdout]    |
[INFO] [stdout] 87 |       let account_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 88 | |         Account,
[INFO] [stdout] 89 | |         "select * from accounts where id = $1",
[INFO] [stdout] 90 | |         auth.account_id
[INFO] [stdout] 91 | |     )
[INFO] [stdout] 92 | |     .fetch_one(&pg)
[INFO] [stdout] 93 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, _>`
[INFO] [stdout]    --> src/route/transactions.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let transaction_row = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |             let tr_row_clone = tr_row.clone();
[INFO] [stdout]     |                                ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `transaction_row` an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let transaction_row: Result<_, E> = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |                        ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/accounts.rs:113:9
[INFO] [stdout]     |
[INFO] [stdout] 113 | /         sqlx::query!("select * from accounts where email = $1", payload.email)
[INFO] [stdout] 114 | |             .fetch_optional(&pg)
[INFO] [stdout] 115 | |             .await
[INFO] [stdout]     | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:153:36
[INFO] [stdout]     |
[INFO] [stdout] 153 |   ...   let original = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id, from...
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 154 | | ...       where account_id = $1 AND idempotency_key = $2"#,
[INFO] [stdout] 155 | | ...       auth.account_id, payload.idempotency_key
[INFO] [stdout] 156 | | ...   ).fetch_one(&pg).await.map_err(|_| AppError::database("Duplicate lookup fail"))?;
[INFO] [stdout]     | |____________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |       let api_key_row = sqlx::query_as!(GetAPIKey,r#"insert into api_keys 
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 31 | |             (account_id,key_hash,permissions,label) values ($1,$2,$3,$4) 
[INFO] [stdout] 32 | |             returning id,account_id,label,permissions as "permissions: KeyPermissions", created_at"#,
[INFO] [stdout] 33 | |             auth.account_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 37 | |             .fetch_one(&mut *tx)
[INFO] [stdout] 38 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |       let transaction_rows = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id...
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 177 | |      from transactions where account_id=$1 or to_id=$1"#,
[INFO] [stdout] 178 | |         auth.account_id)
[INFO] [stdout] 179 | |         .fetch_all(&pg)
[INFO] [stdout] 180 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:197:27
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id,...
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 198 | |      from transactions where (account_id=$1 or to_id=$1) and id = $2"#,
[INFO] [stdout] 199 | |         auth.account_id,
[INFO] [stdout] 200 | |         transaction_id)
[INFO] [stdout] 201 | |         .fetch_one(&pg)
[INFO] [stdout] 202 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:62:25
[INFO] [stdout]    |
[INFO] [stdout] 62 |       let api_keys_rows = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,creat...
[INFO] [stdout]    |  _________________________^
[INFO] [stdout] 63 | |         auth.account_id)
[INFO] [stdout] 64 | |         .fetch_all(&pg)
[INFO] [stdout] 65 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let webhook_row = sqlx::query_as!(Webhook,"insert into webhooks (account_id,url,secret) values ($1,$2,$3) returning id,account...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 38 | |         auth.account_id,
[INFO] [stdout] 39 | |         payload.url,
[INFO] [stdout] 40 | |         secret)
[INFO] [stdout] 41 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 42 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/api_keys.rs:82:24
[INFO] [stdout]    |
[INFO] [stdout] 82 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"select id,account_id,permissions as "permissions: KeyPermissions",label,create...
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 83 | |         auth.account_id,
[INFO] [stdout] 84 | |         api_key_id)
[INFO] [stdout] 85 | |         .fetch_one(&pg)
[INFO] [stdout] 86 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/api_keys.rs:108:24
[INFO] [stdout]     |
[INFO] [stdout] 108 |       let api_keys_row = sqlx::query_as!(GetAPIKey,r#"delete from api_keys where id = $2 and account_id = $1 returning id,account_i...
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 109 | |         auth.account_id,
[INFO] [stdout] 110 | |         api_key_id)
[INFO] [stdout] 111 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 112 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let webhook_rows = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 67 | |         GetWebhook,
[INFO] [stdout] 68 | |         "select id,account_id,url,created_at from webhooks where account_id = $1",
[INFO] [stdout] 69 | |         auth.account_id
[INFO] [stdout] 70 | |     )
[INFO] [stdout] 71 | |     .fetch_all(&pg)
[INFO] [stdout] 72 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/transactions.rs:65:32
[INFO] [stdout]    |
[INFO] [stdout] 65 |               let to_id_update = sqlx::query!(
[INFO] [stdout]    |  ________________________________^
[INFO] [stdout] 66 | |                 "update accounts set balance = balance + $1 where id = $2",
[INFO] [stdout] 67 | |                 payload.amount,
[INFO] [stdout] 68 | |                 to_id
[INFO] [stdout] 69 | |             )
[INFO] [stdout] 70 | |             .execute(&mut *tx)
[INFO] [stdout] 71 | |             .await
[INFO] [stdout]    | |__________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:89:23
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let webhook_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 90 | |         GetWebhook,
[INFO] [stdout] 91 | |         "select id,account_id,url,created_at from webhooks where account_id = $1 and id = $2",
[INFO] [stdout] 92 | |         auth.account_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     .fetch_one(&pg)
[INFO] [stdout] 96 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/webhooks.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let webhook_row = sqlx::query_as!(GetWebhook,"delete from webhooks where account_id = $1 and id = $2 returning id,account_id,...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 118 | |         ,auth.account_id
[INFO] [stdout] 119 | |         ,webhook_id)
[INFO] [stdout] 120 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 121 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed for `Result<_, _>`
[INFO] [stdout]    --> src/route/transactions.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let transaction_row = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |             let tr_row_clone = tr_row.clone();
[INFO] [stdout]     |                                ------ type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving `transaction_row` an explicit type, where the placeholders `_` are specified
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let transaction_row: Result<_, E> = sqlx::query_as!(GetTransaction,r#"insert into transactions 
[INFO] [stdout]     |                        ++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/utils/webhooks.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |       let webhook_rows = sqlx::query_as!(Webhook, "select * from webhooks where account_id = $1", account_id)
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 19 | |         .fetch_all(&pg)
[INFO] [stdout] 20 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:153:36
[INFO] [stdout]     |
[INFO] [stdout] 153 |   ...   let original = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id, from...
[INFO] [stdout]     |  ______________________^
[INFO] [stdout] 154 | | ...       where account_id = $1 AND idempotency_key = $2"#,
[INFO] [stdout] 155 | | ...       auth.account_id, payload.idempotency_key
[INFO] [stdout] 156 | | ...   ).fetch_one(&pg).await.map_err(|_| AppError::database("Duplicate lookup fail"))?;
[INFO] [stdout]     | |____________________________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:176:28
[INFO] [stdout]     |
[INFO] [stdout] 176 |       let transaction_rows = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id...
[INFO] [stdout]     |  ____________________________^
[INFO] [stdout] 177 | |      from transactions where account_id=$1 or to_id=$1"#,
[INFO] [stdout] 178 | |         auth.account_id)
[INFO] [stdout] 179 | |         .fetch_all(&pg)
[INFO] [stdout] 180 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/transactions.rs:197:27
[INFO] [stdout]     |
[INFO] [stdout] 197 |       let transaction_row = sqlx::query_as!(GetTransaction,r#"select id,transaction_type "transaction_type: TransactionType",to_id,...
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 198 | |      from transactions where (account_id=$1 or to_id=$1) and id = $2"#,
[INFO] [stdout] 199 | |         auth.account_id,
[INFO] [stdout] 200 | |         transaction_id)
[INFO] [stdout] 201 | |         .fetch_one(&pg)
[INFO] [stdout] 202 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:37:23
[INFO] [stdout]    |
[INFO] [stdout] 37 |       let webhook_row = sqlx::query_as!(Webhook,"insert into webhooks (account_id,url,secret) values ($1,$2,$3) returning id,account...
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 38 | |         auth.account_id,
[INFO] [stdout] 39 | |         payload.url,
[INFO] [stdout] 40 | |         secret)
[INFO] [stdout] 41 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 42 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:66:24
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let webhook_rows = sqlx::query_as!(
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 67 | |         GetWebhook,
[INFO] [stdout] 68 | |         "select id,account_id,url,created_at from webhooks where account_id = $1",
[INFO] [stdout] 69 | |         auth.account_id
[INFO] [stdout] 70 | |     )
[INFO] [stdout] 71 | |     .fetch_all(&pg)
[INFO] [stdout] 72 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/route/webhooks.rs:89:23
[INFO] [stdout]    |
[INFO] [stdout] 89 |       let webhook_row = sqlx::query_as!(
[INFO] [stdout]    |  _______________________^
[INFO] [stdout] 90 | |         GetWebhook,
[INFO] [stdout] 91 | |         "select id,account_id,url,created_at from webhooks where account_id = $1 and id = $2",
[INFO] [stdout] 92 | |         auth.account_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 95 | |     .fetch_one(&pg)
[INFO] [stdout] 96 | |     .await
[INFO] [stdout]    | |__________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/route/webhooks.rs:117:23
[INFO] [stdout]     |
[INFO] [stdout] 117 |       let webhook_row = sqlx::query_as!(GetWebhook,"delete from webhooks where account_id = $1 and id = $2 returning id,account_id,...
[INFO] [stdout]     |  _______________________^
[INFO] [stdout] 118 | |         ,auth.account_id
[INFO] [stdout] 119 | |         ,webhook_id)
[INFO] [stdout] 120 | |         .fetch_one(&mut *tx)
[INFO] [stdout] 121 | |         .await
[INFO] [stdout]     | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> src/utils/webhooks.rs:18:24
[INFO] [stdout]    |
[INFO] [stdout] 18 |       let webhook_rows = sqlx::query_as!(Webhook, "select * from webhooks where account_id = $1", account_id)
[INFO] [stdout]    |  ________________________^
[INFO] [stdout] 19 | |         .fetch_all(&pg)
[INFO] [stdout] 20 | |         .await
[INFO] [stdout]    | |______________^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `transaction_axum_api` (bin "transaction_axum_api" test) due to 43 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `transaction_axum_api` (bin "transaction_axum_api") due to 43 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "0a92934e03d441726f626f6b9cedf6180c1c923488bc2e7c7fef741b18357381", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0a92934e03d441726f626f6b9cedf6180c1c923488bc2e7c7fef741b18357381", kill_on_drop: false }`
[INFO] [stdout] 0a92934e03d441726f626f6b9cedf6180c1c923488bc2e7c7fef741b18357381
