Commit 71a517d8 authored by Rene Saarsoo's avatar Rene Saarsoo
Browse files

Implement Comments#setDeleted method.

parent 6e1f10fe
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -204,6 +204,34 @@ Comments.prototype = {
                created_at: new Date()
            }, callback);
        }.bind(this));
    },

    /**
     * Marks comment as deleted.
     *
     * @param {Object} action A delete action:
     * @param {Number} action.id ID of the comment to delete.
     * @param {Number} action.user_id ID of the user doing the delete.
     * @param {Error} callback.err The error object.
     * @param {Function} callback Called when done.
     */
    setDeleted: function(action, callback) {
        var data = {
            id: action.id,
            deleted: 1
        };
        this.db.update("comments", data, function(err) {
            if (err) {
                callback(err);
                return;
            }
            this.db.insert("updates", {
                comment_id: action.id,
                user_id: action.user_id,
                action: 'delete',
                created_at: new Date()
            }, callback);
        }.bind(this));
    }
};

+9 −0
Original line number Diff line number Diff line
@@ -187,4 +187,13 @@ describe("Comments", function() {
        });
    });

    it("#setDeleted marks comment as deleted, so it can't be accessed any more", function(done) {
        comments.setDeleted({id: 10, user_id: 1}, function(err) {
            comments.getById(10, function(err, newCom) {
                expect(newCom).toEqual(null);
                done();
            });
        });
    });

});