mnubo-sdk
Version:
mnubo SmartObjects JavaScript client
126 lines (125 loc) • 3.5 kB
TypeScript
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>>;
}