12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- import moment from 'moment';
- import { hydrateUser } from './users';
- export const PATCH_POST = 'PATCH_POST';
- export function hydrate(json) {
- return Object.assign({}, json, {
- posted_on: moment(json.posted_on),
- updated_on: moment(json.updated_on),
- hidden_on: moment(json.hidden_on),
- attachments: json.attachments ? json.attachments.map(hydrateAttachment) : null,
- poster: json.poster ? hydrateUser(json.poster) : null,
- isSelected: false,
- isBusy: false,
- isDeleted: false
- });
- }
- export function hydrateAttachment(json) {
- return Object.assign({}, json, {
- uploaded_on: moment(json.uploaded_on)
- });
- }
- export function patch(post, patch) {
- return {
- type: PATCH_POST,
- post,
- patch
- };
- }
- export default function post(state={}, action=null) {
- switch (action.type) {
- case PATCH_POST:
- if (state.id == action.post.id) {
- return Object.assign({}, state, action.patch);
- }
- return state;
- default:
- return state;
- }
- }
|