You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.1 KiB
31 lines
1.1 KiB
# 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) |