Fix all compilation issues.

This commit is contained in:
Florian THIERRY
2026-07-14 13:55:41 +02:00
parent c24df944c5
commit f8fd59b01a
28 changed files with 752 additions and 284 deletions
+436 -46
View File
@@ -17,12 +17,70 @@ version = "1.0.102"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c"
[[package]]
name = "atomic-waker"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
[[package]] [[package]]
name = "autocfg" name = "autocfg"
version = "1.5.0" version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8" checksum = "c08606f8c3cbf4ce6ec8e28fb0014a2c086708fe954eaa885384a6165172e7e8"
[[package]]
name = "axum"
version = "0.8.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "31b698c5f9a010f6573133b09e0de5408834d0c82f8d7475a89fc1867a71cd90"
dependencies = [
"axum-core",
"bytes",
"form_urlencoded",
"futures-util",
"http",
"http-body",
"http-body-util",
"hyper",
"hyper-util",
"itoa",
"matchit",
"memchr",
"mime",
"percent-encoding",
"pin-project-lite",
"serde_core",
"serde_json",
"serde_path_to_error",
"serde_urlencoded",
"sync_wrapper",
"tokio",
"tower",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "axum-core"
version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08c78f31d7b1291f7ee735c1c6780ccde7785daae9a9206026862dab7d8792d1"
dependencies = [
"bytes",
"futures-core",
"http",
"http-body",
"http-body-util",
"mime",
"pin-project-lite",
"sync_wrapper",
"tower-layer",
"tower-service",
"tracing",
]
[[package]] [[package]]
name = "base16ct" name = "base16ct"
version = "0.2.0" version = "0.2.0"
@@ -43,9 +101,9 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]] [[package]]
name = "bcrypt" name = "bcrypt"
version = "0.19.0" version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523ab528ce3a7ada6597f8ccf5bd8d85ebe26d5edf311cad4d1d3cfb2d357ac6" checksum = "7f3c067aa24dd4ed5c79cf222a38f260c8f23d3b82a062fba3f28c6fe563b753"
dependencies = [ dependencies = [
"base64", "base64",
"blowfish", "blowfish",
@@ -71,9 +129,9 @@ dependencies = [
[[package]] [[package]]
name = "blowfish" name = "blowfish"
version = "0.9.1" version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" checksum = "62ce3946557b35e71d1bbe07ec385073ce9eda05043f95de134eb578fcf1a298"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"cipher", "cipher",
@@ -91,6 +149,12 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
[[package]]
name = "bytes"
version = "1.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fc652a48c352aef3ea3aed32080501cf3ef6ed5da78602a020c991775b0aff04"
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.60" version = "1.2.60"
@@ -120,9 +184,9 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.44" version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
dependencies = [ dependencies = [
"iana-time-zone", "iana-time-zone",
"js-sys", "js-sys",
@@ -134,11 +198,11 @@ dependencies = [
[[package]] [[package]]
name = "cipher" name = "cipher"
version = "0.4.4" version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c"
dependencies = [ dependencies = [
"crypto-common", "crypto-common 0.2.2",
"inout", "inout",
] ]
@@ -194,6 +258,15 @@ dependencies = [
"typenum", "typenum",
] ]
[[package]]
name = "crypto-common"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
dependencies = [
"hybrid-array",
]
[[package]] [[package]]
name = "curve25519-dalek" name = "curve25519-dalek"
version = "4.1.3" version = "4.1.3"
@@ -249,7 +322,7 @@ checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [ dependencies = [
"block-buffer", "block-buffer",
"const-oid", "const-oid",
"crypto-common", "crypto-common 0.1.6",
"subtle", "subtle",
] ]
@@ -346,6 +419,48 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "form_urlencoded"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb4cb245038516f5f85277875cdaa4f7d2c9a0fa0468de06ed190163b1581fcf"
dependencies = [
"percent-encoding",
]
[[package]]
name = "futures-channel"
version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
dependencies = [
"futures-core",
]
[[package]]
name = "futures-core"
version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
[[package]]
name = "futures-task"
version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
[[package]]
name = "futures-util"
version = "0.3.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
dependencies = [
"futures-core",
"futures-task",
"pin-project-lite",
"slab",
]
[[package]] [[package]]
name = "generic-array" name = "generic-array"
version = "0.14.9" version = "0.14.9"
@@ -432,6 +547,95 @@ dependencies = [
"digest", "digest",
] ]
[[package]]
name = "http"
version = "1.4.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6970f50e31d6fc17d3fa27329444bfa74e196cf62e95052a3f6fee181dba6425"
dependencies = [
"bytes",
"itoa",
]
[[package]]
name = "http-body"
version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca2a8f2913ee65f60facd6a5905613afaa448497a0230cc41ce022d93290bc2c"
dependencies = [
"bytes",
"http",
]
[[package]]
name = "http-body-util"
version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e9f41fd6a08e4d4ec69df65976da761afd5ad5e58a9d4acb46bd1c953a9e3ff2"
dependencies = [
"bytes",
"futures-core",
"http",
"http-body",
"pin-project-lite",
]
[[package]]
name = "httparse"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6dbf3de79e51f3d586ab4cb9d5c3e2c14aa28ed23d180cf89b4df0454a69cc87"
[[package]]
name = "httpdate"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hybrid-array"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c"
dependencies = [
"typenum",
]
[[package]]
name = "hyper"
version = "1.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55281c53a1894c864990125767da440a4e630446785086f52523b20033b74498"
dependencies = [
"atomic-waker",
"bytes",
"futures-channel",
"futures-core",
"http",
"http-body",
"httparse",
"httpdate",
"itoa",
"pin-project-lite",
"smallvec",
"tokio",
]
[[package]]
name = "hyper-util"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "96547c2556ec9d12fb1578c4eaf448b04993e7fb79cbaad930a656880a6bdfa0"
dependencies = [
"bytes",
"http",
"http-body",
"hyper",
"pin-project-lite",
"tokio",
"tower-service",
]
[[package]] [[package]]
name = "iana-time-zone" name = "iana-time-zone"
version = "0.1.65" version = "0.1.65"
@@ -476,11 +680,11 @@ dependencies = [
[[package]] [[package]]
name = "inout" name = "inout"
version = "0.1.4" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7"
dependencies = [ dependencies = [
"generic-array", "hybrid-array",
] ]
[[package]] [[package]]
@@ -501,9 +705,9 @@ dependencies = [
[[package]] [[package]]
name = "jsonwebtoken" name = "jsonwebtoken"
version = "10.3.0" version = "10.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" checksum = "eba32bfb4ffdeaca3e34431072faf01745c9b26d25504aa7a6cf5684334fc4fc"
dependencies = [ dependencies = [
"base64", "base64",
"ed25519-dalek", "ed25519-dalek",
@@ -520,6 +724,7 @@ dependencies = [
"sha2", "sha2",
"signature", "signature",
"simple_asn1", "simple_asn1",
"zeroize",
] ]
[[package]] [[package]]
@@ -551,9 +756,40 @@ checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981"
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.29" version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "lumiere-application"
version = "1.0.0"
dependencies = [
"axum",
"bcrypt",
"chrono",
"jsonwebtoken",
"log",
"lumiere-domain",
"mime",
"rand 0.10.2",
"tokio",
"uuid",
]
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]]
name = "matchit"
version = "0.8.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "47e1ffaa40ddd1f3ed91f717a33c8c0ee23fff369e3aa8772b9605cc1d22f4c3"
[[package]] [[package]]
name = "memchr" name = "memchr"
@@ -561,6 +797,23 @@ version = "2.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79" checksum = "f8ca58f447f06ed17d5fc4043ce1b10dd205e060fb3ce5b979b8ed8e59ff3f79"
[[package]]
name = "mime"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "mio"
version = "1.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30d65c71f1ce40ab09135ce117d742b9f8a19ff91a41a8b57ed50bc2de59c427"
dependencies = [
"libc",
"wasi",
"windows-sys",
]
[[package]] [[package]]
name = "num-bigint" name = "num-bigint"
version = "0.4.6" version = "0.4.6"
@@ -672,6 +925,18 @@ dependencies = [
"base64ct", "base64ct",
] ]
[[package]]
name = "percent-encoding"
version = "2.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b4f627cb1b25917193a259e49bdad08f671f8d9708acfd5fe0a8c1455d87220"
[[package]]
name = "pin-project-lite"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]] [[package]]
name = "pkcs1" name = "pkcs1"
version = "0.7.5" version = "0.7.5"
@@ -764,9 +1029,9 @@ dependencies = [
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.10.1" version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [ dependencies = [
"chacha20", "chacha20",
"getrandom 0.4.2", "getrandom 0.4.2",
@@ -843,6 +1108,12 @@ version = "1.0.22"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d" checksum = "b39cdef0fa800fc44525c84ccb54a029961a8215f9619753635a9c0d2538d46d"
[[package]]
name = "ryu"
version = "1.0.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f"
[[package]] [[package]]
name = "sec1" name = "sec1"
version = "0.7.3" version = "0.7.3"
@@ -906,6 +1177,29 @@ dependencies = [
"zmij", "zmij",
] ]
[[package]]
name = "serde_path_to_error"
version = "0.1.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10a9ff822e371bb5403e391ecd83e182e0e77ba7f6fe0160b795797109d1b457"
dependencies = [
"itoa",
"serde",
"serde_core",
]
[[package]]
name = "serde_urlencoded"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
dependencies = [
"form_urlencoded",
"itoa",
"ryu",
"serde",
]
[[package]] [[package]]
name = "sha2" name = "sha2"
version = "0.10.9" version = "0.10.9"
@@ -945,12 +1239,28 @@ dependencies = [
"time", "time",
] ]
[[package]]
name = "slab"
version = "0.4.12"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5"
[[package]] [[package]]
name = "smallvec" name = "smallvec"
version = "1.15.1" version = "1.15.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03"
[[package]]
name = "socket2"
version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3d1e2c7f27f8d4cb10542a02c49005dbd6e93095799d6f3be745fae9f8fedd4"
dependencies = [
"libc",
"windows-sys",
]
[[package]] [[package]]
name = "spin" name = "spin"
version = "0.9.8" version = "0.9.8"
@@ -973,28 +1283,6 @@ version = "2.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
[[package]]
name = "lumiere-application"
version = "1.0.0"
dependencies = [
"bcrypt",
"chrono",
"jsonwebtoken",
"log",
"rand 0.10.1",
"lumiere-domain",
"uuid",
]
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.117" version = "2.0.117"
@@ -1006,6 +1294,12 @@ dependencies = [
"unicode-ident", "unicode-ident",
] ]
[[package]]
name = "sync_wrapper"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263"
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "2.0.18" version = "2.0.18"
@@ -1058,10 +1352,83 @@ dependencies = [
] ]
[[package]] [[package]]
name = "typenum" name = "tokio"
version = "1.19.0" version = "1.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
dependencies = [
"libc",
"mio",
"pin-project-lite",
"socket2",
"tokio-macros",
"windows-sys",
]
[[package]]
name = "tokio-macros"
version = "2.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "385a6cb71ab9ab790c5fe8d67f1645e6c450a7ce006a33de03daa956cf70a496"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "tower"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ebe5ef63511595f1344e2d5cfa636d973292adc0eec1f0ad45fae9f0851ab1d4"
dependencies = [
"futures-core",
"futures-util",
"pin-project-lite",
"sync_wrapper",
"tokio",
"tower-layer",
"tower-service",
"tracing",
]
[[package]]
name = "tower-layer"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
[[package]]
name = "tower-service"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
[[package]]
name = "tracing"
version = "0.1.44"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "63e71662fa4b2a2c3a26f570f037eb95bb1f85397f3cd8076caed2f026a6d100"
dependencies = [
"log",
"pin-project-lite",
"tracing-core",
]
[[package]]
name = "tracing-core"
version = "0.1.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "db97caf9d906fbde555dd62fa95ddba9eecfd14cb388e4f491a66d74cd5fb79a"
dependencies = [
"once_cell",
]
[[package]]
name = "typenum"
version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
@@ -1077,9 +1444,9 @@ checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853"
[[package]] [[package]]
name = "uuid" name = "uuid"
version = "1.23.1" version = "1.23.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" checksum = "ea5fab0d6c3c01ae70085a09cb03d4c7a1d6314e2b3e075392783396d724ca0a"
dependencies = [ dependencies = [
"getrandom 0.4.2", "getrandom 0.4.2",
"js-sys", "js-sys",
@@ -1255,6 +1622,15 @@ dependencies = [
"windows-link", "windows-link",
] ]
[[package]]
name = "windows-sys"
version = "0.61.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc"
dependencies = [
"windows-link",
]
[[package]] [[package]]
name = "wit-bindgen" name = "wit-bindgen"
version = "0.51.0" version = "0.51.0"
@@ -1368,6 +1744,20 @@ name = "zeroize"
version = "1.8.2" version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "zmij" name = "zmij"
+7 -11
View File
@@ -4,22 +4,18 @@ version = "1.0.0"
edition = "2024" edition = "2024"
[lib] [lib]
name = "surveillant_systeme_application" name = "lumiere_application"
path = "src/lib.rs" path = "src/lib.rs"
[[test]]
name = "user_service_test"
path = "tests/user_service_test.rs"
[dependencies] [dependencies]
lumiere-domain = { path = "../domain" } lumiere-domain = { path = "../domain" }
axum = "0.8.9" axum = "0.8.9"
tokio = "1.52.3" tokio = "1.52.3"
mime = "0.3.17" mime = "0.3.17"
bcrypt = "0.19.0" bcrypt = "0.19.2"
chrono = { version = "0.4.44", features = ["serde"] } chrono = { version = "0.4.45", features = ["serde"] }
log = "0.4.29" log = "0.4.33"
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"] } jsonwebtoken = { version = "10.4.0", features = ["rust_crypto"] }
rand = "0.10.1" rand = "0.10.2"
uuid = { version = "1.23.1", features = ["v4"] } uuid = { version = "1.23.5", features = ["v4"] }
@@ -1,7 +1,7 @@
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use rand::distr::Alphanumeric; use rand::distr::Alphanumeric;
use rand::RngExt; use rand::RngExt;
use surveillant_systeme_domain::configuration::port::ConfigurationPort; use lumiere_domain::configuration::port::ConfigurationPort;
pub struct ConfigurationService { pub struct ConfigurationService {
configuration_port: Box<dyn ConfigurationPort> configuration_port: Box<dyn ConfigurationPort>
+1 -1
View File
@@ -1,6 +1,6 @@
use jsonwebtoken::{encode, EncodingKey, Header}; use jsonwebtoken::{encode, EncodingKey, Header};
use std::env; use std::env;
use surveillant_systeme_domain::user::model::Claims; use lumiere_domain::user::model::Claims;
fn get_jwt_secret() -> String { fn get_jwt_secret() -> String {
env::var("JWT_SECRET").expect("JWT_SECRET must be set.") env::var("JWT_SECRET").expect("JWT_SECRET must be set.")
+2 -2
View File
@@ -3,10 +3,10 @@ use std::io::{Error, ErrorKind};
use bcrypt::{hash_with_salt, verify}; use bcrypt::{hash_with_salt, verify};
use chrono::Utc; use chrono::Utc;
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_domain::user::model::{LoginResponse, RefreshToken, User}; use lumiere_domain::user::model::{LoginResponse, RefreshToken, User};
use crate::configuration::service::ConfigurationService; use crate::configuration::service::ConfigurationService;
use crate::user::auth::generate_jwt_token; use crate::user::auth::generate_jwt_token;
use surveillant_systeme_domain::user::port::UserPort; use lumiere_domain::user::port::UserPort;
#[derive(Clone)] #[derive(Clone)]
pub struct UserService { pub struct UserService {
@@ -113,8 +113,8 @@ impl SystemResourcesDieselRepository {
```rust ```rust
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use chrono::{DateTime, Utc}; use chrono::{DateTime, Utc};
use surveillant_systeme_domain::system_resources::model::SystemResources; use lumiere_domain::system_resources::model::SystemResources;
use surveillant_systeme_domain::system_resources::port::SystemResourcesPort; use lumiere_domain::system_resources::port::SystemResourcesPort;
use crate::system_resources::diesel_repository::SystemResourcesDieselRepository; use crate::system_resources::diesel_repository::SystemResourcesDieselRepository;
use sysinfo::{CpuRefreshKind, MemoryRefreshKind, RefreshKind, System}; use sysinfo::{CpuRefreshKind, MemoryRefreshKind, RefreshKind, System};
+9 -9
View File
@@ -199,6 +199,15 @@ version = "0.4.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897"
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.8.0" version = "2.8.0"
@@ -315,15 +324,6 @@ version = "1.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.117" version = "2.0.117"
+1 -1
View File
@@ -4,7 +4,7 @@ version = "1.0.0"
edition = "2024" edition = "2024"
[lib] [lib]
name = "surveillant_systeme_domain" name = "lumiere_domain"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
+122 -80
View File
@@ -21,9 +21,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-http" name = "actix-http"
version = "3.12.0" version = "3.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f860ee6746d0c5b682147b2f7f8ef036d4f92fe518251a3a35ffa3650eafdf0e" checksum = "48e2faa3e7418ed780cca54829d32782a4008a077230f67457caa063415e99c2"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-rt", "actix-rt",
@@ -38,7 +38,7 @@ dependencies = [
"derive_more", "derive_more",
"encoding_rs", "encoding_rs",
"flate2", "flate2",
"foldhash", "foldhash 0.2.0",
"futures-core", "futures-core",
"h2", "h2",
"http 0.2.12", "http 0.2.12",
@@ -50,7 +50,7 @@ dependencies = [
"mime", "mime",
"percent-encoding", "percent-encoding",
"pin-project-lite", "pin-project-lite",
"rand 0.9.4", "rand 0.10.2",
"sha1", "sha1",
"smallvec", "smallvec",
"tokio", "tokio",
@@ -131,7 +131,7 @@ dependencies = [
"actix-service", "actix-service",
"actix-utils", "actix-utils",
"futures-core", "futures-core",
"impl-more", "impl-more 0.1.9",
"pin-project-lite", "pin-project-lite",
"rustls-pki-types", "rustls-pki-types",
"tokio", "tokio",
@@ -152,9 +152,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-web" name = "actix-web"
version = "4.13.0" version = "4.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff87453bc3b56e9b2b23c1cc0b1be8797184accf51d2abe0f8a33ec275d316bf" checksum = "df09e2d9239703dd64056359c920c7f3fba6535ec61a0059e0f44e095ffe02b4"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-http", "actix-http",
@@ -172,10 +172,10 @@ dependencies = [
"cookie", "cookie",
"derive_more", "derive_more",
"encoding_rs", "encoding_rs",
"foldhash", "foldhash 0.2.0",
"futures-core", "futures-core",
"futures-util", "futures-util",
"impl-more", "impl-more 0.3.1",
"itoa", "itoa",
"language-tags", "language-tags",
"log", "log",
@@ -372,9 +372,9 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]] [[package]]
name = "bcrypt" name = "bcrypt"
version = "0.19.0" version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "523ab528ce3a7ada6597f8ccf5bd8d85ebe26d5edf311cad4d1d3cfb2d357ac6" checksum = "7f3c067aa24dd4ed5c79cf222a38f260c8f23d3b82a062fba3f28c6fe563b753"
dependencies = [ dependencies = [
"base64", "base64",
"blowfish", "blowfish",
@@ -399,10 +399,19 @@ dependencies = [
] ]
[[package]] [[package]]
name = "blowfish" name = "block-buffer"
version = "0.9.1" version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e412e2cd0f2b2d93e02543ceae7917b3c70331573df19ee046bcbc35e45e87d7" checksum = "d2f6c7dbe95a6ed67ad9f18e57daf93a2f034c524b99fd2b76d18fdfeb6660aa"
dependencies = [
"hybrid-array",
]
[[package]]
name = "blowfish"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62ce3946557b35e71d1bbe07ec385073ce9eda05043f95de134eb578fcf1a298"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"cipher", "cipher",
@@ -487,9 +496,9 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.44" version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
dependencies = [ dependencies = [
"iana-time-zone", "iana-time-zone",
"js-sys", "js-sys",
@@ -501,11 +510,11 @@ dependencies = [
[[package]] [[package]]
name = "cipher" name = "cipher"
version = "0.4.4" version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" checksum = "e8cf2a2c93cd704877c0858356ed03480ff301ee950b43f1cbe4573b088bfa6c"
dependencies = [ dependencies = [
"crypto-common", "crypto-common 0.2.2",
"inout", "inout",
] ]
@@ -515,6 +524,12 @@ version = "0.9.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8"
[[package]]
name = "const-oid"
version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a6ef517f0926dd24a1582492c791b6a4818a4d94e789a334894aa15b0d12f55c"
[[package]] [[package]]
name = "convert_case" name = "convert_case"
version = "0.10.0" version = "0.10.0"
@@ -590,6 +605,15 @@ dependencies = [
"typenum", "typenum",
] ]
[[package]]
name = "crypto-common"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce6e4c961d6cd6c9a86db418387425e8bdeaf05b3c8bc1411e6dca4c252f1453"
dependencies = [
"hybrid-array",
]
[[package]] [[package]]
name = "curve25519-dalek" name = "curve25519-dalek"
version = "4.1.3" version = "4.1.3"
@@ -599,7 +623,7 @@ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures 0.2.17", "cpufeatures 0.2.17",
"curve25519-dalek-derive", "curve25519-dalek-derive",
"digest", "digest 0.10.7",
"fiat-crypto", "fiat-crypto",
"rustc_version", "rustc_version",
"subtle", "subtle",
@@ -623,7 +647,7 @@ version = "0.7.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb"
dependencies = [ dependencies = [
"const-oid", "const-oid 0.9.6",
"pem-rfc7468", "pem-rfc7468",
"zeroize", "zeroize",
] ]
@@ -666,12 +690,23 @@ version = "0.10.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292"
dependencies = [ dependencies = [
"block-buffer", "block-buffer 0.10.4",
"const-oid", "const-oid 0.9.6",
"crypto-common", "crypto-common 0.1.7",
"subtle", "subtle",
] ]
[[package]]
name = "digest"
version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
"block-buffer 0.12.1",
"const-oid 0.10.2",
"crypto-common 0.2.2",
]
[[package]] [[package]]
name = "displaydoc" name = "displaydoc"
version = "0.2.5" version = "0.2.5"
@@ -690,7 +725,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca"
dependencies = [ dependencies = [
"der", "der",
"digest", "digest 0.10.7",
"elliptic-curve", "elliptic-curve",
"rfc6979", "rfc6979",
"signature", "signature",
@@ -729,7 +764,7 @@ checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47"
dependencies = [ dependencies = [
"base16ct", "base16ct",
"crypto-bigint", "crypto-bigint",
"digest", "digest 0.10.7",
"ff", "ff",
"generic-array", "generic-array",
"group", "group",
@@ -811,6 +846,12 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2"
[[package]]
name = "foldhash"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77ce24cb58228fbb8aa041425bb1050850ac19177686ea6e0f41a70416f56fdb"
[[package]] [[package]]
name = "form_urlencoded" name = "form_urlencoded"
version = "1.2.2" version = "1.2.2"
@@ -955,7 +996,7 @@ version = "0.15.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1"
dependencies = [ dependencies = [
"foldhash", "foldhash 0.1.5",
] ]
[[package]] [[package]]
@@ -985,7 +1026,7 @@ version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e"
dependencies = [ dependencies = [
"digest", "digest 0.10.7",
] ]
[[package]] [[package]]
@@ -1044,6 +1085,15 @@ version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9"
[[package]]
name = "hybrid-array"
version = "0.4.13"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "818356c5132c1fede50f837ca96afbe78ff42413047f4abb886217845e1b6c8c"
dependencies = [
"typenum",
]
[[package]] [[package]]
name = "hyper" name = "hyper"
version = "1.10.1" version = "1.10.1"
@@ -1218,6 +1268,12 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2"
[[package]]
name = "impl-more"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35a84fd5aa25fae5c0f4a33d9cac2ca017fc622cbd089be2229993514990f870"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.14.0" version = "2.14.0"
@@ -1232,11 +1288,11 @@ dependencies = [
[[package]] [[package]]
name = "inout" name = "inout"
version = "0.1.4" version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" checksum = "4250ce6452e92010fdf7268ccc5d14faa80bb12fc741938534c58f16804e03c7"
dependencies = [ dependencies = [
"generic-array", "hybrid-array",
] ]
[[package]] [[package]]
@@ -1267,9 +1323,9 @@ dependencies = [
[[package]] [[package]]
name = "jsonwebtoken" name = "jsonwebtoken"
version = "10.3.0" version = "10.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" checksum = "eba32bfb4ffdeaca3e34431072faf01745c9b26d25504aa7a6cf5684334fc4fc"
dependencies = [ dependencies = [
"base64", "base64",
"ed25519-dalek", "ed25519-dalek",
@@ -1286,6 +1342,7 @@ dependencies = [
"sha2", "sha2",
"signature", "signature",
"simple_asn1", "simple_asn1",
"zeroize",
] ]
[[package]] [[package]]
@@ -1355,9 +1412,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.29" version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]] [[package]]
name = "lumiere-application" name = "lumiere-application"
@@ -1370,7 +1427,7 @@ dependencies = [
"log", "log",
"lumiere-domain", "lumiere-domain",
"mime", "mime",
"rand 0.10.1", "rand 0.10.2",
"tokio", "tokio",
"uuid", "uuid",
] ]
@@ -1695,25 +1752,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
dependencies = [ dependencies = [
"libc", "libc",
"rand_chacha 0.3.1", "rand_chacha",
"rand_core 0.6.4", "rand_core 0.6.4",
] ]
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.9.4" version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [
"rand_chacha 0.9.0",
"rand_core 0.9.5",
]
[[package]]
name = "rand"
version = "0.10.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207"
dependencies = [ dependencies = [
"chacha20", "chacha20",
"getrandom 0.4.2", "getrandom 0.4.2",
@@ -1730,16 +1777,6 @@ dependencies = [
"rand_core 0.6.4", "rand_core 0.6.4",
] ]
[[package]]
name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core 0.9.5",
]
[[package]] [[package]]
name = "rand_core" name = "rand_core"
version = "0.6.4" version = "0.6.4"
@@ -1749,15 +1786,6 @@ dependencies = [
"getrandom 0.2.17", "getrandom 0.2.17",
] ]
[[package]]
name = "rand_core"
version = "0.9.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "76afc826de14238e6e8c374ddcc1fa19e374fd8dd986b0d2af0d02377261d83c"
dependencies = [
"getrandom 0.3.4",
]
[[package]] [[package]]
name = "rand_core" name = "rand_core"
version = "0.10.1" version = "0.10.1"
@@ -1838,8 +1866,8 @@ version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d" checksum = "b8573f03f5883dcaebdfcf4725caa1ecb9c15b2ef50c43a07b816e06799bb12d"
dependencies = [ dependencies = [
"const-oid", "const-oid 0.9.6",
"digest", "digest 0.10.7",
"num-bigint-dig", "num-bigint-dig",
"num-integer", "num-integer",
"num-traits", "num-traits",
@@ -2000,13 +2028,13 @@ dependencies = [
[[package]] [[package]]
name = "sha1" name = "sha1"
version = "0.10.6" version = "0.11.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" checksum = "aacc4cc499359472b4abe1bf11d0b12e688af9a805fa5e3016f9a386dc2d0214"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures 0.2.17", "cpufeatures 0.3.0",
"digest", "digest 0.11.3",
] ]
[[package]] [[package]]
@@ -2017,7 +2045,7 @@ checksum = "a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"cpufeatures 0.2.17", "cpufeatures 0.2.17",
"digest", "digest 0.10.7",
] ]
[[package]] [[package]]
@@ -2042,7 +2070,7 @@ version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de"
dependencies = [ dependencies = [
"digest", "digest 0.10.7",
"rand_core 0.6.4", "rand_core 0.6.4",
] ]
@@ -2326,9 +2354,9 @@ dependencies = [
[[package]] [[package]]
name = "typenum" name = "typenum"
version = "1.19.0" version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb" checksum = "b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
@@ -2374,9 +2402,9 @@ checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be"
[[package]] [[package]]
name = "uuid" name = "uuid"
version = "1.23.1" version = "1.23.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" checksum = "ea5fab0d6c3c01ae70085a09cb03d4c7a1d6314e2b3e075392783396d724ca0a"
dependencies = [ dependencies = [
"getrandom 0.4.2", "getrandom 0.4.2",
"js-sys", "js-sys",
@@ -2797,6 +2825,20 @@ name = "zeroize"
version = "1.8.2" version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "zerotrie" name = "zerotrie"
+5 -5
View File
@@ -4,20 +4,20 @@ version = "1.0.0"
edition = "2024" edition = "2024"
[lib] [lib]
name = "surveillant_systeme_exposition" name = "lumiere_exposition"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
lumiere-domain = { path = "../domain" } lumiere-domain = { path = "../domain" }
lumiere-application = { path = "../application" } lumiere-application = { path = "../application" }
actix-web = { version = "4.13.0", features = ["rustls-0_23"] } actix-web = { version = "4.14.0", features = ["rustls-0_23"] }
actix-web-httpauth = "0.8.2" actix-web-httpauth = "0.8.2"
async-stream = "0.3.6" async-stream = "0.3.6"
futures-util = "0.3.32" futures-util = "0.3.32"
chrono = "0.4.44" chrono = "0.4.45"
jsonwebtoken = { version = "10.3.0", features = ["rust_crypto"] } jsonwebtoken = { version = "10.4.0", features = ["rust_crypto"] }
serde = { version = "1.0.228", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] }
uuid = { version = "1.23.0", features = ["v4", "serde"] } uuid = { version = "1.23.5", features = ["v4", "serde"] }
tokio = { version = "1.52.3", features = ["fs"] } tokio = { version = "1.52.3", features = ["fs"] }
tokio-util = "0.7.18" tokio-util = "0.7.18"
+2
View File
@@ -4,6 +4,7 @@ use crate::user::validator::validator;
use actix_web::web::ServiceConfig; use actix_web::web::ServiceConfig;
use actix_web::{get, web, HttpResponse, Responder}; use actix_web::{get, web, HttpResponse, Responder};
use actix_web_httpauth::middleware::HttpAuthentication; use actix_web_httpauth::middleware::HttpAuthentication;
use crate::video::handler::download_file;
pub mod user; pub mod user;
pub mod video; pub mod video;
@@ -14,6 +15,7 @@ async fn health() -> impl Responder {
} }
pub fn init(cfg: &mut ServiceConfig) { pub fn init(cfg: &mut ServiceConfig) {
cfg.service(download_file);
cfg.default_service(web::to(not_found)); cfg.default_service(web::to(not_found));
} }
+2 -2
View File
@@ -2,8 +2,8 @@ use actix_web::{delete, get, post, put, web, HttpMessage, HttpRequest, HttpRespo
use std::io::ErrorKind; use std::io::ErrorKind;
use std::sync::Arc; use std::sync::Arc;
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_application::user::service::UserService; use lumiere_application::user::service::UserService;
use surveillant_systeme_domain::user::model::Claims; use lumiere_domain::user::model::Claims;
use crate::user::model::request::{CreateFirstUserRequestDto, CreateUserRequestDto, LoginRequestDto, UpdateUserPasswordRequestDto, UpdateUserRequestDto}; use crate::user::model::request::{CreateFirstUserRequestDto, CreateUserRequestDto, LoginRequestDto, UpdateUserPasswordRequestDto, UpdateUserRequestDto};
use crate::user::model::response::{LoginResponseDto, UserDto}; use crate::user::model::response::{LoginResponseDto, UserDto};
@@ -1,7 +1,7 @@
use chrono::{DateTime, Utc}; use chrono::{DateTime, Utc};
use serde::Serialize; use serde::Serialize;
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_domain::user::model::{LoginResponse, RefreshToken, User}; use lumiere_domain::user::model::{LoginResponse, RefreshToken, User};
#[derive(Serialize)] #[derive(Serialize)]
pub struct UserDto { pub struct UserDto {
+1 -1
View File
@@ -2,7 +2,7 @@ use std::env;
use actix_web::{dev, HttpMessage}; use actix_web::{dev, HttpMessage};
use actix_web_httpauth::extractors::bearer::BearerAuth; use actix_web_httpauth::extractors::bearer::BearerAuth;
use jsonwebtoken::{decode, Algorithm, DecodingKey, Validation}; use jsonwebtoken::{decode, Algorithm, DecodingKey, Validation};
use surveillant_systeme_domain::user::model::Claims; use lumiere_domain::user::model::Claims;
fn get_jwt_secret() -> String { fn get_jwt_secret() -> String {
env::var("JWT_SECRET").expect("JWT_SECRET must be set.") env::var("JWT_SECRET").expect("JWT_SECRET must be set.")
+3 -3
View File
@@ -1,14 +1,14 @@
use actix_web::{get, HttpResponse}; use actix_web::{get, HttpResponse, Responder};
use tokio::fs::File; use tokio::fs::File;
use tokio_util::codec::{BytesCodec, FramedRead}; use tokio_util::codec::{BytesCodec, FramedRead};
use futures_util::stream::StreamExt; use futures_util::stream::StreamExt;
#[get("/download")] #[get("/download")]
pub async fn download_file() -> HttpResponse { pub async fn download_file() -> impl Responder {
HttpResponse::Ok() HttpResponse::Ok()
.content_type("application/octet-stream") .content_type("application/octet-stream")
.streaming(async_stream::stream! { .streaming(async_stream::stream! {
let file = File::open("/home/florian/Video/2019-06-02 17-09-30.flv").await.expect("Failed to open file"); let file = File::open("/home/florian/Videos/Kaamelott_Le_film.avi").await.expect("Failed to open file");
let mut stream = FramedRead::new(file, BytesCodec::new()); let mut stream = FramedRead::new(file, BytesCodec::new());
while let Some(chunk) = stream.next().await { while let Some(chunk) = stream.next().await {
yield chunk.map(|bytes| bytes.freeze()); yield chunk.map(|bytes| bytes.freeze());
@@ -1,4 +1,4 @@
use surveillant_systeme_domain::video::model::VideoFormat; use lumiere_domain::video::model::VideoFormat;
pub fn map_to_content_type(video_format: &VideoFormat) -> &'static str { pub fn map_to_content_type(video_format: &VideoFormat) -> &'static str {
match video_format { match video_format {
+50 -34
View File
@@ -64,9 +64,9 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.44" version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
dependencies = [ dependencies = [
"iana-time-zone", "iana-time-zone",
"js-sys", "js-sys",
@@ -134,9 +134,9 @@ checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
[[package]] [[package]]
name = "diesel" name = "diesel"
version = "2.3.10" version = "2.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29fe29a87fb84c631ffb3ba21798c4b1f3a964701ba78f0dce4bf8668562ec88" checksum = "e54d1f576cd3a3460f212a4615fd12ce1b6303c095b79a44449ffbe627753dc1"
dependencies = [ dependencies = [
"diesel_derives", "diesel_derives",
"downcast-rs", "downcast-rs",
@@ -398,9 +398,34 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.29" version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]]
name = "lumiere-infrastructure"
version = "1.0.0"
dependencies = [
"chrono",
"diesel",
"diesel_migrations",
"log",
"lumiere-domain",
"rand",
"rusqlite",
"sysinfo",
"tokio",
"uuid",
]
[[package]] [[package]]
name = "memchr" name = "memchr"
@@ -516,6 +541,12 @@ version = "1.21.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50"
[[package]]
name = "pin-project-lite"
version = "0.2.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd"
[[package]] [[package]]
name = "pkg-config" name = "pkg-config"
version = "0.3.33" version = "0.3.33"
@@ -564,9 +595,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf"
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.10.1" version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [ dependencies = [
"chacha20", "chacha20",
"getrandom", "getrandom",
@@ -698,30 +729,6 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]]
name = "lumiere-domain"
version = "1.0.0"
dependencies = [
"chrono",
"serde",
"uuid",
]
[[package]]
name = "lumiere-infrastructure"
version = "1.0.0"
dependencies = [
"chrono",
"diesel",
"diesel_migrations",
"log",
"rand",
"rusqlite",
"lumiere-domain",
"sysinfo",
"uuid",
]
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.117" version = "2.0.117"
@@ -735,9 +742,9 @@ dependencies = [
[[package]] [[package]]
name = "sysinfo" name = "sysinfo"
version = "0.39.1" version = "0.39.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4deba334e1190ba7cb498327affa11e5ece10d26a30ab2f27fcf09504b8d8b6" checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6"
dependencies = [ dependencies = [
"libc", "libc",
"memchr", "memchr",
@@ -798,6 +805,15 @@ dependencies = [
"time-core", "time-core",
] ]
[[package]]
name = "tokio"
version = "1.52.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8fc7f01b389ac15039e4dc9531aa973a135d7a4135281b12d7c1bc79fd57fffe"
dependencies = [
"pin-project-lite",
]
[[package]] [[package]]
name = "toml" name = "toml"
version = "0.9.12+spec-1.1.0" version = "0.9.12+spec-1.1.0"
+7 -7
View File
@@ -4,18 +4,18 @@ version = "1.0.0"
edition = "2024" edition = "2024"
[lib] [lib]
name = "surveillant_systeme_infrastructure" name = "lumiere_infrastructure"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
lumiere-domain = { path = "../domain" } lumiere-domain = { path = "../domain" }
chrono = "0.4.44" chrono = "0.4.45"
diesel = { version = "2.1.0", features = ["sqlite", "returning_clauses_for_sqlite_3_35"] } diesel = { version = "2.3.11", features = ["sqlite", "returning_clauses_for_sqlite_3_35"] }
diesel_migrations = "2.1.0" diesel_migrations = "2.3.2"
log = "0.4.29" log = "0.4.33"
rand = "0.10.1" rand = "0.10.2"
rusqlite = { version = "0.39.0", features = ["bundled"] } rusqlite = { version = "0.39.0", features = ["bundled"] }
sysinfo = "0.39.1" sysinfo = "0.39.6"
tokio = { version = "1.52.3", features = ["fs"] } tokio = { version = "1.52.3", features = ["fs"] }
uuid = { version = "1.23.1", features = ["v4"] } uuid = { version = "1.23.1", features = ["v4"] }
@@ -1,5 +1,5 @@
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use surveillant_systeme_domain::configuration::port::ConfigurationPort; use lumiere_domain::configuration::port::ConfigurationPort;
use crate::configuration::repository::ConfigurationSqliteRepository; use crate::configuration::repository::ConfigurationSqliteRepository;
#[derive(Clone)] #[derive(Clone)]
+2 -2
View File
@@ -1,7 +1,7 @@
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_domain::user::model::User; use lumiere_domain::user::model::User;
use surveillant_systeme_domain::user::port::UserPort; use lumiere_domain::user::port::UserPort;
use crate::user::repository::UserSqliteRepository; use crate::user::repository::UserSqliteRepository;
#[derive(Clone)] #[derive(Clone)]
@@ -1,7 +1,7 @@
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_domain::user::model::User; use lumiere_domain::user::model::User;
use surveillant_systeme_domain::user::port::UserPort; use lumiere_domain::user::port::UserPort;
use crate::user::diesel_repository::UserDieselRepository; use crate::user::diesel_repository::UserDieselRepository;
#[derive(Clone)] #[derive(Clone)]
+1 -1
View File
@@ -1,4 +1,4 @@
use surveillant_systeme_domain::user::model::User; use lumiere_domain::user::model::User;
use diesel::prelude::*; use diesel::prelude::*;
use uuid::Uuid; use uuid::Uuid;
@@ -3,7 +3,7 @@ use rusqlite::{Connection, Error, Row};
use std::sync::{Arc, Mutex, MutexGuard}; use std::sync::{Arc, Mutex, MutexGuard};
use log::warn; use log::warn;
use uuid::Uuid; use uuid::Uuid;
use surveillant_systeme_domain::user::model::User; use lumiere_domain::user::model::User;
#[derive(Clone)] #[derive(Clone)]
pub struct UserSqliteRepository { pub struct UserSqliteRepository {
@@ -1,7 +1,7 @@
use std::fs::File; use std::fs::File;
use std::path::Path; use std::path::Path;
use surveillant_systeme_domain::video::model::VideoFormat; use lumiere_domain::video::model::VideoFormat;
use surveillant_systeme_domain::video::model::VideoFormat::{AVI, MKV, MP4, UNKNOWN, WEBM}; use lumiere_domain::video::model::VideoFormat::{AVI, MKV, MP4, UNKNOWN, WEBM};
/// Determine Content-Type by reading file headers (magic numbers) /// Determine Content-Type by reading file headers (magic numbers)
pub fn get_content_type(path: &Path) -> VideoFormat { pub fn get_content_type(path: &Path) -> VideoFormat {
+52 -31
View File
@@ -21,9 +21,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-http" name = "actix-http"
version = "3.12.1" version = "3.13.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93acb4a42f64936f9b8cae4a433b237599dd6eb6ed06124eb67132ef8cc90662" checksum = "48e2faa3e7418ed780cca54829d32782a4008a077230f67457caa063415e99c2"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-rt", "actix-rt",
@@ -38,7 +38,7 @@ dependencies = [
"derive_more", "derive_more",
"encoding_rs", "encoding_rs",
"flate2", "flate2",
"foldhash 0.1.5", "foldhash 0.2.0",
"futures-core", "futures-core",
"h2", "h2",
"http 0.2.12", "http 0.2.12",
@@ -50,7 +50,7 @@ dependencies = [
"mime", "mime",
"percent-encoding", "percent-encoding",
"pin-project-lite", "pin-project-lite",
"rand 0.10.1", "rand 0.10.2",
"sha1", "sha1",
"smallvec", "smallvec",
"tokio", "tokio",
@@ -131,7 +131,7 @@ dependencies = [
"actix-service", "actix-service",
"actix-utils", "actix-utils",
"futures-core", "futures-core",
"impl-more", "impl-more 0.1.9",
"pin-project-lite", "pin-project-lite",
"rustls-pki-types", "rustls-pki-types",
"tokio", "tokio",
@@ -152,9 +152,9 @@ dependencies = [
[[package]] [[package]]
name = "actix-web" name = "actix-web"
version = "4.13.0" version = "4.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff87453bc3b56e9b2b23c1cc0b1be8797184accf51d2abe0f8a33ec275d316bf" checksum = "df09e2d9239703dd64056359c920c7f3fba6535ec61a0059e0f44e095ffe02b4"
dependencies = [ dependencies = [
"actix-codec", "actix-codec",
"actix-http", "actix-http",
@@ -172,10 +172,10 @@ dependencies = [
"cookie", "cookie",
"derive_more", "derive_more",
"encoding_rs", "encoding_rs",
"foldhash 0.1.5", "foldhash 0.2.0",
"futures-core", "futures-core",
"futures-util", "futures-util",
"impl-more", "impl-more 0.3.1",
"itoa", "itoa",
"language-tags", "language-tags",
"log", "log",
@@ -444,9 +444,9 @@ checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06"
[[package]] [[package]]
name = "bcrypt" name = "bcrypt"
version = "0.19.1" version = "0.19.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24ae5479c93d3720e4c1dbd6b945b97457c50cb672781104768190371df1a905" checksum = "7f3c067aa24dd4ed5c79cf222a38f260c8f23d3b82a062fba3f28c6fe563b753"
dependencies = [ dependencies = [
"base64", "base64",
"blowfish", "blowfish",
@@ -568,9 +568,9 @@ dependencies = [
[[package]] [[package]]
name = "chrono" name = "chrono"
version = "0.4.44" version = "0.4.45"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c673075a2e0e5f4a1dde27ce9dee1ea4558c7ffe648f576438a20ca1d2acc4b0" checksum = "1aa79e62e7697b8e29b513a68abacf485adcd1fe8284a4316c5ae868e6633327"
dependencies = [ dependencies = [
"iana-time-zone", "iana-time-zone",
"js-sys", "js-sys",
@@ -895,9 +895,9 @@ dependencies = [
[[package]] [[package]]
name = "diesel" name = "diesel"
version = "2.3.10" version = "2.3.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "29fe29a87fb84c631ffb3ba21798c4b1f3a964701ba78f0dce4bf8668562ec88" checksum = "e54d1f576cd3a3460f212a4615fd12ce1b6303c095b79a44449ffbe627753dc1"
dependencies = [ dependencies = [
"diesel_derives", "diesel_derives",
"downcast-rs", "downcast-rs",
@@ -1091,9 +1091,9 @@ dependencies = [
[[package]] [[package]]
name = "env_filter" name = "env_filter"
version = "1.0.1" version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32e90c2accc4b07a8456ea0debdc2e7587bdd890680d71173a15d4ae604f6eef" checksum = "900d271a03799a1ee8d1ca9b19893b48ca674a9284fefcfb85f05e74ed314217"
dependencies = [ dependencies = [
"log", "log",
"regex", "regex",
@@ -1101,9 +1101,9 @@ dependencies = [
[[package]] [[package]]
name = "env_logger" name = "env_logger"
version = "0.11.10" version = "0.11.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0621c04f2196ac3f488dd583365b9c09be011a4ab8b9f37248ffcc8f6198b56a" checksum = "de671bd27a75a797dc9ae289ba1e77276e75e2026408aab65185384e2d5cd3f6"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@@ -1636,6 +1636,12 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2" checksum = "e8a5a9a0ff0086c7a148acb942baaabeadf9504d10400b5a05645853729b9cd2"
[[package]]
name = "impl-more"
version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35a84fd5aa25fae5c0f4a33d9cac2ca017fc622cbd089be2229993514990f870"
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.14.0" version = "2.14.0"
@@ -1717,9 +1723,9 @@ dependencies = [
[[package]] [[package]]
name = "jsonwebtoken" name = "jsonwebtoken"
version = "10.3.0" version = "10.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0529410abe238729a60b108898784df8984c87f6054c9c4fcacc47e4803c1ce1" checksum = "eba32bfb4ffdeaca3e34431072faf01745c9b26d25504aa7a6cf5684334fc4fc"
dependencies = [ dependencies = [
"base64", "base64",
"ed25519-dalek", "ed25519-dalek",
@@ -1736,6 +1742,7 @@ dependencies = [
"sha2", "sha2",
"signature", "signature",
"simple_asn1", "simple_asn1",
"zeroize",
] ]
[[package]] [[package]]
@@ -1816,9 +1823,9 @@ dependencies = [
[[package]] [[package]]
name = "log" name = "log"
version = "0.4.29" version = "0.4.33"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e5032e24019045c762d3c0f28f5b6b8bbf38563a65908389bf7978758920897" checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad"
[[package]] [[package]]
name = "lumiere" name = "lumiere"
@@ -1850,7 +1857,7 @@ dependencies = [
"log", "log",
"lumiere-domain", "lumiere-domain",
"mime", "mime",
"rand 0.10.1", "rand 0.10.2",
"tokio", "tokio",
"uuid", "uuid",
] ]
@@ -1891,7 +1898,7 @@ dependencies = [
"diesel_migrations", "diesel_migrations",
"log", "log",
"lumiere-domain", "lumiere-domain",
"rand 0.10.1", "rand 0.10.2",
"rusqlite", "rusqlite",
"sysinfo", "sysinfo",
"tokio", "tokio",
@@ -2334,9 +2341,9 @@ dependencies = [
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.10.1" version = "0.10.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d2e8e8bcc7961af1fdac401278c6a831614941f6164ee3bf4ce61b7edb162207" checksum = "c7f5fa3a058cd35567ef9bfa5e75732bee0f9e4c55fa90477bef2dfcdbc4be80"
dependencies = [ dependencies = [
"chacha20", "chacha20",
"getrandom 0.4.2", "getrandom 0.4.2",
@@ -2849,9 +2856,9 @@ dependencies = [
[[package]] [[package]]
name = "sysinfo" name = "sysinfo"
version = "0.39.1" version = "0.39.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4deba334e1190ba7cb498327affa11e5ece10d26a30ab2f27fcf09504b8d8b6" checksum = "d2071df9448915b71c4fe6d25deaf1c22f12bd234f01540b77312bb8e41361e6"
dependencies = [ dependencies = [
"libc", "libc",
"memchr", "memchr",
@@ -3137,9 +3144,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821"
[[package]] [[package]]
name = "uuid" name = "uuid"
version = "1.23.1" version = "1.23.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddd74a9687298c6858e9b88ec8935ec45d22e8fd5e6394fa1bd4e99a87789c76" checksum = "ea5fab0d6c3c01ae70085a09cb03d4c7a1d6314e2b3e075392783396d724ca0a"
dependencies = [ dependencies = [
"getrandom 0.4.2", "getrandom 0.4.2",
"js-sys", "js-sys",
@@ -3657,6 +3664,20 @@ name = "zeroize"
version = "1.8.2" version = "1.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0" checksum = "b97154e67e32c85465826e8bcc1c59429aaaf107c1e4a9e53c8d8ccd5eff88d0"
dependencies = [
"zeroize_derive",
]
[[package]]
name = "zeroize_derive"
version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c50655cbb0fe3fc43170059e702f1ce5e19b84cec58dc87b037a09935c2f328"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]] [[package]]
name = "zerotrie" name = "zerotrie"
+4 -4
View File
@@ -13,11 +13,11 @@ lumiere-application = { path = "../application" }
lumiere-infrastructure = { path = "../infrastructure" } lumiere-infrastructure = { path = "../infrastructure" }
lumiere-exposition = { path = "../exposition" } lumiere-exposition = { path = "../exposition" }
actix-web = { version = "4.13.0", features = ["rustls-0_23"] } actix-web = { version = "4.14.0", features = ["rustls-0_23"] }
diesel = { version = "2.0", features = ["sqlite"] } diesel = { version = "2.3.11", features = ["sqlite"] }
dotenv = "0.15.0" dotenv = "0.15.0"
env_logger = "0.11.10" env_logger = "0.11.11"
log = "0.4.29" log = "0.4.33"
rusqlite = { version = "0.39.0", features = ["bundled"] } rusqlite = { version = "0.39.0", features = ["bundled"] }
rustls = "0.23.37" rustls = "0.23.37"
rustls-pemfile = "2.2.0" rustls-pemfile = "2.2.0"
+10 -10
View File
@@ -6,16 +6,16 @@ use rusqlite::Connection;
use std::env; use std::env;
use std::io::{Error, ErrorKind}; use std::io::{Error, ErrorKind};
use std::sync::{Arc, Mutex}; use std::sync::{Arc, Mutex};
use surveillant_systeme_application::configuration::service::ConfigurationService; use lumiere_application::configuration::service::ConfigurationService;
use surveillant_systeme_application::user::service::UserService; use lumiere_application::user::service::UserService;
use surveillant_systeme_infrastructure::common::database_connection::DatabaseConnection; use lumiere_infrastructure::common::database_connection::DatabaseConnection;
use surveillant_systeme_infrastructure::common::database_initialisation::initialise_database_tables; use lumiere_infrastructure::common::database_initialisation::initialise_database_tables;
use surveillant_systeme_infrastructure::configuration::adapter::ConfigurationSqliteAdapter; use lumiere_infrastructure::configuration::adapter::ConfigurationSqliteAdapter;
use surveillant_systeme_infrastructure::configuration::repository::ConfigurationSqliteRepository; use lumiere_infrastructure::configuration::repository::ConfigurationSqliteRepository;
use surveillant_systeme_infrastructure::user::adapter::UserSqliteAdapter; use lumiere_infrastructure::user::adapter::UserSqliteAdapter;
use surveillant_systeme_infrastructure::user::diesel_adapter::UserDieselAdapter; use lumiere_infrastructure::user::diesel_adapter::UserDieselAdapter;
use surveillant_systeme_infrastructure::user::diesel_repository::UserDieselRepository; use lumiere_infrastructure::user::diesel_repository::UserDieselRepository;
use surveillant_systeme_infrastructure::user::repository::UserSqliteRepository; use lumiere_infrastructure::user::repository::UserSqliteRepository;
pub struct ApplicationContext { pub struct ApplicationContext {
pub database_connection: Arc<Mutex<Connection>>, pub database_connection: Arc<Mutex<Connection>>,
+24 -23
View File
@@ -11,9 +11,9 @@ use std::fs::File;
use std::io::{BufReader, Error}; use std::io::{BufReader, Error};
use std::path::Path; use std::path::Path;
use std::sync::Arc; use std::sync::Arc;
use surveillant_systeme_exposition::init; use lumiere_exposition::init;
use surveillant_systeme_exposition::video::video_format_content_type_mapper::map_to_content_type; use lumiere_exposition::video::video_format_content_type_mapper::map_to_content_type;
use surveillant_systeme_infrastructure::video::video_format_detector::get_content_type; use lumiere_infrastructure::video::video_format_detector::get_content_type;
use tokio_cron_scheduler::{Job, JobScheduler}; use tokio_cron_scheduler::{Job, JobScheduler};
#[actix_web::main] #[actix_web::main]
@@ -31,35 +31,36 @@ async fn main() -> std::io::Result<()> {
let application_context = ApplicationContext::init()?; let application_context = ApplicationContext::init()?;
let tls_config = init_tls_configuration()?; // let tls_config = init_tls_configuration()?;
let server = HttpServer::new( let server = HttpServer::new(
move || App::new().configure(init) move || App::new().configure(init)
.app_data(web::Data::new(Arc::new(application_context.user_service.clone()))) .app_data(web::Data::new(Arc::new(application_context.user_service.clone())))
) )
.bind_rustls_0_23(("0.0.0.0", 19000), tls_config) .bind("0.0.0.0:19000")
// .bind_rustls_0_23(("0.0.0.0", 19000), tls_config)
.expect("Unable to start server"); .expect("Unable to start server");
server.run().await server.run().await
} }
fn init_tls_configuration() -> Result<ServerConfig, Error> { // fn init_tls_configuration() -> Result<ServerConfig, Error> {
let mut certs_file = BufReader::new(File::open("./certs/lumiere.crt")?); // let mut certs_file = BufReader::new(File::open("./certs/lumiere.crt")?);
let mut key_file = BufReader::new(File::open("./certs/lumiere.key")?); // let mut key_file = BufReader::new(File::open("./certs/lumiere.key")?);
//
let tls_certs = rustls_pemfile::certs(&mut certs_file) // let tls_certs = rustls_pemfile::certs(&mut certs_file)
.collect::<Result<Vec<_>, _>>().expect("Unable to read the TLS certificate…"); // .collect::<Result<Vec<_>, _>>().expect("Unable to read the TLS certificate…");
let tls_key = rustls_pemfile::pkcs8_private_keys(&mut key_file) // let tls_key = rustls_pemfile::pkcs8_private_keys(&mut key_file)
.next() // .next()
.unwrap() // .unwrap()
.expect("Unable to read the private key for TLS configuration…"); // .expect("Unable to read the private key for TLS configuration…");
//
let tls_config = rustls::ServerConfig::builder() // let tls_config = rustls::ServerConfig::builder()
.with_no_client_auth() // .with_no_client_auth()
.with_single_cert(tls_certs, rustls::pki_types::PrivateKeyDer::Pkcs8(tls_key)) // .with_single_cert(tls_certs, rustls::pki_types::PrivateKeyDer::Pkcs8(tls_key))
.unwrap(); // .unwrap();
//
Ok(tls_config) // Ok(tls_config)
} // }
fn check_all_variables_are_set() { fn check_all_variables_are_set() {