diff options
Diffstat (limited to 'src/frontend/gateways/rpc/Ad.gateway.ts')
| -rw-r--r-- | src/frontend/gateways/rpc/Ad.gateway.ts | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/frontend/gateways/rpc/Ad.gateway.ts b/src/frontend/gateways/rpc/Ad.gateway.ts new file mode 100644 index 0000000..1fd7244 --- /dev/null +++ b/src/frontend/gateways/rpc/Ad.gateway.ts @@ -0,0 +1,19 @@ +// Copyright The OpenTelemetry Authors +// SPDX-License-Identifier: Apache-2.0 + +import { ChannelCredentials } from '@grpc/grpc-js'; +import { AdResponse, AdServiceClient } from '../../protos/demo'; + +const { AD_ADDR = '' } = process.env; + +const client = new AdServiceClient(AD_ADDR, ChannelCredentials.createInsecure()); + +const AdGateway = () => ({ + listAds(contextKeys: string[]) { + return new Promise<AdResponse>((resolve, reject) => + client.getAds({ contextKeys: contextKeys }, (error, response) => (error ? reject(error) : resolve(response))) + ); + }, +}); + +export default AdGateway(); |
