While working on resolving tests I found couple of things that change the need for specific permissions on each key.
For Index key to work with all functionalities it needs to have permissions:
"documents.get",
"documents.add",
"documents.delete",
"settings.update",
"settings.get",
"tasks.get",
"stats.get",
"version",
"indexes.create",
"indexes.get",
"indexes.update",
"indexes.delete",
"indexes.swap"
Search key needs to have permissions:
"version",
"search",
"indexes.get"
Upon discussion with the maintainer, it was proposed to refactor the logic in how connection to the API is handled in API service. With introduction of different API keys it's easier to not store Client objects and its variables inside the service, so client object is now created when needed and API service methods require Client object as parameter.
timotej-pl โ changed the visibility of the branch 3419416-change-master-key to active.
timotej-pl โ changed the visibility of the branch 3419416-change-master-key to hidden.
timotej-pl โ made their first commit to this issueโs fork.
timotej-pl โ created an issue.
timotej-pl โ made their first commit to this issueโs fork.
timotej-pl โ made their first commit to this issueโs fork.