avvir 7.1.6 → 7.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/avvir_api.node.js +725 -609
- package/dist/esm/api/comment_api.d.ts +2 -2
- package/dist/esm/api/comment_api.js.map +1 -1
- package/dist/esm/api/element_api.d.ts +3 -3
- package/dist/esm/api/element_api.js.map +1 -1
- package/dist/esm/api/file_information_api.d.ts +3 -2
- package/dist/esm/api/file_information_api.js +4 -5
- package/dist/esm/api/file_information_api.js.map +1 -1
- package/dist/esm/api/floor_api.d.ts +3 -5
- package/dist/esm/api/floor_api.js +2 -1
- package/dist/esm/api/floor_api.js.map +1 -1
- package/dist/esm/api/group_api.d.ts +3 -3
- package/dist/esm/api/group_api.js.map +1 -1
- package/dist/esm/api/integrations_api.d.ts +5 -5
- package/dist/esm/api/integrations_api.js.map +1 -1
- package/dist/esm/api/photo_area_api.d.ts +2 -2
- package/dist/esm/api/photo_area_api.js +1 -1
- package/dist/esm/api/photo_area_api.js.map +1 -1
- package/dist/esm/api/pipeline_api.d.ts +2 -3
- package/dist/esm/api/pipeline_api.js.map +1 -1
- package/dist/esm/api/project_api.d.ts +3 -4
- package/dist/esm/api/project_api.js +6 -3
- package/dist/esm/api/project_api.js.map +1 -1
- package/dist/esm/api/recipe_api.d.ts +2 -3
- package/dist/esm/api/recipe_api.js.map +1 -1
- package/dist/esm/api/report_api.d.ts +2 -3
- package/dist/esm/api/report_api.js +1 -1
- package/dist/esm/api/report_api.js.map +1 -1
- package/dist/esm/api/scan_dataset_api.d.ts +4 -3
- package/dist/esm/api/scan_dataset_api.js +11 -3
- package/dist/esm/api/scan_dataset_api.js.map +1 -1
- package/dist/esm/api/trade_api.d.ts +2 -5
- package/dist/esm/api/trade_api.js.map +1 -1
- package/dist/esm/api/web_gateway_api.d.ts +2 -6
- package/dist/esm/api/web_gateway_api.js +9 -4
- package/dist/esm/api/web_gateway_api.js.map +1 -1
- package/dist/esm/api/work_package_api.d.ts +2 -2
- package/dist/esm/api/work_package_api.js.map +1 -1
- package/dist/esm/converters/date_converter.d.ts +2 -1
- package/dist/esm/converters/date_converter.js +14 -0
- package/dist/esm/converters/date_converter.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mixins/add_date_getter_and_setter_to_domain_model.d.ts +1 -1
- package/dist/esm/mixins/add_date_getter_and_setter_to_domain_model.js.map +1 -1
- package/dist/esm/mixins/add_instant_getter_and_setter_to_api_model.d.ts +1 -1
- package/dist/esm/mixins/add_instant_getter_and_setter_to_api_model.js.map +1 -1
- package/dist/esm/models/api/api_action_payload.d.ts +1 -1
- package/dist/esm/models/api/api_cloud_file.d.ts +2 -5
- package/dist/esm/models/api/api_cloud_file.js +1 -1
- package/dist/esm/models/api/api_cloud_file.js.map +1 -1
- package/dist/esm/models/api/api_cloud_file_location_3d.d.ts +1 -1
- package/dist/esm/models/api/api_cloud_file_location_3d.js.map +1 -1
- package/dist/esm/models/api/api_integration_credentials.d.ts +1 -1
- package/dist/esm/models/api/api_integration_project.d.ts +1 -1
- package/dist/esm/models/api/api_masterformat_progress.d.ts +1 -1
- package/dist/esm/models/api/api_pipeline.d.ts +1 -1
- package/dist/esm/models/api/api_project.d.ts +1 -1
- package/dist/esm/models/api/api_project_cost_analysis_progress.d.ts +1 -1
- package/dist/esm/models/api/api_project_masterformat_progress.d.ts +1 -1
- package/dist/esm/models/api/api_running_process.d.ts +1 -1
- package/dist/esm/models/api/api_view.d.ts +1 -1
- package/dist/esm/models/api/index.d.ts +64 -66
- package/dist/esm/models/api/index.js +63 -65
- package/dist/esm/models/api/index.js.map +1 -1
- package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.d.ts +3 -0
- package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.js +3 -0
- package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.js.map +1 -0
- package/dist/esm/models/api/integrations/autodesk/api_hubs.d.ts +2 -4
- package/dist/esm/models/api/integrations/autodesk/api_hubs.js +0 -2
- package/dist/esm/models/api/integrations/autodesk/api_hubs.js.map +1 -1
- package/dist/esm/models/api/integrations/autodesk/api_projects.d.ts +2 -4
- package/dist/esm/models/api/integrations/autodesk/api_projects.js +0 -2
- package/dist/esm/models/api/integrations/autodesk/api_projects.js.map +1 -1
- package/dist/esm/models/api/integrations/autodesk/index.d.ts +4 -0
- package/dist/esm/models/api/integrations/autodesk/index.js +5 -0
- package/dist/esm/models/api/integrations/autodesk/index.js.map +1 -0
- package/dist/esm/models/api/integrations/index.d.ts +2 -0
- package/dist/esm/models/api/integrations/index.js +3 -0
- package/dist/esm/models/api/integrations/index.js.map +1 -0
- package/dist/esm/models/api/{PbeTsvType.js → pbe_tsv_type.js} +1 -1
- package/dist/esm/models/api/pbe_tsv_type.js.map +1 -0
- package/dist/esm/models/api/{api_photo_area.js → photos/api_photo_area.js} +1 -1
- package/dist/esm/models/api/photos/api_photo_area.js.map +1 -0
- package/dist/esm/models/api/{api_photo_location.d.ts → photos/api_photo_location.d.ts} +4 -4
- package/dist/esm/models/api/{api_photo_location.js → photos/api_photo_location.js} +1 -1
- package/dist/esm/models/api/photos/api_photo_location.js.map +1 -0
- package/dist/esm/models/api/{api_photo_location_3d.d.ts → photos/api_photo_location_3d.d.ts} +2 -2
- package/dist/esm/models/api/{api_photo_location_3d.js → photos/api_photo_location_3d.js} +2 -2
- package/dist/esm/models/api/photos/api_photo_location_3d.js.map +1 -0
- package/dist/esm/models/api/{api_photo_session.d.ts → photos/api_photo_session.d.ts} +1 -1
- package/dist/esm/models/api/{api_photo_session.js → photos/api_photo_session.js} +2 -2
- package/dist/esm/models/api/photos/api_photo_session.js.map +1 -0
- package/dist/esm/models/api/photos/index.d.ts +4 -0
- package/dist/esm/models/api/photos/index.js +5 -0
- package/dist/esm/models/api/photos/index.js.map +1 -0
- package/dist/esm/models/enums/api_purpose_type.js.map +1 -0
- package/dist/esm/{models/api/type_aliases.d.ts → typings/type_aliases/index.d.ts} +31 -25
- package/dist/esm/typings/type_aliases/index.js +2 -0
- package/dist/esm/typings/type_aliases/index.js.map +1 -0
- package/dist/esm/utilities/{pollPipeline.js → poll_pipeline.js} +1 -1
- package/dist/esm/utilities/poll_pipeline.js.map +1 -0
- package/package.json +1 -1
- package/source/api/comment_api.ts +9 -6
- package/source/api/element_api.ts +7 -5
- package/source/api/file_information_api.ts +8 -8
- package/source/api/floor_api.ts +6 -7
- package/source/api/group_api.ts +5 -4
- package/source/api/integrations_api.ts +180 -168
- package/source/api/photo_area_api.ts +5 -3
- package/source/api/pipeline_api.ts +6 -6
- package/source/api/project_api.ts +21 -15
- package/source/api/recipe_api.ts +3 -3
- package/source/api/report_api.ts +52 -37
- package/source/api/scan_dataset_api.ts +24 -10
- package/source/api/trade_api.ts +7 -7
- package/source/api/web_gateway_api.ts +57 -27
- package/source/api/work_package_api.ts +4 -2
- package/source/converters/date_converter.ts +14 -1
- package/source/index.ts +1 -0
- package/source/mixins/add_date_getter_and_setter_to_domain_model.ts +3 -1
- package/source/mixins/add_instant_getter_and_setter_to_api_model.ts +2 -1
- package/source/models/api/api_action_payload.ts +1 -1
- package/source/models/api/api_cloud_file.ts +2 -3
- package/source/models/api/api_cloud_file_location_3d.ts +3 -2
- package/source/models/api/api_integration_credentials.ts +1 -1
- package/source/models/api/api_integration_project.ts +1 -1
- package/source/models/api/api_masterformat_progress.ts +1 -1
- package/source/models/api/api_pipeline.ts +1 -1
- package/source/models/api/api_project.ts +1 -1
- package/source/models/api/api_project_cost_analysis_progress.ts +1 -1
- package/source/models/api/api_project_masterformat_progress.ts +1 -1
- package/source/models/api/api_running_process.ts +1 -1
- package/source/models/api/api_view.ts +1 -1
- package/source/models/api/index.ts +64 -66
- package/source/models/api/integrations/autodesk/api_autodesk_attriibutes.ts +3 -0
- package/source/models/api/integrations/autodesk/api_hubs.ts +7 -9
- package/source/models/api/integrations/autodesk/api_projects.ts +7 -9
- package/source/models/api/integrations/autodesk/index.ts +4 -0
- package/source/models/api/integrations/index.ts +2 -0
- package/source/models/api/{api_photo_area.ts → photos/api_photo_area.ts} +10 -2
- package/source/models/api/{api_photo_location.ts → photos/api_photo_location.ts} +5 -5
- package/source/models/api/{api_photo_location_3d.ts → photos/api_photo_location_3d.ts} +3 -3
- package/source/models/api/{api_photo_session.ts → photos/api_photo_session.ts} +3 -3
- package/source/models/api/photos/index.ts +4 -0
- package/source/typings/modules.d.ts +0 -16
- package/source/{models/api/type_aliases.ts → typings/type_aliases/index.ts} +32 -22
- package/source/utilities/poll_pipeline.ts +19 -0
- package/dist/esm/models/api/PbeTsvType.js.map +0 -1
- package/dist/esm/models/api/api_photo_area.js.map +0 -1
- package/dist/esm/models/api/api_photo_location.js.map +0 -1
- package/dist/esm/models/api/api_photo_location_3d.js.map +0 -1
- package/dist/esm/models/api/api_photo_session.js.map +0 -1
- package/dist/esm/models/api/api_purpose_type.js.map +0 -1
- package/dist/esm/models/api/type_aliases.js +0 -2
- package/dist/esm/models/api/type_aliases.js.map +0 -1
- package/dist/esm/utilities/pollPipeline.js.map +0 -1
- package/source/typings/type_aliases/index.d.ts +0 -65
- package/source/utilities/pollPipeline.ts +0 -19
- /package/dist/esm/models/api/{PbeTsvType.d.ts → pbe_tsv_type.d.ts} +0 -0
- /package/dist/esm/models/api/{api_photo_area.d.ts → photos/api_photo_area.d.ts} +0 -0
- /package/dist/esm/models/{api → enums}/api_purpose_type.d.ts +0 -0
- /package/dist/esm/models/{api → enums}/api_purpose_type.js +0 -0
- /package/dist/esm/utilities/{pollPipeline.d.ts → poll_pipeline.d.ts} +0 -0
- /package/source/models/api/{PbeTsvType.ts → pbe_tsv_type.ts} +0 -0
- /package/source/models/{api → enums}/api_purpose_type.ts +0 -0
|
@@ -1,178 +1,190 @@
|
|
|
1
|
-
import {
|
|
2
|
-
ApiIntegrationCredentials,
|
|
3
|
-
ApiIntegrationCredentialsType,
|
|
4
|
-
ApiIntegrationProject,
|
|
5
|
-
ApiRunningProcess,
|
|
6
|
-
AssociationIds,
|
|
7
|
-
User
|
|
8
|
-
} from "../models";
|
|
9
1
|
import Http from "../utilities/http";
|
|
10
2
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
11
|
-
import {ApiObservationRequest} from "../models/api/integrations/procore/api_observation_request";
|
|
12
|
-
import ApiProjects from "../models/api/integrations/autodesk/api_projects";
|
|
13
|
-
import ApiHubs from "../models/api/integrations/autodesk/api_hubs";
|
|
14
|
-
import ApiAutodeskAccessToken from "../models/api/integrations/autodesk/api_access_token";
|
|
15
3
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}: AssociationIds, credentialType: ApiIntegrationCredentialsType, user: User): Promise<ApiIntegrationCredentials> {
|
|
22
|
-
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialType}`;
|
|
23
|
-
return Http.get(url, user) as unknown as Promise<ApiIntegrationCredentials>;
|
|
24
|
-
}
|
|
4
|
+
import type ApiAutodeskAccessToken from "../models/api/integrations/autodesk/api_access_token";
|
|
5
|
+
import type ApiHubs from "../models/api/integrations/autodesk/api_hubs";
|
|
6
|
+
import type ApiProjects from "../models/api/integrations/autodesk/api_projects";
|
|
7
|
+
import type { ApiIntegrationCredentials, ApiIntegrationCredentialsType, ApiIntegrationProject, ApiObservationRequest, ApiRunningProcess, User } from "../models";
|
|
8
|
+
import type { AssociationIds } from "type_aliases";
|
|
25
9
|
|
|
26
|
-
|
|
27
|
-
organizationId,
|
|
28
|
-
projectId
|
|
29
|
-
}: AssociationIds, credentialType: ApiIntegrationCredentialsType, user: User): Promise<ApiIntegrationProject[]> {
|
|
30
|
-
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialType}/projects`;
|
|
31
|
-
return Http.get(url, user) as unknown as Promise<ApiIntegrationProject[]>;
|
|
32
|
-
}
|
|
10
|
+
export default class IntegrationsApi {
|
|
33
11
|
|
|
34
|
-
|
|
12
|
+
static getIntegrationCredentials({
|
|
13
|
+
organizationId,
|
|
14
|
+
projectId
|
|
15
|
+
}: AssociationIds,
|
|
16
|
+
credentialType: ApiIntegrationCredentialsType,
|
|
17
|
+
user: User): Promise<ApiIntegrationCredentials> {
|
|
18
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialType}`;
|
|
19
|
+
return Http.get(url, user) as unknown as Promise<ApiIntegrationCredentials>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
static getIntegrationProjectsForCredentials({
|
|
35
23
|
organizationId,
|
|
36
24
|
projectId
|
|
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
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
25
|
+
}: AssociationIds,
|
|
26
|
+
credentialType: ApiIntegrationCredentialsType,
|
|
27
|
+
user: User): Promise<ApiIntegrationProject[]> {
|
|
28
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialType}/projects`;
|
|
29
|
+
return Http.get(url, user) as unknown as Promise<ApiIntegrationProject[]>;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static getProjectIntegrationCredentials({
|
|
33
|
+
organizationId,
|
|
34
|
+
projectId
|
|
35
|
+
}: AssociationIds, user: User): Promise<ApiIntegrationCredentials[]> {
|
|
36
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials`;
|
|
37
|
+
return Http.get(url, user) as unknown as Promise<ApiIntegrationCredentials[]>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static saveIntegrationCredentials({
|
|
41
|
+
organizationId,
|
|
42
|
+
projectId
|
|
43
|
+
}: AssociationIds,
|
|
44
|
+
credentials: ApiIntegrationCredentials,
|
|
45
|
+
user: User): Promise<ApiIntegrationCredentials> {
|
|
46
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentials.credentialsType}`;
|
|
47
|
+
return Http.put(url, user, credentials) as unknown as Promise<ApiIntegrationCredentials>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static syncIntegrationProjects({
|
|
51
|
+
organizationId,
|
|
52
|
+
projectId
|
|
53
|
+
}: AssociationIds,
|
|
54
|
+
credentialsType: ApiIntegrationCredentialsType,
|
|
55
|
+
user: User): Promise<ApiRunningProcess> {
|
|
56
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialsType}/sync-projects`;
|
|
57
|
+
return Http.post(url, user) as unknown as Promise<ApiRunningProcess>;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
static syncIntegrationPhotoAreas({
|
|
61
|
+
organizationId,
|
|
62
|
+
projectId
|
|
63
|
+
}: AssociationIds,
|
|
64
|
+
credentialsType: ApiIntegrationCredentialsType,
|
|
65
|
+
user: User): Promise<ApiRunningProcess> {
|
|
66
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/credentials/${credentialsType}/sync-photo-areas`;
|
|
67
|
+
return Http.post(url, user) as unknown as Promise<ApiRunningProcess>;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
static updateProjectIntegrationProject({
|
|
71
|
+
organizationId,
|
|
72
|
+
projectId
|
|
73
|
+
}: AssociationIds,
|
|
74
|
+
integrationProject: ApiIntegrationProject | null,
|
|
75
|
+
user: User): Promise<void> {
|
|
76
|
+
const url = `${Http.baseUrl()}/integrations/organizations/${organizationId}/projects/${projectId}/set-integration-project`;
|
|
77
|
+
return Http.post(url, user, integrationProject) as unknown as Promise<void>;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
static checkProcoreAccessToken(procoreAccessToken: string,
|
|
81
|
+
user: User): Promise<{ expiresInSeconds: number }> {
|
|
82
|
+
if (!procoreAccessToken) {
|
|
83
|
+
return Promise.reject(new Error("Procore access token not found"));
|
|
84
|
+
}
|
|
85
|
+
let url = `${Http.baseUrl()}/integrations/procore/access-token?procore-access-token=${procoreAccessToken}`;
|
|
86
|
+
return Http.get(url, user) as unknown as Promise<{ expiresInSeconds: number }>;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
static pushPdfToProcore({
|
|
90
|
+
projectId,
|
|
91
|
+
floorId,
|
|
92
|
+
scanDatasetId
|
|
93
|
+
}: AssociationIds,
|
|
94
|
+
procoreProjectId: string,
|
|
95
|
+
procoreCompanyId: string,
|
|
96
|
+
procoreAccessToken: string,
|
|
97
|
+
pdfType: string,
|
|
98
|
+
user: User): Promise<{
|
|
99
|
+
id: number
|
|
100
|
+
}>
|
|
101
|
+
{
|
|
102
|
+
if (!projectId) {
|
|
103
|
+
return Promise.reject(new Error("Project not loaded yet"));
|
|
104
|
+
}
|
|
105
|
+
const url = `${Http.baseUrl()}/projects/${projectId}/push-report-to-procore/${pdfType}?procore-project-id=${procoreProjectId}&procore-company-id=${procoreCompanyId}&procore-access-token=${procoreAccessToken}`;
|
|
106
|
+
return Http.post(url, user, null) as unknown as Promise<{ id: number }>;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
static getProcoreProjects(procoreAccessToken: string,
|
|
110
|
+
companyId: string,
|
|
111
|
+
user: User): Promise<{ lastUpdated: number, projectId: string | number }[]> {
|
|
112
|
+
if (!procoreAccessToken) {
|
|
113
|
+
return Promise.reject(new Error("Procore access token not found"));
|
|
114
|
+
}
|
|
115
|
+
let url = `${Http.baseUrl()}/integrations/procore/projects`;
|
|
116
|
+
const params = [];
|
|
117
|
+
params.push(`procore-access-token=${procoreAccessToken}`);
|
|
118
|
+
if (companyId) {
|
|
119
|
+
params.push(`companyId=${companyId}`);
|
|
120
|
+
}
|
|
121
|
+
url += "?" + params.join("&");
|
|
122
|
+
return Http.get(url, user) as unknown as Promise<{ lastUpdated: number, projectId: string | number }[]>;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
static getProcoreCompanies(procoreAccessToken: string,
|
|
126
|
+
user: User): Promise<{ name: string, id: string | number }[]> {
|
|
127
|
+
if (!procoreAccessToken) {
|
|
128
|
+
return Promise.reject(new Error("Procore access token not found"));
|
|
129
|
+
}
|
|
130
|
+
let url = `${Http.baseUrl()}/integrations/procore/companies?procore-access-token=${procoreAccessToken}`;
|
|
131
|
+
return Http.get(url, user) as unknown as Promise<{ name: string, id: string | number }[]>;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
static listProcoreObservationTypes(procoreAccessToken: string,
|
|
135
|
+
companyId: string,
|
|
136
|
+
user: User): Promise<{ name: string, id: string | number, category: string }[]> {
|
|
137
|
+
if (!procoreAccessToken) {
|
|
138
|
+
return Promise.reject(new Error("Procore access token not found"));
|
|
139
|
+
}
|
|
140
|
+
if (!companyId) {
|
|
141
|
+
return Promise.reject(new Error("company id not found"));
|
|
142
|
+
}
|
|
143
|
+
let url = `${Http.baseUrl()}/integrations/procore/${companyId}/observation-types?procore-access-token=${procoreAccessToken}`;
|
|
144
|
+
return Http.get(url, user) as unknown as Promise<{ name: string, id: string | number, category: string }[]>;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
static CreateProcoreObservation(procoreAccessToken: string,
|
|
148
|
+
companyId: string,
|
|
149
|
+
projectId: string,
|
|
150
|
+
observationRequest: ApiObservationRequest,
|
|
151
|
+
user: User): Promise<void> {
|
|
152
|
+
if (!procoreAccessToken) {
|
|
153
|
+
return Promise.reject(new Error("Procore access token not found"));
|
|
154
|
+
}
|
|
155
|
+
if (!projectId) {
|
|
156
|
+
return Promise.reject(new Error("project id not found"));
|
|
157
|
+
}
|
|
158
|
+
if (!companyId) {
|
|
159
|
+
return Promise.reject(new Error("company id not found"));
|
|
160
|
+
}
|
|
161
|
+
let url = `${Http.baseUrl()}/integrations/procore/${companyId}/${projectId}/create-observation?procore-access-token=${procoreAccessToken}`;
|
|
162
|
+
return Http.post(url, user, observationRequest) as unknown as Promise<void>;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
static getAutodeskAccessToken(code: string, redirectUri: string, user: User): Promise<ApiAutodeskAccessToken> {
|
|
166
|
+
if (!code || !redirectUri) {
|
|
167
|
+
return Promise.reject(new Error("Invalid client secret or redirectUri"));
|
|
168
|
+
}
|
|
169
|
+
const url = `${Http.baseUrl()}/integrations/autodesk/access-token?code=${code}&redirect-uri=${redirectUri}`;
|
|
170
|
+
return Http.get(url, user) as unknown as Promise<ApiAutodeskAccessToken>;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
static getAutodeskHubs(access_token: string, user: User): Promise<ApiHubs> {
|
|
174
|
+
if (!access_token) {
|
|
175
|
+
return Promise.reject(new Error("Invalid access token"));
|
|
176
|
+
}
|
|
177
|
+
const url = `${Http.baseUrl()}/integrations/autodesk/hubs?access-token=${access_token}`;
|
|
178
|
+
return Http.get(url, user) as unknown as Promise<ApiHubs>;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
static getAutodeskProjects(access_token: string, hubId: string, user: User): Promise<ApiProjects> {
|
|
182
|
+
if (!access_token || !hubId) {
|
|
183
|
+
return Promise.reject(new Error("Invalid access token or hubId"));
|
|
184
|
+
}
|
|
185
|
+
const url = `${Http.baseUrl()}/integrations/autodesk/projects?access-token=${access_token}&hubId=${hubId}`;
|
|
186
|
+
return Http.get(url, user) as unknown as Promise<ApiProjects>;
|
|
187
|
+
}
|
|
176
188
|
|
|
177
189
|
}
|
|
178
190
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { isArray } from "underscore";
|
|
2
|
-
|
|
3
|
-
import { User } from "../utilities/get_authorization_headers";
|
|
4
|
-
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
2
|
+
|
|
5
3
|
import Http from "../utilities/http";
|
|
4
|
+
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
5
|
+
|
|
6
|
+
import type { ApiPhotoArea, ApiPhotoLocation, ApiPhotoLocation3d, ApiPhotoSession, User } from "../models";
|
|
7
|
+
import type { AssociationIds } from "type_aliases";
|
|
6
8
|
|
|
7
9
|
export default class PhotoAreaApi {
|
|
8
10
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AssociationIds } from "../models";
|
|
2
1
|
import Http from "../utilities/http";
|
|
3
2
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
4
|
-
|
|
5
|
-
import ApiPipeline,
|
|
3
|
+
|
|
4
|
+
import type { ApiPipeline, ApiPipelineArgument, User } from "../models";
|
|
5
|
+
import type { AssociationIds } from "type_aliases";
|
|
6
6
|
|
|
7
7
|
export default class PipelineApi {
|
|
8
8
|
static triggerPipeline(body: ApiPipelineArgument = {}, user: User): Promise<ApiPipeline> {
|
|
@@ -10,16 +10,16 @@ export default class PipelineApi {
|
|
|
10
10
|
return Http.post(url, user, body) as unknown as Promise<ApiPipeline>;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
static checkPipelineStatus({projectId}: AssociationIds, pipelineId: number, user: User): Promise<ApiPipeline> {
|
|
13
|
+
static checkPipelineStatus({ projectId }: AssociationIds, pipelineId: number, user: User): Promise<ApiPipeline> {
|
|
14
14
|
const url = `${Http.baseUrl()}/pipelines/${pipelineId}`;
|
|
15
15
|
return Http.get(url, user) as unknown as Promise<ApiPipeline>;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
static getFloorPipelines({projectId, floorId}: AssociationIds, user: User): Promise<ApiPipeline[]> {
|
|
18
|
+
static getFloorPipelines({ projectId, floorId }: AssociationIds, user: User): Promise<ApiPipeline[]> {
|
|
19
19
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/pipelines`;
|
|
20
20
|
console.log(url);
|
|
21
21
|
return Http.get(url, user) as unknown as Promise<ApiPipeline[]>;
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
-
makeErrorsPretty(PipelineApi)
|
|
25
|
+
makeErrorsPretty(PipelineApi);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import getAuthorizationHeaders
|
|
1
|
+
import getAuthorizationHeaders from "../utilities/get_authorization_headers";
|
|
2
2
|
import Http from "../utilities/http";
|
|
3
3
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
4
4
|
import { DateConverter } from "../converters";
|
|
5
|
+
import { PbeTsvType } from "../models/api/pbe_tsv_type";
|
|
5
6
|
|
|
6
|
-
import type { ApiClassificationCode, ApiCloudFile, ApiMasterformatProgress, ApiProject, ApiProjectCostAnalysisProgress, ApiProjectCostAnalysisProgressValidationResult, ApiProjectListing, ApiProjectWorkPackage, ApiProjectWorkPackageCost, ApiRunningProcess,
|
|
7
|
-
import type { DateLike } from "type_aliases";
|
|
8
|
-
import {PbeTsvType} from "../models/api/PbeTsvType";
|
|
7
|
+
import type { ApiClassificationCode, ApiCloudFile, ApiMasterformatProgress, ApiProject, ApiProjectCostAnalysisProgress, ApiProjectCostAnalysisProgressValidationResult, ApiProjectListing, ApiProjectWorkPackage, ApiProjectWorkPackageCost, ApiRunningProcess, ProgressType, ProjectWorkPackageType, User } from "../models";
|
|
8
|
+
import type { AssociationIds, DateLike } from "type_aliases";
|
|
9
9
|
|
|
10
10
|
export default class ProjectApi {
|
|
11
11
|
static listProjectsForOrganization(organizationId: string, user: User): Promise<ApiProject[]> {
|
|
@@ -155,34 +155,36 @@ export default class ProjectApi {
|
|
|
155
155
|
static generateMasterformatProgress({ projectId }: AssociationIds,
|
|
156
156
|
reportDate: DateLike,
|
|
157
157
|
masterformatVersion: number,
|
|
158
|
-
user: User)
|
|
158
|
+
user: User)
|
|
159
|
+
{
|
|
159
160
|
const formattedDate = DateConverter.dateToISO(reportDate);
|
|
160
161
|
const url = `${Http.baseUrl()}/projects/${projectId}/masterformat-progress-report?masterformatVersion=${masterformatVersion}&reportDate=${formattedDate}`;
|
|
161
162
|
return Http.post(url, user) as unknown as Promise<ApiRunningProcess>;
|
|
162
163
|
}
|
|
163
164
|
|
|
164
|
-
static getFiltered5dTsv({projectId}: AssociationIds, projectName: string, fileName: string, filter, user:User) {
|
|
165
|
+
static getFiltered5dTsv({ projectId }: AssociationIds, projectName: string, fileName: string, filter, user: User) {
|
|
165
166
|
const url = `${Http.baseUrl()}/projects/${projectId}/cost-analysis-progress/line-items/${fileName}`;
|
|
166
167
|
return Http.put(url, user, filter, "application/json", "text/tab-separated-values") as unknown as Promise<string>;
|
|
167
168
|
}
|
|
168
169
|
|
|
169
|
-
static getClassificationCodes({projectId}: AssociationIds, user:User) {
|
|
170
|
+
static getClassificationCodes({ projectId }: AssociationIds, user: User) {
|
|
170
171
|
const url = `${Http.baseUrl()}/projects/${projectId}/classification-codes`;
|
|
171
172
|
return Http.get(url, user) as unknown as Promise<ApiClassificationCode[]>;
|
|
172
173
|
}
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
174
|
+
|
|
175
|
+
static checkWbsStatus({ projectId }: AssociationIds, user: User) {
|
|
176
|
+
const url = `${Http.baseUrl()}/projects/${projectId}/cost-analysis-progress/validations`;
|
|
177
|
+
return Http.get(url, user) as unknown as Promise<ApiProjectCostAnalysisProgressValidationResult>;
|
|
176
178
|
};
|
|
177
179
|
|
|
178
|
-
static updateMasterformatSelection({projectId, floorId}: AssociationIds, masterformatTree, user: User) {
|
|
180
|
+
static updateMasterformatSelection({ projectId, floorId }: AssociationIds, masterformatTree, user: User) {
|
|
179
181
|
const url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/cost-analysis-progress-modeled-total-cost`;
|
|
180
182
|
return Http.put(url, user, masterformatTree) as unknown as Promise<ApiProjectCostAnalysisProgress[]>;
|
|
181
183
|
}
|
|
182
184
|
|
|
183
|
-
static getWorkPackageCosts({projectId}: AssociationIds, workPackageType: ProjectWorkPackageType, user: User) {
|
|
185
|
+
static getWorkPackageCosts({ projectId }: AssociationIds, workPackageType: ProjectWorkPackageType, user: User) {
|
|
184
186
|
const url = `${Http.baseUrl()}/projects/${projectId}/work-packages/${workPackageType}/costs`;
|
|
185
|
-
return Http.get(url, user) as unknown as Promise<ApiProjectWorkPackageCost[]
|
|
187
|
+
return Http.get(url, user) as unknown as Promise<ApiProjectWorkPackageCost[]>;
|
|
186
188
|
}
|
|
187
189
|
|
|
188
190
|
static generateAllMasterformatProgress({ projectId }: AssociationIds,
|
|
@@ -194,7 +196,7 @@ export default class ProjectApi {
|
|
|
194
196
|
return Http.post(url, user) as unknown as Promise<ApiRunningProcess>;
|
|
195
197
|
}
|
|
196
198
|
|
|
197
|
-
static updateProjectExportTsv({ projectId }: AssociationIds, tsvContent: string, user: User
|
|
199
|
+
static updateProjectExportTsv({ projectId }: AssociationIds, tsvContent: string, user: User) {
|
|
198
200
|
let multipartFormData = new FormData();
|
|
199
201
|
let file = new Blob([tsvContent], { type: "text/tab-separated-values" });
|
|
200
202
|
multipartFormData.append("file", file, "file.tsv");
|
|
@@ -212,4 +214,8 @@ export default class ProjectApi {
|
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
216
|
|
|
215
|
-
makeErrorsPretty(ProjectApi,
|
|
217
|
+
makeErrorsPretty(ProjectApi,
|
|
218
|
+
{
|
|
219
|
+
exclude: ["getProjectDeviationsReportTsvUrl", "getTradeBreakdownTsvUrl"],
|
|
220
|
+
overrideErrorMessage: ["getFiltered5dTsv", "saveTradeBreakdownTsv"]
|
|
221
|
+
});
|
package/source/api/recipe_api.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { User } from "../utilities/get_authorization_headers";
|
|
2
1
|
import Http from "../utilities/http";
|
|
3
|
-
import { AssociationIds } from "../models";
|
|
4
2
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
5
|
-
|
|
3
|
+
|
|
4
|
+
import type { ApiRecipe, User } from "../models";
|
|
5
|
+
import type { AssociationIds } from "type_aliases";
|
|
6
6
|
|
|
7
7
|
export default class RecipeApi {
|
|
8
8
|
static getGlobalRecipe({ recipeId }: AssociationIds, user: User, ): Promise<ApiRecipe|null> {
|
package/source/api/report_api.ts
CHANGED
|
@@ -1,42 +1,57 @@
|
|
|
1
|
-
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
2
|
-
import {AssociationIds} from "../models";
|
|
3
|
-
import {User} from "../utilities/get_authorization_headers";
|
|
4
1
|
import Http from "../utilities/http";
|
|
5
|
-
import
|
|
2
|
+
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
3
|
+
|
|
4
|
+
import type { ApiInspectReport, ApiInspectReportEntry, User } from "../models";
|
|
5
|
+
import type { AssociationIds } from "type_aliases";
|
|
6
6
|
|
|
7
7
|
export default class ReportApi {
|
|
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
|
-
|
|
8
|
+
static createInspectReport({ projectId }: AssociationIds,
|
|
9
|
+
report: ApiInspectReport,
|
|
10
|
+
user: User): Promise<ApiInspectReport> {
|
|
11
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports`;
|
|
12
|
+
return Http.post(url, user, report) as unknown as Promise<ApiInspectReport>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
static listInspectReports({ projectId }: AssociationIds, user: User): Promise<ApiInspectReport[]> {
|
|
16
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports`;
|
|
17
|
+
return Http.get(url, user) as unknown as Promise<ApiInspectReport[]>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
static listInspectReportEntries({ projectId, inspectReportId }: AssociationIds,
|
|
21
|
+
user: User): Promise<ApiInspectReportEntry[]> {
|
|
22
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}/inspect-entries`;
|
|
23
|
+
return Http.get(url, user) as unknown as Promise<ApiInspectReportEntry[]>;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
static createInspectReportEntries({ projectId, inspectReportId }: AssociationIds,
|
|
27
|
+
reportEntries: ApiInspectReportEntry[],
|
|
28
|
+
user: User): Promise<ApiInspectReportEntry[]> {
|
|
29
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}/inspect-entries`;
|
|
30
|
+
return Http.post(url, user, reportEntries) as unknown as Promise<ApiInspectReportEntry[]>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
static updateInspectReportEntry({ projectId, inspectReportId, inspectReportEntryId }: AssociationIds,
|
|
34
|
+
reportEntry,
|
|
35
|
+
user): Promise<ApiInspectReportEntry> {
|
|
36
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}/inspect-entries/${inspectReportEntryId}`;
|
|
37
|
+
return Http.put(url, user, reportEntry) as unknown as Promise<ApiInspectReportEntry>;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
static updateInspectReport({ projectId, inspectReportId }: AssociationIds, report, user): Promise<ApiInspectReport> {
|
|
41
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}`;
|
|
42
|
+
return Http.put(url, user, report) as unknown as Promise<ApiInspectReport>;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
static deleteInspectReport({ projectId, inspectReportId }: AssociationIds, user): Promise<void> {
|
|
46
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}`;
|
|
47
|
+
return Http.delete(url, user) as unknown as Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
static deleteInspectReportEntry({ projectId, inspectReportId, inspectReportEntryId }: AssociationIds,
|
|
51
|
+
user: User): Promise<void> {
|
|
52
|
+
let url = `${Http.baseUrl()}/projects/${projectId}/reports/${inspectReportId}/inspect-entries/${inspectReportEntryId}`;
|
|
53
|
+
return Http.delete(url, user) as unknown as Promise<void>;
|
|
54
|
+
}
|
|
40
55
|
}
|
|
41
56
|
|
|
42
|
-
makeErrorsPretty(ReportApi);
|
|
57
|
+
makeErrorsPretty(ReportApi);
|