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.
Files changed (172) hide show
  1. package/dist/avvir_api.node.js +818 -593
  2. package/dist/esm/api/comment_api.d.ts +2 -2
  3. package/dist/esm/api/comment_api.js.map +1 -1
  4. package/dist/esm/api/element_api.d.ts +3 -3
  5. package/dist/esm/api/element_api.js.map +1 -1
  6. package/dist/esm/api/file_information_api.d.ts +3 -2
  7. package/dist/esm/api/file_information_api.js +4 -5
  8. package/dist/esm/api/file_information_api.js.map +1 -1
  9. package/dist/esm/api/floor_api.d.ts +3 -5
  10. package/dist/esm/api/floor_api.js +2 -1
  11. package/dist/esm/api/floor_api.js.map +1 -1
  12. package/dist/esm/api/group_api.d.ts +3 -3
  13. package/dist/esm/api/group_api.js.map +1 -1
  14. package/dist/esm/api/integrations_api.d.ts +8 -2
  15. package/dist/esm/api/integrations_api.js +21 -0
  16. package/dist/esm/api/integrations_api.js.map +1 -1
  17. package/dist/esm/api/photo_area_api.d.ts +2 -2
  18. package/dist/esm/api/photo_area_api.js +1 -1
  19. package/dist/esm/api/photo_area_api.js.map +1 -1
  20. package/dist/esm/api/pipeline_api.d.ts +2 -3
  21. package/dist/esm/api/pipeline_api.js.map +1 -1
  22. package/dist/esm/api/project_api.d.ts +3 -4
  23. package/dist/esm/api/project_api.js +6 -3
  24. package/dist/esm/api/project_api.js.map +1 -1
  25. package/dist/esm/api/recipe_api.d.ts +2 -3
  26. package/dist/esm/api/recipe_api.js.map +1 -1
  27. package/dist/esm/api/report_api.d.ts +2 -3
  28. package/dist/esm/api/report_api.js +1 -1
  29. package/dist/esm/api/report_api.js.map +1 -1
  30. package/dist/esm/api/scan_dataset_api.d.ts +4 -3
  31. package/dist/esm/api/scan_dataset_api.js +11 -3
  32. package/dist/esm/api/scan_dataset_api.js.map +1 -1
  33. package/dist/esm/api/trade_api.d.ts +2 -5
  34. package/dist/esm/api/trade_api.js.map +1 -1
  35. package/dist/esm/api/web_gateway_api.d.ts +2 -6
  36. package/dist/esm/api/web_gateway_api.js +9 -4
  37. package/dist/esm/api/web_gateway_api.js.map +1 -1
  38. package/dist/esm/api/work_package_api.d.ts +2 -2
  39. package/dist/esm/api/work_package_api.js.map +1 -1
  40. package/dist/esm/converters/date_converter.d.ts +2 -1
  41. package/dist/esm/converters/date_converter.js +14 -0
  42. package/dist/esm/converters/date_converter.js.map +1 -1
  43. package/dist/esm/index.d.ts +1 -0
  44. package/dist/esm/index.js +1 -0
  45. package/dist/esm/index.js.map +1 -1
  46. package/dist/esm/mixins/add_date_getter_and_setter_to_domain_model.d.ts +1 -1
  47. package/dist/esm/mixins/add_date_getter_and_setter_to_domain_model.js.map +1 -1
  48. package/dist/esm/mixins/add_instant_getter_and_setter_to_api_model.d.ts +1 -1
  49. package/dist/esm/mixins/add_instant_getter_and_setter_to_api_model.js.map +1 -1
  50. package/dist/esm/models/api/api_action_payload.d.ts +1 -1
  51. package/dist/esm/models/api/api_cloud_file.d.ts +2 -5
  52. package/dist/esm/models/api/api_cloud_file.js +1 -1
  53. package/dist/esm/models/api/api_cloud_file.js.map +1 -1
  54. package/dist/esm/models/api/api_cloud_file_location_3d.d.ts +1 -1
  55. package/dist/esm/models/api/api_cloud_file_location_3d.js.map +1 -1
  56. package/dist/esm/models/api/api_integration_credentials.d.ts +1 -1
  57. package/dist/esm/models/api/api_integration_project.d.ts +1 -1
  58. package/dist/esm/models/api/api_masterformat_progress.d.ts +1 -1
  59. package/dist/esm/models/api/api_pipeline.d.ts +1 -1
  60. package/dist/esm/models/api/api_project.d.ts +1 -1
  61. package/dist/esm/models/api/api_project_cost_analysis_progress.d.ts +1 -1
  62. package/dist/esm/models/api/api_project_masterformat_progress.d.ts +1 -1
  63. package/dist/esm/models/api/api_running_process.d.ts +1 -1
  64. package/dist/esm/models/api/api_view.d.ts +1 -1
  65. package/dist/esm/models/api/index.d.ts +64 -66
  66. package/dist/esm/models/api/index.js +63 -65
  67. package/dist/esm/models/api/index.js.map +1 -1
  68. package/dist/esm/models/api/integrations/autodesk/api_access_token.d.ts +8 -0
  69. package/dist/esm/models/api/integrations/autodesk/api_access_token.js +10 -0
  70. package/dist/esm/models/api/integrations/autodesk/api_access_token.js.map +1 -0
  71. package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.d.ts +3 -0
  72. package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.js +3 -0
  73. package/dist/esm/models/api/integrations/autodesk/api_autodesk_attriibutes.js.map +1 -0
  74. package/dist/esm/models/api/integrations/autodesk/api_hubs.d.ts +7 -0
  75. package/dist/esm/models/api/integrations/autodesk/api_hubs.js +8 -0
  76. package/dist/esm/models/api/integrations/autodesk/api_hubs.js.map +1 -0
  77. package/dist/esm/models/api/integrations/autodesk/api_projects.d.ts +7 -0
  78. package/dist/esm/models/api/integrations/autodesk/api_projects.js +8 -0
  79. package/dist/esm/models/api/integrations/autodesk/api_projects.js.map +1 -0
  80. package/dist/esm/models/api/integrations/autodesk/index.d.ts +4 -0
  81. package/dist/esm/models/api/integrations/autodesk/index.js +5 -0
  82. package/dist/esm/models/api/integrations/autodesk/index.js.map +1 -0
  83. package/dist/esm/models/api/integrations/index.d.ts +2 -0
  84. package/dist/esm/models/api/integrations/index.js +3 -0
  85. package/dist/esm/models/api/integrations/index.js.map +1 -0
  86. package/dist/esm/models/api/{PbeTsvType.js → pbe_tsv_type.js} +1 -1
  87. package/dist/esm/models/api/pbe_tsv_type.js.map +1 -0
  88. package/dist/esm/models/api/{api_photo_area.js → photos/api_photo_area.js} +1 -1
  89. package/dist/esm/models/api/photos/api_photo_area.js.map +1 -0
  90. package/dist/esm/models/api/{api_photo_location.d.ts → photos/api_photo_location.d.ts} +4 -4
  91. package/dist/esm/models/api/{api_photo_location.js → photos/api_photo_location.js} +1 -1
  92. package/dist/esm/models/api/photos/api_photo_location.js.map +1 -0
  93. package/dist/esm/models/api/{api_photo_location_3d.d.ts → photos/api_photo_location_3d.d.ts} +2 -2
  94. package/dist/esm/models/api/{api_photo_location_3d.js → photos/api_photo_location_3d.js} +2 -2
  95. package/dist/esm/models/api/photos/api_photo_location_3d.js.map +1 -0
  96. package/dist/esm/models/api/{api_photo_session.d.ts → photos/api_photo_session.d.ts} +1 -1
  97. package/dist/esm/models/api/{api_photo_session.js → photos/api_photo_session.js} +2 -2
  98. package/dist/esm/models/api/photos/api_photo_session.js.map +1 -0
  99. package/dist/esm/models/api/photos/index.d.ts +4 -0
  100. package/dist/esm/models/api/photos/index.js +5 -0
  101. package/dist/esm/models/api/photos/index.js.map +1 -0
  102. package/dist/esm/models/enums/api_purpose_type.js.map +1 -0
  103. package/dist/esm/{models/api/type_aliases.d.ts → typings/type_aliases/index.d.ts} +31 -25
  104. package/dist/esm/typings/type_aliases/index.js +2 -0
  105. package/dist/esm/typings/type_aliases/index.js.map +1 -0
  106. package/dist/esm/utilities/{pollPipeline.js → poll_pipeline.js} +1 -1
  107. package/dist/esm/utilities/poll_pipeline.js.map +1 -0
  108. package/package.json +1 -1
  109. package/source/api/comment_api.ts +9 -6
  110. package/source/api/element_api.ts +7 -5
  111. package/source/api/file_information_api.ts +8 -8
  112. package/source/api/floor_api.ts +6 -7
  113. package/source/api/group_api.ts +5 -4
  114. package/source/api/integrations_api.ts +166 -127
  115. package/source/api/photo_area_api.ts +5 -3
  116. package/source/api/pipeline_api.ts +6 -6
  117. package/source/api/project_api.ts +21 -15
  118. package/source/api/recipe_api.ts +3 -3
  119. package/source/api/report_api.ts +52 -37
  120. package/source/api/scan_dataset_api.ts +24 -10
  121. package/source/api/trade_api.ts +7 -7
  122. package/source/api/web_gateway_api.ts +57 -27
  123. package/source/api/work_package_api.ts +4 -2
  124. package/source/converters/date_converter.ts +14 -1
  125. package/source/index.ts +1 -0
  126. package/source/mixins/add_date_getter_and_setter_to_domain_model.ts +3 -1
  127. package/source/mixins/add_instant_getter_and_setter_to_api_model.ts +2 -1
  128. package/source/models/api/api_action_payload.ts +1 -1
  129. package/source/models/api/api_cloud_file.ts +2 -3
  130. package/source/models/api/api_cloud_file_location_3d.ts +3 -2
  131. package/source/models/api/api_integration_credentials.ts +1 -1
  132. package/source/models/api/api_integration_project.ts +1 -1
  133. package/source/models/api/api_masterformat_progress.ts +1 -1
  134. package/source/models/api/api_pipeline.ts +1 -1
  135. package/source/models/api/api_project.ts +1 -1
  136. package/source/models/api/api_project_cost_analysis_progress.ts +1 -1
  137. package/source/models/api/api_project_masterformat_progress.ts +1 -1
  138. package/source/models/api/api_running_process.ts +1 -1
  139. package/source/models/api/api_view.ts +1 -1
  140. package/source/models/api/index.ts +64 -66
  141. package/source/models/api/integrations/autodesk/api_access_token.ts +16 -0
  142. package/source/models/api/integrations/autodesk/api_autodesk_attriibutes.ts +3 -0
  143. package/source/models/api/integrations/autodesk/api_hubs.ts +13 -0
  144. package/source/models/api/integrations/autodesk/api_projects.ts +13 -0
  145. package/source/models/api/integrations/autodesk/index.ts +4 -0
  146. package/source/models/api/integrations/index.ts +2 -0
  147. package/source/models/api/{api_photo_area.ts → photos/api_photo_area.ts} +10 -2
  148. package/source/models/api/{api_photo_location.ts → photos/api_photo_location.ts} +5 -5
  149. package/source/models/api/{api_photo_location_3d.ts → photos/api_photo_location_3d.ts} +3 -3
  150. package/source/models/api/{api_photo_session.ts → photos/api_photo_session.ts} +3 -3
  151. package/source/models/api/photos/index.ts +4 -0
  152. package/source/typings/modules.d.ts +0 -16
  153. package/source/{models/api/type_aliases.ts → typings/type_aliases/index.ts} +32 -22
  154. package/source/utilities/poll_pipeline.ts +19 -0
  155. package/dist/esm/models/api/PbeTsvType.js.map +0 -1
  156. package/dist/esm/models/api/api_photo_area.js.map +0 -1
  157. package/dist/esm/models/api/api_photo_location.js.map +0 -1
  158. package/dist/esm/models/api/api_photo_location_3d.js.map +0 -1
  159. package/dist/esm/models/api/api_photo_session.js.map +0 -1
  160. package/dist/esm/models/api/api_purpose_type.js.map +0 -1
  161. package/dist/esm/models/api/type_aliases.js +0 -2
  162. package/dist/esm/models/api/type_aliases.js.map +0 -1
  163. package/dist/esm/utilities/pollPipeline.js.map +0 -1
  164. package/source/typings/type_aliases/index.d.ts +0 -65
  165. package/source/utilities/pollPipeline.ts +0 -19
  166. /package/dist/esm/models/api/{PbeTsvType.d.ts → pbe_tsv_type.d.ts} +0 -0
  167. /package/dist/esm/models/api/{api_photo_area.d.ts → photos/api_photo_area.d.ts} +0 -0
  168. /package/dist/esm/models/{api → enums}/api_purpose_type.d.ts +0 -0
  169. /package/dist/esm/models/{api → enums}/api_purpose_type.js +0 -0
  170. /package/dist/esm/utilities/{pollPipeline.d.ts → poll_pipeline.d.ts} +0 -0
  171. /package/source/models/api/{PbeTsvType.ts → pbe_tsv_type.ts} +0 -0
  172. /package/source/models/{api → enums}/api_purpose_type.ts +0 -0
