Implicit import interfaces

This commit is contained in:
Jannis Mattheis 2019-09-28 16:42:15 +02:00
parent f92f5e6f4c
commit 6138d7ad92
20 changed files with 29 additions and 9 deletions

View File

@ -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';

View File

@ -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 = () => {};

View File

@ -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'>> {

View File

@ -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) {

View File

@ -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'>> {

View File

@ -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: {

View File

@ -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: {

View File

@ -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}> {}

View File

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

View File

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

View File

@ -1,3 +1,5 @@
import {IMessageExtras} from '../types';
export enum RenderMode {
Markdown = 'text/markdown',
Plain = 'text/plain',

View File

@ -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}> {}

View File

@ -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 = () => {};

View File

@ -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'>> {

View File

@ -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()) {

View File

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

View File

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

View File

@ -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) {

View File

@ -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: {

View File

@ -19,6 +19,7 @@
"noUnusedLocals": true,
"allowSyntheticDefaultImports": true,
"experimentalDecorators": true
"isolatedModules": true,
},
"exclude": [
"node_modules",