File size: 892 Bytes
d8435ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
use std::time::Instant;

use api::grpc::qdrant::{GetCollectionInfoRequest, GetCollectionInfoResponse};
use collection::shards::shard::ShardId;
use storage::content_manager::toc::TableOfContent;
use storage::rbac::Access;
use tonic::{Response, Status};

use crate::common::collections::do_get_collection;

pub async fn get(
    toc: &TableOfContent,
    get_collection_info_request: GetCollectionInfoRequest,
    access: Access,
    shard_selection: Option<ShardId>,
) -> Result<Response<GetCollectionInfoResponse>, Status> {
    let timing = Instant::now();
    let collection_name = get_collection_info_request.collection_name;
    let result = do_get_collection(toc, access, &collection_name, shard_selection).await?;
    let response = GetCollectionInfoResponse {
        result: Some(result.into()),
        time: timing.elapsed().as_secs_f64(),
    };

    Ok(Response::new(response))
}