11import { runSafePromise } from '@lib/effectErrorHandler' ;
2- import { decodeWithBadRequest , safeFinalize } from '@lib/schemaUtils' ;
3- import stringifyQuery from '@lib/stringifyQuery' ;
42import {
53 finalizeGetBlacksRequest ,
64 type GetBlacksRequest ,
@@ -19,7 +17,6 @@ import {
1917import { GetBlacksResponse } from '@models/responses/iam/getBlacksResponse' ;
2018import { GetBlockGroupsResponse } from '@models/responses/iam/getBlockGroupsResponse' ;
2119import { GetBlockNumbersResponse } from '@models/responses/iam/getBlockNumbersResponse' ;
22- import * as Effect from 'effect/Effect' ;
2320import DefaultService from '../defaultService' ;
2421
2522export default class IamService extends DefaultService {
@@ -29,23 +26,12 @@ export default class IamService extends DefaultService {
2926 * @returns GetBlacksResponse
3027 */
3128 async getBlacks ( data ?: GetBlacksRequest ) : Promise < GetBlacksResponse > {
32- const reqEffect = this . requestEffect . bind ( this ) ;
3329 return runSafePromise (
34- Effect . gen ( function * ( ) {
35- const validated = data
36- ? yield * decodeWithBadRequest ( getBlacksRequestSchema , data )
37- : undefined ;
38- const payload = yield * safeFinalize ( ( ) =>
39- finalizeGetBlacksRequest ( validated ) ,
40- ) ;
41- const parameter = stringifyQuery ( payload , {
42- indices : false ,
43- addQueryPrefix : true ,
44- } ) ;
45- return yield * reqEffect < never , GetBlacksResponse > ( {
46- httpMethod : 'GET' ,
47- url : `iam/v1/black${ parameter } ` ,
48- } ) ;
30+ this . getWithQuery ( {
31+ schema : getBlacksRequestSchema ,
32+ finalize : finalizeGetBlacksRequest ,
33+ url : 'iam/v1/black' ,
34+ data,
4935 } ) ,
5036 ) ;
5137 }
@@ -58,23 +44,12 @@ export default class IamService extends DefaultService {
5844 async getBlockGroups (
5945 data ?: GetBlockGroupsRequest ,
6046 ) : Promise < GetBlockGroupsResponse > {
61- const reqEffect = this . requestEffect . bind ( this ) ;
6247 return runSafePromise (
63- Effect . gen ( function * ( ) {
64- const validated = data
65- ? yield * decodeWithBadRequest ( getBlockGroupsRequestSchema , data )
66- : undefined ;
67- const payload = yield * safeFinalize ( ( ) =>
68- finalizeGetBlockGroupsRequest ( validated ) ,
69- ) ;
70- const parameter = stringifyQuery ( payload , {
71- indices : false ,
72- addQueryPrefix : true ,
73- } ) ;
74- return yield * reqEffect < never , GetBlockGroupsResponse > ( {
75- httpMethod : 'GET' ,
76- url : `iam/v1/block/groups${ parameter } ` ,
77- } ) ;
48+ this . getWithQuery ( {
49+ schema : getBlockGroupsRequestSchema ,
50+ finalize : finalizeGetBlockGroupsRequest ,
51+ url : 'iam/v1/block/groups' ,
52+ data,
7853 } ) ,
7954 ) ;
8055 }
@@ -87,23 +62,12 @@ export default class IamService extends DefaultService {
8762 async getBlockNumbers (
8863 data ?: GetBlockNumbersRequest ,
8964 ) : Promise < GetBlockNumbersResponse > {
90- const reqEffect = this . requestEffect . bind ( this ) ;
9165 return runSafePromise (
92- Effect . gen ( function * ( ) {
93- const validated = data
94- ? yield * decodeWithBadRequest ( getBlockNumbersRequestSchema , data )
95- : undefined ;
96- const payload = yield * safeFinalize ( ( ) =>
97- finalizeGetBlockNumbersRequest ( validated ) ,
98- ) ;
99- const parameter = stringifyQuery ( payload , {
100- indices : false ,
101- addQueryPrefix : true ,
102- } ) ;
103- return yield * reqEffect < never , GetBlockNumbersResponse > ( {
104- httpMethod : 'GET' ,
105- url : `iam/v1/block/numbers${ parameter } ` ,
106- } ) ;
66+ this . getWithQuery ( {
67+ schema : getBlockNumbersRequestSchema ,
68+ finalize : finalizeGetBlockNumbersRequest ,
69+ url : 'iam/v1/block/numbers' ,
70+ data,
10771 } ) ,
10872 ) ;
10973 }
0 commit comments