1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-18 20:59:44 +02:00

ref: Move comment counter logic into Card model

This commit is contained in:
Maksim Eltyshev 2025-06-04 18:38:39 +02:00
parent 40a84d0c8a
commit 49770ea9ec
2 changed files with 24 additions and 25 deletions

View file

@ -405,6 +405,25 @@ export default class extends BaseModel {
}); });
break; break;
case ActionTypes.COMMENT_CREATE:
case ActionTypes.COMMENT_CREATE_HANDLE: {
const cardModel = Card.withId(payload.comment.cardId);
if (cardModel) {
cardModel.commentsTotal += 1;
}
break;
}
case ActionTypes.COMMENT_DELETE_HANDLE: {
const cardModel = Card.withId(payload.comment.cardId);
if (cardModel) {
cardModel.commentsTotal -= 1;
}
break;
}
case ActionTypes.ACTIVITIES_IN_CARD_FETCH: case ActionTypes.ACTIVITIES_IN_CARD_FETCH:
Card.withId(payload.cardId).update({ Card.withId(payload.cardId).update({
isActivitiesFetching: true, isActivitiesFetching: true,

View file

@ -42,15 +42,12 @@ export default class extends BaseModel {
break; break;
case ActionTypes.COMMENT_CREATE: case ActionTypes.COMMENT_CREATE:
case ActionTypes.COMMENT_CREATE_HANDLE: { case ActionTypes.COMMENT_CREATE_HANDLE:
const commentModel = Comment.upsert(payload.comment); case ActionTypes.COMMENT_UPDATE__SUCCESS:
case ActionTypes.COMMENT_UPDATE_HANDLE:
if (commentModel.card) { Comment.upsert(payload.comment);
commentModel.card.commentsTotal += 1;
}
break; break;
}
case ActionTypes.COMMENT_CREATE__SUCCESS: case ActionTypes.COMMENT_CREATE__SUCCESS:
Comment.withId(payload.localId).delete(); Comment.withId(payload.localId).delete();
Comment.upsert(payload.comment); Comment.upsert(payload.comment);
@ -69,11 +66,6 @@ export default class extends BaseModel {
case ActionTypes.COMMENT_UPDATE: case ActionTypes.COMMENT_UPDATE:
Comment.withId(payload.id).update(payload.data); Comment.withId(payload.id).update(payload.data);
break;
case ActionTypes.COMMENT_UPDATE__SUCCESS:
case ActionTypes.COMMENT_UPDATE_HANDLE:
Comment.upsert(payload.comment);
break; break;
case ActionTypes.COMMENT_DELETE: { case ActionTypes.COMMENT_DELETE: {
const commentModel = Comment.withId(payload.id); const commentModel = Comment.withId(payload.id);
@ -82,24 +74,12 @@ export default class extends BaseModel {
break; break;
} }
case ActionTypes.COMMENT_DELETE__SUCCESS: { case ActionTypes.COMMENT_DELETE__SUCCESS:
const commentModel = Comment.withId(payload.comment.id);
if (commentModel) {
commentModel.delete();
}
break;
}
case ActionTypes.COMMENT_DELETE_HANDLE: { case ActionTypes.COMMENT_DELETE_HANDLE: {
const commentModel = Comment.withId(payload.comment.id); const commentModel = Comment.withId(payload.comment.id);
if (commentModel) { if (commentModel) {
commentModel.delete(); commentModel.delete();
if (commentModel.card) {
commentModel.card.commentsTotal -= 1;
}
} }
break; break;