Park Byung Eun 02c2645e01 0524 sync
2020-05-24 13:11:32 +09:00

61 lines
1.3 KiB
TypeScript

import { createReducer, on } from '@ngrx/store';
import { UserInfo } from '@ucap/protocol-sync';
import { initialState, adapterBuddy } from './state';
import {
buddy2Success,
delSuccess,
updateSuccess,
nicknameSuccess
} from './actions';
export const reducer = createReducer(
initialState,
on(buddy2Success, (state, action) => {
return {
...state,
buddies: adapterBuddy.upsertMany(action.buddyList, {
...state.buddies,
syncDate: action.syncDate
})
};
}),
on(delSuccess, (state, action) => {
const res = action.res;
return {
...state,
buddies: adapterBuddy.removeMany(res.userSeqs, {
...state.buddies
})
};
}),
on(updateSuccess, (state, action) => {
const res = action.res;
const userInfo: UserInfo = {
...state.buddies.entities[res.seq],
isFavorit: res.isFavorit
};
return {
...state,
buddies: adapterBuddy.upsertOne(userInfo, { ...state.buddies })
};
}),
on(nicknameSuccess, (state, action) => {
const res = action.res;
const userInfo: UserInfo = {
...state.buddies.entities[res.userSeq],
nickName: res.nickname
};
return {
...state,
buddies: adapterBuddy.upsertOne(userInfo, { ...state.buddies })
};
})
);