@veltdev/types
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
40 lines (39 loc) • 1.38 kB
TypeScript
import { ResolverEndpointConfig, ResolverResponse, RetryConfig } from "./resolver.data.model";
import { User } from "./user.data.model";
export interface NotificationDataProvider {
get?: (request: GetNotificationResolverRequest) => Promise<ResolverResponse<Record<string, PartialNotification>>>;
delete?: (request: DeleteNotificationResolverRequest) => Promise<ResolverResponse<undefined>>;
config?: NotificationResolverConfig;
}
export interface NotificationResolverConfig {
resolveTimeout?: number;
getRetryConfig?: RetryConfig;
deleteRetryConfig?: RetryConfig;
getConfig?: ResolverEndpointConfig;
deleteConfig?: ResolverEndpointConfig;
}
export interface GetNotificationResolverRequest {
organizationId: string;
notificationIds: string[];
}
export interface DeleteNotificationResolverRequest {
notificationId: string;
organizationId: string;
}
export interface PartialNotification {
notificationId: string;
displayHeadlineMessageTemplate?: string;
displayHeadlineMessageTemplateData?: {
actionUser?: User;
recipientUser?: User;
actionMessage?: string;
[key: string]: any;
};
displayBodyMessage?: string;
displayBodyMessageTemplate?: string;
displayBodyMessageTemplateData?: {
[key: string]: any;
};
notificationSourceData?: any;
[key: string]: any;
}