aboutsummaryrefslogtreecommitdiff
blob: 0b2b098ae1b96f67b25986efb506f997cb1de88d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
use rand::{distributions::Alphanumeric, thread_rng, Rng};
use url::{ParseError, Url};

/// Just generate random url as object id. In a real project, you probably want to use
/// an url which contains the database id for easy retrieval (or store the random id in db).
pub fn generate_object_id(domain: &str) -> Result<Url, ParseError> {
    let id: String = thread_rng()
        .sample_iter(&Alphanumeric)
        .take(7)
        .map(char::from)
        .collect();
    Url::parse(&format!("https://{}/objects/{}", domain, id))
}
Powered by cgit v1.2.3 (git 2.41.0)