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