mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-04 20:37:15 +02:00
Make possible to use a custom uid and simplify the usage
This commit is contained in:
parent
0f86ccc035
commit
9605a2cd88
2 changed files with 12 additions and 8 deletions
|
@ -123,6 +123,7 @@ pub async fn get_index(ctx: Context<Data>) -> SResult<Response> {
|
|||
#[serde(rename_all = "camelCase", deny_unknown_fields)]
|
||||
struct IndexCreateRequest {
|
||||
name: String,
|
||||
uid: Option<String>,
|
||||
schema: Option<SchemaBody>,
|
||||
}
|
||||
|
||||
|
@ -148,14 +149,17 @@ pub async fn create_index(mut ctx: Context<Data>) -> SResult<Response> {
|
|||
|
||||
let db = &ctx.state().db;
|
||||
|
||||
let generated_uid = loop {
|
||||
let uid = generate_uid();
|
||||
if db.open_index(&uid).is_none() {
|
||||
break uid;
|
||||
}
|
||||
let uid = match body.uid {
|
||||
Some(uid) => uid,
|
||||
None => loop {
|
||||
let uid = generate_uid();
|
||||
if db.open_index(&uid).is_none() {
|
||||
break uid;
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
let created_index = match db.create_index(&generated_uid) {
|
||||
let created_index = match db.create_index(&uid) {
|
||||
Ok(index) => index,
|
||||
Err(e) => return Err(ResponseError::create_index(e)),
|
||||
};
|
||||
|
@ -189,7 +193,7 @@ pub async fn create_index(mut ctx: Context<Data>) -> SResult<Response> {
|
|||
|
||||
let response_body = IndexCreateResponse {
|
||||
name: body.name,
|
||||
uid: generated_uid,
|
||||
uid,
|
||||
schema: body.schema,
|
||||
update_id: response_update_id,
|
||||
created_at: Utc::now(),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue