pagination.js 527 B

123456789101112131415161718192021222324252627282930
  1. async function getNextId(Model, where, items) {
  2. try {
  3. let maxId = await Model.max('id', { where })
  4. let lastItem = items.slice(-1)[0]
  5. if(!lastItem || maxId === lastItem.id) {
  6. return null
  7. } else {
  8. return lastItem.id
  9. }
  10. } catch (e) {
  11. console.log(e)
  12. return null
  13. }
  14. }
  15. function getPaginationProps(query) {
  16. let lastId = 0
  17. let limit = 10
  18. if(+query.lastId > 0) lastId = +query.lastId
  19. if(+query.limit > 0) limit = +query.limit
  20. return { lastId, limit }
  21. }
  22. module.exports = {
  23. getNextId,
  24. getPaginationProps
  25. }