Skip to content

Commit b6ce30f

Browse files
committed
PATCH: add property filters (#883)
* add property filters * remove test of atrtibutes
1 parent e302234 commit b6ce30f

File tree

10 files changed

+153
-113
lines changed

10 files changed

+153
-113
lines changed

docs/CollaborationApi.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -960,7 +960,7 @@ Name | Type | Description | Notes
960960
961961
Create a document
962962

963-
Create a document. If the document is one of {'GLTF', 'OBJ', 'DXF', 'IFC', 'POINT_CLOUD', 'DWG'}, a model will be created and attached to this document Required scopes: document:write
963+
Create a document. If the document is one of {'POINT_CLOUD', 'OBJ', 'DWG', 'IFC', 'DXF', 'GLTF'}, a model will be created and attached to this document Required scopes: document:write
964964

965965
### Example
966966

docs/ModelApi.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,7 @@ let elementRequest = [new bimdata.ElementRequest()]; // [ElementRequest] |
686686
let opts = {
687687
'classification': "classification_example", // String |
688688
'classificationNotation': "classificationNotation_example", // String |
689+
'propertyFilter': "propertyFilter_example", // String |
689690
'type': "type_example" // String |
690691
};
691692
apiInstance.bulkFullUpdateElements(cloudPk, modelPk, projectPk, elementRequest, opts).then((data) => {
@@ -707,6 +708,7 @@ Name | Type | Description | Notes
707708
**elementRequest** | [**[ElementRequest]**](ElementRequest.md)| |
708709
**classification** | **String**| | [optional]
709710
**classificationNotation** | **String**| | [optional]
711+
**propertyFilter** | **String**| | [optional]
710712
**type** | **String**| | [optional]
711713

712714
### Return type
@@ -1035,6 +1037,7 @@ let elementRequest = [new bimdata.ElementRequest()]; // [ElementRequest] |
10351037
let opts = {
10361038
'classification': "classification_example", // String |
10371039
'classificationNotation': "classificationNotation_example", // String |
1040+
'propertyFilter': "propertyFilter_example", // String |
10381041
'type': "type_example" // String |
10391042
};
10401043
apiInstance.bulkUpdateElements(cloudPk, modelPk, projectPk, elementRequest, opts).then((data) => {
@@ -1056,6 +1059,7 @@ Name | Type | Description | Notes
10561059
**elementRequest** | [**[ElementRequest]**](ElementRequest.md)| |
10571060
**classification** | **String**| | [optional]
10581061
**classificationNotation** | **String**| | [optional]
1062+
**propertyFilter** | **String**| | [optional]
10591063
**type** | **String**| | [optional]
10601064

10611065
### Return type
@@ -1585,6 +1589,7 @@ let elementRequest = [new bimdata.ElementRequest()]; // [ElementRequest] |
15851589
let opts = {
15861590
'classification': "classification_example", // String |
15871591
'classificationNotation': "classificationNotation_example", // String |
1592+
'propertyFilter': "propertyFilter_example", // String |
15881593
'type': "type_example" // String |
15891594
};
15901595
apiInstance.createElement(cloudPk, modelPk, projectPk, elementRequest, opts).then((data) => {
@@ -1606,6 +1611,7 @@ Name | Type | Description | Notes
16061611
**elementRequest** | [**[ElementRequest]**](ElementRequest.md)| |
16071612
**classification** | **String**| | [optional]
16081613
**classificationNotation** | **String**| | [optional]
1614+
**propertyFilter** | **String**| | [optional]
16091615
**type** | **String**| | [optional]
16101616

16111617
### Return type
@@ -5408,7 +5414,7 @@ Name | Type | Description | Notes
54085414
54095415
Retrieve an element of a model
54105416

5411-
Retrieve an element of a model Required scopes: ifc:read, model:read
5417+
Retrieve an element of a model `property_filter` simple syntax: { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" } `property_filter` combinatory syntax: { \"operande\": \"AND\" | \"OR\", \"conditions\": [ { \"operande\": \"AND\" | \"OR\", \"conditions\": [...], } // OR { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" }, ... ] } Required scopes: ifc:read, model:read
54125418

54135419
### Example
54145420

@@ -5506,6 +5512,7 @@ let projectPk = 56; // Number | A unique integer value identifying this project.
55065512
let opts = {
55075513
'classification': "classification_example", // String |
55085514
'classificationNotation': "classificationNotation_example", // String |
5515+
'propertyFilter': "propertyFilter_example", // String |
55095516
'type': "type_example" // String |
55105517
};
55115518
apiInstance.getElementLinkedDocuments(cloudPk, modelPk, projectPk, opts).then((data) => {
@@ -5526,6 +5533,7 @@ Name | Type | Description | Notes
55265533
**projectPk** | **Number**| A unique integer value identifying this project. |
55275534
**classification** | **String**| | [optional]
55285535
**classificationNotation** | **String**| | [optional]
5536+
**propertyFilter** | **String**| | [optional]
55295537
**type** | **String**| | [optional]
55305538

55315539
### Return type
@@ -6116,7 +6124,7 @@ Name | Type | Description | Notes
61166124
61176125
Retrieve all elements of a model
61186126

6119-
Retrieve all elements of a model. If not filtered, the json may be very large. To efficently retrieve all elements and their data, see getRawElements Required scopes: ifc:read, model:read
6127+
Retrieve all elements of a model. If not filtered, the json may be very large. To efficently retrieve all elements and their data, see `getRawElements` or `getSimpleElements` `property_filter` simple syntax: { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" } `property_filter` combinatory syntax: { \"operande\": \"AND\" | \"OR\", \"conditions\": [ { \"operande\": \"AND\" | \"OR\", \"conditions\": [...], } // OR { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" }, ... ] } Required scopes: ifc:read, model:read
61206128

61216129
### Example
61226130

@@ -6147,6 +6155,7 @@ let projectPk = 56; // Number | A unique integer value identifying this project.
61476155
let opts = {
61486156
'classification': "classification_example", // String |
61496157
'classificationNotation': "classificationNotation_example", // String |
6158+
'propertyFilter': "propertyFilter_example", // String |
61506159
'type': "type_example" // String |
61516160
};
61526161
apiInstance.getElements(cloudPk, modelPk, projectPk, opts).then((data) => {
@@ -6167,6 +6176,7 @@ Name | Type | Description | Notes
61676176
**projectPk** | **Number**| A unique integer value identifying this project. |
61686177
**classification** | **String**| | [optional]
61696178
**classificationNotation** | **String**| | [optional]
6179+
**propertyFilter** | **String**| | [optional]
61706180
**type** | **String**| | [optional]
61716181

61726182
### Return type
@@ -7552,6 +7562,7 @@ let projectPk = 56; // Number | A unique integer value identifying this project.
75527562
let opts = {
75537563
'classification': "classification_example", // String |
75547564
'classificationNotation': "classificationNotation_example", // String |
7565+
'propertyFilter': "propertyFilter_example", // String |
75557566
'type': "type_example" // String |
75567567
};
75577568
apiInstance.getPropertiesTypes(cloudPk, modelPk, projectPk, opts).then((data) => {
@@ -7572,6 +7583,7 @@ Name | Type | Description | Notes
75727583
**projectPk** | **Number**| A unique integer value identifying this project. |
75737584
**classification** | **String**| | [optional]
75747585
**classificationNotation** | **String**| | [optional]
7586+
**propertyFilter** | **String**| | [optional]
75757587
**type** | **String**| | [optional]
75767588

75777589
### Return type
@@ -7726,7 +7738,7 @@ Name | Type | Description | Notes
77267738
77277739
Retrieve all elements in a optimized format
77287740

7729-
Instead of a nested representation, this route respond with a flat structure and indices pointing to related object. The IFC file will not be updated. The created elements will be accessible over the API and when exporting an IFC file. Returns elements, property_sets, properties, definitions and units in a JSON optimized structure Required scopes: ifc:read, model:read
7741+
Instead of a nested representation, this route respond with a flat structure and indices pointing to related object. The IFC file will not be updated. The created elements will be accessible over the API and when exporting an IFC file. Returns elements, property_sets, properties, definitions and units in a JSON optimized structure `property_filter` simple syntax: { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" } `property_filter` combinatory syntax: { \"operande\": \"AND\" | \"OR\", \"conditions\": [ { \"operande\": \"AND\" | \"OR\", \"conditions\": [...], } // OR { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" }, ... ] } Required scopes: ifc:read, model:read
77307742

77317743
### Example
77327744

@@ -7757,6 +7769,7 @@ let projectPk = 56; // Number | A unique integer value identifying this project.
77577769
let opts = {
77587770
'classification': "classification_example", // String |
77597771
'classificationNotation': "classificationNotation_example", // String |
7772+
'propertyFilter': "propertyFilter_example", // String |
77607773
'type': "type_example" // String |
77617774
};
77627775
apiInstance.getRawElements(cloudPk, modelPk, projectPk, opts).then((data) => {
@@ -7777,6 +7790,7 @@ Name | Type | Description | Notes
77777790
**projectPk** | **Number**| A unique integer value identifying this project. |
77787791
**classification** | **String**| | [optional]
77797792
**classificationNotation** | **String**| | [optional]
7793+
**propertyFilter** | **String**| | [optional]
77807794
**type** | **String**| | [optional]
77817795

77827796
### Return type
@@ -7866,7 +7880,7 @@ Name | Type | Description | Notes
78667880
78677881
Retrieve all elements of a model with a simple value representation
78687882

7869-
Retrieve all elements of a model with a simple value representation Required scopes: ifc:read, model:read
7883+
Retrieve all elements of a model with a simple value representation `property_filter` simple syntax: { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" } `property_filter` combinatory syntax: { \"operande\": \"AND\" | \"OR\", \"conditions\": [ { \"operande\": \"AND\" | \"OR\", \"conditions\": [...], } // OR { \"name\": \"property_name\", \"comparator\": \"contains\" | \"icontains\" | \"exact\" | \"gt\" | \"gte\" | \"lt\" | \"lte\" | \"startswith\" | \"istartswith\" | \"endswith\" | \"iendswith\", \"value\": \"property_value\" }, ... ] } Required scopes: ifc:read, model:read
78707884

78717885
### Example
78727886

@@ -7897,6 +7911,7 @@ let projectPk = 56; // Number | A unique integer value identifying this project.
78977911
let opts = {
78987912
'classification': "classification_example", // String |
78997913
'classificationNotation': "classificationNotation_example", // String |
7914+
'propertyFilter': "propertyFilter_example", // String |
79007915
'type': "type_example" // String |
79017916
};
79027917
apiInstance.getSimpleElements(cloudPk, modelPk, projectPk, opts).then((data) => {
@@ -7917,6 +7932,7 @@ Name | Type | Description | Notes
79177932
**projectPk** | **Number**| A unique integer value identifying this project. |
79187933
**classification** | **String**| | [optional]
79197934
**classificationNotation** | **String**| | [optional]
7935+
**propertyFilter** | **String**| | [optional]
79207936
**type** | **String**| | [optional]
79217937

79227938
### Return type

docs/WriteFolder.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,22 @@
44

55
Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
7-
**nature** | **String** | Value is \"Folder\". It is usefull to parse the tree and discriminate folders and files | [readonly]
8-
**updatedAt** | **Date** | Date of the last update | [readonly]
9-
**createdBy** | [**ShortUser**](ShortUser.md) | | [readonly]
10-
**name** | **String** | Name of the folder |
7+
**userPermission** | **Number** | Aggregate of group user permissions and folder default permission | [readonly]
118
**groupsPermissions** | [**[GroupFolderRead]**](GroupFolderRead.md) | List of group permissions | [readonly]
129
**defaultPermission** | **Number** | Permission for a Folder * `1` - denied * `50` - read_only * `100` - read_write | [optional]
13-
**userPermission** | **Number** | Aggregate of group user permissions and folder default permission | [readonly]
1410
**id** | **Number** | | [readonly]
15-
**parentId** | **Number** | | [optional]
11+
**name** | **String** | Name of the folder |
1612
**type** | **String** | DEPRECATED: Use 'nature' instead. Value is \"Folder\". It is usefull to parse the tree and discriminate folders and files | [readonly]
13+
**createdBy** | [**ShortUser**](ShortUser.md) | | [readonly]
14+
**nature** | **String** | Value is \"Folder\". It is usefull to parse the tree and discriminate folders and files | [readonly]
15+
**parentId** | **Number** | | [optional]
16+
**updatedAt** | **Date** | Date of the last update | [readonly]
1717
**createdAt** | **Date** | Creation date | [readonly]
1818
**children** | [**[WriteFolder]**](WriteFolder.md) | | [optional]
1919

2020

2121

22-
## Enum: DefaultPermissionEnum
22+
## Enum: UserPermissionEnum
2323

2424

2525
* `1` (value: `1`)
@@ -32,7 +32,7 @@ Name | Type | Description | Notes
3232

3333

3434

35-
## Enum: UserPermissionEnum
35+
## Enum: DefaultPermissionEnum
3636

3737

3838
* `1` (value: `1`)

docs/WriteFolderRequest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
Name | Type | Description | Notes
66
------------ | ------------- | ------------- | -------------
7-
**name** | **String** | Name of the folder |
87
**defaultPermission** | **Number** | Permission for a Folder * `1` - denied * `50` - read_only * `100` - read_write | [optional]
8+
**name** | **String** | Name of the folder |
99
**parentId** | **Number** | | [optional]
1010
**children** | [**[WriteFolder]**](WriteFolder.md) | | [optional]
1111

src/api/CollaborationApi.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -866,7 +866,7 @@ export default class CollaborationApi {
866866

867867
/**
868868
* Create a document
869-
* Create a document. If the document is one of {'GLTF', 'OBJ', 'DXF', 'IFC', 'POINT_CLOUD', 'DWG'}, a model will be created and attached to this document Required scopes: document:write
869+
* Create a document. If the document is one of {'POINT_CLOUD', 'OBJ', 'DWG', 'IFC', 'DXF', 'GLTF'}, a model will be created and attached to this document Required scopes: document:write
870870
* @param {Number} cloudPk A unique integer value identifying this cloud.
871871
* @param {Number} projectPk A unique integer value identifying this project.
872872
* @param {String} name Shown name of the file
@@ -934,7 +934,7 @@ export default class CollaborationApi {
934934

935935
/**
936936
* Create a document
937-
* Create a document. If the document is one of {'GLTF', 'OBJ', 'DXF', 'IFC', 'POINT_CLOUD', 'DWG'}, a model will be created and attached to this document Required scopes: document:write
937+
* Create a document. If the document is one of {'POINT_CLOUD', 'OBJ', 'DWG', 'IFC', 'DXF', 'GLTF'}, a model will be created and attached to this document Required scopes: document:write
938938
* @param {Number} cloudPk A unique integer value identifying this cloud.
939939
* @param {Number} projectPk A unique integer value identifying this project.
940940
* @param {String} name Shown name of the file

0 commit comments

Comments
 (0)