mirror of
				https://github.com/meilisearch/meilisearch.git
				synced 2025-11-04 01:46:28 +00:00 
			
		
		
		
	Add new permissions
This commit is contained in:
		@@ -302,6 +302,12 @@ pub enum Action {
 | 
			
		||||
    #[serde(rename = "experimental.update")]
 | 
			
		||||
    #[deserr(rename = "experimental.update")]
 | 
			
		||||
    ExperimentalFeaturesUpdate,
 | 
			
		||||
    #[serde(rename = "network.get")]
 | 
			
		||||
    #[deserr(rename = "network.get")]
 | 
			
		||||
    NetworkGet,
 | 
			
		||||
    #[serde(rename = "network.update")]
 | 
			
		||||
    #[deserr(rename = "network.update")]
 | 
			
		||||
    NetworkUpdate,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
impl Action {
 | 
			
		||||
@@ -341,6 +347,8 @@ impl Action {
 | 
			
		||||
            KEYS_DELETE => Some(Self::KeysDelete),
 | 
			
		||||
            EXPERIMENTAL_FEATURES_GET => Some(Self::ExperimentalFeaturesGet),
 | 
			
		||||
            EXPERIMENTAL_FEATURES_UPDATE => Some(Self::ExperimentalFeaturesUpdate),
 | 
			
		||||
            NETWORK_GET => Some(Self::NetworkGet),
 | 
			
		||||
            NETWORK_UPDATE => Some(Self::NetworkUpdate),
 | 
			
		||||
            _otherwise => None,
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -386,4 +394,7 @@ pub mod actions {
 | 
			
		||||
    pub const KEYS_DELETE: u8 = KeysDelete.repr();
 | 
			
		||||
    pub const EXPERIMENTAL_FEATURES_GET: u8 = ExperimentalFeaturesGet.repr();
 | 
			
		||||
    pub const EXPERIMENTAL_FEATURES_UPDATE: u8 = ExperimentalFeaturesUpdate.repr();
 | 
			
		||||
 | 
			
		||||
    pub const NETWORK_GET: u8 = NetworkGet.repr();
 | 
			
		||||
    pub const NETWORK_UPDATE: u8 = NetworkUpdate.repr();
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -421,7 +421,7 @@ async fn error_add_api_key_invalid_parameters_actions() {
 | 
			
		||||
    meili_snap::snapshot!(code, @"400 Bad Request");
 | 
			
		||||
    meili_snap::snapshot!(meili_snap::json_string!(response, { ".createdAt" => "[ignored]", ".updatedAt" => "[ignored]" }), @r###"
 | 
			
		||||
    {
 | 
			
		||||
      "message": "Unknown value `doc.add` at `.actions[0]`: expected one of `*`, `search`, `documents.*`, `documents.add`, `documents.get`, `documents.delete`, `indexes.*`, `indexes.create`, `indexes.get`, `indexes.update`, `indexes.delete`, `indexes.swap`, `tasks.*`, `tasks.cancel`, `tasks.delete`, `tasks.get`, `settings.*`, `settings.get`, `settings.update`, `stats.*`, `stats.get`, `metrics.*`, `metrics.get`, `dumps.*`, `dumps.create`, `snapshots.*`, `snapshots.create`, `version`, `keys.create`, `keys.get`, `keys.update`, `keys.delete`, `experimental.get`, `experimental.update`",
 | 
			
		||||
      "message": "Unknown value `doc.add` at `.actions[0]`: expected one of `*`, `search`, `documents.*`, `documents.add`, `documents.get`, `documents.delete`, `indexes.*`, `indexes.create`, `indexes.get`, `indexes.update`, `indexes.delete`, `indexes.swap`, `tasks.*`, `tasks.cancel`, `tasks.delete`, `tasks.get`, `settings.*`, `settings.get`, `settings.update`, `stats.*`, `stats.get`, `metrics.*`, `metrics.get`, `dumps.*`, `dumps.create`, `snapshots.*`, `snapshots.create`, `version`, `keys.create`, `keys.get`, `keys.update`, `keys.delete`, `experimental.get`, `experimental.update`, `network.get`, `network.update`",
 | 
			
		||||
      "code": "invalid_api_key_actions",
 | 
			
		||||
      "type": "invalid_request",
 | 
			
		||||
      "link": "https://docs.meilisearch.com/errors#invalid_api_key_actions"
 | 
			
		||||
 
 | 
			
		||||
@@ -68,6 +68,8 @@ pub static AUTHORIZATIONS: Lazy<HashMap<(&'static str, &'static str), HashSet<&'
 | 
			
		||||
            ("GET",     "/keys") =>                                            hashset!{"keys.get", "*"},
 | 
			
		||||
            ("GET",     "/experimental-features") =>                           hashset!{"experimental.get", "*"},
 | 
			
		||||
            ("PATCH",   "/experimental-features") =>                           hashset!{"experimental.update", "*"},
 | 
			
		||||
            ("GET",   "/network") =>                                           hashset!{"network.get", "*"},
 | 
			
		||||
            ("PATCH",   "/network") =>                                         hashset!{"network.update", "*"},
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        authorizations
 | 
			
		||||
 
 | 
			
		||||
@@ -93,7 +93,7 @@ async fn create_api_key_bad_actions() {
 | 
			
		||||
    snapshot!(code, @"400 Bad Request");
 | 
			
		||||
    snapshot!(json_string!(response), @r###"
 | 
			
		||||
    {
 | 
			
		||||
      "message": "Unknown value `doggo` at `.actions[0]`: expected one of `*`, `search`, `documents.*`, `documents.add`, `documents.get`, `documents.delete`, `indexes.*`, `indexes.create`, `indexes.get`, `indexes.update`, `indexes.delete`, `indexes.swap`, `tasks.*`, `tasks.cancel`, `tasks.delete`, `tasks.get`, `settings.*`, `settings.get`, `settings.update`, `stats.*`, `stats.get`, `metrics.*`, `metrics.get`, `dumps.*`, `dumps.create`, `snapshots.*`, `snapshots.create`, `version`, `keys.create`, `keys.get`, `keys.update`, `keys.delete`, `experimental.get`, `experimental.update`",
 | 
			
		||||
      "message": "Unknown value `doggo` at `.actions[0]`: expected one of `*`, `search`, `documents.*`, `documents.add`, `documents.get`, `documents.delete`, `indexes.*`, `indexes.create`, `indexes.get`, `indexes.update`, `indexes.delete`, `indexes.swap`, `tasks.*`, `tasks.cancel`, `tasks.delete`, `tasks.get`, `settings.*`, `settings.get`, `settings.update`, `stats.*`, `stats.get`, `metrics.*`, `metrics.get`, `dumps.*`, `dumps.create`, `snapshots.*`, `snapshots.create`, `version`, `keys.create`, `keys.get`, `keys.update`, `keys.delete`, `experimental.get`, `experimental.update`, `network.get`, `network.update`",
 | 
			
		||||
      "code": "invalid_api_key_actions",
 | 
			
		||||
      "type": "invalid_request",
 | 
			
		||||
      "link": "https://docs.meilisearch.com/errors#invalid_api_key_actions"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user