1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-19 13:19:44 +02:00
planka/server/api/helpers/get-cards-for-board.js

43 lines
902 B
JavaScript

const LIMIT = 10;
module.exports = {
inputs: {
recordOrId: {
type: 'ref',
custom: (value) => _.isObjectLike(value) || _.isString(value) || _.every(value, _.isString),
required: true,
},
beforeId: {
type: 'string',
},
},
async fn(inputs, exits) {
const criteria = {};
let sort;
let limit;
if (_.isObjectLike(inputs.recordOrId)) {
criteria.boardId = inputs.recordOrId.id;
if (inputs.recordOrId.type === 'kanban') {
sort = 'position';
} else if (inputs.recordOrId.type === 'collection') {
if (inputs.beforeId) {
criteria.id = {
'<': inputs.beforeId,
};
}
limit = LIMIT;
}
} else {
criteria.boardId = inputs.recordOrId;
}
const cards = await sails.helpers.getCards(criteria, sort, limit);
return exits.success(cards);
},
};