import { TApplicationActions } from '../definitions';
import { CREATE_CHANNEL } from '../actions/actionsTypes';
interface ICreateChannelResult {
name: string;
users: string[];
teamId?: string;
type: boolean;
readOnly: boolean;
encrypted: boolean;
broadcast: boolean;
isTeam: boolean;
}
interface ICreateChannelResultOnlyGroup {
group: boolean;
export type TCreateChannelResult = ICreateChannelResult | ICreateChannelResultOnlyGroup;
export interface ICreateChannel {
isFetching: boolean;
failure: boolean;
result: TCreateChannelResult | {};
error: any;
export const initialState: ICreateChannel = {
isFetching: false,
failure: false,
result: {},
error: {}
};
export default function (state = initialState, action: TApplicationActions): ICreateChannel {
switch (action.type) {
case CREATE_CHANNEL.REQUEST:
return {
...state,
isFetching: true,
case CREATE_CHANNEL.SUCCESS:
result: action.data
case CREATE_CHANNEL.FAILURE:
failure: true,
error: action.err
default:
return state;