Implicit import interfaces
This commit is contained in:
parent
f92f5e6f4c
commit
6138d7ad92
|
|
@ -4,6 +4,7 @@ import {Base64} from 'js-base64';
|
|||
import {detect} from 'detect-browser';
|
||||
import {SnackReporter} from './snack/SnackManager';
|
||||
import {observable} from 'mobx';
|
||||
import {IClient, IUser} from './types';
|
||||
|
||||
const tokenKey = 'gotify-login-key';
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import axios from 'axios';
|
|||
import * as config from '../config';
|
||||
import {action} from 'mobx';
|
||||
import {SnackReporter} from '../snack/SnackManager';
|
||||
import {IApplication} from '../types';
|
||||
|
||||
export class AppStore extends BaseStore<IApplication> {
|
||||
public onDelete: () => void = () => {};
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import {observable} from 'mobx';
|
|||
import {inject, Stores} from '../inject';
|
||||
import * as config from '../config';
|
||||
import UpdateDialog from './UpdateApplicationDialog';
|
||||
import {IApplication} from '../types';
|
||||
|
||||
@observer
|
||||
class Applications extends Component<Stores<'appStore'>> {
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import axios from 'axios';
|
|||
import * as config from '../config';
|
||||
import {action} from 'mobx';
|
||||
import {SnackReporter} from '../snack/SnackManager';
|
||||
import {IClient} from '../types';
|
||||
|
||||
export class ClientStore extends BaseStore<IClient> {
|
||||
public constructor(private readonly snack: SnackReporter) {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import UpdateDialog from './UpdateClientDialog';
|
|||
import {observer} from 'mobx-react';
|
||||
import {observable} from 'mobx';
|
||||
import {inject, Stores} from '../inject';
|
||||
import {IClient} from '../types';
|
||||
|
||||
@observer
|
||||
class Clients extends Component<Stores<'clientStore'>> {
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ import {observer} from 'mobx-react';
|
|||
import {observable} from 'mobx';
|
||||
import {inject, Stores} from '../inject';
|
||||
import {NetworkLostBanner} from '../common/NetworkLostBanner';
|
||||
import {IVersion} from '../types';
|
||||
|
||||
const styles = (theme: Theme) => ({
|
||||
content: {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import * as config from '../config';
|
|||
import {StyleRulesCallback} from '@material-ui/core/styles/withStyles';
|
||||
import ReactMarkdown from 'react-markdown';
|
||||
import {RenderMode, contentType} from './extras';
|
||||
import {IMessageExtras} from '../types';
|
||||
|
||||
const styles: StyleRulesCallback = () => ({
|
||||
header: {
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import {observer} from 'mobx-react';
|
|||
import {inject, Stores} from '../inject';
|
||||
import {observable} from 'mobx';
|
||||
import ReactInfinite from 'react-infinite';
|
||||
import {IMessage} from '../types';
|
||||
|
||||
interface IProps extends RouteComponentProps<{id: string}> {}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ import axios, {AxiosResponse} from 'axios';
|
|||
import * as config from '../config';
|
||||
import {createTransformer} from 'mobx-utils';
|
||||
import {SnackReporter} from '../snack/SnackManager';
|
||||
import {IApplication, IMessage, IPagedMessages} from '../types';
|
||||
|
||||
const AllMessages = -1;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ import {SnackReporter} from '../snack/SnackManager';
|
|||
import {CurrentUser} from '../CurrentUser';
|
||||
import * as config from '../config';
|
||||
import {AxiosError} from 'axios';
|
||||
import {IMessage} from '../types';
|
||||
|
||||
export class WebSocketStore {
|
||||
private wsActive = false;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
import {IMessageExtras} from '../types';
|
||||
|
||||
export enum RenderMode {
|
||||
Markdown = 'text/markdown',
|
||||
Plain = 'text/plain',
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@ import DefaultPage from '../common/DefaultPage';
|
|||
import * as config from '../config';
|
||||
import Container from '../common/Container';
|
||||
import {inject, Stores} from '../inject';
|
||||
import {IPlugin} from '../types';
|
||||
|
||||
interface IProps extends RouteComponentProps<{id: string}> {}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import {action} from 'mobx';
|
|||
import {BaseStore} from '../common/BaseStore';
|
||||
import * as config from '../config';
|
||||
import {SnackReporter} from '../snack/SnackManager';
|
||||
import {IPlugin} from '../types';
|
||||
|
||||
export class PluginStore extends BaseStore<IPlugin> {
|
||||
public onDelete: () => void = () => {};
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import DefaultPage from '../common/DefaultPage';
|
|||
import ToggleVisibility from '../common/ToggleVisibility';
|
||||
import {observer} from 'mobx-react';
|
||||
import {inject, Stores} from '../inject';
|
||||
import {IPlugin} from '../types';
|
||||
|
||||
@observer
|
||||
class Plugins extends Component<Stores<'pluginStore'>> {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
import Notify from 'notifyjs';
|
||||
import removeMarkdown from 'remove-markdown';
|
||||
import {IMessage} from '../types';
|
||||
|
||||
export function requestPermission() {
|
||||
if (Notify.needsPermission && Notify.isSupported()) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import {clickByText, count, innerText, waitForCount, waitForExists} from './util
|
|||
import * as auth from './authentication';
|
||||
import * as selector from './selector';
|
||||
import axios from 'axios';
|
||||
import {IApplication, IMessage, IMessageExtras} from '../types';
|
||||
|
||||
let page: Page;
|
||||
let gotify: GotifyTest;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
interface IApplication {
|
||||
export interface IApplication {
|
||||
id: number;
|
||||
token: string;
|
||||
name: string;
|
||||
|
|
@ -7,13 +7,13 @@ interface IApplication {
|
|||
internal: boolean;
|
||||
}
|
||||
|
||||
interface IClient {
|
||||
export interface IClient {
|
||||
id: number;
|
||||
token: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
interface IPlugin {
|
||||
export interface IPlugin {
|
||||
id: number;
|
||||
token: string;
|
||||
name: string;
|
||||
|
|
@ -25,7 +25,7 @@ interface IPlugin {
|
|||
capabilities: Array<'webhooker' | 'displayer' | 'configurer' | 'messenger' | 'storager'>;
|
||||
}
|
||||
|
||||
interface IMessage {
|
||||
export interface IMessage {
|
||||
id: number;
|
||||
appid: number;
|
||||
message: string;
|
||||
|
|
@ -36,29 +36,29 @@ interface IMessage {
|
|||
extras?: IMessageExtras;
|
||||
}
|
||||
|
||||
interface IMessageExtras {
|
||||
export interface IMessageExtras {
|
||||
[key: string]: any; // tslint:disable-line no-any
|
||||
}
|
||||
|
||||
interface IPagedMessages {
|
||||
export interface IPagedMessages {
|
||||
paging: IPaging;
|
||||
messages: IMessage[];
|
||||
}
|
||||
|
||||
interface IPaging {
|
||||
export interface IPaging {
|
||||
next?: string;
|
||||
since?: number;
|
||||
size: number;
|
||||
limit: number;
|
||||
}
|
||||
|
||||
interface IUser {
|
||||
export interface IUser {
|
||||
id: number;
|
||||
name: string;
|
||||
admin: boolean;
|
||||
}
|
||||
|
||||
interface IVersion {
|
||||
export interface IVersion {
|
||||
version: string;
|
||||
commit: string;
|
||||
buildDate: string;
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@ import axios from 'axios';
|
|||
import * as config from '../config';
|
||||
import {action} from 'mobx';
|
||||
import {SnackReporter} from '../snack/SnackManager';
|
||||
import {IUser} from '../types';
|
||||
|
||||
export class UserStore extends BaseStore<IUser> {
|
||||
constructor(private readonly snack: SnackReporter) {
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ import AddEditDialog from './AddEditUserDialog';
|
|||
import {observer} from 'mobx-react';
|
||||
import {observable} from 'mobx';
|
||||
import {inject, Stores} from '../inject';
|
||||
import {IUser} from '../types';
|
||||
|
||||
const styles = () => ({
|
||||
wrapper: {
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
"noUnusedLocals": true,
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"experimentalDecorators": true
|
||||
"isolatedModules": true,
|
||||
},
|
||||
"exclude": [
|
||||
"node_modules",
|
||||
|
|
|
|||
Loading…
Reference in New Issue