IBM / keyprotect-nodejs-client

Nodejs SDK for interacting with the IBMCloud KeyProtect service.
Apache License 2.0
0 stars 10 forks source link

Unexpected response type for the `createKey` operation #9

Open CarstenLeue opened 3 years ago

CarstenLeue commented 3 years ago

The createKey operation is declared as follows:

createKey(params: IbmKeyProtectApiV2.CreateKeyParams): Promise<IbmKeyProtectApiV2.Response<IbmKeyProtectApiV2.Key>>;

with IbmKeyProtectApiV2.Response as

    interface Response<T = any> {
        result: T;
        status: number;
        statusText: string;
        headers: IncomingHttpHeaders;
    }

and IbmKeyProtectApiV2.Key:

        /** The metadata that describes the resource array. */
        metadata?: CollectionMetadata;
        /** A collection of resources. */
        resources?: KeyWithPayload[];

Why are metadata and resources optional if the API returns successfully? In that case a key has been created and the data structures need to be defined. Under what circumstances would they be undefined?

In case the API does not handle errors on the exception channel of the promise, then the result field on Response should be optional rather than the fields inside the response.