1- import { Request , Response , Router } from 'express'
2- import { handlerWrapper } from '../errors/AppError'
3- import { decodeDrep } from '../helpers/validator'
1+ import { Request , Response , Router } from 'express'
2+ import { handlerWrapper } from '../errors/AppError'
3+ import { decodeDrep } from '../helpers/validator'
44import {
55 fetchDrepDetails ,
66 fetchDrepList ,
@@ -11,7 +11,7 @@ import {
1111 fetchDRepActiveDelegators ,
1212 fetchDrepLiveStats ,
1313} from '../repository/drep'
14- import { DrepSortType , DrepStatusType } from '../types/drep'
14+ import { DrepSortType , DrepStatusType } from '../types/drep'
1515
1616const router = Router ( )
1717
@@ -26,30 +26,42 @@ const getDrepList = async (req: Request, res: Response) => {
2626 const page = req . query . page ? + req . query . page : 1
2727 const status = req . query . status ? ( req . query . status as DrepStatusType ) : undefined
2828 const sort = req . query . sort ? ( req . query . sort as DrepSortType ) : undefined
29- const searchDrep = req . query . search ? decodeDrep ( req . query . search as string ) : { credential : '' , isScript : undefined }
30- const {
31- items,
32- totalCount
33- } = await fetchDrepList ( page , size , searchDrep . credential , searchDrep . isScript , status , sort )
34- return res . status ( 200 ) . json ( { total : totalCount , page, size, items} )
29+ const searchDrep = req . query . search
30+ ? decodeDrep ( req . query . search as string )
31+ : { credential : '' , isScript : undefined }
32+ const { items, totalCount } = await fetchDrepList (
33+ page ,
34+ size ,
35+ searchDrep . credential ,
36+ searchDrep . isScript ,
37+ status ,
38+ sort
39+ )
40+ return res . status ( 200 ) . json ( { total : totalCount , page, size, items } )
3541}
3642
3743const getDrepVoteDetails = async ( req : Request , res : Response ) => {
44+ const size = req . query . size ? + req . query . size : 10
45+ const page = req . query . page ? + req . query . page : 1
3846 const dRepId = decodeDrep ( req . params . id as string )
39- const result = await fetchDrepVoteDetails ( dRepId . credential , dRepId . isScript )
40- return res . status ( 200 ) . json ( result )
47+ const { totalCount , items } = await fetchDrepVoteDetails ( size , page , dRepId . credential , dRepId . isScript )
48+ return res . status ( 200 ) . json ( { totalCount , size , page , items } )
4149}
4250
4351const getDrepDelegationDetails = async ( req : Request , res : Response ) => {
52+ const size = req . query . size ? + req . query . size : 10
53+ const page = req . query . page ? + req . query . page : 1
4454 const dRepId = decodeDrep ( req . params . id as string )
45- const result = await fetchDrepDelegationHistory ( dRepId . credential , dRepId . isScript )
46- return res . status ( 200 ) . json ( result )
55+ const { items , totalCount } = await fetchDrepDelegationHistory ( size , page , dRepId . credential , dRepId . isScript )
56+ return res . status ( 200 ) . json ( { totalCount , page , size , items } )
4757}
4858
4959const getDrepRegistrationDetails = async ( req : Request , res : Response ) => {
60+ const size = req . query . size ? + req . query . size : 10
61+ const page = req . query . page ? + req . query . page : 1
5062 const dRepId = decodeDrep ( req . params . id as string )
51- const result = await fetchDrepRegistrationDetails ( dRepId . credential , dRepId . isScript )
52- return res . status ( 200 ) . json ( result )
63+ const { items , totalCount } = await fetchDrepRegistrationDetails ( size , page , dRepId . credential , dRepId . isScript )
64+ return res . status ( 200 ) . json ( { totalCount , page , size , items } )
5365}
5466
5567const getDrepLiveStats = async ( req : Request , res : Response ) => {
@@ -59,17 +71,27 @@ const getDrepLiveStats = async (req: Request, res: Response) => {
5971}
6072
6173const getDrepActiveDelegators = async ( req : Request , res : Response ) => {
74+ const size = req . query . size ? + req . query . size : 10
75+ const page = req . query . page ? + req . query . page : 1
6276 const dRepId = decodeDrep ( req . params . id as string )
6377 const balance = req . query . balance === 'true'
64- const result = await fetchDRepActiveDelegators ( dRepId . credential , dRepId . isScript , balance )
65- return res . status ( 200 ) . json ( result )
78+ const { items, totalCount } = await fetchDRepActiveDelegators (
79+ size ,
80+ page ,
81+ dRepId . credential ,
82+ dRepId . isScript ,
83+ balance
84+ )
85+ return res . status ( 200 ) . json ( { total : totalCount , page, size, items } )
6686}
6787
6888const getDrepLiveDelegators = async ( req : Request , res : Response ) => {
89+ const size = req . query . size ? + req . query . size : 10
90+ const page = req . query . page ? + req . query . page : 1
6991 const dRepId = decodeDrep ( req . params . id as string )
7092 const balance = req . query . balance === 'true'
71- const liveDelegators = await fetchDrepLiveDelegators ( dRepId . credential , dRepId . isScript , balance )
72- return res . status ( 200 ) . json ( liveDelegators )
93+ const { totalCount , items } = await fetchDrepLiveDelegators ( size , page , dRepId . credential , dRepId . isScript , balance )
94+ return res . status ( 200 ) . json ( { totalCount , page , size , items } )
7395}
7496
7597router . get ( '/' , handlerWrapper ( getDrepList ) )
0 commit comments