avvir 7.1.5 → 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 +818 -593
- 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 +8 -2
- package/dist/esm/api/integrations_api.js +21 -0
- 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_access_token.d.ts +8 -0
- package/dist/esm/models/api/integrations/autodesk/api_access_token.js +10 -0
- package/dist/esm/models/api/integrations/autodesk/api_access_token.js.map +1 -0
- 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 +7 -0
- package/dist/esm/models/api/integrations/autodesk/api_hubs.js +8 -0
- package/dist/esm/models/api/integrations/autodesk/api_hubs.js.map +1 -0
- package/dist/esm/models/api/integrations/autodesk/api_projects.d.ts +7 -0
- package/dist/esm/models/api/integrations/autodesk/api_projects.js +8 -0
- package/dist/esm/models/api/integrations/autodesk/api_projects.js.map +1 -0
- 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 +166 -127
- 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_access_token.ts +16 -0
- package/source/models/api/integrations/autodesk/api_autodesk_attriibutes.ts +3 -0
- package/source/models/api/integrations/autodesk/api_hubs.ts +13 -0
- package/source/models/api/integrations/autodesk/api_projects.ts +13 -0
- 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
package/source/api/trade_api.ts
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import ApiCapturedTradeCost from "../models/api/trade/api_captured_trade_cost";
|
|
2
|
-
import ApiPlannedTradeCost from "../models/api/trade/api_planned_trade_cost";
|
|
3
|
-
import ApiTrade from "../models/api/trade/api_trade";
|
|
4
|
-
import ApiTradeCost from "../models/api/trade/api_trade_cost";
|
|
5
1
|
import Http from "../utilities/http";
|
|
6
2
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
7
|
-
import { AssociationIds, User } from "../models";
|
|
8
3
|
import { DateConverter } from "../converters";
|
|
9
4
|
|
|
5
|
+
import type { ApiCapturedTradeCost, ApiPlannedTradeCost, ApiTrade, ApiTradeCost, User } from "../models";
|
|
6
|
+
import type { AssociationIds } from "type_aliases";
|
|
7
|
+
|
|
10
8
|
export default class TradeApi {
|
|
11
9
|
static listTrades({ projectId }: AssociationIds, user: User) {
|
|
12
10
|
const url = `${Http.baseUrl()}/projects/${projectId}/trade-breakdown`;
|
|
@@ -23,7 +21,8 @@ export default class TradeApi {
|
|
|
23
21
|
if (scanDate == null) {
|
|
24
22
|
url = `${Http.baseUrl()}/projects/${projectId}/trade-breakdown/captured-costs`;
|
|
25
23
|
} else {
|
|
26
|
-
url = `${Http.baseUrl()}/projects/${projectId}/trade-breakdown/captured-costs?capture-date=${DateConverter.dateToLocalDate(
|
|
24
|
+
url = `${Http.baseUrl()}/projects/${projectId}/trade-breakdown/captured-costs?capture-date=${DateConverter.dateToLocalDate(
|
|
25
|
+
scanDate)}`;
|
|
27
26
|
}
|
|
28
27
|
return Http.get(url, user) as unknown as Promise<ApiCapturedTradeCost[]>;
|
|
29
28
|
}
|
|
@@ -36,7 +35,8 @@ export default class TradeApi {
|
|
|
36
35
|
static updateTradeCostReportedQuantity({ projectId }: AssociationIds,
|
|
37
36
|
tradeCode: string,
|
|
38
37
|
reportedQuantity: number,
|
|
39
|
-
user: User)
|
|
38
|
+
user: User)
|
|
39
|
+
{
|
|
40
40
|
const url = `${Http.baseUrl()}/projects/${projectId}/trade-breakdown/${tradeCode}/reported-quantity`;
|
|
41
41
|
return Http.put(url, user, reportedQuantity) as unknown as Promise<ApiTradeCost>;
|
|
42
42
|
}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import DeprecatedApiPipeline from "../models/api/deprecated_api_pipeline";
|
|
5
|
-
import getAuthorizationHeaders, { BasicUser, User } from "../utilities/get_authorization_headers";
|
|
1
|
+
import AuthApi from "./auth_api";
|
|
2
|
+
import buildFileName from "../utilities/build_file_name";
|
|
3
|
+
import getAuthorizationHeaders from "../utilities/get_authorization_headers";
|
|
6
4
|
import Http from "../utilities/http";
|
|
7
5
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
8
|
-
import { ApiActionPayload, ApiRunningProcess, ApiUserAction, AssociationIds, UserActionType, UserAuthType } from "../models";
|
|
9
|
-
import buildFileName from "../utilities/build_file_name";
|
|
10
|
-
import AuthApi from "./auth_api";
|
|
11
6
|
import { httpGetHeaders } from "../utilities/request_headers";
|
|
7
|
+
import type { ApiActionPayload, ApiInvitation, ApiMasterformat, ApiPipeline, ApiRunningProcess, ApiUserAction, BasicUser, DeprecatedApiPipeline, User, UserActionType } from "../models";
|
|
8
|
+
import { UserAuthType } from "../models";
|
|
9
|
+
import type { AssociationIds } from "type_aliases";
|
|
12
10
|
|
|
13
11
|
export default class WebGatewayApi {
|
|
14
12
|
|
|
15
|
-
static connectProjectToStructionSite({projectId}: AssociationIds,
|
|
13
|
+
static connectProjectToStructionSite({ projectId }: AssociationIds,
|
|
14
|
+
structionSiteProjectUrl: string,
|
|
15
|
+
token: string,
|
|
16
|
+
user: User): Promise<ApiPipeline> {
|
|
16
17
|
const url = `${Http.baseUrl()}/projects/${projectId}/connect-to-structionsite?structionsite-access-token=${token}&structionsite-project-url=${structionSiteProjectUrl}`;
|
|
17
18
|
return Http.post(url, user, null) as unknown as Promise<ApiPipeline>;
|
|
18
19
|
}
|
|
@@ -20,7 +21,7 @@ export default class WebGatewayApi {
|
|
|
20
21
|
/**
|
|
21
22
|
* @deprecated Moved to PipelinesApi
|
|
22
23
|
*/
|
|
23
|
-
static checkPipelineStatus({projectId}: AssociationIds, pipelineId: number, user: User): Promise<ApiPipeline> {
|
|
24
|
+
static checkPipelineStatus({ projectId }: AssociationIds, pipelineId: number, user: User): Promise<ApiPipeline> {
|
|
24
25
|
const url = `${Http.baseUrl()}/pipelines/${pipelineId}`;
|
|
25
26
|
return Http.get(url, user) as unknown as Promise<ApiPipeline>;
|
|
26
27
|
}
|
|
@@ -28,9 +29,20 @@ export default class WebGatewayApi {
|
|
|
28
29
|
/**
|
|
29
30
|
* @deprecated Moved to UserApi
|
|
30
31
|
*/
|
|
31
|
-
static createInvitation(inviteeEmail: string,
|
|
32
|
+
static createInvitation(inviteeEmail: string,
|
|
33
|
+
role: string,
|
|
34
|
+
organizationId: string,
|
|
35
|
+
projectId: string,
|
|
36
|
+
user: User): Promise<ApiInvitation> {
|
|
32
37
|
const url = `${Http.baseUrl()}/users/invitations`;
|
|
33
|
-
return Http.post(url,
|
|
38
|
+
return Http.post(url,
|
|
39
|
+
user,
|
|
40
|
+
{
|
|
41
|
+
userEmail: inviteeEmail,
|
|
42
|
+
role,
|
|
43
|
+
clientAccountId: organizationId,
|
|
44
|
+
projectId
|
|
45
|
+
}) as unknown as Promise<ApiInvitation>;
|
|
34
46
|
}
|
|
35
47
|
|
|
36
48
|
/**
|
|
@@ -51,28 +63,33 @@ export default class WebGatewayApi {
|
|
|
51
63
|
return `${Http.baseUrl()}/projects/${projectId}/report.pdf`;
|
|
52
64
|
}
|
|
53
65
|
|
|
54
|
-
static getPlannedElementsNewTsvUrl({projectId, floorId}: AssociationIds, fileName: string, user: User): string {
|
|
66
|
+
static getPlannedElementsNewTsvUrl({ projectId, floorId }: AssociationIds, fileName: string, user: User): string {
|
|
55
67
|
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/${fileName}_planned-building-elements-new.tsv`;
|
|
56
68
|
return Http.addAuthToDownloadUrl(baseUrl, user);
|
|
57
69
|
}
|
|
58
70
|
|
|
59
|
-
static getDeviationsReportTsvUrl({projectId, floorId}: AssociationIds, fileName: string, user: User): string {
|
|
71
|
+
static getDeviationsReportTsvUrl({ projectId, floorId }: AssociationIds, fileName: string, user: User): string {
|
|
60
72
|
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/${fileName}_deviation-report.tsv`;
|
|
61
73
|
return Http.addAuthToDownloadUrl(baseUrl, user);
|
|
62
74
|
}
|
|
63
75
|
|
|
64
76
|
/** @deprecated scan analysis tsv was removed when we removed the concept of scanned building elements */
|
|
65
|
-
static getScanAnalysisUrl({projectId, floorId, scanDatasetId}: AssociationIds,
|
|
77
|
+
static getScanAnalysisUrl({ projectId, floorId, scanDatasetId }: AssociationIds,
|
|
78
|
+
fileName: string,
|
|
79
|
+
user: User): string {
|
|
66
80
|
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/${fileName}_scan-analysis.tsv`;
|
|
67
81
|
return Http.addAuthToDownloadUrl(baseUrl, user);
|
|
68
82
|
}
|
|
69
83
|
|
|
70
|
-
static getUniformatSummaryTsvUrl({projectId}: AssociationIds, projectName: string, user: User): string {
|
|
71
|
-
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/${buildFileName(projectName)}_uniformat-summary.tsv
|
|
84
|
+
static getUniformatSummaryTsvUrl({ projectId }: AssociationIds, projectName: string, user: User): string {
|
|
85
|
+
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/${buildFileName(projectName)}_uniformat-summary.tsv`;
|
|
72
86
|
return Http.addAuthToDownloadUrl(baseUrl, user);
|
|
73
87
|
}
|
|
74
88
|
|
|
75
|
-
static getScannedProjectMasterformatProgressUrl({projectId}: AssociationIds,
|
|
89
|
+
static getScannedProjectMasterformatProgressUrl({ projectId }: AssociationIds,
|
|
90
|
+
fileName: string,
|
|
91
|
+
fileDate: string,
|
|
92
|
+
user: User): string {
|
|
76
93
|
const baseUrl = `${Http.baseUrl()}/projects/${projectId}/${fileName}_4d-progress_${fileDate}_2016.tsv`;
|
|
77
94
|
return Http.addAuthToDownloadUrl(baseUrl, user);
|
|
78
95
|
}
|
|
@@ -84,6 +101,7 @@ export default class WebGatewayApi {
|
|
|
84
101
|
static addAuthToDownloadUrl(url: string, user: User): string {
|
|
85
102
|
return Http.addAuthToDownloadUrl(url, user);
|
|
86
103
|
}
|
|
104
|
+
|
|
87
105
|
/**
|
|
88
106
|
* @deprecated Moved to AuthApi
|
|
89
107
|
*/
|
|
@@ -109,7 +127,7 @@ export default class WebGatewayApi {
|
|
|
109
127
|
return response.json()
|
|
110
128
|
.then(body => {
|
|
111
129
|
const headers = response.headers;
|
|
112
|
-
return {headers, body};
|
|
130
|
+
return { headers, body };
|
|
113
131
|
});
|
|
114
132
|
}) as Promise<{ headers: Headers, body: { storageToken: string, redirectUrl: string } }>;
|
|
115
133
|
}
|
|
@@ -117,7 +135,7 @@ export default class WebGatewayApi {
|
|
|
117
135
|
// TODO move to auth api
|
|
118
136
|
static acceptInvitation(token: string, password: string): Promise<void> {
|
|
119
137
|
const url = `${Http.baseUrl()}/users/accept-invitation`;
|
|
120
|
-
let invitationForm = {invitationToken: token, password};
|
|
138
|
+
let invitationForm = { invitationToken: token, password };
|
|
121
139
|
return Http.post(url, null, invitationForm) as unknown as Promise<void>;
|
|
122
140
|
}
|
|
123
141
|
|
|
@@ -135,19 +153,26 @@ export default class WebGatewayApi {
|
|
|
135
153
|
projectId,
|
|
136
154
|
floorId,
|
|
137
155
|
scanDatasetId
|
|
138
|
-
}: AssociationIds,
|
|
156
|
+
}: AssociationIds,
|
|
157
|
+
workflowName: string,
|
|
158
|
+
type: string,
|
|
159
|
+
user: User): Promise<DeprecatedApiPipeline> {
|
|
139
160
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/export-ifc/${workflowName}?type=${type}`;
|
|
140
161
|
return Http.get(url, user) as unknown as Promise<DeprecatedApiPipeline>;
|
|
141
162
|
}
|
|
142
163
|
|
|
143
164
|
/** @deprecated **/
|
|
144
|
-
static downsampleScan({projectId, floorId, scanDatasetId}: AssociationIds, user: User): Promise<void> {
|
|
165
|
+
static downsampleScan({ projectId, floorId, scanDatasetId }: AssociationIds, user: User): Promise<void> {
|
|
145
166
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/scan-datasets/${scanDatasetId}/downsample-scan`;
|
|
146
167
|
return Http.post(url, user, null) as unknown as Promise<void>;
|
|
147
168
|
}
|
|
148
169
|
|
|
149
170
|
//TODO move to AuthApi
|
|
150
|
-
static getGcpBearerToken({projectId}: AssociationIds, user: User): Promise<{
|
|
171
|
+
static getGcpBearerToken({ projectId }: AssociationIds, user: User): Promise<{
|
|
172
|
+
accessToken: string,
|
|
173
|
+
expireTime: string
|
|
174
|
+
}>
|
|
175
|
+
{
|
|
151
176
|
let url = `${Http.baseUrl()}/projects/${projectId}/gcpAccessToken`;
|
|
152
177
|
return Http.get(url, user) as unknown as Promise<{ accessToken: string, expireTime: string }>;
|
|
153
178
|
}
|
|
@@ -160,17 +185,22 @@ export default class WebGatewayApi {
|
|
|
160
185
|
static triggerArgoRunProgressAndDeviations({
|
|
161
186
|
projectId,
|
|
162
187
|
floorId
|
|
163
|
-
}: AssociationIds,
|
|
188
|
+
}: AssociationIds,
|
|
189
|
+
deviationsFlag: string,
|
|
190
|
+
bimSourceFileExtension: string,
|
|
191
|
+
user: User): Promise<void> {
|
|
164
192
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/run-progress-and-deviations?deviationsFlag=${deviationsFlag}&bimSourceFileExtension=${bimSourceFileExtension}`;
|
|
165
193
|
return Http.post(url, user, null) as unknown as Promise<void>;
|
|
166
194
|
}
|
|
167
195
|
|
|
168
|
-
static triggerArgoRunNwdConvert({projectId, floorId}: AssociationIds, user: User): Promise<void> {
|
|
196
|
+
static triggerArgoRunNwdConvert({ projectId, floorId }: AssociationIds, user: User): Promise<void> {
|
|
169
197
|
let url = `${Http.baseUrl()}/projects/${projectId}/floors/${floorId}/nwd-convert`;
|
|
170
198
|
return Http.post(url, user, null) as unknown as Promise<void>;
|
|
171
199
|
}
|
|
172
200
|
|
|
173
|
-
static recordUserActions(type: UserActionType,
|
|
201
|
+
static recordUserActions(type: UserActionType,
|
|
202
|
+
userActions: ApiActionPayload[],
|
|
203
|
+
user: User): Promise<ApiUserAction[]> {
|
|
174
204
|
let url = `${Http.baseUrl()}/user-actions`;
|
|
175
205
|
let actionForm = {
|
|
176
206
|
type,
|
|
@@ -181,7 +211,7 @@ export default class WebGatewayApi {
|
|
|
181
211
|
|
|
182
212
|
static checkRunningProcess(processId: number, user: User): Promise<ApiRunningProcess> {
|
|
183
213
|
let url = `${Http.baseUrl()}/running-processes/${processId}`;
|
|
184
|
-
return Http.get(url, user) as unknown as Promise<ApiRunningProcess
|
|
214
|
+
return Http.get(url, user) as unknown as Promise<ApiRunningProcess>;
|
|
185
215
|
}
|
|
186
216
|
|
|
187
217
|
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import ApiWorkPackage from "../models/api/api_work_package";
|
|
2
1
|
import Http from "../utilities/http";
|
|
3
|
-
import { AssociationIds, User } from "../models";
|
|
4
2
|
import makeErrorsPretty from "../utilities/make_errors_pretty";
|
|
5
3
|
|
|
4
|
+
import type { ApiWorkPackage, User } from "../models";
|
|
5
|
+
import type { AssociationIds } from "type_aliases";
|
|
6
|
+
|
|
7
|
+
|
|
6
8
|
export default class WorkPackageApi {
|
|
7
9
|
static listWorkPackages({ projectId }: AssociationIds, user: User) {
|
|
8
10
|
const url = `${Http.baseUrl()}/projects/${projectId}/work-packages/list`;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import moment, { Moment } from "moment";
|
|
2
2
|
|
|
3
3
|
import DateFormatter from "./date_formatter";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import type { DateLike } from "type_aliases";
|
|
5
6
|
|
|
6
7
|
export class DateConverter {
|
|
7
8
|
static getLocalizedDateFormatter(): DateFormatter {
|
|
@@ -131,6 +132,18 @@ export class DateConverter {
|
|
|
131
132
|
private static pad(i: number): string {
|
|
132
133
|
return i.toString().padStart(2, "0");
|
|
133
134
|
}
|
|
135
|
+
|
|
136
|
+
static dateLikeToDate(date: DateLike): Date {
|
|
137
|
+
if (typeof date === "string") {
|
|
138
|
+
return moment(date, "MMM D, YYYY").utc(true).toDate();
|
|
139
|
+
} else if (date instanceof Date) {
|
|
140
|
+
return date;
|
|
141
|
+
} else if (moment.isMoment(date)) {
|
|
142
|
+
return date.toDate();
|
|
143
|
+
} else {
|
|
144
|
+
return DateConverter.instantToDate(date) || moment.invalid().toDate();
|
|
145
|
+
}
|
|
146
|
+
}
|
|
134
147
|
}
|
|
135
148
|
|
|
136
149
|
export default DateConverter;
|
package/source/index.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import moment from "moment";
|
|
2
|
+
|
|
2
3
|
import DateConverter from "../converters/date_converter";
|
|
3
|
-
|
|
4
|
+
|
|
5
|
+
import type { DateLike } from "type_aliases";
|
|
4
6
|
|
|
5
7
|
export function addDateGetterAndSetterToDomainModel(target: Object, propertyName: string, initialValue?: DateLike) {
|
|
6
8
|
let dateVal: Date;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import moment from "moment";
|
|
2
2
|
|
|
3
3
|
import DateConverter from "../converters/date_converter";
|
|
4
|
-
|
|
4
|
+
|
|
5
|
+
import type { DateLike } from "type_aliases";
|
|
5
6
|
|
|
6
7
|
export function addInstantGetterAndSetterToApiModel(modelInstance: Object,
|
|
7
8
|
propertyName: string,
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { addInstantGetterAndSetterToApiModel, addReadOnlyPropertiesToModel } from "../../mixins";
|
|
2
|
-
import { ApiProjectPurposeType, ApiPurposeType, isApiPurposeType } from "
|
|
2
|
+
import { ApiProjectPurposeType, ApiPurposeType, isApiPurposeType } from "../enums/api_purpose_type";
|
|
3
3
|
import { AssociationType, isPurposeType, PurposeType } from "../enums";
|
|
4
4
|
import { PurposeTypeConverter } from "../../converters";
|
|
5
5
|
|
|
6
|
-
import type ApiPhotoLocation3d from "./api_photo_location_3d";
|
|
6
|
+
import type ApiPhotoLocation3d from "./photos/api_photo_location_3d";
|
|
7
7
|
import type { DateLike, ModifyPartial, Vector2Like } from "type_aliases";
|
|
8
8
|
|
|
9
|
-
export type AvvirApiFiles<Type extends ApiPurposeType = ApiPurposeType> = { [purposeType in Type]?: ApiCloudFile | ApiCloudFile[] }
|
|
10
9
|
export type AvvirApiFileIds<Type extends ApiPurposeType = ApiPurposeType> = { [purposeType in Type]?: number[] }
|
|
11
10
|
|
|
12
11
|
export interface ApiCloudFileMetadata {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {Vector3Like, Vector4Like} from "./type_aliases";
|
|
2
1
|
import addReadOnlyPropertiesToModel from "../../mixins/add_read_only_properties_to_model";
|
|
3
|
-
import {ApiQuaternion} from "./api_quaternion";
|
|
2
|
+
import { ApiQuaternion } from "./api_quaternion";
|
|
3
|
+
|
|
4
|
+
import type { Vector3Like, Vector4Like } from "type_aliases";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* @deprecated See ApiPhotoLocation3d (./api_photo_location_3d.ts)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
|
|
3
|
-
import type { DateLike, ModifyPartial } from "
|
|
3
|
+
import type { DateLike, ModifyPartial } from "type_aliases";
|
|
4
4
|
import type { ApiIntegrationCredentialsType } from "../enums";
|
|
5
5
|
|
|
6
6
|
export type ApiIntegrationCredentialsArgument = ModifyPartial<ApiIntegrationCredentials, {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
|
|
3
|
-
import type { DateLike, ModifyPartial } from "
|
|
3
|
+
import type { DateLike, ModifyPartial } from "type_aliases";
|
|
4
4
|
|
|
5
5
|
export type ApiIntegrationProjectArgument = ModifyPartial<ApiIntegrationProject, {
|
|
6
6
|
createdAt?: DateLike,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
import ApiMasterformat from "./api_masterformat";
|
|
3
|
-
import { DateLike } from "
|
|
3
|
+
import { DateLike } from "type_aliases";
|
|
4
4
|
|
|
5
5
|
export type ApiMasterformatProgressArgument = Partial<ApiMasterformatProgress>;
|
|
6
6
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
import addReadOnlyPropertiesToModel from "../../mixins/add_read_only_properties_to_model";
|
|
3
3
|
|
|
4
|
-
import type { DateLike, ModifyPartial } from "
|
|
4
|
+
import type { DateLike, ModifyPartial } from "type_aliases";
|
|
5
5
|
import type { PipelineName, RunningProcessStatus } from "../enums";
|
|
6
6
|
|
|
7
7
|
export type ApiPipelineArgument = ModifyPartial<ApiPipeline, {
|
|
@@ -7,7 +7,7 @@ import type ApiProjectCostAnalysisProgress from "./api_project_cost_analysis_pro
|
|
|
7
7
|
import type ApiTeamMember from "./api_team_member";
|
|
8
8
|
import type ApiMasterformatProgress from "./api_masterformat_progress";
|
|
9
9
|
import type ApiProjectSettings from "./api_project_settings";
|
|
10
|
-
import type { DateLike, ModifyPartial } from "
|
|
10
|
+
import type { DateLike, ModifyPartial } from "type_aliases";
|
|
11
11
|
|
|
12
12
|
export type ApiProjectArgument = ModifyPartial<ApiProject, {
|
|
13
13
|
archivedAt: DateLike
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
import addReadOnlyPropertiesToModel from "../../mixins/add_read_only_properties_to_model";
|
|
3
3
|
|
|
4
|
-
import type { DateLike, Modify } from "
|
|
4
|
+
import type { DateLike, Modify } from "type_aliases";
|
|
5
5
|
|
|
6
6
|
export type ApiProjectCostAnalysisProgressArgument = Partial<Modify<ApiProjectCostAnalysisProgress, {
|
|
7
7
|
analysisDate?: DateLike
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
import ApiMasterformat from "./api_masterformat";
|
|
3
|
-
import { DateLike } from "
|
|
3
|
+
import { DateLike } from "type_aliases";
|
|
4
4
|
|
|
5
5
|
/** @deprecated Use ApiMasterformatProgress **/
|
|
6
6
|
export class ApiProjectMasterformatProgress {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import addInstantGetterAndSetterToApiModel from "../../mixins/add_instant_getter_and_setter_to_api_model";
|
|
2
2
|
|
|
3
3
|
import type ProcessStatus from "../enums/process_status";
|
|
4
|
-
import type { DateLike, ModifyPartial } from "
|
|
4
|
+
import type { DateLike, ModifyPartial } from "type_aliases";
|
|
5
5
|
|
|
6
6
|
export type ApiRunningProcessArgument = ModifyPartial<ApiRunningProcess, {
|
|
7
7
|
startDate?: DateLike
|
|
@@ -5,7 +5,7 @@ import addReadOnlyPropertiesToModel from "../../mixins/add_read_only_properties_
|
|
|
5
5
|
|
|
6
6
|
import type SystemOfMeasurement from "../enums/system_of_measurement";
|
|
7
7
|
import type { ApiInspectionModes } from "../enums";
|
|
8
|
-
import type { DateLike, ModifyPartial, Vector3Like } from "
|
|
8
|
+
import type { DateLike, ModifyPartial, Vector3Like } from "type_aliases";
|
|
9
9
|
import type { UniformatId } from "uniformat";
|
|
10
10
|
|
|
11
11
|
export class PhotoViewerDetails {
|
|
@@ -1,69 +1,67 @@
|
|
|
1
|
-
export
|
|
2
|
-
export {
|
|
3
|
-
export {
|
|
4
|
-
export {
|
|
5
|
-
export {
|
|
6
|
-
export
|
|
7
|
-
export {
|
|
8
|
-
export {
|
|
9
|
-
export * from "./api_construction_grid";
|
|
10
|
-
export { ApiCreateInvitationForm } from "./api_create_invitation_form";
|
|
11
|
-
export * from "./api_detailed_element";
|
|
12
|
-
export * from "./api_element_deviation";
|
|
13
|
-
export * from "./api_floor";
|
|
14
|
-
export * from "./api_purpose_type";
|
|
15
|
-
export * from "./api_grid_line";
|
|
16
|
-
export { ApiGroup, ApiGroupMember } from "./api_groups";
|
|
17
|
-
export * from "./api_inspect_report";
|
|
18
|
-
export * from "./api_inspect_report_entry";
|
|
19
|
-
export * from "./api_inspect_report_entry_element";
|
|
20
|
-
export { ApiIntegrationCredentials, ApiIntegrationCredentialsArgument } from "./api_integration_credentials";
|
|
21
|
-
export { ApiIntegrationProject, ApiIntegrationProjectArgument } from "./api_integration_project";
|
|
22
|
-
export * from "./api_invitation";
|
|
23
|
-
export * from "./api_masterformat";
|
|
1
|
+
export { ApiRpcSession } from "./api_rpc_session";
|
|
2
|
+
export { ApiRpcQueryResponse } from "./api_rpc_query_response";
|
|
3
|
+
export { ApiRpcQueryRequest } from "./api_rpc_query_request";
|
|
4
|
+
export { ApiProjectMasterformatProgress } from "./api_project_masterformat_progress";
|
|
5
|
+
export { ApiProjectListing } from "./api_project_listing";
|
|
6
|
+
export { ApiProjectCostAnalysisProgressValidationResult } from "./api_project_cost_anaylsis_progress_validation_result";
|
|
7
|
+
export { ApiProjectCostAnalysisProgress, ApiProjectCostAnalysisProgressArgument } from "./api_project_cost_analysis_progress";
|
|
8
|
+
export { ApiPhotoLocation3d, ApiPhotoLocation3dArgument, ApiPhotoLocationProperties } from "./photos/api_photo_location_3d";
|
|
24
9
|
export { ApiMasterformatProgress, ApiMasterformatProgressArgument } from "./api_masterformat_progress";
|
|
25
|
-
export
|
|
26
|
-
export
|
|
27
|
-
export
|
|
28
|
-
export
|
|
29
|
-
export {
|
|
30
|
-
export
|
|
31
|
-
export
|
|
32
|
-
export
|
|
33
|
-
export
|
|
34
|
-
export
|
|
35
|
-
export
|
|
36
|
-
export * from "./
|
|
37
|
-
export * from "./
|
|
10
|
+
export { ApiIntegrationProject, ApiIntegrationProjectArgument } from "./api_integration_project";
|
|
11
|
+
export { ApiIntegrationCredentials, ApiIntegrationCredentialsArgument } from "./api_integration_credentials";
|
|
12
|
+
export { ApiGroup, ApiGroupMember } from "./api_groups";
|
|
13
|
+
export { ApiElementProgress } from "./api_element_progress";
|
|
14
|
+
export { ApiCreateInvitationForm } from "./api_create_invitation_form";
|
|
15
|
+
export { ApiCommentThread } from "./api_comment_thread";
|
|
16
|
+
export { ApiComment } from "./api_comment";
|
|
17
|
+
export { ApiClassificationCode } from "./api_classification_code";
|
|
18
|
+
export { ApiBcfIssue, ApiBcfIssueArgument } from "./api_bcf_issue";
|
|
19
|
+
export { ApiBcfBuildingElement, ApiBcfBuildingElementArgument } from "./api_bcf_building_element";
|
|
20
|
+
export { ApiArgoResponse, ArgoMetadata } from "./api_argo_response";
|
|
21
|
+
export * from "./integrations";
|
|
22
|
+
export * from "./photos";
|
|
23
|
+
export * from "./trade";
|
|
24
|
+
export * from "./deprecated_api_pipeline";
|
|
25
|
+
export * from "./api_work_package";
|
|
26
|
+
export * from "./api_view";
|
|
27
|
+
export * from "./api_user_permission";
|
|
28
|
+
export * from "./api_user_for_organization";
|
|
29
|
+
export * from "./api_user_action";
|
|
30
|
+
export * from "./api_user";
|
|
31
|
+
export * from "./api_team_member";
|
|
32
|
+
export * from "./api_scanned_element";
|
|
33
|
+
export * from "./api_scandataset_stats";
|
|
34
|
+
export * from "./api_scan_dataset";
|
|
35
|
+
export * from "./api_running_process";
|
|
36
|
+
export * from "./api_recipe";
|
|
37
|
+
export * from "./api_query_resource";
|
|
38
|
+
export * from "./api_quaternion";
|
|
39
|
+
export * from "../enums/api_purpose_type";
|
|
40
|
+
export * from "./api_project_work_package_cost";
|
|
41
|
+
export * from "./api_project_work_package";
|
|
38
42
|
export * from "./api_project_summary";
|
|
39
|
-
export * from "./api_project_area_work_package";
|
|
40
|
-
export { ApiProjectCostAnalysisProgress, ApiProjectCostAnalysisProgressArgument } from "./api_project_cost_analysis_progress";
|
|
41
|
-
export { ApiProjectCostAnalysisProgressValidationResult } from "./api_project_cost_anaylsis_progress_validation_result";
|
|
42
|
-
export { ApiProjectListing } from "./api_project_listing";
|
|
43
|
-
export { ApiProjectMasterformatProgress } from "./api_project_masterformat_progress";
|
|
44
|
-
export * from "./api_project_report";
|
|
45
|
-
export * from "./api_project_report_version";
|
|
46
43
|
export * from "./api_project_settings";
|
|
47
|
-
export * from "./
|
|
48
|
-
export * from "./
|
|
49
|
-
export * from "./
|
|
50
|
-
export * from "./
|
|
51
|
-
export * from "./
|
|
52
|
-
export
|
|
53
|
-
export
|
|
54
|
-
export
|
|
55
|
-
export * from "./
|
|
56
|
-
export * from "./
|
|
57
|
-
export * from "./
|
|
58
|
-
export * from "./
|
|
59
|
-
export * from "./
|
|
60
|
-
export * from "./
|
|
61
|
-
export * from "./
|
|
62
|
-
export * from "./
|
|
63
|
-
export * from "./
|
|
64
|
-
export * from "./
|
|
65
|
-
export * from "./
|
|
66
|
-
export * from "./
|
|
67
|
-
export * from "./
|
|
68
|
-
export * from "./
|
|
69
|
-
export
|
|
44
|
+
export * from "./api_project_report_version";
|
|
45
|
+
export * from "./api_project_report";
|
|
46
|
+
export * from "./api_project_area_work_package";
|
|
47
|
+
export * from "./api_project_area";
|
|
48
|
+
export * from "./api_project";
|
|
49
|
+
export * from "./api_progress_scan_dataset";
|
|
50
|
+
export * from "./api_progress_category";
|
|
51
|
+
export * from "./api_planned_element";
|
|
52
|
+
export * from "./api_pipeline";
|
|
53
|
+
export * from "./api_organization";
|
|
54
|
+
export * from "./api_matrix_4";
|
|
55
|
+
export * from "./api_matrix_3";
|
|
56
|
+
export * from "./api_masterformat";
|
|
57
|
+
export * from "./api_invitation";
|
|
58
|
+
export * from "./api_inspect_report_entry_element";
|
|
59
|
+
export * from "./api_inspect_report_entry";
|
|
60
|
+
export * from "./api_inspect_report";
|
|
61
|
+
export * from "./api_grid_line";
|
|
62
|
+
export * from "./api_floor";
|
|
63
|
+
export * from "./api_element_deviation";
|
|
64
|
+
export * from "./api_detailed_element";
|
|
65
|
+
export * from "./api_construction_grid";
|
|
66
|
+
export * from "./api_cloud_file";
|
|
67
|
+
export * from "./api_action_payload";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
export class ApiAutodeskAccessToken {
|
|
3
|
+
access_token: string;
|
|
4
|
+
token_type: string;
|
|
5
|
+
expires_in: string;
|
|
6
|
+
refresh_token: string;
|
|
7
|
+
|
|
8
|
+
constructor({access_token, token_type, expires_in, refresh_token}: Partial<ApiAutodeskAccessToken> = {}) {
|
|
9
|
+
this.access_token = access_token;
|
|
10
|
+
this.token_type = token_type;
|
|
11
|
+
this.expires_in = expires_in;
|
|
12
|
+
this.refresh_token = refresh_token;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default ApiAutodeskAccessToken;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiAutodeskAttritributes } from "./api_autodesk_attriibutes";
|
|
2
|
+
|
|
3
|
+
export class ApiHubs {
|
|
4
|
+
id: string;
|
|
5
|
+
attributes: ApiAutodeskAttritributes;
|
|
6
|
+
|
|
7
|
+
constructor({ id, attributes }: Partial<ApiHubs> = {}) {
|
|
8
|
+
this.id = id;
|
|
9
|
+
this.attributes = attributes;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default ApiHubs;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ApiAutodeskAttritributes } from "./api_autodesk_attriibutes";
|
|
2
|
+
|
|
3
|
+
export class ApiProjects {
|
|
4
|
+
id: string;
|
|
5
|
+
attributes: ApiAutodeskAttritributes;
|
|
6
|
+
|
|
7
|
+
constructor({ id, attributes }: Partial<ApiProjects> = {}) {
|
|
8
|
+
this.id = id;
|
|
9
|
+
this.attributes = attributes;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default ApiProjects;
|