@@ -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(scanDate)}`;
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 ApiInvitation from "../models/api/api_invitation";
2
- import ApiMasterformat from "../models/api/api_masterformat";
3
- import ApiPipeline from "../models/api/api_pipeline";
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, structionSiteProjectUrl: string, token: string, user: User): Promise<ApiPipeline> {
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, role: string, organizationId: string, projectId: string, user: User): Promise<ApiInvitation> {
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, user, {userEmail: inviteeEmail, role, clientAccountId: organizationId, projectId}) as unknown as Promise<ApiInvitation>;
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, fileName: string, user: User): string {
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, fileName: string, fileDate: string, user: User): string {
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, workflowName: string, type: string, user: User): Promise<DeprecatedApiPipeline> {
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<{ accessToken: string, expireTime: string }> {
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, deviationsFlag: string, bimSourceFileExtension: string, user: User): Promise<void> {
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, userActions: ApiActionPayload[], user: User): Promise<ApiUserAction[]> {
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
- import { DateLike } from "../models";
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
@@ -3,6 +3,7 @@ import AvvirApi from "./avvir_api";
3
3
  export * from "./models";
4
4
  export * from "./mixins";
5
5
  export * from "./converters";
6
+ export * from "./typings/type_aliases";
6
7
 
7
8
  export const Avvir = {
8
9
  api: AvvirApi
@@ -1,6 +1,8 @@
1
1
  import moment from "moment";
2
+
2
3
  import DateConverter from "../converters/date_converter";
3
- import {DateLike} from "../models";
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
- import { DateLike } from "../models";
4
+
5
+ import type { DateLike } from "type_aliases";
5
6
 
6
7
  export function addInstantGetterAndSetterToApiModel(modelInstance: Object,
7
8
  propertyName: string,
@@ -1,4 +1,4 @@
1
- import type { Vector3Like } from "./type_aliases";
1
+ import type { Vector3Like } from "type_aliases";
2
2
 
3
3
  export type ApiBehavioralData = {
4
4
  deviation?: Vector3Like
@@ -1,12 +1,11 @@
1
1
  import { addInstantGetterAndSetterToApiModel, addReadOnlyPropertiesToModel } from "../../mixins";
2
- import { ApiProjectPurposeType, ApiPurposeType, isApiPurposeType } from "./api_purpose_type";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 "./type_aliases";
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 * from "./api_action_payload";
2
- export { ApiArgoResponse, ArgoMetadata } from "./api_argo_response";
3
- export { ApiBcfBuildingElement, ApiBcfBuildingElementArgument } from "./api_bcf_building_element";
4
- export { ApiBcfIssue, ApiBcfIssueArgument } from "./api_bcf_issue";
5
- export { ApiClassificationCode } from "./api_classification_code";
6
- export * from "./api_cloud_file";
7
- export { ApiComment } from "./api_comment";
8
- export { ApiCommentThread } from "./api_comment_thread";
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 * from "./api_matrix_3";
26
- export * from "./api_matrix_4";
27
- export * from "./api_organization";
28
- export * from "./api_photo_area";
29
- export { ApiPhotoLocation3d, ApiPhotoLocation3dArgument, ApiPhotoLocationProperties } from "./api_photo_location_3d";
30
- export * from "./api_photo_location";
31
- export * from "./api_photo_session";
32
- export * from "./api_pipeline";
33
- export * from "./api_planned_element";
34
- export * from "./api_progress_category";
35
- export * from "./api_progress_scan_dataset";
36
- export * from "./api_project";
37
- export * from "./api_project_area";
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 "./api_project_work_package";
48
- export * from "./api_project_work_package_cost";
49
- export * from "./api_quaternion";
50
- export * from "./api_query_resource";
51
- export * from "./api_recipe";
52
- export { ApiRpcQueryRequest } from "./api_rpc_query_request";
53
- export { ApiRpcQueryResponse } from "./api_rpc_query_response";
54
- export { ApiRpcSession } from "./api_rpc_session";
55
- export * from "./api_running_process";
56
- export * from "./api_scan_dataset";
57
- export * from "./api_scandataset_stats";
58
- export * from "./api_scanned_element";
59
- export * from "./api_team_member";
60
- export * from "./api_user";
61
- export * from "./api_user_action";
62
- export * from "./api_user_for_organization";
63
- export * from "./api_user_permission";
64
- export * from "./api_view";
65
- export * from "./api_work_package";
66
- export * from "./type_aliases";
67
- export * from "./deprecated_api_pipeline";
68
- export * from "./trade";
69
- export {ApiElementProgress} from "./api_element_progress";
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,3 @@
1
+ export class ApiAutodeskAttritributes {
2
+ name: string;
3
+ }
@@ -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;
@@ -0,0 +1,4 @@
1
+ export * from "./api_access_token";
2
+ export * from "./api_autodesk_attriibutes";
3
+ export * from "./api_hubs";
4
+ export * from "./api_projects";
@@ -0,0 +1,2 @@
1
+ export * from "./autodesk";
2
+ export * from "./procore/api_observation_request";