Commit 05b37d01 authored by Martin Santangelo's avatar Martin Santangelo

(fix) JSON.stringify cannot serialize cyclic structures

1 merge request!345[Sprint/Nuanced](fix) JSON.stringify cannot serialize cyclic structures
......@@ -5,6 +5,7 @@ import {
action,
computed,
runInAction,
toJS,
} from 'mobx';
import _ from 'lodash';
import sessionService from './services/session.service';
......@@ -46,6 +47,15 @@ export default class BaseModel {
return this.__list;
}
toPlainObject() {
const plainEntity = toJS(this);
// remove references to the list
delete(plainEntity.__list);
return plainEntity;
}
/**
* Child models classes
*/
......
......@@ -124,8 +124,7 @@ export default class FeedsService {
this.offset++;
const plainEntity = toJS(entity);
delete(plainEntity.__list);
const plainEntity = entity.toPlainObject();
entitiesService.addEntity(plainEntity, true);
// save without wait
......
......@@ -50,6 +50,14 @@ export default class ActivityModel extends BaseModel {
return this.__list;
}
toPlainObject() {
const plainEntity = super.toPlainObject();
if (plainEntity.remind_object && plainEntity.remind_object.__list) {
delete(plainEntity.remind_object.__list);
}
return plainEntity;
}
/**
* Child models
......@@ -236,10 +244,7 @@ export default class ActivityModel extends BaseModel {
@action
async updateActivity(data = {}) {
const list = this.__list;
delete(this.__list);
const entity = toJS(this);
this._list = list;
const entity = this.toPlainObject();
if (data) {
for (const field in data) {
......@@ -248,6 +253,7 @@ export default class ActivityModel extends BaseModel {
}
await update(entity);
this.setEdited(entity.message);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment