2017-05-28 02:35:40 -04:00
|
|
|
export interface Integration {
|
|
|
|
type: string;
|
2017-05-28 19:39:02 -04:00
|
|
|
integrationType: string;
|
2017-05-28 02:35:40 -04:00
|
|
|
userId: string;
|
2017-05-27 03:27:36 -04:00
|
|
|
name: string;
|
|
|
|
avatar: string;
|
|
|
|
about: string; // nullable
|
2017-12-10 05:17:33 -05:00
|
|
|
supportsEncryptedRooms: boolean;
|
|
|
|
|
|
|
|
// Set by us
|
2017-05-27 03:27:36 -04:00
|
|
|
isEnabled: boolean;
|
2017-05-27 19:45:07 -04:00
|
|
|
isBroken: boolean;
|
2017-05-29 00:51:04 -04:00
|
|
|
hasConfig: boolean;
|
2017-06-04 23:31:31 -04:00
|
|
|
requirements?: any; // nullable
|
|
|
|
bridgeError: string; // nullable
|
2017-05-27 03:27:36 -04:00
|
|
|
}
|
2017-05-29 00:51:04 -04:00
|
|
|
|
|
|
|
export interface RSSIntegration extends Integration {
|
|
|
|
feeds: string[];
|
2017-12-09 18:34:59 -05:00
|
|
|
immutableFeeds: { url: string, ownerId: string }[];
|
2017-06-04 23:31:31 -04:00
|
|
|
}
|
|
|
|
|
2017-08-27 21:05:38 -04:00
|
|
|
export interface TravisCiIntegration extends Integration {
|
2017-12-09 18:34:59 -05:00
|
|
|
repoTemplates: { repoKey: string, template: string, newTemplate: string }[]; // newTemplate is local
|
|
|
|
immutableRepoTemplates: { repoKey: string, template: string, ownerId: string }[];
|
2017-08-27 21:05:38 -04:00
|
|
|
webhookUrl: string; // immutable
|
|
|
|
}
|
|
|
|
|
2017-06-04 23:31:31 -04:00
|
|
|
export interface IRCIntegration extends Integration {
|
2017-12-09 18:34:59 -05:00
|
|
|
availableNetworks: { name: string, id: string }[];
|
|
|
|
channels: { [networkId: string]: string[] };
|
2017-12-09 18:31:36 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
export interface EtherpadWidgetIntegration extends Integration {
|
|
|
|
defaultUrl: string;
|
|
|
|
}
|
2017-12-10 02:59:36 -05:00
|
|
|
|
|
|
|
export interface JitsiWidgetIntegration extends Integration {
|
|
|
|
jitsiDomain: string;
|
|
|
|
scriptUrl: string
|
|
|
|
}
|