# Copyright (C) 2005-2024 Splunk Inc. All Rights Reserved. from itsi_py3 import _ import itsi_py3 import splunk.rest as rest from ITOA.setup_logging import getLogger from ITOA.storage.itoa_storage import ITOAStorage from itsi.data_integrations.service_manager.splunkd.kvstore import KVStoreManager class ViewPermissionsStore(object): def __init__(self, session_key): self.logger = getLogger(logger_name='itsi.feature_flagging.ViewPermissionsStore') self.session_key = session_key assert ITOAStorage().wait_for_storage_init(self.session_key), "Storage is not initialized after wait." self.kvstore = KVStoreManager(collection="itsi_feature_flagging_view_permissions", server_uri=rest.makeSplunkdUri().rstrip('/'), session_key=self.session_key, app="SA-ITOA") def delete(self, view): self.kvstore.delete(view) def get(self, view): return self.kvstore.get(view) def save(self, view, permissions): self.kvstore.create(view, permissions)