matrix-dimension/web/app/shared/models/integration.ts
Travis Ralston 2c1366d9d7 Very early support for configuring complex bots
Using the RSS Bot as an example. Notably missing features:
* Configuration (feeds) not retrieved
* No actual configuration page
2018-03-25 21:02:32 -06:00

50 lines
1.1 KiB
TypeScript

export interface FE_Integration {
category: "bot" | "complex-bot" | "bridge" | "widget";
type: string;
requirements: FE_IntegrationRequirement[];
isEncryptionSupported: boolean;
displayName: string;
avatarUrl: string;
description: string;
isEnabled: boolean;
isPublic: boolean;
// Used by us
_inRoom: boolean;
_isUpdating: boolean;
_isSupported: boolean;
_notSupportedReason: string;
}
export interface FE_SimpleBot extends FE_Integration {
userId: string;
}
export interface FE_ComplexBot<T> extends FE_Integration {
notificationUserId: string;
botUserId?: string;
config: T;
}
export interface FE_Widget extends FE_Integration {
options: any;
}
export interface FE_EtherpadWidget extends FE_Widget {
options: {
defaultUrl: string;
};
}
export interface FE_JitsiWidget extends FE_Widget {
options: {
jitsiDomain: string;
scriptUrl: string;
};
}
export interface FE_IntegrationRequirement {
condition: "publicRoom" | "canSendEventTypes";
argument: any;
expectedValue: any;
}