Request list also gets and returns total pages
This commit is contained in:
@@ -13,6 +13,7 @@ class RequestRepository {
|
||||
this.queries = {
|
||||
add: 'insert into requests (id,title,year,poster_path,background_path,requested_by,ip,user_agent,type) values(?,?,?,?,?,?,?,?,?)',
|
||||
fetchAll: 'select * from requests where status != "downloaded" order by date desc LIMIT 25 OFFSET ?*25-25',
|
||||
totalRequests: 'select count(*) as totalRequests from requests',
|
||||
fetchAllSort: `select id, type from request order by ? ?`,
|
||||
fetchAllFilter: `select id, type from request where ? is "?"`,
|
||||
fetchAllQuery: `select id, type from request where title like "%?%" or year like "%?%"`,
|
||||
@@ -125,11 +126,17 @@ class RequestRepository {
|
||||
// console.log('hit', sort_by, sort_direction, filter_param, query)
|
||||
return Promise.resolve()
|
||||
.then((dbQuery) => this.database.all(this.queries.fetchAll, page))
|
||||
.then((rows) => {
|
||||
return rows.map(item => { item.poster = item.poster_path; return item })
|
||||
.then(async (rows) => {
|
||||
const sqliteResponse = await this.database.get(this.queries.totalRequests)
|
||||
const totalRequests = sqliteResponse['totalRequests']
|
||||
const totalPages = Math.floor(totalRequests / 25)
|
||||
|
||||
return [ rows.map(item => { item.poster = item.poster_path; return item }), totalPages ]
|
||||
return Promise.all(this.mapToTmdbByType(rows))
|
||||
})
|
||||
.then(result => Promise.resolve({results: result, total_results: result.length}))
|
||||
.then(([result, totalPages]) => Promise.resolve({
|
||||
results: result, total_results: result.length, page: page, total_pages: totalPages
|
||||
}))
|
||||
.catch(error => { console.log(error);throw error })
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user