UNPKG

@sap/subaccount-destination-service-provider

Version:

Provide service consumption of SAP subaccount services

68 lines (67 loc) 2.03 kB
import { Authentication, BaseProviderSystem, Filter } from "@sap/service-provider-apis"; export type BusinessObjectType = "BO INTERFACE"; export type CDSType = "CDS VIEW"; export interface BusinessItem { id: string; title: string; type: BusinessObjectType | CDSType; description: string | null; } export interface BusinessItemSpec { isUI: boolean; status: string; sot: string | null; sotName: string | null; entities: BusinessItemEntity[]; } export interface ProviderSystemBusiness extends BaseProviderSystem { product?: string; getBOs(options?: ProviderOptions): Promise<BusinessItem[]>; getCDS(options?: ProviderOptions): Promise<BusinessItem[]>; getSpecBo(boId: string): Promise<BusinessItemSpec>; getSpecCds(cdsId: string): Promise<BusinessItemSpec>; } export interface ProviderOptions { credentials?: Authentication; } export interface BusinessItemsRetriever { retrieveBusinessItems(destinationName: string, credentials?: Authentication): Promise<BusinessItem[]>; retrieveSpecBusinessItem(businessItemId: string): Promise<BusinessItemSpec>; } export interface BusinessRepositoryRetriever { retrieveSystemsBusinessItems(filter?: Filter): Promise<ProviderSystemBusiness[]>; } export interface RawBusinessItem { id: string; name: string; title: string; description: string | null; type: CDSType | BusinessObjectType; status: string; sot: string | null; sotName: string | null; entities: BusinessItemEntity[]; } export interface BusinessItemEntity { id: string; name: string; properties: EntityProperty[]; associations: EntityAssosiation[] | null; actions: EntityAction[] | null; } export interface EntityProperty { name: string; key: boolean; type: string; length: string | null; label: string | null; } export interface EntityAssosiation { name: string; assocName: string; cardinality: string; } export interface EntityAction { name: string; type: string; }