haystack-nclient
Version:
Project Haystack Network Client
67 lines (66 loc) • 2.21 kB
TypeScript
import { HDict, HNum, HRef, HStr } from 'haystack-core';
import { ClientServiceConfig } from '../ClientServiceConfig';
export interface TopicSetting extends HDict {
topic: HStr;
dis?: HStr;
description?: HStr;
}
export interface UserViewSetting extends HDict {
topic: HStr;
kind: HStr;
filter?: HStr;
}
export interface SystemPurgeSetting extends HDict {
kind: HStr;
purgeInterval: HNum;
}
/**
* An implementation of the FIN Settings Notification service.
*/
export declare class NotificationSettingsService {
#private;
/**
* Constructs a new notifications service object.
*
* @param serviceConfig Service configuration.
*/
constructor(serviceConfig: ClientServiceConfig);
/**
* Get all the notification settings topics
*
* @returns The result of the read operation.
*/
readTopics(): Promise<TopicSetting[]>;
/**
* Adds or updates a topic description.
* Note: Setting role descriptions is an operation that requires a super user role.
*
* @param topicDescription The topic description object
* @returns Returns the id of the topic description that was either created or updated.
*/
setTopicSetting(topicSetting: TopicSetting): Promise<HRef>;
/**
* Get the view notifications settings for the current user.
*
* @returns Returns the view settings for the current users.
*/
readUserViews(): Promise<UserViewSetting[]>;
/**
* Sets a notification view setting for the current user.
* @param viewSetting The setting object
* @returns Returns the id of the setting that was either created or updated.
*/
setUserViewSetting(userViewSetting: UserViewSetting): Promise<HRef>;
/**
* Get the system wide purge notifications settings.
*
* @returns Returns the system purge settings.
*/
readPurgeSettings(): Promise<SystemPurgeSetting[]>;
/**
* Sets a notification purge setting.
* @param purgeSetting The setting object
* @returns Returns the id of the setting that was either created or updated.
*/
setPurgeSettings(systemPurgeSetting: SystemPurgeSetting): Promise<HRef>;
}