@sap/ucl-provider
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

The ucl-provider Repository

Overview

    The ucl-provider is an npm package that provides the APIs necessary for exposing UCL systems, packages and services.

The UCL is working with cert and key. In BAS this is transperent to the user as it happens behind the scenes

UCL Docs

Usage

    To add this package as a dependency in your package.json file, under the "dependencies" section, add the following dependency: "@sap/ucl-provider": [Version]

Public APIs

UclProviderRepository

getSystems

Description: Provides a list of UCL systems.
Signature:

async getSystems(): Promise<UclSystemProviderSystem[]>

Input: none.

Output: A list of UCL Systems.

getServiceRetriever

Description: Retrieves an instance of the UCL Service Retriever implementation of the ServiceRetriever interface.
Signature:

getServiceRetriever(): UclServiceRetrieverInterface

Input: none.

Output: An instance that implements the UclServiceRetrieverInterface.

UclSystemProviderSystem

getPackages

Description: Provides a list of the UCL system's packages.
Signature:

getPackages(): Promise<UclPackageProviderSystem[]>

Input: none.

Output: A list of the UCL system's packages.

UclPackageProviderSystem

getServices

Description: Provides a list of UCL services.
Signature:

async getServices(): Promise<Service[]>

Input: none.

Output: A list of services.

getMetadata

Description: Provides the metadata of the UCL service.
Signature:

async getMetadata(
      service: Service, 
      encoding: EncodingMode,
      ): Promise<ServiceMetadata>

Input:

    service: The details of the service that you want to get the metadata for.

    encoding: For metadata, you should use EncodingMode.XML.

Output: An object that contains the metadata XML string of the service.

getJsonLiveData

Description: Provides live data from the UCL service.
Signature:

async getJsonLiveData(
      service: Service, 
      destName: string, 
      entityName: string, 
      options?: Record<string, any>): Promise<ServiceCommon>

Input:

    service: The details of the service that you want to get the live data for.

    destName: The destination name of the live data.

    entityName: The name of the entity in the service that you want the live data for.

    options: Accepts the following parameters:

        filter (optional): Provides query parameters to pass to the service. For example:

            new Filter(new Map([[ServiceRequestKey.TopRows, "2""]]))

Output: An object that contains a JSON string with live data from the service.

More Resources

    1. To create a key and certificate in UCL Canary, see this wiki..

        Note that the WS_BASE_URL in the lunch.json should be directed to UCL canary for the test flow to work.

    2. See a sample flow of ucl-provider APIs here.

Package Sidebar

Install

npm i @sap/ucl-provider

Weekly Downloads

3

Version

2.0.0

License

LICENSE.txt

Unpacked Size

449 kB

Total Files

108

Last publish

Collaborators

  • sap_extncrepos