mirror of
https://github.com/plankanban/planka.git
synced 2025-07-19 13:19:44 +02:00
41 lines
903 B
JavaScript
41 lines
903 B
JavaScript
const LIMIT = 10;
|
|
|
|
module.exports = {
|
|
inputs: {
|
|
recordOrIdOrIds: {
|
|
type: 'ref',
|
|
custom: (value) => _.isObjectLike(value) || _.isString(value) || _.every(value, _.isString),
|
|
required: true,
|
|
},
|
|
beforeId: {
|
|
type: 'string',
|
|
},
|
|
},
|
|
|
|
async fn(inputs) {
|
|
const criteria = {};
|
|
|
|
let sort;
|
|
let limit;
|
|
|
|
if (_.isObjectLike(inputs.recordOrIdOrIds)) {
|
|
criteria.boardId = inputs.recordOrIdOrIds.id;
|
|
|
|
if (inputs.recordOrIdOrIds.type === Board.Types.KANBAN) {
|
|
sort = 'position';
|
|
} else if (inputs.recordOrIdOrIds.type === Board.Types.COLLECTION) {
|
|
if (inputs.beforeId) {
|
|
criteria.id = {
|
|
'<': inputs.beforeId,
|
|
};
|
|
}
|
|
|
|
limit = LIMIT;
|
|
}
|
|
} else {
|
|
criteria.boardId = inputs.recordOrIdOrIds;
|
|
}
|
|
|
|
return sails.helpers.cards.getMany(criteria, sort, limit);
|
|
},
|
|
};
|