Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { PartnerServiceClient } from '../../../../proto/model/partner_pb_service';
- import { SERVICE_HOST } from '../../../transports/GRPCTransport';
- import {
- ListPartnerRequest,
- ListPartnerResponse,
- Partner,
- } from '../../../../proto/model/partner_pb';
- import {
- fetchDataCanceled,
- grpcToPromise,
- makeNumberFiltering,
- } from '../../../utils/grpc/grpcHelpers';
- import { NumberCondition } from '../../../../proto/github.com/infobloxopen/atlas-app-toolkit/query/collection_operators_pb';
- const partnerServiceClient = new PartnerServiceClient(SERVICE_HOST);
- export async function getPartnersByCustomerId(
- customerId: number,
- ): Promise<Partner[]> {
- const query = new ListPartnerRequest();
- const numberCondition = new NumberCondition();
- numberCondition.setFieldPathList(['customer', 'id']);
- numberCondition.setValue(customerId);
- numberCondition.setType(NumberCondition.Type.EQ);
- query.setFilter(makeNumberFiltering(numberCondition));
- const canceled = fetchDataCanceled({
- transport: grpcToPromise<ListPartnerRequest, ListPartnerResponse>(
- partnerServiceClient.list.bind(partnerServiceClient),
- ),
- data: query,
- });
- const result = canceled.then(({ response }) => (response ? response.getResultsList() : []));
- if (/*something to cancel request*/ customerId === 0) {
- canceled.cancel();
- return [];
- }
- return result;
- }
Add Comment
Please, Sign In to add comment