fix the api keys for the tasks route

This commit is contained in:
Irevoire 2022-10-22 12:52:36 +02:00 committed by Clément Renault
parent ca4234b445
commit 1bef5d119d
No known key found for this signature in database
GPG Key ID: 92ADA4E935E71FA4
3 changed files with 4 additions and 3 deletions

View File

@ -99,6 +99,7 @@ impl HeedAuthStore {
Action::IndexesDelete,
Action::IndexesGet,
Action::IndexesUpdate,
Action::IndexesSwap,
]
.iter(),
);
@ -110,7 +111,7 @@ impl HeedAuthStore {
actions.insert(Action::DumpsCreate);
}
Action::TasksAll => {
actions.insert(Action::TasksGet);
actions.extend([Action::TasksGet, Action::TasksDelete, Action::TasksCancel]);
}
Action::StatsAll => {
actions.insert(Action::StatsGet);

View File

@ -36,7 +36,7 @@ pub async fn indexes_swap(
let mut swaps = vec![];
let mut indexes_set = HashSet::<String>::default();
for IndexesSwapPayload { indexes: (lhs, rhs) } in params.into_inner().into_iter() {
if !search_rules.is_index_authorized(&lhs) || !search_rules.is_index_authorized(&lhs) {
if !search_rules.is_index_authorized(&lhs) || !search_rules.is_index_authorized(&rhs) {
return Err(ResponseError::from_msg(
"TODO: error message when we swap with an index were not allowed to access"
.to_owned(),

View File

@ -24,9 +24,9 @@ pub static AUTHORIZATIONS: Lazy<HashMap<(&'static str, &'static str), HashSet<&'
("PATCH", "/indexes/products/") => hashset!{"indexes.update", "indexes.*", "*"},
("GET", "/indexes/products/") => hashset!{"indexes.get", "indexes.*", "*"},
("DELETE", "/indexes/products/") => hashset!{"indexes.delete", "indexes.*", "*"},
("POST", "/indexes-swap") => hashset!{"indexes.swap", "indexes.*", "*"},
("POST", "/indexes") => hashset!{"indexes.create", "indexes.*", "*"},
("GET", "/indexes") => hashset!{"indexes.get", "indexes.*", "*"},
("POST", "/indexes-swap") => hashset!{"indexes.swap", "indexes.*", "*"},
("GET", "/indexes/products/settings") => hashset!{"settings.get", "settings.*", "*"},
("GET", "/indexes/products/settings/displayed-attributes") => hashset!{"settings.get", "settings.*", "*"},
("GET", "/indexes/products/settings/distinct-attribute") => hashset!{"settings.get", "settings.*", "*"},