Compare commits
	
		
			172 Commits
		
	
	
		
			bf3756a853
			...
			renovate/m
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| ecc11b6242 | |||
| 21cc865a21 | |||
| 2d5ce4587d | |||
| f84c4d7c76 | |||
| 509ceb1ed1 | |||
| 6a2b2ecbb1 | |||
| ad213f1a94 | |||
| b0cfde2a73 | |||
| 37b63e1979 | |||
| 1d42f549f0 | |||
| a339da2bc7 | |||
| e96ffd9bc4 | |||
| 313072220e | |||
| f115517913 | |||
| bee03941a1 | |||
| b5d9f6071e | |||
| 6e9f396313 | |||
| 361530be18 | |||
| 5c842f749b | |||
| affb13ab73 | |||
| acdfc11170 | |||
| 406ad94ce3 | |||
| 82f76950a9 | |||
| 8d4bbe100e | |||
| c6c675eccd | |||
| c1b998f04b | |||
| bb2f1a7d51 | |||
| 1148645f51 | |||
| 6de98d017c | |||
| 816ae1ebd1 | |||
| f5d75c32f9 | |||
| e25de677c1 | |||
| 9456773e0f | |||
| 43bc978f5d | |||
| c929f1a771 | |||
| 521cd99c90 | |||
| 7d3877b0de | |||
| 9555d535b1 | |||
| 15054df5c7 | |||
| 5723098ded | |||
| f0d249fa5e | |||
| af79f812ca | |||
| c71032ec9c | |||
| 3fdf575010 | |||
| 77f78529f6 | |||
| 2f5626d5e1 | |||
| ffb02dd579 | |||
| 4a1d3f5628 | |||
| 58449a65af | |||
| 11850cd581 | |||
| 82cc7dc745 | |||
| 5cf11dc061 | |||
| 4639666097 | |||
| e3fb01174a | |||
| bfea5d2e81 | |||
| 85a0ba0356 | |||
| a9f9ab28bd | |||
| d48ef08e6d | |||
| 4a9a67ed21 | |||
| 467232a9c4 | |||
| c4a53b0383 | |||
| 688c25f0eb | |||
| 229f3b010b | |||
| 6da6161903 | |||
| 997a17f807 | |||
| a78d217cf3 | |||
| 63a3cb953c | |||
| 4d29a28103 | |||
| f45b9b0f8b | |||
| be5d3f6015 | |||
| 5b83a417dd | |||
| 6d4a9f44ff | |||
| c0c3192529 | |||
| 4f3d970b70 | |||
| 2f86c72786 | |||
| 7d3f6dbf33 | |||
| 1bd5abc322 | |||
| bb16d06b47 | |||
| 34ea65ab1d | |||
| cab6ab3701 | |||
| 1003bdd931 | |||
| 36dd681c84 | |||
| feffd18395 | |||
| 0a12bf917e | |||
| 0a263cf076 | |||
| 33f7b762dd | |||
| 593f10dfd1 | |||
| 62545d1689 | |||
| a8951888b8 | |||
| abaf7b163c | |||
| 6f683a65fb | |||
| b297f2de2d | |||
| 5ed6aa0567 | |||
| 3857503e2d | |||
| 41e0022c1f | |||
| 2748206ca6 | |||
| 3813949bc5 | |||
| d93f198f98 | |||
| 1264e2a636 | |||
| 99c7253619 | |||
| 167d90a4b9 | |||
| f983a22eb8 | |||
| ffae610848 | |||
| 6989b1ab92 | |||
| 77e72635bf | |||
| e9dca75d1e | |||
| 5893fde734 | |||
| 4a51ef08a9 | |||
| 7f106d042a | |||
| 80396a17d0 | |||
| 04640caa5c | |||
| 975ac224d4 | |||
| 7e4f5cee9d | |||
| bf0e5e9e4f | |||
| 2b8955475d | |||
| bcfbf61c6a | |||
| 0506e72d31 | |||
| f82f920046 | |||
| 5b31e50ff6 | |||
| 93987e30cf | |||
| 60e4ca93c7 | |||
| 71cb01c7fc | |||
| 7599881cfe | |||
| 12f298ef56 | |||
| 866ee01bb1 | |||
| 7a585efd8a | |||
| 935ab75d5b | |||
| 1d661fb4d8 | |||
| 849d9aba82 | |||
| a435d4623f | |||
| 4e4fa37b3b | |||
| 0540f515ec | |||
| 6e53486832 | |||
| 44d09b54e8 | |||
| 1ae44942b0 | |||
| 6a60c43782 | |||
| 4c97e7a6f4 | |||
| cd5f453172 | |||
| 83cfcbb237 | |||
| 1a0bf0caee | |||
| a0c82ccca2 | |||
| 33f549b081 | |||
| 24de257218 | |||
| 33d422627f | |||
| 93da051599 | |||
| 20b50d7040 | |||
| f4949e1b89 | |||
| 3f517378a1 | |||
| 7093979fd1 | |||
| 3b39a0ca15 | |||
| f706a9e9b8 | |||
| 440d5b14f1 | |||
| 99e8220a52 | |||
| 748a2e808b | |||
| 3114971e3e | |||
| aa45dd02c5 | |||
| aeb3769301 | |||
| 76d3b03b39 | |||
| 086a196d39 | |||
| dac69c011f | |||
| 56701a66d8 | |||
| 3dcda6262f | |||
| afa08c1fa1 | |||
| 12bb83cf51 | |||
| ecaa393574 | |||
| 1658e99c5a | |||
| f55df9c7b0 | |||
| e9bdce07c6 | |||
| 986f6c0380 | |||
| ccd5d7694c | |||
| 96f2b29d50 | |||
| eaad9dbb24 | 
@@ -14,7 +14,7 @@ steps:
 | 
			
		||||
  - cargo test
 | 
			
		||||
 | 
			
		||||
