-
Notifications
You must be signed in to change notification settings - Fork 0
/
IModelInterfaces.ts
86 lines (77 loc) · 2.25 KB
/
IModelInterfaces.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
/** Property. */
export interface Property {
/** The name of the property. */
name: string;
/** The label of the property. */
label: string;
}
/** Aspect. */
export interface Aspect {
/** The name of the aspect. */
name: string;
/** The label of the aspect. */
label: string;
}
/** Type definition. */
export interface TypeDefinition {
/** The name of the type definition. */
name: string;
/** The label of the type definition. */
label: string;
}
/** Entity class. */
export interface EntityClass {
/** The name of the entity class. */
name: string;
/** The label of the entity class. */
label: string;
/* Array of properties in the entity class */
properties: Property[];
/* Array of aspects in the entity class */
aspects: Aspect[];
/* Array of type definitions in the entity class */
typeDefinitions: TypeDefinition[];
}
/** Schema. */
export interface Schema {
/** The name of the schema. */
name: string;
/** The label of the schema. */
label: string;
/* Array of entity classes in schema */
entityClass: EntityClass[];
}
/** Get Schema Info API response. */
export interface ResponseFromGetSchemaInfo {
/** The status of the schema info extraction. One of 'available', 'unavailable'. */
status: string;
/* Array of schemas in iModel */
schema: Schema[];
}
/** Model. */
export interface Model {
/** The id of the model. */
id: string;
/** The name of the model. */
displayName: string;
}
/** Category. */
export interface Category {
/** The id of the category. */
id: string;
/** The name of the category. */
displayName: string;
}
/** Get Models and Categories API response. */
export interface ResponseFromGetModelsAndCategories {
/** The status of the models and categories extraction. One of 'available', 'unavailable'. */
status: string;
/* Array of models in iModel */
models: Model[];
/* Array of categories in iModel */
categories: Category[];
}