frontend/smart-hut/src/storeActions.js

161 lines
3.1 KiB
JavaScript

const actions = {
loginSuccess: (token) => ({
type: 'LOGIN_UPDATE',
login: {
loggedIn: true,
token,
},
}),
logout: () => ({
type: 'LOGOUT',
}),
userInfoUpdate: (userInfo) => ({
type: 'USER_INFO_UPDATE',
userInfo,
}),
roomSave: (room) => ({
type: 'ROOM_SAVE',
room,
}),
sceneSave: (scene) => ({
type: 'SCENE_SAVE',
scene,
}),
deviceSave: (device) => ({
type: 'DEVICE_SAVE',
device,
}),
hostDeviceSave: (hostId, device) => ({
type: 'HOST_DEVICE_SAVE',
hostId,
device,
}),
triggerSave: (automation) => ({
type: 'TRIGGER_SAVE',
automation,
}),
scenePrioritySave: (automation) => ({
type: 'SCENE_PRIORITY_SAVE',
automation,
}),
automationSave: (automation) => ({
type: 'AUTOMATION_SAVE',
automation,
}),
automationsUpdate: (automations) => ({
type: 'AUTOMATION_UPDATE',
automations,
}),
stateSave: (sceneState) => ({
type: 'STATE_SAVE',
sceneState,
}),
statesUpdate: (sceneId, sceneStates) => ({
type: 'STATES_UPDATE',
sceneId,
sceneStates,
}),
devicesUpdate: (roomId, devices, partial = false) => ({
type: 'DEVICES_UPDATE',
roomId,
devices,
partial,
}),
hostDevicesUpdate: (hostId, devices, partial = false) => ({
type: 'HOST_DEVICES_UPDATE',
hostId,
partial,
devices,
}),
stateDelete: (stateId) => ({
type: 'STATE_DELETE',
stateId,
}),
deviceOperationUpdate: (devices) => ({
type: 'DEVICES_UPDATE',
devices,
partial: true,
}),
roomsUpdate: (rooms) => ({
type: 'ROOMS_UPDATE',
rooms,
}),
hostRoomsUpdate: (hostId, rooms) => ({
type: 'HOST_ROOMS_UPDATE',
hostId,
rooms,
}),
roomDelete: (roomId) => ({
type: 'ROOM_DELETE',
roomId,
}),
automationDelete: (id) => ({
type: 'AUTOMATION_DELETE',
id,
}),
sceneDelete: (sceneId) => ({
type: 'SCENE_DELETE',
sceneId,
}),
scenesUpdate: (scenes) => ({
type: 'SCENES_UPDATE',
scenes,
}),
hostScenesUpdate: (hostId, scenes) => ({
type: 'HOST_SCENES_UPDATE',
hostId,
scenes,
}),
deviceDelete: (deviceId) => ({
type: 'DEVICE_DELETE',
deviceId,
}),
hostsUpdate: (hosts) => ({
type: 'HG_UPDATE',
key: 'hosts',
value: hosts,
}),
guestsUpdate: (hosts) => ({
type: 'HG_UPDATE',
key: 'guests',
value: hosts,
}),
getHostDevices: (host) => ({
type: 'GET_HOST_DEVICES',
host,
}),
guestUpdate: (guests) => ({
type: 'HG_UPDATE',
key: 'guests',
value: guests,
}),
};
export const appActions = {
// -1 for home view
setActiveRoom: (activeRoom = -1) => ({
type: 'SET_ACTIVE',
key: 'activeRoom',
value: activeRoom,
}),
setActiveTab: (activeTab) => ({
type: 'SET_ACTIVE',
key: 'activeTab',
value: activeTab,
}),
setActiveScene: (activeScene = -1) => ({
type: 'SET_ACTIVE',
key: 'activeScene',
value: activeScene,
}),
setActiveHost: (activeHost = -1) => ({
type: 'SET_ACTIVE',
key: 'activeHost',
value: activeHost,
}),
};
export default actions;