import {createActionCreator} from "deox"; import {IrisMessage, IrisChannel, IrisSimChannel} from ".."; import {Subject} from "rxjs"; import {IrisUserType} from "./iris.reducer"; export const actions = { createIrisChannel: createActionCreator( "IRIS_CREATE_CHANNEL" ), createdIrisChannel: createActionCreator( "IRIS_AUTHENTICATION_CREATED_CHANNEL", resolve => (channel: IrisChannel) => resolve({ channel: channel }) ), linkPhoneNumber: createActionCreator( "IRIS_AUTHENTICATION_LINK_PHONE_CHANNEL", resolve => (channel: IrisChannel,phoneNumber: string) => resolve({ channel: channel, phoneNumber: phoneNumber }) ), linkedPhoneNumber: createActionCreator( "IRIS_AUTHENTICATION_LINKED_PHONE_CHANNEL", resolve => (simChannel: IrisSimChannel) => resolve({ simChannel: simChannel }) ), connectedIrisChannel: createActionCreator( "IRIS_AUTHENTICATION_CONNECTED_CHANNEL", resolve => ($subject: Subject) => resolve({ $subject: $subject }) ), receivedSignIrisResponse: createActionCreator( "IRIS_RECEIVED_SIGN_RESPONSE", resolve => (signature: string) => resolve({ signature: signature }) ), sendIrisSignMessage: createActionCreator( "IRIS_SIGN_MESSAGE_SEND", resolve => ($subject: Subject) => resolve({ $subject: $subject }) ), receivedAuthIrisResponse: createActionCreator( "IRIS_AUTH_RESPONSE_RECEIVED", resolve => (jwt: string) => resolve({ jwt: jwt }) ), error: createActionCreator( "IRIS_ERROR", resolve => (message: IrisMessage) => resolve({ message: message }) ), loggedIn: createActionCreator( "IRIS_LOGGED_IN", resolve => (user: IrisUserType) => resolve({ user: user }) ), logout: createActionCreator( "IRIS_LOGOUT", resolve => (channel: IrisChannel | null) => resolve({ channel: channel }) ) }