Rocket.Chat.ReactNative/app/actions/server.ts

101 lines
1.7 KiB
TypeScript

import { Action } from 'redux';
import { SERVER } from './actionsTypes';
export interface ISelectServerAction extends Action {
server: string;
version?: string;
fetchVersion: boolean;
changeServer: boolean;
}
interface ISelectServerSuccess extends Action {
server: string;
version: string;
name: string;
}
export interface IServerRequestAction extends Action {
server: string;
username: string | null;
fromServerHistory: boolean;
}
interface IServerInit extends Action {
previousServer: string;
}
export type TActionServer = ISelectServerAction & ISelectServerSuccess & IServerRequestAction & IServerInit;
export function selectServerRequest(
server: string,
version?: string,
fetchVersion = true,
changeServer = false
): ISelectServerAction {
return {
type: SERVER.SELECT_REQUEST,
server,
version,
fetchVersion,
changeServer
};
}
export function selectServerSuccess({
server,
version,
name
}: {
server: string;
version: string;
name: string;
}): ISelectServerSuccess {
return {
type: SERVER.SELECT_SUCCESS,
server,
version,
name
};
}
export function selectServerFailure(): Action {
return {
type: SERVER.SELECT_FAILURE
};
}
export function serverRequest(server: string, username: string | null = null, fromServerHistory = false): IServerRequestAction {
return {
type: SERVER.REQUEST,
server,
username,
fromServerHistory
};
}
export function serverSuccess(): Action {
return {
type: SERVER.SUCCESS
};
}
export function serverFailure(): Action {
return {
type: SERVER.FAILURE
};
}
export function serverInitAdd(previousServer: string): IServerInit {
return {
type: SERVER.INIT_ADD,
previousServer
};
}
export function serverFinishAdd(): Action {
return {
type: SERVER.FINISH_ADD
};
}