sharded-gotify/ui/src/types.ts

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;
}