agdb/query_builder/
remove.rs1use crate::DbValue;
2use crate::QueryIds;
3use crate::RemoveAliasesQuery;
4use crate::RemoveQuery;
5use crate::RemoveValuesQuery;
6use crate::SearchQuery;
7use crate::SelectValuesQuery;
8use crate::db::db_value::DbValues;
9use crate::query::query_aliases::QueryAliases;
10use crate::query_builder::remove_aliases::RemoveAliases;
11use crate::query_builder::remove_ids::RemoveIds;
12use crate::query_builder::remove_index::RemoveIndex;
13use crate::query_builder::remove_values::RemoveValues;
14use crate::query_builder::search::Search;
15
16#[cfg_attr(feature = "api", derive(agdb::ApiDefImpl))]
18pub struct Remove {}
19
20#[cfg_attr(feature = "api", agdb::impl_def())]
21impl Remove {
22 pub fn aliases<T: Into<QueryAliases>>(self, names: T) -> RemoveAliases {
25 RemoveAliases(RemoveAliasesQuery(Into::<QueryAliases>::into(names).0))
26 }
27
28 pub fn ids<T: Into<QueryIds>>(self, ids: T) -> RemoveIds {
37 RemoveIds(RemoveQuery(ids.into()))
38 }
39
40 pub fn index<T: Into<DbValue>>(self, key: T) -> RemoveIndex {
42 RemoveIndex(key.into())
43 }
44
45 pub fn search(self) -> Search<RemoveQuery> {
48 Search(RemoveQuery(QueryIds::Search(SearchQuery::new())))
49 }
50
51 pub fn values<T: Into<DbValues>>(self, keys: T) -> RemoveValues {
64 RemoveValues(RemoveValuesQuery(SelectValuesQuery {
65 keys: Into::<DbValues>::into(keys).0,
66 ids: QueryIds::Ids(vec![]),
67 }))
68 }
69}