Skip to content

Commit f0a9af7

Browse files
Handle negative page value in query
1 parent 69efd6f commit f0a9af7

File tree

2 files changed

+8
-11
lines changed

2 files changed

+8
-11
lines changed

src/repository/drep.ts

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ export const fetchDrepList = async (
169169
? Prisma.sql`ORDER BY DRepDistr.amount DESC NULLS LAST`
170170
: Prisma.sql`ORDER BY newestRegister.time DESC`
171171
}
172-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
172+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
173173
`) as Record<any, any>[]
174174
const totalCount = result.length ? Number(result[0].total_count) : 0
175175
return { items: formatResult(result), totalCount }
@@ -381,7 +381,7 @@ export const fetchDrepVoteDetails = async (size = 10, page = 1, dRepId: string,
381381
) AS votes,
382382
COUNT(*) OVER () AS total_count
383383
from OrderedVoteDetails
384-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
384+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
385385
`) as Record<any, any>[]
386386
const totalCount = result.length ? Number(result[0].total_count) : 0
387387
const parsedResult = result.map((res) => res.votes)
@@ -499,8 +499,7 @@ export const fetchDrepRegistrationDetails = async (size = 10, page = 1, dRepId:
499499
WHERE dh.raw = DECODE(${dRepId}, 'hex')
500500
AND (dh.has_script = ${scriptPart[0]} OR dh.has_script = ${scriptPart[1]})
501501
ORDER BY b.time DESC
502-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)}
503-
FETCH NEXT ${size ? size : 10} ROWS ONLY;
502+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
504503
`) as Record<string, any>[]
505504
const totalCount = result.length ? Number(result[0].total_count) : 0
506505
const res = result.map((r) => r.result)
@@ -737,8 +736,7 @@ export const fetchDrepLiveDelegators = async (
737736
FROM latest
738737
LEFT JOIN utxo_view uv ON uv.stake_address_id = latest.id
739738
GROUP BY latest.stakeAddress, latest.id, latest.delegations::text
740-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)}
741-
FETCH NEXT ${size ? size : 10} ROWS ONLY
739+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
742740
`) as Record<string, any>[]
743741
const totalCount = result.length ? Number(result[0].total_count) : 0
744742
const parseResult = () => {
@@ -840,7 +838,7 @@ export const fetchDRepActiveDelegators = async (
840838
AND (dh.has_script = ${scriptPart[0]} OR dh.has_script = ${scriptPart[1]})
841839
AND b.epoch_no < (SELECT MAX(no) FROM epoch)
842840
GROUP BY sa.view, tx.hash, e.no, b.time, lt.addr_id
843-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY`) as Record<
841+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY`) as Record<
844842
string,
845843
any
846844
>[]
@@ -878,7 +876,7 @@ export const fetchDRepActiveDelegators = async (
878876
WHERE dh.raw = DECODE(${dRepId}, 'hex')
879877
AND (dh.has_script = ${scriptPart[0]} OR dh.has_script = ${scriptPart[1]})
880878
AND b.epoch_no < (SELECT e.no from epoch e ORDER BY e.no desc limit 1)
881-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY`) as Record<
879+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY`) as Record<
882880
string,
883881
any
884882
>[]
@@ -932,7 +930,7 @@ export const fetchDrepDelegationHistory = async (size = 10, page = 1, dRepId: st
932930
JOIN block b ON b.id = tx.block_id
933931
GROUP BY stakes.stake
934932
ORDER BY stakes.stake
935-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY;
933+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY;
936934
`) as Record<string, any>[]
937935
const totalCount = result.length ? Number(result[0].total_count) : 0
938936
interface Delegation {

src/repository/proposal.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -389,8 +389,7 @@ FROM
389389
ORDER BY epoch_utils.last_epoch_end_time + epoch_utils.epoch_duration * (gov_action_proposal.expiration - epoch_utils.last_epoch_no) ASC`
390390
: Prisma.sql`ORDER BY creator_block.time DESC`
391391
}
392-
OFFSET ${(page ? page - 1 : 0) * (size ? size : 10)}
393-
FETCH NEXT ${size ? size : 10} ROWS ONLY
392+
OFFSET ${(page ? (page < 0 ? 0 : page - 1) : 0) * (size ? size : 10)} FETCH NEXT ${size ? size : 10} ROWS ONLY
394393
`) as Record<any, any>[]
395394
const totalCount = result.length ? Number(result[0].total_count) : 0
396395
const parsedResults: any[] = []

0 commit comments

Comments
 (0)