- name: app_deploy
 | 
			
		||||
  image: node:23
 | 
			
		||||
  image: node:24
 | 
			
		||||
  environment:
 | 
			
		||||
    AWS_ACCESS_KEY_ID:
 | 
			
		||||
      from_secret: AWS_ACCESS_KEY_ID
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										993
									
								
								geneit_app/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										993
									
								
								geneit_app/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -12,45 +12,45 @@
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@emotion/react": "^11.14.0",
 | 
			
		||||
    "@emotion/styled": "^11.14.1",
 | 
			
		||||
    "@fontsource/roboto": "^5.2.6",
 | 
			
		||||
    "@fullcalendar/core": "^6.1.18",
 | 
			
		||||
    "@fullcalendar/daygrid": "^6.1.18",
 | 
			
		||||
    "@fullcalendar/interaction": "^6.1.18",
 | 
			
		||||
    "@fullcalendar/list": "^6.1.18",
 | 
			
		||||
    "@fullcalendar/react": "^6.1.18",
 | 
			
		||||
    "@fontsource/roboto": "^5.2.8",
 | 
			
		||||
    "@fullcalendar/core": "^6.1.19",
 | 
			
		||||
    "@fullcalendar/daygrid": "^6.1.19",
 | 
			
		||||
    "@fullcalendar/interaction": "^6.1.19",
 | 
			
		||||
    "@fullcalendar/list": "^6.1.19",
 | 
			
		||||
    "@fullcalendar/react": "^6.1.19",
 | 
			
		||||
    "@mdi/js": "^7.4.47",
 | 
			
		||||
    "@mdi/react": "^1.6.1",
 | 
			
		||||
    "@mui/icons-material": "^7.2.0",
 | 
			
		||||
    "@mui/lab": "^7.0.0-beta.14",
 | 
			
		||||
    "@mui/lab": "^7.0.0-beta.17",
 | 
			
		||||
    "@mui/material": "^7.2.0",
 | 
			
		||||
    "@mui/x-data-grid": "^8.9.1",
 | 
			
		||||
    "@mui/x-date-pickers": "^8.9.0",
 | 
			
		||||
    "@mui/x-tree-view": "^8.9.0",
 | 
			
		||||
    "@mui/x-data-grid": "^8.16.0",
 | 
			
		||||
    "@mui/x-date-pickers": "^8.15.0",
 | 
			
		||||
    "@mui/x-tree-view": "^8.15.0",
 | 
			
		||||
    "date-and-time": "^3.6.0",
 | 
			
		||||
    "dayjs": "^1.11.13",
 | 
			
		||||
    "dayjs": "^1.11.19",
 | 
			
		||||
    "email-validator": "^2.0.4",
 | 
			
		||||
    "filesize": "^10.1.6",
 | 
			
		||||
    "jspdf": "^3.0.1",
 | 
			
		||||
    "filesize": "^11.0.13",
 | 
			
		||||
    "jspdf": "^3.0.3",
 | 
			
		||||
    "mui-color-input": "^7.0.0",
 | 
			
		||||
    "react": "^19.1.0",
 | 
			
		||||
    "react-dom": "^19.1.0",
 | 
			
		||||
    "react-easy-crop": "^5.5.0",
 | 
			
		||||
    "react": "^19.2.0",
 | 
			
		||||
    "react-dom": "^19.2.0",
 | 
			
		||||
    "react-easy-crop": "^5.5.3",
 | 
			
		||||
    "react-qr-code": "^2.0.18",
 | 
			
		||||
    "react-router-dom": "^7.4.0",
 | 
			
		||||
    "react-zoom-pan-pinch": "^3.7.0",
 | 
			
		||||
    "svg2pdf.js": "^2.5.0"
 | 
			
		||||
    "svg2pdf.js": "^2.6.0"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@eslint/js": "^9.31.0",
 | 
			
		||||
    "@types/react": "^19.1.8",
 | 
			
		||||
    "@types/react-dom": "^19.1.6",
 | 
			
		||||
    "@eslint/js": "^9.38.0",
 | 
			
		||||
    "@types/react": "^19.2.2",
 | 
			
		||||
    "@types/react-dom": "^19.2.2",
 | 
			
		||||
    "@vitejs/plugin-react": "^4.7.0",
 | 
			
		||||
    "eslint": "^9.31.0",
 | 
			
		||||
    "eslint": "^9.38.0",
 | 
			
		||||
    "eslint-plugin-react-hooks": "^5.2.0",
 | 
			
		||||
    "eslint-plugin-react-refresh": "^0.4.20",
 | 
			
		||||
    "globals": "^16.3.0",
 | 
			
		||||
    "typescript": "^5.8.3",
 | 
			
		||||
    "typescript-eslint": "^8.38.0",
 | 
			
		||||
    "vite": "^6.3.5"
 | 
			
		||||
    "eslint-plugin-react-refresh": "^0.4.24",
 | 
			
		||||
    "globals": "^16.4.0",
 | 
			
		||||
    "typescript": "^5.9.3",
 | 
			
		||||
    "typescript-eslint": "^8.46.2",
 | 
			
		||||
    "vite": "^7.0.6"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -137,8 +137,10 @@ function UsersTable(p: {
 | 
			
		||||
            <GridActionsCellItem
 | 
			
		||||
              icon={<SaveIcon />}
 | 
			
		||||
              label="Save"
 | 
			
		||||
              sx={{
 | 
			
		||||
                color: "primary.main",
 | 
			
		||||
              material={{
 | 
			
		||||
                sx: {
 | 
			
		||||
                  color: 'primary.main',
 | 
			
		||||
                },
 | 
			
		||||
              }}
 | 
			
		||||
              onClick={handleSaveClick(id)}
 | 
			
		||||
            />,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										341
									
								
								geneit_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										341
									
								
								geneit_backend/Cargo.lock
									
									
									
										generated
									
									
									
								
							@@ -8,7 +8,7 @@ version = "0.5.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5f7b0a21988c1bf877cf4759ef5ddaac04c1c9fe808c9142ecb78ba97d97a28a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "bytes",
 | 
			
		||||
 "futures-core",
 | 
			
		||||
 "futures-sink",
 | 
			
		||||
@@ -45,7 +45,7 @@ dependencies = [
 | 
			
		||||
 "actix-service",
 | 
			
		||||
 "actix-utils",
 | 
			
		||||
 "base64",
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "brotli",
 | 
			
		||||
 "bytes",
 | 
			
		||||
 "bytestring",
 | 
			
		||||
@@ -64,7 +64,7 @@ dependencies = [
 | 
			
		||||
 "mime",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "pin-project-lite",
 | 
			
		||||
 "rand 0.9.1",
 | 
			
		||||
 "rand 0.9.2",
 | 
			
		||||
 "sha1",
 | 
			
		||||
 "smallvec",
 | 
			
		||||
 "tokio",
 | 
			
		||||
@@ -323,12 +323,6 @@ version = "0.2.21"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "android-tzdata"
 | 
			
		||||
version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "android_system_properties"
 | 
			
		||||
version = "0.1.5"
 | 
			
		||||
@@ -390,9 +384,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "anyhow"
 | 
			
		||||
version = "1.0.98"
 | 
			
		||||
version = "1.0.100"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
 | 
			
		||||
checksum = "a23eb6b1614318a8071c9b2521f36b424b2c83db5eb3a0fead4a6c0809af6e61"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "arbitrary"
 | 
			
		||||
@@ -535,9 +529,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bcrypt"
 | 
			
		||||
version = "0.17.0"
 | 
			
		||||
version = "0.17.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "92758ad6077e4c76a6cadbce5005f666df70d4f13b19976b1a8062eef880040f"
 | 
			
		||||
checksum = "abaf6da45c74385272ddf00e1ac074c7d8a6c1a1dda376902bd6a427522a8b2c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
 "blowfish",
 | 
			
		||||
@@ -552,12 +546,6 @@ version = "0.10.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "dc827186963e592360843fb5ba4b973e145841266c1357f7180c43526f2e5b61"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
version = "1.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
version = "2.9.0"
 | 
			
		||||
@@ -657,21 +645,11 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bzip2"
 | 
			
		||||
version = "0.5.2"
 | 
			
		||||
version = "0.6.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "49ecfb22d906f800d4fe833b6282cf4dc1c298f5057ca0b5445e5c209735ca47"
 | 
			
		||||
checksum = "bea8dcd42434048e4f7a304411d9273a411f647446c1234a65ce0554923f4cff"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bzip2-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bzip2-sys"
 | 
			
		||||
version = "0.1.13+1.0.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
 "libbz2-rs-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -703,17 +681,16 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "chrono"
 | 
			
		||||
version = "0.4.41"
 | 
			
		||||
version = "0.4.42"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c469d952047f47f91b68d1cba3f10d63c11d73e4636f24f08daf0278abf01c4d"
 | 
			
		||||
checksum = "145052bdd345b87320e369255277e3fb5152762ad123a901ef5c262dd38fe8d2"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "android-tzdata",
 | 
			
		||||
 "iana-time-zone",
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "wasm-bindgen",
 | 
			
		||||
 "windows-link",
 | 
			
		||||
 "windows-link 0.2.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -738,9 +715,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clap"
 | 
			
		||||
version = "4.5.41"
 | 
			
		||||
version = "4.5.51"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "be92d32e80243a54711e5d7ce823c35c41c9d929dc4ab58e1276f625841aadf9"
 | 
			
		||||
checksum = "4c26d721170e0295f191a69bd9a1f93efcdb0aff38684b61ab5750468972e5f5"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "clap_builder",
 | 
			
		||||
 "clap_derive",
 | 
			
		||||
@@ -748,9 +725,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clap_builder"
 | 
			
		||||
version = "4.5.41"
 | 
			
		||||
version = "4.5.51"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "707eab41e9622f9139419d573eca0900137718000c517d47da73045f54331c3d"
 | 
			
		||||
checksum = "75835f0c7bf681bfd05abe44e965760fea999a5286c6eb2d59883634fd02011a"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "anstream",
 | 
			
		||||
 "anstyle",
 | 
			
		||||
@@ -760,9 +737,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "clap_derive"
 | 
			
		||||
version = "4.5.41"
 | 
			
		||||
version = "4.5.49"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ef4f52386a59ca4c860f7393bcf8abd8dfd91ecccc0f774635ff68e92eeef491"
 | 
			
		||||
checksum = "2a0b5487afeab2deb2ff4e03a807ad1a03ac532ff5a2cee5d86884440c7f7671"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "heck",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
@@ -866,21 +843,6 @@ dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crc"
 | 
			
		||||
version = "3.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "69e6e4d7b33a94f0991c26729976b10ebde1d34c3ee82408fb536164fa10d636"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "crc-catalog",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crc-catalog"
 | 
			
		||||
version = "2.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "19d374276b40fb8bbdee95aef7c7fa6b5316ec764510eb64b8dd0e2ed0d7e7f5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "crc32fast"
 | 
			
		||||
version = "1.4.2"
 | 
			
		||||
@@ -1054,7 +1016,7 @@ version = "2.2.12"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "229850a212cd9b84d4f0290ad9d294afc0ae70fccaa8949dbe8b43ffafa1e20c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "diesel_derives",
 | 
			
		||||
 "itoa",
 | 
			
		||||
@@ -1272,6 +1234,26 @@ version = "2.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fax"
 | 
			
		||||
version = "0.2.6"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f05de7d48f37cd6730705cbca900770cab77a89f413d23e100ad7fad7795a0ab"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "fax_derive",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fax_derive"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fdeflate"
 | 
			
		||||
version = "0.3.7"
 | 
			
		||||
@@ -1283,11 +1265,12 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "flate2"
 | 
			
		||||
version = "1.1.0"
 | 
			
		||||
version = "1.1.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "11faaf5a5236997af9848be0bef4db95824b1d534ebc64d0f0c6cf3e67bd38dc"
 | 
			
		||||
checksum = "4a3d7db9596fecd151c5f638c0ee5d5bd487b6e0ea232e5dc96d5250f6f94b1d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "crc32fast",
 | 
			
		||||
 "libz-rs-sys",
 | 
			
		||||
 "miniz_oxide",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
@@ -1443,7 +1426,7 @@ dependencies = [
 | 
			
		||||
 "log",
 | 
			
		||||
 "mailchecker",
 | 
			
		||||
 "mime_guess",
 | 
			
		||||
 "rand 0.9.1",
 | 
			
		||||
 "rand 0.9.2",
 | 
			
		||||
 "redis",
 | 
			
		||||
 "rust-s3",
 | 
			
		||||
 "rust_iso3166",
 | 
			
		||||
@@ -1452,7 +1435,7 @@ dependencies = [
 | 
			
		||||
 "serde_with",
 | 
			
		||||
 "sha2",
 | 
			
		||||
 "tempfile",
 | 
			
		||||
 "thiserror 2.0.12",
 | 
			
		||||
 "thiserror 2.0.17",
 | 
			
		||||
 "uuid",
 | 
			
		||||
 "zip",
 | 
			
		||||
]
 | 
			
		||||
@@ -1485,11 +1468,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "73fea8450eea4bac3940448fb7ae50d91f034f941199fcd9d909a5a07aa455f0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "js-sys",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "r-efi",
 | 
			
		||||
 "wasi 0.14.2+wasi-0.2.4",
 | 
			
		||||
 "wasm-bindgen",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -1981,9 +1962,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "image"
 | 
			
		||||
version = "0.25.6"
 | 
			
		||||
version = "0.25.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "db35664ce6b9810857a38a906215e75a9c879f0696556a39f59c62829710251a"
 | 
			
		||||
checksum = "529feb3e6769d234375c4cf1ee2ce713682b8e76538cb13f9fc23e1400a591e7"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bytemuck",
 | 
			
		||||
 "byteorder-lite",
 | 
			
		||||
@@ -1991,6 +1972,7 @@ dependencies = [
 | 
			
		||||
 "exr",
 | 
			
		||||
 "gif",
 | 
			
		||||
 "image-webp",
 | 
			
		||||
 "moxcms",
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "png",
 | 
			
		||||
 "qoi",
 | 
			
		||||
@@ -2072,7 +2054,7 @@ version = "0.7.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "b86e202f00093dcba4275d4636b93ef9dd75d025ae560d2521b45ea28ab49013"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
@@ -2148,12 +2130,6 @@ dependencies = [
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "jpeg-decoder"
 | 
			
		||||
version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "f5d4a7da358eff58addd2877a45865158f0d78c911d43a5784ceb7bbf52833b0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "js-sys"
 | 
			
		||||
version = "0.3.77"
 | 
			
		||||
@@ -2172,9 +2148,9 @@ checksum = "d4345964bb142484797b161f473a503a434de77149dd8c7427788c6e13379388"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lazy-regex"
 | 
			
		||||
version = "3.4.1"
 | 
			
		||||
version = "3.4.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "60c7310b93682b36b98fa7ea4de998d3463ccbebd94d935d6b48ba5b6ffa7126"
 | 
			
		||||
checksum = "191898e17ddee19e60bccb3945aa02339e81edd4a8c50e21fd4d48cdecda7b29"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "lazy-regex-proc_macros",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
@@ -2183,9 +2159,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lazy-regex-proc_macros"
 | 
			
		||||
version = "3.4.1"
 | 
			
		||||
version = "3.4.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "4ba01db5ef81e17eb10a5e0f2109d1b3a3e29bac3070fdbd7d156bf7dbd206a1"
 | 
			
		||||
checksum = "c35dc8b0da83d1a9507e12122c80dea71a9c7c613014347392483a83ea593e04"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -2207,9 +2183,9 @@ checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lettre"
 | 
			
		||||
version = "0.11.17"
 | 
			
		||||
version = "0.11.19"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "cb2a0354e9ece2fcdcf9fa53417f6de587230c0c248068eb058fa26c4a753179"
 | 
			
		||||
checksum = "9e13e10e8818f8b2a60f52cb127041d388b89f3a96a62be9ceaffa22262fef7f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "base64",
 | 
			
		||||
 "chumsky",
 | 
			
		||||
@@ -2225,11 +2201,17 @@ dependencies = [
 | 
			
		||||
 "nom 8.0.0",
 | 
			
		||||
 "percent-encoding",
 | 
			
		||||
 "quoted_printable",
 | 
			
		||||
 "socket2 0.5.8",
 | 
			
		||||
 "socket2 0.6.0",
 | 
			
		||||
 "tokio",
 | 
			
		||||
 "url",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libbz2-rs-sys"
 | 
			
		||||
version = "0.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "775bf80d5878ab7c2b1080b5351a48b2f737d9f6f8b383574eebcc22be0dfccb"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
version = "0.2.174"
 | 
			
		||||
@@ -2246,16 +2228,45 @@ dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "liblzma"
 | 
			
		||||
version = "0.4.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0791ab7e08ccc8e0ce893f6906eb2703ed8739d8e89b57c0714e71bad09024c8"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "liblzma-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "liblzma-sys"
 | 
			
		||||
version = "0.4.4"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "01b9596486f6d60c3bbe644c0e1be1aa6ccc472ad630fe8927b456973d7cb736"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libredox"
 | 
			
		||||
version = "0.1.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "libc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libz-rs-sys"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "172a788537a2221661b480fee8dc5f96c580eb34fa88764d3205dc356c7e4221"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "zlib-rs",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "light-openid"
 | 
			
		||||
version = "1.0.4"
 | 
			
		||||
@@ -2317,9 +2328,9 @@ checksum = "9374ef4228402d4b7e403e5838cb880d9ee663314b0a900d5a6aabf0c213552e"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "log"
 | 
			
		||||
version = "0.4.27"
 | 
			
		||||
version = "0.4.28"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "13dc2df351e3202783a1fe0d44375f7295ffb4049267b0f3018346dc122a1d94"
 | 
			
		||||
checksum = "34080505efa8e45a4b816c349525ebe327ceaa8559756f0356cba97ef3bf7432"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "loop9"
 | 
			
		||||
@@ -2330,32 +2341,11 @@ dependencies = [
 | 
			
		||||
 "imgref",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lzma-rs"
 | 
			
		||||
version = "0.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "297e814c836ae64db86b36cf2a557ba54368d03f6afcd7d947c266692f71115e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "byteorder",
 | 
			
		||||
 "crc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "lzma-sys"
 | 
			
		||||
version = "0.1.20"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5fda04ab3764e6cde78b9974eec4f779acaba7c4e84b36eca3cf77c581b85d27"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "pkg-config",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "mailchecker"
 | 
			
		||||
version = "6.0.17"
 | 
			
		||||
version = "6.0.19"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "db3c69370540384985601e4adbbbc3046a658853e4909a4bd744bb390f6f9759"
 | 
			
		||||
checksum = "abad4bc63045f04cfc55aa4c55d4ec0a890c377ce56463bfc2adc2bc059c4b84"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "fast_chemail",
 | 
			
		||||
 "once_cell",
 | 
			
		||||
@@ -2468,6 +2458,16 @@ dependencies = [
 | 
			
		||||
 "windows-sys 0.52.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "moxcms"
 | 
			
		||||
version = "0.7.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ddd32fa8935aeadb8a8a6b6b351e40225570a37c43de67690383d87ef170cd08"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
 "pxfm",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "native-tls"
 | 
			
		||||
version = "0.2.14"
 | 
			
		||||
@@ -2593,7 +2593,7 @@ version = "0.10.71"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5e14130c6a98cd258fdcb0fb6d744152343ff729cbfcb28c656a9d12b999fbcd"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "cfg-if",
 | 
			
		||||
 "foreign-types",
 | 
			
		||||
 "libc",
 | 
			
		||||
@@ -2754,11 +2754,11 @@ checksum = "7edddbd0b52d732b21ad9a5fab5c704c14cd949e5e9a1ec5929a24fded1b904c"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "png"
 | 
			
		||||
version = "0.17.16"
 | 
			
		||||
version = "0.18.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526"
 | 
			
		||||
checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 1.3.2",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "crc32fast",
 | 
			
		||||
 "fdeflate",
 | 
			
		||||
 "flate2",
 | 
			
		||||
@@ -2786,6 +2786,12 @@ version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ppmd-rust"
 | 
			
		||||
version = "1.2.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c834641d8ad1b348c9ee86dec3b9840d805acd5f24daa5f90c788951a52ff59b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ppv-lite86"
 | 
			
		||||
version = "0.2.21"
 | 
			
		||||
@@ -2856,6 +2862,15 @@ dependencies = [
 | 
			
		||||
 "cc",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pxfm"
 | 
			
		||||
version = "0.1.22"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "376f733579ac4d3b9fbf0afca99bf8f6b698d541118affca554d0b86f73c2470"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "num-traits",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "qoi"
 | 
			
		||||
version = "0.4.1"
 | 
			
		||||
@@ -2915,9 +2930,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "rand"
 | 
			
		||||
version = "0.9.1"
 | 
			
		||||
version = "0.9.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
 | 
			
		||||
checksum = "6db2770f06117d490610c7488547d543617b21bfa07796d7a12f6f1bd53850d1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "rand_chacha 0.9.0",
 | 
			
		||||
 "rand_core 0.9.3",
 | 
			
		||||
@@ -2998,9 +3013,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "ravif"
 | 
			
		||||
version = "0.11.11"
 | 
			
		||||
version = "0.11.20"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "2413fd96bd0ea5cdeeb37eaf446a22e6ed7b981d792828721e74ded1980a45c6"
 | 
			
		||||
checksum = "5825c26fddd16ab9f515930d49028a630efec172e903483c94796cfe31893e6b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "avif-serialize",
 | 
			
		||||
 "imgref",
 | 
			
		||||
@@ -3033,9 +3048,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "redis"
 | 
			
		||||
version = "0.32.4"
 | 
			
		||||
version = "0.32.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e1f66bf4cac9733a23bcdf1e0e01effbaaad208567beba68be8f67e5f4af3ee1"
 | 
			
		||||
checksum = "014cc767fefab6a3e798ca45112bccad9c6e0e218fbd49720042716c73cfef44"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "combine",
 | 
			
		||||
 "itoa",
 | 
			
		||||
@@ -3053,7 +3068,7 @@ version = "0.5.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0b8c0c260b63a8219631167be35e6a988e9554dbd323f8bd08439c8ed1302bd1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -3267,7 +3282,7 @@ version = "1.0.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "e56a18552996ac8d29ecc3b190b4fdbb2d91ca4ec396de7bbffaf43f3d637e96"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "errno",
 | 
			
		||||
 "libc",
 | 
			
		||||
 "linux-raw-sys",
 | 
			
		||||
@@ -3387,7 +3402,7 @@ version = "2.11.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "897b2245f0b511c87893af39b033e5ca9cce68824c4d7e7630b5a1d339658d02"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "core-foundation",
 | 
			
		||||
 "core-foundation-sys",
 | 
			
		||||
 "libc",
 | 
			
		||||
@@ -3412,18 +3427,28 @@ checksum = "56e6fa9c48d24d85fb3de5ad847117517440f6beceb7798af16b4a87d616b8d0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde"
 | 
			
		||||
version = "1.0.219"
 | 
			
		||||
version = "1.0.228"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
 | 
			
		||||
checksum = "9a8e94ea7f378bd32cbbd37198a4a91436180c5bb472411e48b5ec2e2124ae9e"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde_core",
 | 
			
		||||
 "serde_derive",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_core"
 | 
			
		||||
version = "1.0.228"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "41d385c7d4ca58e59fc732af25c3983b67ac852c1a25000afe1175de458b67ad"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde_derive",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_derive"
 | 
			
		||||
version = "1.0.219"
 | 
			
		||||
version = "1.0.228"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
 | 
			
		||||
checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -3432,14 +3457,15 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_json"
 | 
			
		||||
version = "1.0.141"
 | 
			
		||||
version = "1.0.145"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
 | 
			
		||||
checksum = "402a6f66d8c709116cf22f558eab210f5a50187f702eb4d7e5ef38d9a7f1c79c"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "itoa",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "ryu",
 | 
			
		||||
 "serde",
 | 
			
		||||
 "serde_core",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -3688,7 +3714,7 @@ version = "0.6.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3c879d448e9d986b661742763247d3693ed13609438cf3d006f51f5368a5ba6b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
 "core-foundation",
 | 
			
		||||
 "system-configuration-sys",
 | 
			
		||||
]
 | 
			
		||||
@@ -3757,11 +3783,11 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "thiserror"
 | 
			
		||||
version = "2.0.12"
 | 
			
		||||
version = "2.0.17"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "567b8a2dae586314f7be2a752ec7474332959c6460e02bde30d702a66d488708"
 | 
			
		||||
checksum = "f63587ca0f12b72a0600bcba1d40081f830876000bb46dd2337a3051618f4fc8"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "thiserror-impl 2.0.12",
 | 
			
		||||
 "thiserror-impl 2.0.17",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -3777,9 +3803,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "thiserror-impl"
 | 
			
		||||
version = "2.0.12"
 | 
			
		||||
version = "2.0.17"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "7f7cf42b4507d8ea322120659672cf1b9dbb93f8f2d4ecfd6e51350ff5b17a1d"
 | 
			
		||||
checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@@ -3788,13 +3814,16 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "tiff"
 | 
			
		||||
version = "0.9.1"
 | 
			
		||||
version = "0.10.3"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "ba1310fcea54c6a9a4fd1aad794ecc02c31682f6bfbecdf460bf19533eed1e3e"
 | 
			
		||||
checksum = "af9605de7fee8d9551863fd692cce7637f548dbd9db9180fcc07ccc6d26c336f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "fax",
 | 
			
		||||
 "flate2",
 | 
			
		||||
 "jpeg-decoder",
 | 
			
		||||
 "half",
 | 
			
		||||
 "quick-error",
 | 
			
		||||
 "weezl",
 | 
			
		||||
 "zune-jpeg",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -4233,9 +4262,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "weezl"
 | 
			
		||||
version = "0.1.8"
 | 
			
		||||
version = "0.1.10"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
 | 
			
		||||
checksum = "a751b3277700db47d3e574514de2eced5e54dc8a5436a3bf7a0b248b2cee16f3"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "winapi"
 | 
			
		||||
@@ -4284,6 +4313,12 @@ version = "0.1.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "windows-link"
 | 
			
		||||
version = "0.2.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "windows-registry"
 | 
			
		||||
version = "0.4.0"
 | 
			
		||||
@@ -4301,7 +4336,7 @@ version = "0.3.2"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "c64fd11a4fd95df68efcfee5f44a294fe71b8bc6a91993e2791938abcc712252"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "windows-link",
 | 
			
		||||
 "windows-link 0.1.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -4310,7 +4345,7 @@ version = "0.3.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "windows-link",
 | 
			
		||||
 "windows-link 0.1.1",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -4474,7 +4509,7 @@ version = "0.39.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "bitflags 2.9.0",
 | 
			
		||||
 "bitflags",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@@ -4489,15 +4524,6 @@ version = "0.5.5"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "xz2"
 | 
			
		||||
version = "0.1.7"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "388c44dc09d76f1536602ead6d325eb532f5c122f17782bd57fb47baeeb767e2"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "lzma-sys",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "yoke"
 | 
			
		||||
version = "0.7.5"
 | 
			
		||||
@@ -4627,32 +4653,37 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "zip"
 | 
			
		||||
version = "2.5.0"
 | 
			
		||||
version = "4.3.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "27c03817464f64e23f6f37574b4fdc8cf65925b5bfd2b0f2aedf959791941f88"
 | 
			
		||||
checksum = "9aed4ac33e8eb078c89e6cbb1d5c4c7703ec6d299fc3e7c3695af8f8b423468b"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "aes",
 | 
			
		||||
 "arbitrary",
 | 
			
		||||
 "bzip2",
 | 
			
		||||
 "constant_time_eq",
 | 
			
		||||
 "crc32fast",
 | 
			
		||||
 "crossbeam-utils",
 | 
			
		||||
 "deflate64",
 | 
			
		||||
 "flate2",
 | 
			
		||||
 "getrandom 0.3.2",
 | 
			
		||||
 "hmac",
 | 
			
		||||
 "indexmap 2.8.0",
 | 
			
		||||
 "lzma-rs",
 | 
			
		||||
 "liblzma",
 | 
			
		||||
 "memchr",
 | 
			
		||||
 "pbkdf2",
 | 
			
		||||
 "ppmd-rust",
 | 
			
		||||
 "sha1",
 | 
			
		||||
 "time",
 | 
			
		||||
 "xz2",
 | 
			
		||||
 "zeroize",
 | 
			
		||||
 "zopfli",
 | 
			
		||||
 "zstd",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "zlib-rs"
 | 
			
		||||
version = "0.5.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "626bd9fa9734751fc50d6060752170984d7053f5a39061f524cda68023d4db8a"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "zopfli"
 | 
			
		||||
version = "0.8.1"
 | 
			
		||||
@@ -4712,9 +4743,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "zune-jpeg"
 | 
			
		||||
version = "0.4.14"
 | 
			
		||||
version = "0.4.21"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "99a5bab8d7dedf81405c4bb1f2b83ea057643d9cb28778cea9eecddeedd2e028"
 | 
			
		||||
checksum = "29ce2c8a9384ad323cf564b67da86e21d3cfdff87908bc1223ed5c99bc792713"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "zune-core",
 | 
			
		||||
]
 | 
			
		||||
 
 | 
			
		||||
@@ -6,12 +6,12 @@ edition = "2024"
 | 
			
		||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
			
		||||
 | 
			
		||||
[dependencies]
 | 
			
		||||
log = "0.4.27"
 | 
			
		||||
log = "0.4.28"
 | 
			
		||||
env_logger = "0.11.8"
 | 
			
		||||
clap = { version = "4.5.41", features = ["derive", "env"] }
 | 
			
		||||
clap = { version = "4.5.51", features = ["derive", "env"] }
 | 
			
		||||
lazy_static = "1.5.0"
 | 
			
		||||
lazy-regex = "3.4.1"
 | 
			
		||||
anyhow = "1.0.98"
 | 
			
		||||
lazy-regex = "3.4.2"
 | 
			
		||||
anyhow = "1.0.100"
 | 
			
		||||
actix-web = "4.11.0"
 | 
			
		||||
actix-cors = "0.7.1"
 | 
			
		||||
actix-multipart = "0.7.2"
 | 
			
		||||
@@ -19,25 +19,25 @@ actix-remote-ip = "0.1.0"
 | 
			
		||||
futures-util = "0.3.31"
 | 
			
		||||
diesel = { version = "2.2.12", features = ["postgres"] }
 | 
			
		||||
diesel_migrations = "2.2.0"
 | 
			
		||||
serde = { version = "1.0.219", features = ["derive"] }
 | 
			
		||||
serde_json = "1.0.141"
 | 
			
		||||
mailchecker = "6.0.17"
 | 
			
		||||
redis = "0.32.4"
 | 
			
		||||
lettre = "0.11.17"
 | 
			
		||||
serde = { version = "1.0.228", features = ["derive"] }
 | 
			
		||||
serde_json = "1.0.145"
 | 
			
		||||
mailchecker = "6.0.19"
 | 
			
		||||
redis = "0.32.7"
 | 
			
		||||
lettre = "0.11.19"
 | 
			
		||||
rand = "0.9.2"
 | 
			
		||||
bcrypt = "0.17.0"
 | 
			
		||||
bcrypt = "0.17.1"
 | 
			
		||||
light-openid = "1.0.4"
 | 
			
		||||
thiserror = "2.0.12"
 | 
			
		||||
thiserror = "2.0.17"
 | 
			
		||||
serde_with = "3.14.0"
 | 
			
		||||
rust_iso3166 = "0.1.14"
 | 
			
		||||
rust-s3 = "0.35.1"
 | 
			
		||||
sha2 = "0.10.9"
 | 
			
		||||
image = "0.25.6"
 | 
			
		||||
image = "0.25.8"
 | 
			
		||||
uuid = { version = "1.17.0", features = ["v4"] }
 | 
			
		||||
httpdate = "1.0.3"
 | 
			
		||||
zip = "2.6.1"
 | 
			
		||||
zip = "4.3.0"
 | 
			
		||||
mime_guess = "2.0.5"
 | 
			
		||||
tempfile = "3.20.0"
 | 
			
		||||
base64 = "0.22.1"
 | 
			
		||||
ical = { version = "0.11.0", features = ["generator", "ical", "vcard"] }
 | 
			
		||||
chrono = "0.4.41"
 | 
			
		||||
chrono = "0.4.42"
 | 
			
		||||
 
 | 
			
		||||
@@ -34,18 +34,16 @@ impl AccommodationRequest {
 | 
			
		||||
        }
 | 
			
		||||
        accommodation.name = self.name;
 | 
			
		||||
 | 
			
		||||
        if let Some(d) = &self.description {
 | 
			
		||||
            if !c.accommodation_description_len.validate(d) {
 | 
			
		||||
        if let Some(d) = &self.description
 | 
			
		||||
            && !c.accommodation_description_len.validate(d) {
 | 
			
		||||
                return Err(AccommodationListControllerErr::InvalidDescriptionLength.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        accommodation.description.clone_from(&self.description);
 | 
			
		||||
 | 
			
		||||
        if let Some(c) = &self.color {
 | 
			
		||||
            if !lazy_regex::regex!("[a-fA-F0-9]{6}").is_match(c) {
 | 
			
		||||
        if let Some(c) = &self.color
 | 
			
		||||
            && !lazy_regex::regex!("[a-fA-F0-9]{6}").is_match(c) {
 | 
			
		||||
                return Err(AccommodationListControllerErr::MalformedColor.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        accommodation.color.clone_from(&self.color);
 | 
			
		||||
 | 
			
		||||
        accommodation.need_validation = self.need_validation;
 | 
			
		||||
 
 | 
			
		||||
@@ -48,23 +48,20 @@ impl CoupleRequest {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(husband) = self.husband {
 | 
			
		||||
            if !members_service::exists(couple.family_id(), husband).await? {
 | 
			
		||||
        if let Some(husband) = self.husband
 | 
			
		||||
            && !members_service::exists(couple.family_id(), husband).await? {
 | 
			
		||||
                return Err(CoupleControllerErr::HusbandNotExisting.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(d) = &self.wedding {
 | 
			
		||||
            if !d.check() {
 | 
			
		||||
        if let Some(d) = &self.wedding
 | 
			
		||||
            && !d.check() {
 | 
			
		||||
                return Err(CoupleControllerErr::MalformedDateOfWedding.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(d) = &self.divorce {
 | 
			
		||||
            if !d.check() {
 | 
			
		||||
        if let Some(d) = &self.divorce
 | 
			
		||||
            && !d.check() {
 | 
			
		||||
                return Err(CoupleControllerErr::MalformedDateOfDivorce.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        couple.set_wife(self.wife);
 | 
			
		||||
        couple.set_husband(self.husband);
 | 
			
		||||
 
 | 
			
		||||
@@ -95,11 +95,10 @@ fn check_opt_str_val(
 | 
			
		||||
    c: SizeConstraint,
 | 
			
		||||
    err: MemberControllerErr,
 | 
			
		||||
) -> anyhow::Result<()> {
 | 
			
		||||
    if let Some(v) = val {
 | 
			
		||||
        if !c.validate(v) {
 | 
			
		||||
    if let Some(v) = val
 | 
			
		||||
        && !c.validate(v) {
 | 
			
		||||
            return Err(err.into());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -151,11 +150,10 @@ impl MemberRequest {
 | 
			
		||||
            MemberControllerErr::MalformedEmailAddress,
 | 
			
		||||
        )?;
 | 
			
		||||
 | 
			
		||||
        if let Some(mail) = &self.email {
 | 
			
		||||
            if !mailchecker::is_valid(mail) {
 | 
			
		||||
        if let Some(mail) = &self.email
 | 
			
		||||
            && !mailchecker::is_valid(mail) {
 | 
			
		||||
                return Err(MemberControllerErr::InvalidEmailAddress.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        check_opt_str_val(
 | 
			
		||||
            &self.phone,
 | 
			
		||||
@@ -187,23 +185,20 @@ impl MemberRequest {
 | 
			
		||||
            MemberControllerErr::MalformedCountry,
 | 
			
		||||
        )?;
 | 
			
		||||
 | 
			
		||||
        if let Some(c) = &self.country {
 | 
			
		||||
            if !countries_utils::is_code_valid(c) {
 | 
			
		||||
        if let Some(c) = &self.country
 | 
			
		||||
            && !countries_utils::is_code_valid(c) {
 | 
			
		||||
                return Err(MemberControllerErr::InvalidCountryCode.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(d) = &self.birth {
 | 
			
		||||
            if !d.check() {
 | 
			
		||||
        if let Some(d) = &self.birth
 | 
			
		||||
            && !d.check() {
 | 
			
		||||
                return Err(MemberControllerErr::MalformedDateOfBirth.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(d) = &self.death {
 | 
			
		||||
            if !d.check() {
 | 
			
		||||
        if let Some(d) = &self.death
 | 
			
		||||
            && !d.check() {
 | 
			
		||||
                return Err(MemberControllerErr::MalformedDateOfDeath.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        check_opt_str_val(
 | 
			
		||||
            &self.note,
 | 
			
		||||
@@ -221,11 +216,10 @@ impl MemberRequest {
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        if let Some(father) = self.father {
 | 
			
		||||
            if !members_service::exists(member.family_id(), father).await? {
 | 
			
		||||
        if let Some(father) = self.father
 | 
			
		||||
            && !members_service::exists(member.family_id(), father).await? {
 | 
			
		||||
                return Err(MemberControllerErr::FatherNotExisting.into());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        member.first_name = self.first_name;
 | 
			
		||||
        member.last_name = self.last_name;
 | 
			
		||||
 
 | 
			
		||||
@@ -36,16 +36,15 @@ async fn get_photo(id: &PhotoIdPath, full_size: bool, req: HttpRequest) -> HttpR
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    // Check if an upload is un-necessary
 | 
			
		||||
    if let Some(c) = req.headers().get(header::IF_NONE_MATCH) {
 | 
			
		||||
        if c.to_str().unwrap_or("") == hash {
 | 
			
		||||
    if let Some(c) = req.headers().get(header::IF_NONE_MATCH)
 | 
			
		||||
        && c.to_str().unwrap_or("") == hash {
 | 
			
		||||
            return Ok(HttpResponse::NotModified().finish());
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if let Some(c) = req.headers().get(header::IF_MODIFIED_SINCE) {
 | 
			
		||||
        let date_str = c.to_str().unwrap_or("");
 | 
			
		||||
        if let Ok(date) = httpdate::parse_http_date(date_str) {
 | 
			
		||||
            if date
 | 
			
		||||
        if let Ok(date) = httpdate::parse_http_date(date_str)
 | 
			
		||||
            && date
 | 
			
		||||
                .add(Duration::from_secs(1))
 | 
			
		||||
                .duration_since(UNIX_EPOCH)
 | 
			
		||||
                .unwrap()
 | 
			
		||||
@@ -54,7 +53,6 @@ async fn get_photo(id: &PhotoIdPath, full_size: bool, req: HttpRequest) -> HttpR
 | 
			
		||||
            {
 | 
			
		||||
                return Ok(HttpResponse::NotModified().finish());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let bytes = s3_connection::get_file(&match full_size {
 | 
			
		||||
 
 | 
			
		||||
@@ -149,11 +149,10 @@ pub mod loop_detection {
 | 
			
		||||
 | 
			
		||||
    impl LoopStack<'_> {
 | 
			
		||||
        pub fn contains(&self, id: MemberID) -> bool {
 | 
			
		||||
            if let Some(ls) = &self.prev {
 | 
			
		||||
                if ls.contains(id) {
 | 
			
		||||
            if let Some(ls) = &self.prev
 | 
			
		||||
                && ls.contains(id) {
 | 
			
		||||
                    return true;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            self.curr == id
 | 
			
		||||
        }
 | 
			
		||||
 
 | 
			
		||||
@@ -64,7 +64,7 @@ fn redis_key(state: &str) -> String {
 | 
			
		||||
    format!("oidc-state-{state}")
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
async fn load_provider_info(prov_id: &str) -> anyhow::Result<OpenIDClient> {
 | 
			
		||||
async fn load_provider_info(prov_id: &str) -> anyhow::Result<OpenIDClient<'_>> {
 | 
			
		||||
    let prov = AppConfig::get()
 | 
			
		||||
        .openid_providers()
 | 
			
		||||
        .into_iter()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user