From f949f7606d89fb4037948613bc1dc596cd18c05a Mon Sep 17 00:00:00 2001 From: Philippe Loctaux
Date: Sun, 5 Mar 2023 23:36:48 +0100
Subject: [PATCH] ezidam: conversion of error types
---
Cargo.lock | 85 +++++++++++++++++++++++++++
crates/ezidam/src/error/conversion.rs | 28 ++++++++-
2 files changed, 111 insertions(+), 2 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index d8bb814..00924a1 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -66,6 +66,17 @@ dependencies = [
"libc",
]
+[[package]]
+name = "argon2"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "db4ce4441f99dbd377ca8a8f57b698c44d0d6e712d8329b5040da5a64aa1ce73"
+dependencies = [
+ "base64ct",
+ "blake2",
+ "password-hash",
+]
+
[[package]]
name = "async-stream"
version = "0.3.4"
@@ -146,6 +157,12 @@ version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0ea22880d78093b0cbe17c89f64a7d457941e65759157ec6cb31a31d652b05e5"
+[[package]]
+name = "base64ct"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
[[package]]
name = "binascii"
version = "0.1.4"
@@ -158,6 +175,15 @@ version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+[[package]]
+name = "blake2"
+version = "0.10.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe"
+dependencies = [
+ "digest",
+]
+
[[package]]
name = "block-buffer"
version = "0.10.3"
@@ -532,11 +558,14 @@ version = "0.1.0"
dependencies = [
"database_pool",
"erased-serde",
+ "hash",
+ "id",
"infer",
"rocket",
"rocket_db_pools",
"rocket_dyn_templates",
"settings",
+ "users",
]
[[package]]
@@ -816,6 +845,15 @@ dependencies = [
"tracing",
]
+[[package]]
+name = "hash"
+version = "0.0.0"
+dependencies = [
+ "argon2",
+ "rand_core",
+ "thiserror",
+]
+
[[package]]
name = "hashbrown"
version = "0.11.2"
@@ -979,6 +1017,15 @@ dependencies = [
"cxx-build",
]
+[[package]]
+name = "id"
+version = "0.0.0"
+dependencies = [
+ "nanoid",
+ "nanoid-dictionary",
+ "thiserror",
+]
+
[[package]]
name = "idna"
version = "0.3.0"
@@ -1300,6 +1347,21 @@ dependencies = [
"version_check",
]
+[[package]]
+name = "nanoid"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8"
+dependencies = [
+ "rand",
+]
+
+[[package]]
+name = "nanoid-dictionary"
+version = "0.4.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3c6e9131c818f6826271c255f7323d1fcc9332c54b7cfb6c664ec506595d5d8e"
+
[[package]]
name = "net2"
version = "0.2.38"
@@ -1462,6 +1524,17 @@ dependencies = [
"regex",
]
+[[package]]
+name = "password-hash"
+version = "0.4.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7676374caaee8a325c9e7a2ae557f216c5563a171d6997b0ef8a65af35147700"
+dependencies = [
+ "base64ct",
+ "rand_core",
+ "subtle",
+]
+
[[package]]
name = "paste"
version = "1.0.11"
@@ -1996,6 +2069,7 @@ version = "0.0.0"
dependencies = [
"chrono",
"database",
+ "id",
"thiserror",
]
@@ -2658,6 +2732,17 @@ dependencies = [
"percent-encoding",
]
+[[package]]
+name = "users"
+version = "0.0.0"
+dependencies = [
+ "chrono",
+ "database",
+ "hash",
+ "id",
+ "thiserror",
+]
+
[[package]]
name = "valuable"
version = "0.1.0"
diff --git a/crates/ezidam/src/error/conversion.rs b/crates/ezidam/src/error/conversion.rs
index 97a6a13..feccae0 100644
--- a/crates/ezidam/src/error/conversion.rs
+++ b/crates/ezidam/src/error/conversion.rs
@@ -1,7 +1,31 @@
use super::Error;
-impl From