UNPKG

mnubo-sdk

Version:
126 lines (125 loc) 3.5 kB
import { Client } from '../mnubo'; export interface SimpleType { highLevelType: string; } export interface ComplexType { highLevelType: string; containerType: string; } export interface Timeseries { key: string; displayName: string; description: string; type: SimpleType; } export interface SingleTimeseries { key: string; displayName: string; description: string; type: SimpleType; eventTypeKeys: Array<string>; } export interface SingleObjectAttribute { key: string; displayName: string; description: string; type: ComplexType; objectTypeKeys: Array<string>; } export interface ObjectAttribute { key: string; displayName: string; description: string; type: ComplexType; } export interface OwnerAttribute { key: string; displayName: string; description: string; type: ComplexType; } export interface Sessionizer { key: string; displayName: string; description: string; startEventTypeKey: string; endEventTypeKey: string; } export interface EventType { key: string; displayName: string; description: string; origin: string; timeseries: Array<Timeseries>; } export interface SingleEventType { key: string; displayName: string; description: string; origin: string; timeseriesKeys: Array<string>; } export interface ObjectType { key: string; displayName: string; description: string; objectAttributes: Array<ObjectAttribute>; } export interface SingleObjectType { key: string; displayName: string; description: string; objectAttributesKeys: Array<string>; } export interface Orphans { timeseries?: Array<Timeseries>; objectAttributes?: Array<ObjectAttribute>; } export interface DataModel { objectTypes: Array<ObjectType>; eventTypes: Array<EventType>; ownerAttributes: Array<OwnerAttribute>; sessionizers: Array<Sessionizer>; orphans: Orphans; } export interface EntityOps<A> { create(values: Array<A> | A): Promise<void>; update(key: string, update: { displayName: string; description: string; }): Promise<void>; generateDeployCode(key: string): Promise<string>; applyDeployCode(key: string, code: string): Promise<void>; deploy(key: string): Promise<void>; } export interface TypeOps<A> { create(values: Array<A> | A): Promise<void>; update(key: string, update: A): Promise<void>; delete(key: string): Promise<void>; addRelation(key: string, entityKey: string): Promise<void>; removeRelation(key: string, entityKey: string): Promise<void>; } export interface ResetOps { generateResetCode(): Promise<string>; applyResetCode(code: string): Promise<void>; reset(): Promise<void>; } export interface SandboxOnlyOps { timeseriesOps: EntityOps<SingleTimeseries>; ownerAttributesOps: EntityOps<OwnerAttribute>; objectAttributesOps: EntityOps<SingleObjectAttribute>; objectTypesOps: TypeOps<SingleObjectType>; eventTypesOps: TypeOps<SingleEventType>; resetOps: ResetOps; } export declare class Model { private client; sandboxOps: SandboxOnlyOps; constructor(client: Client); export(): Promise<DataModel>; getTimeseries(): Promise<Array<Timeseries>>; getOwnerAttributes(): Promise<Array<OwnerAttribute>>; getObjectAttributes(): Promise<Array<ObjectAttribute>>; getObjectTypes(): Promise<Array<ObjectType>>; getEventTypes(): Promise<Array<EventType>>; }