commit b3aab7a6ad70ade47133936a8a4199218f10594b
parent aa8d050d6b277bb9192a305f7401a532d3644460
Author: Daniel GarcĂa <dani-garcia@users.noreply.github.com>
Date: Sun, 27 Nov 2022 22:00:23 +0100
Merge pull request #2920 from BlackDex/issue-2889
Added missing `register` endpoint to `identity`
Diffstat:
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/api/core/accounts.rs b/src/api/core/accounts.rs
@@ -42,7 +42,7 @@ pub fn routes() -> Vec<rocket::Route> {
#[derive(Deserialize, Debug)]
#[allow(non_snake_case)]
-struct RegisterData {
+pub struct RegisterData {
Email: String,
Kdf: Option<i32>,
KdfIterations: Option<i32>,
@@ -82,7 +82,11 @@ fn enforce_password_hint_setting(password_hint: &Option<String>) -> EmptyResult
}
#[post("/accounts/register", data = "<data>")]
-async fn register(data: JsonUpcase<RegisterData>, mut conn: DbConn) -> JsonResult {
+async fn register(data: JsonUpcase<RegisterData>, conn: DbConn) -> JsonResult {
+ _register(data, conn).await
+}
+
+pub async fn _register(data: JsonUpcase<RegisterData>, mut conn: DbConn) -> JsonResult {
let data: RegisterData = data.into_inner().data;
let email = data.Email.to_lowercase();
diff --git a/src/api/identity.rs b/src/api/identity.rs
@@ -9,7 +9,7 @@ use serde_json::Value;
use crate::{
api::{
- core::accounts::{PreloginData, _prelogin},
+ core::accounts::{PreloginData, RegisterData, _prelogin, _register},
core::two_factor::{duo, email, email::EmailTokenData, yubikey},
ApiResult, EmptyResult, JsonResult, JsonUpcase,
},
@@ -20,7 +20,7 @@ use crate::{
};
pub fn routes() -> Vec<Route> {
- routes![login, prelogin]
+ routes![login, prelogin, identity_register]
}
#[post("/connect/token", data = "<data>")]
@@ -434,6 +434,11 @@ async fn prelogin(data: JsonUpcase<PreloginData>, conn: DbConn) -> Json<Value> {
_prelogin(data, conn).await
}
+#[post("/accounts/register", data = "<data>")]
+async fn identity_register(data: JsonUpcase<RegisterData>, conn: DbConn) -> JsonResult {
+ _register(data, conn).await
+}
+
// https://github.com/bitwarden/jslib/blob/master/common/src/models/request/tokenRequest.ts
// https://github.com/bitwarden/mobile/blob/master/src/Core/Models/Request/TokenRequest.cs
#[derive(Debug, Clone, Default, FromForm)]