[INFO] cloning repository https://github.com/Bit-by-Bit56/FreeBazaar
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Bit-by-Bit56/FreeBazaar" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBit-by-Bit56%2FFreeBazaar", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBit-by-Bit56%2FFreeBazaar'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 872df00c8a9aae8550e962a56192c30a07361cad
[INFO] checking Bit-by-Bit56/FreeBazaar against try#2b39fe756f52bc2825bf5b2bfc385cab922dae10 for pr-143011
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBit-by-Bit56%2FFreeBazaar" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Bit-by-Bit56/FreeBazaar
[INFO] finished tweaking git repo https://github.com/Bit-by-Bit56/FreeBazaar
[INFO] tweaked toml for git repo https://github.com/Bit-by-Bit56/FreeBazaar written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Bit-by-Bit56/FreeBazaar on toolchain 2b39fe756f52bc2825bf5b2bfc385cab922dae10
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Bit-by-Bit56/FreeBazaar 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" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b2b85b8ea4dde66b2c15be6b872261ee36e398ebf341ded690b52cd343f2c00f
[INFO] running `Command { std: "docker" "start" "-a" "b2b85b8ea4dde66b2c15be6b872261ee36e398ebf341ded690b52cd343f2c00f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b2b85b8ea4dde66b2c15be6b872261ee36e398ebf341ded690b52cd343f2c00f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2b85b8ea4dde66b2c15be6b872261ee36e398ebf341ded690b52cd343f2c00f", kill_on_drop: false }`
[INFO] [stdout] b2b85b8ea4dde66b2c15be6b872261ee36e398ebf341ded690b52cd343f2c00f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+2b39fe756f52bc2825bf5b2bfc385cab922dae10" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f374fd76786352a6e636f23a1af779df53b7fde67364fe49e488785bff803c42
[INFO] running `Command { std: "docker" "start" "-a" "f374fd76786352a6e636f23a1af779df53b7fde67364fe49e488785bff803c42", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking bytes v1.10.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling pkg-config v0.3.31
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking futures-task v0.3.31
[INFO] [stderr]    Compiling cc v1.2.14
[INFO] [stderr]    Compiling writeable v0.5.5
[INFO] [stderr]    Compiling litemap v0.7.4
[INFO] [stderr]     Checking futures-io v0.3.31
[INFO] [stderr]     Checking mio v1.0.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.8
[INFO] [stderr]     Checking fnv v1.0.7
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.11
[INFO] [stderr]    Compiling openssl v0.10.71
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking http v1.2.0
[INFO] [stderr]     Checking tracing-core v0.1.33
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling icu_locid_transform_data v1.5.0
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]     Checking percent-encoding v2.3.1
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling icu_properties_data v1.5.0
[INFO] [stderr]    Compiling once_cell v1.20.3
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]    Compiling utf16_iter v1.0.5
[INFO] [stderr]    Compiling write16 v1.0.0
[INFO] [stderr]    Compiling icu_normalizer_data v1.5.0
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]     Checking form_urlencoded v1.2.1
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling foldhash v0.1.4
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling httparse v1.10.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tinyvec v1.8.1
[INFO] [stderr]    Compiling openssl-sys v0.9.106
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]    Compiling crc-catalog v2.4.0
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling pin-utils v0.1.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling itoa v1.0.14
[INFO] [stderr]    Compiling iana-time-zone v0.1.61
[INFO] [stderr]    Compiling crc v3.2.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling sha2 v0.10.8
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling event-listener v5.4.0
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]    Compiling tokio v1.44.1
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling getrandom v0.3.1
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]    Compiling time-core v0.1.2
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling whoami v1.5.2
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]     Checking powerfmt v0.2.0
[INFO] [stderr]    Compiling time-macros v0.2.19
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]     Checking deranged v0.3.11
[INFO] [stderr]     Checking http-body-util v0.1.2
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling ring v0.17.9
[INFO] [stderr]     Checking encoding_rs v0.8.35
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking regex-syntax v0.8.5
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking sha1 v0.10.6
[INFO] [stderr]     Checking headers-core v0.3.0
[INFO] [stderr]     Checking base64 v0.21.7
[INFO] [stderr]     Checking overload v0.1.1
[INFO] [stderr]     Checking base64ct v1.6.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking untrusted v0.9.0
[INFO] [stderr]    Compiling anyhow v1.0.97
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking password-hash v0.5.0
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking nu-ansi-term v0.46.0
[INFO] [stderr]     Checking headers v0.4.0
[INFO] [stderr]     Checking pem v3.0.4
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.8
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking time v0.3.37
[INFO] [stderr]     Checking dotenv v0.15.0
[INFO] [stderr]     Checking argon2 v0.5.3
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]    Compiling synstructure v0.13.1
[INFO] [stderr]    Compiling tempfile v3.17.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerofrom-derive v0.1.5
[INFO] [stderr]    Compiling yoke-derive v0.7.5
[INFO] [stderr]    Compiling zerovec-derive v0.10.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_provider_macros v1.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.11
[INFO] [stderr]    Compiling axum-macros v0.5.0
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]    Compiling zerofrom v0.1.5
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]     Checking axum-core v0.5.0
[INFO] [stderr]    Compiling yoke v0.7.5
[INFO] [stderr]     Checking simple_asn1 v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking zerovec v0.10.4
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking tinystr v0.7.6
[INFO] [stderr]     Checking icu_collections v1.5.0
[INFO] [stderr]     Checking icu_locid v1.5.0
[INFO] [stderr]     Checking icu_provider v1.5.0
[INFO] [stderr]     Checking icu_locid_transform v1.5.0
[INFO] [stderr]     Checking icu_properties v1.5.1
[INFO] [stderr]     Checking smallvec v1.14.0
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.16
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]     Checking icu_normalizer v1.5.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]     Checking idna_adapter v1.2.0
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking idna v1.0.3
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking validator v0.20.0
[INFO] [stderr]    Compiling sqlx-core v0.8.3
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking tokio-util v0.7.13
[INFO] [stderr]     Checking tower-http v0.6.2
[INFO] [stderr]    Compiling sqlx-postgres v0.8.3
[INFO] [stderr]     Checking hyper-util v0.1.10
[INFO] [stderr]     Checking axum v0.8.1
[INFO] [stderr]    Compiling sqlx-macros-core v0.8.3
[INFO] [stderr]     Checking axum-extra v0.10.0
[INFO] [stderr]    Compiling sqlx-macros v0.8.3
[INFO] [stderr]     Checking sqlx v0.8.3
[INFO] [stderr]     Checking market v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:96:16
[INFO] [stdout]     |
[INFO] [stdout] 96  |       let user = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 97  | |         r#"INSERT INTO users (
[INFO] [stdout] 98  | |             user_id, username, hashed_password, email, role
[INFO] [stdout] 99  | |         ) VALUES ($1, $2, $3, $4, 'user')
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |         payload.email
[INFO] [stdout] 105 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query!(
[INFO] [stdout] 110 | |         "INSERT INTO audit_logs (log_id, user_id, action_type)
[INFO] [stdout] 111 | |          VALUES ($1, $2, $3)",
[INFO] [stdout] 112 | |         Uuid::new_v4(),
[INFO] [stdout] 113 | |         user.user_id,
[INFO] [stdout] 114 | |         "user_register"
[INFO] [stdout] 115 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:136:16
[INFO] [stdout]     |
[INFO] [stdout] 136 |       let user = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 137 | |         r#"SELECT user_id, hashed_password, is_banned 
[INFO] [stdout] 138 | |            FROM users WHERE username = $1"#,
[INFO] [stdout] 139 | |         payload.username
[INFO] [stdout] 140 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | /     sqlx::query!(
[INFO] [stdout] 160 | |         r#"INSERT INTO audit_logs (
[INFO] [stdout] 161 | |             log_id, user_id, action_type, description
[INFO] [stdout] 162 | |         ) VALUES ($1, $2, $3, $4)"#,
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |         "Successful authentication"
[INFO] [stdout] 167 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:183:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |       let user = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 184 | |         UserResponse,
[INFO] [stdout] 185 | |         r#"SELECT user_id, username, email, bio, profile_picture
[INFO] [stdout] 186 | |            FROM users WHERE user_id = $1"#,
[INFO] [stdout] 187 | |         user_id
[INFO] [stdout] 188 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:210:16
[INFO] [stdout]     |
[INFO] [stdout] 210 |       let user = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 211 | |         UserResponse,
[INFO] [stdout] 212 | |         r#"SELECT user_id, username, email, bio, profile_picture
[INFO] [stdout] 213 | |            FROM users WHERE user_id = $1"#,
[INFO] [stdout] 214 | |         user_id
[INFO] [stdout] 215 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     sqlx::query!(
[INFO] [stdout] 221 | |         "INSERT INTO audit_logs (log_id, user_id, action_type)
[INFO] [stdout] 222 | |          VALUES ($1, $2, $3)",
[INFO] [stdout] 223 | |         Uuid::new_v4(),
[INFO] [stdout] 224 | |         user_id,
[INFO] [stdout] 225 | |         "user_update"
[INFO] [stdout] 226 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let old_filename = sqlx::query_scalar!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 261 | |         "SELECT profile_picture FROM users WHERE user_id = $1",
[INFO] [stdout] 262 | |         user_id
[INFO] [stdout] 263 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:96:16
[INFO] [stdout]     |
[INFO] [stdout] 96  |       let user = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 97  | |         r#"INSERT INTO users (
[INFO] [stdout] 98  | |             user_id, username, hashed_password, email, role
[INFO] [stdout] 99  | |         ) VALUES ($1, $2, $3, $4, 'user')
[INFO] [stdout] ...   |
[INFO] [stdout] 104 | |         payload.email
[INFO] [stdout] 105 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     sqlx::query!(
[INFO] [stdout] 276 | |         "UPDATE users SET profile_picture = $1 WHERE user_id = $2",
[INFO] [stdout] 277 | |         filename,
[INFO] [stdout] 278 | |         user_id
[INFO] [stdout] 279 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | /     sqlx::query!(
[INFO] [stdout] 110 | |         "INSERT INTO audit_logs (log_id, user_id, action_type)
[INFO] [stdout] 111 | |          VALUES ($1, $2, $3)",
[INFO] [stdout] 112 | |         Uuid::new_v4(),
[INFO] [stdout] 113 | |         user.user_id,
[INFO] [stdout] 114 | |         "user_register"
[INFO] [stdout] 115 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:136:16
[INFO] [stdout]     |
[INFO] [stdout] 136 |       let user = sqlx::query!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 137 | |         r#"SELECT user_id, hashed_password, is_banned 
[INFO] [stdout] 138 | |            FROM users WHERE username = $1"#,
[INFO] [stdout] 139 | |         payload.username
[INFO] [stdout] 140 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 | /     sqlx::query!(
[INFO] [stdout] 160 | |         r#"INSERT INTO audit_logs (
[INFO] [stdout] 161 | |             log_id, user_id, action_type, description
[INFO] [stdout] 162 | |         ) VALUES ($1, $2, $3, $4)"#,
[INFO] [stdout] ...   |
[INFO] [stdout] 166 | |         "Successful authentication"
[INFO] [stdout] 167 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:183:16
[INFO] [stdout]     |
[INFO] [stdout] 183 |       let user = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 184 | |         UserResponse,
[INFO] [stdout] 185 | |         r#"SELECT user_id, username, email, bio, profile_picture
[INFO] [stdout] 186 | |            FROM users WHERE user_id = $1"#,
[INFO] [stdout] 187 | |         user_id
[INFO] [stdout] 188 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:210:16
[INFO] [stdout]     |
[INFO] [stdout] 210 |       let user = sqlx::query_as!(
[INFO] [stdout]     |  ________________^
[INFO] [stdout] 211 | |         UserResponse,
[INFO] [stdout] 212 | |         r#"SELECT user_id, username, email, bio, profile_picture
[INFO] [stdout] 213 | |            FROM users WHERE user_id = $1"#,
[INFO] [stdout] 214 | |         user_id
[INFO] [stdout] 215 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:220:5
[INFO] [stdout]     |
[INFO] [stdout] 220 | /     sqlx::query!(
[INFO] [stdout] 221 | |         "INSERT INTO audit_logs (log_id, user_id, action_type)
[INFO] [stdout] 222 | |          VALUES ($1, $2, $3)",
[INFO] [stdout] 223 | |         Uuid::new_v4(),
[INFO] [stdout] 224 | |         user_id,
[INFO] [stdout] 225 | |         "user_update"
[INFO] [stdout] 226 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:260:24
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let old_filename = sqlx::query_scalar!(
[INFO] [stdout]     |  ________________________^
[INFO] [stdout] 261 | |         "SELECT profile_picture FROM users WHERE user_id = $1",
[INFO] [stdout] 262 | |         user_id
[INFO] [stdout] 263 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | /     sqlx::query!(
[INFO] [stdout] 284 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 285 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 286 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |         format!("Updated profile picture to {}", filename)
[INFO] [stdout] 291 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:275:5
[INFO] [stdout]     |
[INFO] [stdout] 275 | /     sqlx::query!(
[INFO] [stdout] 276 | |         "UPDATE users SET profile_picture = $1 WHERE user_id = $2",
[INFO] [stdout] 277 | |         filename,
[INFO] [stdout] 278 | |         user_id
[INFO] [stdout] 279 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/users.rs:283:5
[INFO] [stdout]     |
[INFO] [stdout] 283 | /     sqlx::query!(
[INFO] [stdout] 284 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 285 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 286 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 290 | |         format!("Updated profile picture to {}", filename)
[INFO] [stdout] 291 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/middleware.rs:35:16
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 36 | |         "SELECT is_banned, banned_until FROM users WHERE user_id = $1",
[INFO] [stdout] 37 | |         user_id
[INFO] [stdout] 38 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/middleware.rs:35:16
[INFO] [stdout]    |
[INFO] [stdout] 35 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 36 | |         "SELECT is_banned, banned_until FROM users WHERE user_id = $1",
[INFO] [stdout] 37 | |         user_id
[INFO] [stdout] 38 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/middleware.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 67 | |         "SELECT role FROM users WHERE user_id = $1",
[INFO] [stdout] 68 | |         user_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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/middleware.rs:66:16
[INFO] [stdout]    |
[INFO] [stdout] 66 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 67 | |         "SELECT role FROM users WHERE user_id = $1",
[INFO] [stdout] 68 | |         user_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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 119 | |         Product,
[INFO] [stdout] 120 | |         r#"INSERT INTO products (
[INFO] [stdout] 121 | |             product_id, user_id, name, price, 
[INFO] [stdout] ...   |
[INFO] [stdout] 135 | |         now
[INFO] [stdout] 136 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | /     sqlx::query!(
[INFO] [stdout] 141 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 142 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 143 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |         product_id
[INFO] [stdout] 147 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 161 | |         Product,
[INFO] [stdout] 162 | |         r#"SELECT 
[INFO] [stdout] 163 | |             product_id, user_id, name, price, 
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         product_id
[INFO] [stdout] 171 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 191 | |         "SELECT user_id FROM products WHERE product_id = $1",
[INFO] [stdout] 192 | |         product_id
[INFO] [stdout] 193 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 119 | |         Product,
[INFO] [stdout] 120 | |         r#"INSERT INTO products (
[INFO] [stdout] 121 | |             product_id, user_id, name, price, 
[INFO] [stdout] ...   |
[INFO] [stdout] 135 | |         now
[INFO] [stdout] 136 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:140:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | /     sqlx::query!(
[INFO] [stdout] 141 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 142 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 143 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 146 | |         product_id
[INFO] [stdout] 147 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:160:19
[INFO] [stdout]     |
[INFO] [stdout] 160 |       let product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 161 | |         Product,
[INFO] [stdout] 162 | |         r#"SELECT 
[INFO] [stdout] 163 | |             product_id, user_id, name, price, 
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |         product_id
[INFO] [stdout] 171 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:190:19
[INFO] [stdout]     |
[INFO] [stdout] 190 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 191 | |         "SELECT user_id FROM products WHERE product_id = $1",
[INFO] [stdout] 192 | |         product_id
[INFO] [stdout] 193 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |       let updated_product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 211 | |         Product,
[INFO] [stdout] 212 | |         r#"UPDATE products
[INFO] [stdout] 213 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | |         product_id
[INFO] [stdout] 231 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | /     sqlx::query!(
[INFO] [stdout] 236 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 237 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 238 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |         product_id
[INFO] [stdout] 242 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:260:19
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 261 | |         "SELECT user_id FROM products WHERE product_id = $1",
[INFO] [stdout] 262 | |         product_id
[INFO] [stdout] 263 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | /     sqlx::query!(
[INFO] [stdout] 294 | |         "UPDATE products 
[INFO] [stdout] 295 | |          SET images = array_cat(images, $1), updated_at = $2
[INFO] [stdout] 296 | |          WHERE product_id = $3",
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |         product_id
[INFO] [stdout] 300 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:210:27
[INFO] [stdout]     |
[INFO] [stdout] 210 |       let updated_product = sqlx::query_as!(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 211 | |         Product,
[INFO] [stdout] 212 | |         r#"UPDATE products
[INFO] [stdout] 213 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 230 | |         product_id
[INFO] [stdout] 231 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | /     sqlx::query!(
[INFO] [stdout] 305 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 306 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 307 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |         format!("Uploaded {} images", filenames.len())
[INFO] [stdout] 312 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:330:19
[INFO] [stdout]     |
[INFO] [stdout] 330 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 331 | |         "SELECT user_id, images FROM products WHERE product_id = $1",
[INFO] [stdout] 332 | |         product_id
[INFO] [stdout] 333 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 | /     sqlx::query!(
[INFO] [stdout] 344 | |         "DELETE FROM products WHERE product_id = $1",
[INFO] [stdout] 345 | |         product_id
[INFO] [stdout] 346 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 | /     sqlx::query!(
[INFO] [stdout] 236 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 237 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 238 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 241 | |         product_id
[INFO] [stdout] 242 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:260:19
[INFO] [stdout]     |
[INFO] [stdout] 260 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 261 | |         "SELECT user_id FROM products WHERE product_id = $1",
[INFO] [stdout] 262 | |         product_id
[INFO] [stdout] 263 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:293:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | /     sqlx::query!(
[INFO] [stdout] 294 | |         "UPDATE products 
[INFO] [stdout] 295 | |          SET images = array_cat(images, $1), updated_at = $2
[INFO] [stdout] 296 | |          WHERE product_id = $3",
[INFO] [stdout] ...   |
[INFO] [stdout] 299 | |         product_id
[INFO] [stdout] 300 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 | /     sqlx::query!(
[INFO] [stdout] 305 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 306 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 307 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 311 | |         format!("Uploaded {} images", filenames.len())
[INFO] [stdout] 312 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:330:19
[INFO] [stdout]     |
[INFO] [stdout] 330 |       let product = sqlx::query!(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 331 | |         "SELECT user_id, images FROM products WHERE product_id = $1",
[INFO] [stdout] 332 | |         product_id
[INFO] [stdout] 333 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:343:5
[INFO] [stdout]     |
[INFO] [stdout] 343 | /     sqlx::query!(
[INFO] [stdout] 344 | |         "DELETE FROM products WHERE product_id = $1",
[INFO] [stdout] 345 | |         product_id
[INFO] [stdout] 346 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:364:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | /     sqlx::query!(
[INFO] [stdout] 365 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 366 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 367 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 370 | |         product_id
[INFO] [stdout] 371 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:364:5
[INFO] [stdout]     |
[INFO] [stdout] 364 | /     sqlx::query!(
[INFO] [stdout] 365 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id)
[INFO] [stdout] 366 | |          VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 367 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 370 | |         product_id
[INFO] [stdout] 371 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:408:18
[INFO] [stdout]     |
[INFO] [stdout] 408 |       let exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 409 | |         "SELECT EXISTS(SELECT 1 FROM reviews 
[INFO] [stdout] 410 | |          WHERE product_id = $1 AND reviewer_id = $2)",
[INFO] [stdout] 411 | |         product_id,
[INFO] [stdout] 412 | |         reviewer_id
[INFO] [stdout] 413 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:425:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | /     sqlx::query!(
[INFO] [stdout] 426 | |         "INSERT INTO reviews (
[INFO] [stdout] 427 | |             review_id, product_id, reviewer_id, 
[INFO] [stdout] 428 | |             rating, comment
[INFO] [stdout] ...   |
[INFO] [stdout] 434 | |         payload.comment
[INFO] [stdout] 435 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | /     sqlx::query!(
[INFO] [stdout] 440 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 441 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 442 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         format!("Created review for product {}", product_id)
[INFO] [stdout] 447 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:408:18
[INFO] [stdout]     |
[INFO] [stdout] 408 |       let exists = sqlx::query_scalar!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 409 | |         "SELECT EXISTS(SELECT 1 FROM reviews 
[INFO] [stdout] 410 | |          WHERE product_id = $1 AND reviewer_id = $2)",
[INFO] [stdout] 411 | |         product_id,
[INFO] [stdout] 412 | |         reviewer_id
[INFO] [stdout] 413 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:486:18
[INFO] [stdout]     |
[INFO] [stdout] 486 |       let review = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 487 | |         ReviewResponse,
[INFO] [stdout] 488 | |         r#"UPDATE reviews 
[INFO] [stdout] 489 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |         reviewer_id
[INFO] [stdout] 503 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:508:5
[INFO] [stdout]     |
[INFO] [stdout] 508 | /     sqlx::query!(
[INFO] [stdout] 509 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 510 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 511 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 515 | |         format!("Updated review for product {}", product_id)
[INFO] [stdout] 516 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:534:18
[INFO] [stdout]     |
[INFO] [stdout] 534 |       let review = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 535 | |         "SELECT review_id FROM reviews 
[INFO] [stdout] 536 | |          WHERE review_id = $1 
[INFO] [stdout] 537 | |            AND product_id = $2 
[INFO] [stdout] ...   |
[INFO] [stdout] 541 | |         reviewer_id
[INFO] [stdout] 542 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:550:5
[INFO] [stdout]     |
[INFO] [stdout] 550 | /     sqlx::query!(
[INFO] [stdout] 551 | |         "DELETE FROM reviews 
[INFO] [stdout] 552 | |          WHERE review_id = $1",
[INFO] [stdout] 553 | |         review_id
[INFO] [stdout] 554 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:558:5
[INFO] [stdout]     |
[INFO] [stdout] 558 | /     sqlx::query!(
[INFO] [stdout] 559 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 560 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 561 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 565 | |         format!("Deleted review from product {}", product_id)
[INFO] [stdout] 566 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/roles.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 17 | |         "SELECT role FROM users WHERE user_id = $1",
[INFO] [stdout] 18 | |         user_id
[INFO] [stdout] 19 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:425:5
[INFO] [stdout]     |
[INFO] [stdout] 425 | /     sqlx::query!(
[INFO] [stdout] 426 | |         "INSERT INTO reviews (
[INFO] [stdout] 427 | |             review_id, product_id, reviewer_id, 
[INFO] [stdout] 428 | |             rating, comment
[INFO] [stdout] ...   |
[INFO] [stdout] 434 | |         payload.comment
[INFO] [stdout] 435 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:439:5
[INFO] [stdout]     |
[INFO] [stdout] 439 | /     sqlx::query!(
[INFO] [stdout] 440 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 441 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 442 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 446 | |         format!("Created review for product {}", product_id)
[INFO] [stdout] 447 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:486:18
[INFO] [stdout]     |
[INFO] [stdout] 486 |       let review = sqlx::query_as!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 487 | |         ReviewResponse,
[INFO] [stdout] 488 | |         r#"UPDATE reviews 
[INFO] [stdout] 489 | |         SET 
[INFO] [stdout] ...   |
[INFO] [stdout] 502 | |         reviewer_id
[INFO] [stdout] 503 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:508:5
[INFO] [stdout]     |
[INFO] [stdout] 508 | /     sqlx::query!(
[INFO] [stdout] 509 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 510 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 511 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 515 | |         format!("Updated review for product {}", product_id)
[INFO] [stdout] 516 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:534:18
[INFO] [stdout]     |
[INFO] [stdout] 534 |       let review = sqlx::query!(
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 535 | |         "SELECT review_id FROM reviews 
[INFO] [stdout] 536 | |          WHERE review_id = $1 
[INFO] [stdout] 537 | |            AND product_id = $2 
[INFO] [stdout] ...   |
[INFO] [stdout] 541 | |         reviewer_id
[INFO] [stdout] 542 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:550:5
[INFO] [stdout]     |
[INFO] [stdout] 550 | /     sqlx::query!(
[INFO] [stdout] 551 | |         "DELETE FROM reviews 
[INFO] [stdout] 552 | |          WHERE review_id = $1",
[INFO] [stdout] 553 | |         review_id
[INFO] [stdout] 554 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/product.rs:558:5
[INFO] [stdout]     |
[INFO] [stdout] 558 | /     sqlx::query!(
[INFO] [stdout] 559 | |         "INSERT INTO audit_logs (log_id, user_id, action_type, target_id, description)
[INFO] [stdout] 560 | |          VALUES ($1, $2, $3, $4, $5)",
[INFO] [stdout] 561 | |         Uuid::new_v4(),
[INFO] [stdout] ...   |
[INFO] [stdout] 565 | |         format!("Deleted review from product {}", product_id)
[INFO] [stdout] 566 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/roles.rs:16:16
[INFO] [stdout]    |
[INFO] [stdout] 16 |       let user = sqlx::query!(
[INFO] [stdout]    |  ________________^
[INFO] [stdout] 17 | |         "SELECT role FROM users WHERE user_id = $1",
[INFO] [stdout] 18 | |         user_id
[INFO] [stdout] 19 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | /     sqlx::query!(
[INFO] [stdout] 37 | |         "UPDATE users 
[INFO] [stdout] 38 | |         SET is_banned = $1, banned_until = $2 
[INFO] [stdout] 39 | |         WHERE user_id = $3",
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         user_id
[INFO] [stdout] 43 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     sqlx::query!(
[INFO] [stdout] 64 | |         "UPDATE users SET role = 'admin' WHERE user_id = $1",
[INFO] [stdout] 65 | |         user_id
[INFO] [stdout] 66 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | /     sqlx::query!(
[INFO] [stdout] 37 | |         "UPDATE users 
[INFO] [stdout] 38 | |         SET is_banned = $1, banned_until = $2 
[INFO] [stdout] 39 | |         WHERE user_id = $3",
[INFO] [stdout] ...  |
[INFO] [stdout] 42 | |         user_id
[INFO] [stdout] 43 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | /     sqlx::query!(
[INFO] [stdout] 87 | |         "DELETE FROM products WHERE product_id = $1",
[INFO] [stdout] 88 | |         product_id
[INFO] [stdout] 89 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | /     sqlx::query!(
[INFO] [stdout] 64 | |         "UPDATE users SET role = 'admin' WHERE user_id = $1",
[INFO] [stdout] 65 | |         user_id
[INFO] [stdout] 66 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     sqlx::query!(
[INFO] [stdout] 31 | |         "INSERT INTO groups (group_id, name, description, owner_id)
[INFO] [stdout] 32 | |         VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 33 | |         group_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |         user_id
[INFO] [stdout] 37 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     sqlx::query!(
[INFO] [stdout] 44 | |         "INSERT INTO group_members (group_id, user_id, role)
[INFO] [stdout] 45 | |         VALUES ($1, $2, 'admin')",
[INFO] [stdout] 46 | |         group_id,
[INFO] [stdout] 47 | |         user_id
[INFO] [stdout] 48 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/moderation.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 | /     sqlx::query!(
[INFO] [stdout] 87 | |         "DELETE FROM products WHERE product_id = $1",
[INFO] [stdout] 88 | |         product_id
[INFO] [stdout] 89 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:69:34
[INFO] [stdout]    |
[INFO] [stdout] 69 |       let is_owner: Option<bool> = sqlx::query_scalar!(
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 70 | |         "SELECT EXISTS(SELECT 1 FROM groups WHERE group_id = $1 AND owner_id = $2)",
[INFO] [stdout] 71 | |         group_id,
[INFO] [stdout] 72 | |         user_id
[INFO] [stdout] 73 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     sqlx::query!(
[INFO] [stdout] 84 | |         "INSERT INTO group_invites (invite_id, group_id, sender_id, recipient_id)
[INFO] [stdout] 85 | |         VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 86 | |         invite_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | |         user_id
[INFO] [stdout] 90 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/groups.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |       let products = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 105 | |         Product,
[INFO] [stdout] 106 | |         "SELECT 
[INFO] [stdout] 107 | |             product_id, user_id, name, short_description, 
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         group_id
[INFO] [stdout] 112 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | /     sqlx::query!(
[INFO] [stdout] 31 | |         "INSERT INTO groups (group_id, name, description, owner_id)
[INFO] [stdout] 32 | |         VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 33 | |         group_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 36 | |         user_id
[INFO] [stdout] 37 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | /     sqlx::query!(
[INFO] [stdout] 44 | |         "INSERT INTO group_members (group_id, user_id, role)
[INFO] [stdout] 45 | |         VALUES ($1, $2, 'admin')",
[INFO] [stdout] 46 | |         group_id,
[INFO] [stdout] 47 | |         user_id
[INFO] [stdout] 48 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:69:34
[INFO] [stdout]    |
[INFO] [stdout] 69 |       let is_owner: Option<bool> = sqlx::query_scalar!(
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 70 | |         "SELECT EXISTS(SELECT 1 FROM groups WHERE group_id = $1 AND owner_id = $2)",
[INFO] [stdout] 71 | |         group_id,
[INFO] [stdout] 72 | |         user_id
[INFO] [stdout] 73 | |     )
[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_scalar` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]   --> src/groups.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | /     sqlx::query!(
[INFO] [stdout] 84 | |         "INSERT INTO group_invites (invite_id, group_id, sender_id, recipient_id)
[INFO] [stdout] 85 | |         VALUES ($1, $2, $3, $4)",
[INFO] [stdout] 86 | |         invite_id,
[INFO] [stdout] ...  |
[INFO] [stdout] 89 | |         user_id
[INFO] [stdout] 90 | |     )
[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: set `DATABASE_URL` to use query macros online, or run `cargo sqlx prepare` to update the query cache
[INFO] [stdout]    --> src/groups.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |       let products = sqlx::query_as!(
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 105 | |         Product,
[INFO] [stdout] 106 | |         "SELECT 
[INFO] [stdout] 107 | |             product_id, user_id, name, short_description, 
[INFO] [stdout] ...   |
[INFO] [stdout] 111 | |         group_id
[INFO] [stdout] 112 | |     )
[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[E0425]: cannot find value `check_banned` in module `middleware`
[INFO] [stdout]   --> src/main.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |             middleware::check_banned
[INFO] [stdout]    |                         ^^^^^^^^^^^^ not found in `middleware`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `check_banned` in module `middleware`
[INFO] [stdout]   --> src/main.rs:83:25
[INFO] [stdout]    |
[INFO] [stdout] 83 |             middleware::check_banned
[INFO] [stdout]    |                         ^^^^^^^^^^^^ not found in `middleware`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AppError`
[INFO] [stdout]   --> src/groups.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |       let mut tx = state.db.begin().await.map_err(|e| {
[INFO] [stdout]    |  __________________----------------------_-
[INFO] [stdout]    | |                  |
[INFO] [stdout]    | |                  this has type `Result<_, sqlx::Error>`
[INFO] [stdout] 26 | |         (StatusCode::INTERNAL_SERVER_ERROR, format!("Database error: {}", e))
[INFO] [stdout] 27 | |     })?;
[INFO] [stdout]    | |      -^ the trait `From<(axum::http::StatusCode, std::string::String)>` is not implemented for `AppError`
[INFO] [stdout]    | |______|
[INFO] [stdout]    |        this can't be annotated with `?` because it has type `Result<_, (axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]    |
[INFO] [stdout] note: `AppError` needs to implement `From<(axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]   --> src/errors.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AppError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AppError`
[INFO] [stdout]   --> src/groups.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |       tx.commit().await.map_err(|e| {
[INFO] [stdout]    |  _____-----------------_-
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this has type `Result<_, sqlx::Error>`
[INFO] [stdout] 54 | |         (StatusCode::INTERNAL_SERVER_ERROR, format!("Commit failed: {}", e))
[INFO] [stdout] 55 | |     })?;
[INFO] [stdout]    | |      -^ the trait `From<(axum::http::StatusCode, std::string::String)>` is not implemented for `AppError`
[INFO] [stdout]    | |______|
[INFO] [stdout]    |        this can't be annotated with `?` because it has type `Result<_, (axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]    |
[INFO] [stdout] note: `AppError` needs to implement `From<(axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]   --> src/errors.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AppError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AppError: From<(axum::http::StatusCode, &str)>` is not satisfied
[INFO] [stdout]   --> src/groups.rs:78:75
[INFO] [stdout]    |
[INFO] [stdout] 78 |         return Err((StatusCode::FORBIDDEN, "Only group owner can invite").into());
[INFO] [stdout]    |                                                                           ^^^^ the trait `From<(axum::http::StatusCode, &str)>` is not implemented for `AppError`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout]    = note: required for `(axum::http::StatusCode, &str)` to implement `Into<AppError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AppError`
[INFO] [stdout]   --> src/groups.rs:27:7
[INFO] [stdout]    |
[INFO] [stdout] 25 |       let mut tx = state.db.begin().await.map_err(|e| {
[INFO] [stdout]    |  __________________----------------------_-
[INFO] [stdout]    | |                  |
[INFO] [stdout]    | |                  this has type `Result<_, sqlx::Error>`
[INFO] [stdout] 26 | |         (StatusCode::INTERNAL_SERVER_ERROR, format!("Database error: {}", e))
[INFO] [stdout] 27 | |     })?;
[INFO] [stdout]    | |      -^ the trait `From<(axum::http::StatusCode, std::string::String)>` is not implemented for `AppError`
[INFO] [stdout]    | |______|
[INFO] [stdout]    |        this can't be annotated with `?` because it has type `Result<_, (axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]    |
[INFO] [stdout] note: `AppError` needs to implement `From<(axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]   --> src/errors.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AppError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `?` couldn't convert the error to `AppError`
[INFO] [stdout]   --> src/groups.rs:55:7
[INFO] [stdout]    |
[INFO] [stdout] 53 |       tx.commit().await.map_err(|e| {
[INFO] [stdout]    |  _____-----------------_-
[INFO] [stdout]    | |     |
[INFO] [stdout]    | |     this has type `Result<_, sqlx::Error>`
[INFO] [stdout] 54 | |         (StatusCode::INTERNAL_SERVER_ERROR, format!("Commit failed: {}", e))
[INFO] [stdout] 55 | |     })?;
[INFO] [stdout]    | |      -^ the trait `From<(axum::http::StatusCode, std::string::String)>` is not implemented for `AppError`
[INFO] [stdout]    | |______|
[INFO] [stdout]    |        this can't be annotated with `?` because it has type `Result<_, (axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]    |
[INFO] [stdout] note: `AppError` needs to implement `From<(axum::http::StatusCode, std::string::String)>`
[INFO] [stdout]   --> src/errors.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum AppError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AppError: From<(axum::http::StatusCode, &str)>` is not satisfied
[INFO] [stdout]   --> src/groups.rs:78:75
[INFO] [stdout]    |
[INFO] [stdout] 78 |         return Err((StatusCode::FORBIDDEN, "Only group owner can invite").into());
[INFO] [stdout]    |                                                                           ^^^^ the trait `From<(axum::http::StatusCode, &str)>` is not implemented for `AppError`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `AppError` implements `From<ParseIntError>`
[INFO] [stdout]              `AppError` implements `From<sqlx::Error>`
[INFO] [stdout]              `AppError` implements `From<std::io::Error>`
[INFO] [stdout]              `AppError` implements `From<uuid::Error>`
[INFO] [stdout]    = note: required for `(axum::http::StatusCode, &str)` to implement `Into<AppError>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/errors.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn from(err: std::io::Error) -> Self {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `market` (bin "market") due to 45 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `err`
[INFO] [stdout]   --> src/errors.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn from(err: std::io::Error) -> Self {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_err`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `market` (bin "market" test) due to 45 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "f374fd76786352a6e636f23a1af779df53b7fde67364fe49e488785bff803c42", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f374fd76786352a6e636f23a1af779df53b7fde67364fe49e488785bff803c42", kill_on_drop: false }`
[INFO] [stdout] f374fd76786352a6e636f23a1af779df53b7fde67364fe49e488785bff803c42
