69 lines
1.3 KiB
TypeScript
69 lines
1.3 KiB
TypeScript
export interface IApplication {
|
|
id: number;
|
|
token: string;
|
|
name: string;
|
|
description: string;
|
|
image: string;
|
|
internal: boolean;
|
|
defaultPriority: number;
|
|
lastUsed: string | null;
|
|
}
|
|
|
|
export interface IClient {
|
|
id: number;
|
|
token: string;
|
|
name: string;
|
|
lastUsed: string | null;
|
|
}
|
|
|
|
export interface IPlugin {
|
|
id: number;
|
|
token: string;
|
|
name: string;
|
|
modulePath: string;
|
|
enabled: boolean;
|
|
author?: string;
|
|
website?: string;
|
|
license?: string;
|
|
capabilities: Array<'webhooker' | 'displayer' | 'configurer' | 'messenger' | 'storager'>;
|
|
}
|
|
|
|
export interface IMessage {
|
|
id: number;
|
|
appid: number;
|
|
message: string;
|
|
title: string;
|
|
priority: number;
|
|
date: string;
|
|
image?: string;
|
|
extras?: IMessageExtras;
|
|
}
|
|
|
|
export interface IMessageExtras {
|
|
[key: string]: any; // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
}
|
|
|
|
export interface IPagedMessages {
|
|
paging: IPaging;
|
|
messages: IMessage[];
|
|
}
|
|
|
|
export interface IPaging {
|
|
next?: string;
|
|
since?: number;
|
|
size: number;
|
|
limit: number;
|
|
}
|
|
|
|
export interface IUser {
|
|
id: number;
|
|
name: string;
|
|
admin: boolean;
|
|
}
|
|
|
|
export interface IVersion {
|
|
version: string;
|
|
commit: string;
|
|
buildDate: string;
|
|
}
|