|
@@ -1276,9 +1276,9 @@ Cards.mutations({
|
|
|
if (lastCardDom) sortIndex = Utils.calculateIndex(lastCardDom, null).base;
|
|
|
|
|
|
return this.moveOptionalArgs({
|
|
|
- boardId: boardId,
|
|
|
- swimlaneId: swimlaneId,
|
|
|
- listId: listId,
|
|
|
+ boardId,
|
|
|
+ swimlaneId,
|
|
|
+ listId,
|
|
|
sort: sortIndex,
|
|
|
});
|
|
|
},
|
|
@@ -1293,8 +1293,7 @@ Cards.mutations({
|
|
|
swimlaneId = board.getDefaultSwimline()._id;
|
|
|
}
|
|
|
listId = listId || this.listId;
|
|
|
- if (sort === undefined || sort === null)
|
|
|
- sort = this.sort;
|
|
|
+ if (sort === undefined || sort === null) sort = this.sort;
|
|
|
return this.move(boardId, swimlaneId, listId, sort);
|
|
|
},
|
|
|
|
|
@@ -2683,6 +2682,52 @@ if (Meteor.isServer) {
|
|
|
});
|
|
|
},
|
|
|
);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @operation get_cards_by_custom_field
|
|
|
+ * @summary Get all Cards that matchs a value of a specific custom field
|
|
|
+ *
|
|
|
+ * @param {string} boardId the board ID
|
|
|
+ * @param {string} customFieldId the list ID
|
|
|
+ * @param {string} customFieldValue the value to look for
|
|
|
+ * @return_type [{_id: string,
|
|
|
+ * title: string,
|
|
|
+ * description: string,
|
|
|
+ * listId: string
|
|
|
+ * swinlaneId: string}]
|
|
|
+ */
|
|
|
+ JsonRoutes.add(
|
|
|
+ 'GET',
|
|
|
+ '/api/boards/:boardId/cardsByCustomField/:customFieldId/:customFieldValue',
|
|
|
+ function(req, res) {
|
|
|
+ const paramBoardId = req.params.boardId;
|
|
|
+ const paramCustomFieldId = req.params.customFieldId;
|
|
|
+ const paramCustomFieldValue = req.params.customFieldValue;
|
|
|
+
|
|
|
+ Authentication.checkBoardAccess(req.userId, paramBoardId);
|
|
|
+ JsonRoutes.sendResult(res, {
|
|
|
+ code: 200,
|
|
|
+ data: Cards.find({
|
|
|
+ boardId: paramBoardId,
|
|
|
+ customFields: {
|
|
|
+ $elemMatch: {
|
|
|
+ _id: paramCustomFieldId,
|
|
|
+ value: paramCustomFieldValue,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ archived: false,
|
|
|
+ }).map(function(doc) {
|
|
|
+ return {
|
|
|
+ _id: doc._id,
|
|
|
+ title: doc.title,
|
|
|
+ description: doc.description,
|
|
|
+ listId: doc.listId,
|
|
|
+ swinlaneId: doc.swinlaneId,
|
|
|
+ };
|
|
|
+ }),
|
|
|
+ });
|
|
|
+ },
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
export default Cards;
|