forked from github-starred/komodo
builder and repo summary
This commit is contained in:
@@ -54,6 +54,24 @@ impl Resolve<GetBuildersSummary, RequestUser> for State {
|
||||
GetBuildersSummary {}: GetBuildersSummary,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<GetBuildersSummaryResponse> {
|
||||
todo!()
|
||||
let query = if user.is_admin {
|
||||
None
|
||||
} else {
|
||||
let query = doc! {
|
||||
format!("permissions.{}", user.id): { "$in": ["read", "execute", "update"] }
|
||||
};
|
||||
Some(query)
|
||||
};
|
||||
let total = self
|
||||
.db
|
||||
.builders
|
||||
.collection
|
||||
.count_documents(query, None)
|
||||
.await
|
||||
.context("failed to count all build documents")?;
|
||||
let res = GetBuildersSummaryResponse {
|
||||
total: total as u32,
|
||||
};
|
||||
Ok(res)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,6 +77,24 @@ impl Resolve<GetReposSummary, RequestUser> for State {
|
||||
GetReposSummary {}: GetReposSummary,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<GetReposSummaryResponse> {
|
||||
todo!()
|
||||
let query = if user.is_admin {
|
||||
None
|
||||
} else {
|
||||
let query = doc! {
|
||||
format!("permissions.{}", user.id): { "$in": ["read", "execute", "update"] }
|
||||
};
|
||||
Some(query)
|
||||
};
|
||||
let total = self
|
||||
.db
|
||||
.repos
|
||||
.collection
|
||||
.count_documents(query, None)
|
||||
.await
|
||||
.context("failed to count all build documents")?;
|
||||
let res = GetReposSummaryResponse {
|
||||
total: total as u32,
|
||||
};
|
||||
Ok(res)
|
||||
}
|
||||
}
|
||||
|
||||
0
lib/types/src/requests/read/alerter.rs
Normal file
0
lib/types/src/requests/read/alerter.rs
Normal file
@@ -2,7 +2,7 @@ use resolver_api::derive::Request;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use typeshare::typeshare;
|
||||
|
||||
use crate::{entities::builder::Builder, MongoDocument, I64};
|
||||
use crate::{entities::builder::Builder, MongoDocument};
|
||||
|
||||
//
|
||||
|
||||
@@ -32,5 +32,5 @@ pub struct GetBuildersSummary {}
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct GetBuildersSummaryResponse {
|
||||
pub total: I64
|
||||
pub total: u32,
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ mod search;
|
||||
mod server;
|
||||
mod tag;
|
||||
mod update;
|
||||
mod alerter;
|
||||
|
||||
pub use build::*;
|
||||
pub use builder::*;
|
||||
@@ -19,6 +20,7 @@ pub use search::*;
|
||||
pub use server::*;
|
||||
pub use tag::*;
|
||||
pub use update::*;
|
||||
pub use alerter::*;
|
||||
|
||||
use crate::entities::user::User;
|
||||
|
||||
|
||||
@@ -52,4 +52,6 @@ pub struct GetReposSummary {}
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct GetReposSummaryResponse {}
|
||||
pub struct GetReposSummaryResponse {
|
||||
pub total: u32
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user