@qandq/cloud-gcs-core 1.0.48

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 (176) hide show
  1. package/dist/cloud-gcs-core.cjs.development.js +273 -0
  2. package/dist/cloud-gcs-core.cjs.development.js.map +1 -0
  3. package/dist/cloud-gcs-core.cjs.production.min.js +2 -0
  4. package/dist/cloud-gcs-core.cjs.production.min.js.map +1 -0
  5. package/dist/cloud-gcs-core.esm.js +284 -0
  6. package/dist/cloud-gcs-core.esm.js.map +1 -0
  7. package/dist/index.d.ts +74 -0
  8. package/dist/index.js +8 -0
  9. package/dist/models/AircraftConfiguration.d.ts +7 -0
  10. package/dist/models/AircraftIdentifier.d.ts +5 -0
  11. package/dist/models/AircraftLocation.d.ts +8 -0
  12. package/dist/models/AircraftMission.d.ts +9 -0
  13. package/dist/models/FailSafe.d.ts +13 -0
  14. package/dist/models/FailSafeAction.d.ts +4 -0
  15. package/dist/models/GCSController.d.ts +3 -0
  16. package/dist/models/GeoFence.d.ts +9 -0
  17. package/dist/models/LinkHealthStatus.d.ts +8 -0
  18. package/dist/models/MenuItem.d.ts +6 -0
  19. package/dist/models/Mission.d.ts +6 -0
  20. package/dist/models/NavigationCommandParam.d.ts +18 -0
  21. package/dist/models/PilotUserHealth.d.ts +7 -0
  22. package/dist/models/PluginLogMessage.d.ts +10 -0
  23. package/dist/models/aircraft/AircraftPilotageStatus.d.ts +6 -0
  24. package/dist/models/aircraft/AircraftState.d.ts +6 -0
  25. package/dist/models/aircraft/AircraftStatusTopicMessage.d.ts +10 -0
  26. package/dist/models/enums/AircraftHealthEnum.d.ts +8 -0
  27. package/dist/models/enums/CommandEnum.d.ts +38 -0
  28. package/dist/models/enums/CommandSourceEnum.d.ts +15 -0
  29. package/dist/models/enums/CommandTypeEnum.d.ts +28 -0
  30. package/dist/models/enums/GPSCorrectionStatusEnum.d.ts +6 -0
  31. package/dist/models/enums/GPSFixStatusEnum.d.ts +6 -0
  32. package/dist/models/enums/HandOverCommandType.d.ts +5 -0
  33. package/dist/models/enums/IndicatorStatusEnum.d.ts +7 -0
  34. package/dist/models/enums/LogLevel.d.ts +6 -0
  35. package/dist/models/enums/PayloadRetractStatusEnum.d.ts +12 -0
  36. package/dist/models/enums/PilotageStateEnum.d.ts +5 -0
  37. package/dist/models/enums/PilotageStatus.d.ts +5 -0
  38. package/dist/models/enums/SensorStatus.d.ts +6 -0
  39. package/dist/models/enums/TravelStatusEnum.d.ts +6 -0
  40. package/dist/models/enums/UnitSystemEnum.d.ts +4 -0
  41. package/dist/models/enums/UnitTypeEnum.d.ts +15 -0
  42. package/dist/models/enums/UserTypeEnum.d.ts +4 -0
  43. package/dist/models/enums/WarningStatusEnum.d.ts +7 -0
  44. package/dist/models/handover/HandOverCommandData.d.ts +4 -0
  45. package/dist/models/handover/HandOverResponseData.d.ts +6 -0
  46. package/dist/models/telemetry/AirInfo.d.ts +8 -0
  47. package/dist/models/telemetry/AircraftTelemetry.d.ts +34 -0
  48. package/dist/models/telemetry/AircraftWarningStatuses.d.ts +4 -0
  49. package/dist/models/telemetry/AttitudeInfo.d.ts +11 -0
  50. package/dist/models/telemetry/BatteryInfo.d.ts +12 -0
  51. package/dist/models/telemetry/ClimbInfo.d.ts +11 -0
  52. package/dist/models/telemetry/CommandInfo.d.ts +11 -0
  53. package/dist/models/telemetry/Coordinates.d.ts +4 -0
  54. package/dist/models/telemetry/Coordinates2D.d.ts +4 -0
  55. package/dist/models/telemetry/ESCInfo.d.ts +10 -0
  56. package/dist/models/telemetry/EngineInfo.d.ts +15 -0
  57. package/dist/models/telemetry/FlightIdentifier.d.ts +4 -0
  58. package/dist/models/telemetry/GPSHealth.d.ts +10 -0
  59. package/dist/models/telemetry/GPSInfo.d.ts +12 -0
  60. package/dist/models/telemetry/HeadingInfo.d.ts +9 -0
  61. package/dist/models/telemetry/IndexedWaypoint.d.ts +5 -0
  62. package/dist/models/telemetry/PluginTelemetryData.d.ts +4 -0
  63. package/dist/models/telemetry/SpeedInfo.d.ts +8 -0
  64. package/dist/models/telemetry/StatusInfo.d.ts +23 -0
  65. package/dist/models/telemetry/VtolControlInfo.d.ts +13 -0
  66. package/dist/models/telemetry/VtolQuadInfo.d.ts +7 -0
  67. package/dist/models/telemetry/Waypoint.d.ts +7 -0
  68. package/dist/models/user/ClientType.d.ts +7 -0
  69. package/dist/models/user/IUser.d.ts +16 -0
  70. package/dist/models/user/User.d.ts +5 -0
  71. package/dist/models/user/UserStatusTopicSubscriptionMessage.d.ts +6 -0
  72. package/dist/plugin-contract/interfaces/IEventListener.d.ts +44 -0
  73. package/dist/plugin-contract/interfaces/IPlugin.d.ts +3 -0
  74. package/dist/plugin-contract/interfaces/IPluginApi.d.ts +12 -0
  75. package/dist/plugin-contract/interfaces/IPluginEventManager.d.ts +7 -0
  76. package/dist/plugin-contract/interfaces/IPluginServiceManager.d.ts +7 -0
  77. package/dist/plugin-contract/interfaces/IPluginUIManager.d.ts +11 -0
  78. package/dist/plugin-contract/models/PluginEventArgs.d.ts +5 -0
  79. package/dist/plugin-contract/models/PluginEventCallback.d.ts +5 -0
  80. package/dist/plugin-contract/models/PluginService.d.ts +4 -0
  81. package/dist/plugin-contract/models/PluginServiceInformation.d.ts +4 -0
  82. package/dist/plugin-contract/system-api/IMessageLogger.d.ts +6 -0
  83. package/dist/plugin-contract/system-api/IMissionApi.d.ts +6 -0
  84. package/dist/plugin-contract/system-api/ISystemApi.d.ts +21 -0
  85. package/dist/plugin-contract/system-api/aircraft-api/IAircraftApi.d.ts +20 -0
  86. package/dist/plugin-contract/system-api/aircraft-location-api/IAircraftLocationApi.d.ts +4 -0
  87. package/dist/plugin-contract/system-api/handover-api/IHandOverApi.d.ts +7 -0
  88. package/dist/plugin-contract/system-api/selected-aircraft-api/ISelectedAircraftApi.d.ts +20 -0
  89. package/dist/plugin-contract/system-api/telemetry-api/ITelemetryApi.d.ts +4 -0
  90. package/dist/plugin-contract/system-api/units-api/IUnitsApi.d.ts +9 -0
  91. package/dist/plugin-contract/system-api/user-api/IUserApi.d.ts +4 -0
  92. package/package.json +55 -0
  93. package/src/index.ts +155 -0
  94. package/src/models/AircraftConfiguration.ts +7 -0
  95. package/src/models/AircraftIdentifier.ts +5 -0
  96. package/src/models/AircraftLocation.ts +8 -0
  97. package/src/models/AircraftMission.ts +10 -0
  98. package/src/models/FailSafe.ts +14 -0
  99. package/src/models/FailSafeAction.ts +4 -0
  100. package/src/models/GCSController.ts +3 -0
  101. package/src/models/GeoFence.ts +10 -0
  102. package/src/models/LinkHealthStatus.ts +12 -0
  103. package/src/models/MenuItem.ts +6 -0
  104. package/src/models/Mission.ts +7 -0
  105. package/src/models/NavigationCommandParam.ts +18 -0
  106. package/src/models/PilotUserHealth.ts +8 -0
  107. package/src/models/PluginLogMessage.ts +12 -0
  108. package/src/models/aircraft/AircraftPilotageStatus.ts +7 -0
  109. package/src/models/aircraft/AircraftState.ts +6 -0
  110. package/src/models/aircraft/AircraftStatusTopicMessage.ts +11 -0
  111. package/src/models/enums/AircraftHealthEnum.ts +8 -0
  112. package/src/models/enums/CommandEnum.ts +38 -0
  113. package/src/models/enums/CommandSourceEnum.ts +15 -0
  114. package/src/models/enums/CommandTypeEnum.ts +28 -0
  115. package/src/models/enums/GPSCorrectionStatusEnum.ts +6 -0
  116. package/src/models/enums/GPSFixStatusEnum.ts +6 -0
  117. package/src/models/enums/HandOverCommandType.ts +5 -0
  118. package/src/models/enums/IndicatorStatusEnum.ts +7 -0
  119. package/src/models/enums/LogLevel.ts +6 -0
  120. package/src/models/enums/PayloadRetractStatusEnum.ts +12 -0
  121. package/src/models/enums/PilotageStateEnum.ts +5 -0
  122. package/src/models/enums/PilotageStatus.ts +5 -0
  123. package/src/models/enums/SensorStatus.ts +6 -0
  124. package/src/models/enums/TravelStatusEnum.ts +6 -0
  125. package/src/models/enums/UnitSystemEnum.ts +4 -0
  126. package/src/models/enums/UnitTypeEnum.ts +15 -0
  127. package/src/models/enums/UserTypeEnum.ts +4 -0
  128. package/src/models/enums/WarningStatusEnum.ts +7 -0
  129. package/src/models/handover/HandOverCommandData.ts +5 -0
  130. package/src/models/handover/HandOverResponseData.ts +7 -0
  131. package/src/models/telemetry/AirInfo.ts +8 -0
  132. package/src/models/telemetry/AircraftTelemetry.ts +35 -0
  133. package/src/models/telemetry/AircraftWarningStatuses.ts +5 -0
  134. package/src/models/telemetry/AttitudeInfo.ts +12 -0
  135. package/src/models/telemetry/BatteryInfo.ts +12 -0
  136. package/src/models/telemetry/ClimbInfo.ts +11 -0
  137. package/src/models/telemetry/CommandInfo.ts +13 -0
  138. package/src/models/telemetry/Coordinates.ts +5 -0
  139. package/src/models/telemetry/Coordinates2D.ts +5 -0
  140. package/src/models/telemetry/ESCInfo.ts +10 -0
  141. package/src/models/telemetry/EngineInfo.ts +15 -0
  142. package/src/models/telemetry/FlightIdentifier.ts +5 -0
  143. package/src/models/telemetry/GPSHealth.ts +10 -0
  144. package/src/models/telemetry/GPSInfo.ts +13 -0
  145. package/src/models/telemetry/HeadingInfo.ts +9 -0
  146. package/src/models/telemetry/IndexedWaypoint.ts +6 -0
  147. package/src/models/telemetry/PluginTelemetryData.ts +4 -0
  148. package/src/models/telemetry/SpeedInfo.ts +8 -0
  149. package/src/models/telemetry/StatusInfo.ts +24 -0
  150. package/src/models/telemetry/VtolControlInfo.ts +13 -0
  151. package/src/models/telemetry/VtolQuadInfo.ts +8 -0
  152. package/src/models/telemetry/Waypoint.ts +8 -0
  153. package/src/models/user/ClientType.ts +7 -0
  154. package/src/models/user/IUser.ts +17 -0
  155. package/src/models/user/User.ts +6 -0
  156. package/src/models/user/UserStatusTopicSubscriptionMessage.ts +7 -0
  157. package/src/plugin-contract/interfaces/IEventListener.ts +45 -0
  158. package/src/plugin-contract/interfaces/IPlugin.ts +3 -0
  159. package/src/plugin-contract/interfaces/IPluginApi.ts +13 -0
  160. package/src/plugin-contract/interfaces/IPluginEventManager.ts +8 -0
  161. package/src/plugin-contract/interfaces/IPluginServiceManager.ts +9 -0
  162. package/src/plugin-contract/interfaces/IPluginUIManager.ts +15 -0
  163. package/src/plugin-contract/models/PluginEventArgs.ts +5 -0
  164. package/src/plugin-contract/models/PluginEventCallback.ts +5 -0
  165. package/src/plugin-contract/models/PluginService.ts +5 -0
  166. package/src/plugin-contract/models/PluginServiceInformation.ts +4 -0
  167. package/src/plugin-contract/system-api/IMessageLogger.ts +8 -0
  168. package/src/plugin-contract/system-api/IMissionApi.ts +7 -0
  169. package/src/plugin-contract/system-api/ISystemApi.ts +22 -0
  170. package/src/plugin-contract/system-api/aircraft-api/IAircraftApi.ts +21 -0
  171. package/src/plugin-contract/system-api/aircraft-location-api/IAircraftLocationApi.ts +5 -0
  172. package/src/plugin-contract/system-api/handover-api/IHandOverApi.ts +8 -0
  173. package/src/plugin-contract/system-api/selected-aircraft-api/ISelectedAircraftApi.ts +25 -0
  174. package/src/plugin-contract/system-api/telemetry-api/ITelemetryApi.ts +5 -0
  175. package/src/plugin-contract/system-api/units-api/IUnitsApi.ts +11 -0
  176. package/src/plugin-contract/system-api/user-api/IUserApi.ts +5 -0
@@ -0,0 +1,12 @@
1
+ import { Coordinates } from "./Coordinates";
2
+ export interface GPSInfo {
3
+ horizontalAccuracy: number;
4
+ verticalAccuracy: number;
5
+ speedAccuracy: number;
6
+ bearingAccuracy: number;
7
+ correctionStatus: number;
8
+ fixStatus: number;
9
+ coordinates: Coordinates;
10
+ gpsTimeOfTheWeek: number;
11
+ gpsTimeSt: number;
12
+ }
@@ -0,0 +1,9 @@
1
+ export interface HeadingInfo {
2
+ yaw: number;
3
+ yawSetpoint: number;
4
+ yawRate: number;
5
+ yawRateSetpoint: number;
6
+ bearing: number;
7
+ bearingSetpoint: number;
8
+ bearingRate: number;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { Waypoint } from "./Waypoint";
2
+ export interface IndexedWaypoint extends Waypoint {
3
+ index: number;
4
+ paramDescription: string;
5
+ }
@@ -0,0 +1,4 @@
1
+ export interface PluginTelemetryData {
2
+ data: {};
3
+ pluginName: string;
4
+ }
@@ -0,0 +1,8 @@
1
+ export interface SpeedInfo {
2
+ indicatedAirspeed0?: number;
3
+ indicatedAirspeed1?: number;
4
+ indicatedAirspeed: number;
5
+ indicatedAirspeedSetpoint: number;
6
+ trueAirspeed: number;
7
+ groundSpeed?: number;
8
+ }
@@ -0,0 +1,23 @@
1
+ import { TravelStatusEnum } from "../enums/TravelStatusEnum";
2
+ import { PayloadRetractStatusEnum } from "../enums/PayloadRetractStatusEnum";
3
+ export interface StatusInfo {
4
+ powerLevelStatus: number;
5
+ fuelLevelStatus: number;
6
+ gpsStatus: number;
7
+ airspeedStatus: number;
8
+ iMUStatus: number;
9
+ rangeFinderStatus: number;
10
+ systemTime: number;
11
+ systemVoltage?: number;
12
+ isLandingSwitchActive: boolean;
13
+ isLightSwitchActive: boolean;
14
+ travelStatus: TravelStatusEnum;
15
+ retractStatus: PayloadRetractStatusEnum;
16
+ bearingFromHome: number;
17
+ distanceToHome: number;
18
+ flightTime: number;
19
+ hoverTime: number;
20
+ distanceTraveled?: number;
21
+ remainingFlightDistance?: number;
22
+ remainingFlightTime?: number;
23
+ }
@@ -0,0 +1,13 @@
1
+ export interface VtolControlInfo {
2
+ lift: number;
3
+ xTorque: number;
4
+ yTorque: number;
5
+ zTorque: number;
6
+ xSpeed: number;
7
+ ySpeed: number;
8
+ xSpeedSetpoint: number;
9
+ ySpeedSetpoint: number;
10
+ rollOffset: number;
11
+ pitchOffset: number;
12
+ vtolAttControlPerfRatio: number;
13
+ }
@@ -0,0 +1,7 @@
1
+ import { ESCInfo } from "./ESCInfo";
2
+ export interface VtolQuadInfo {
3
+ frontLeft: ESCInfo;
4
+ frontRight: ESCInfo;
5
+ backLeft: ESCInfo;
6
+ backRight: ESCInfo;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { CommandEnum } from "../enums/CommandEnum";
2
+ import { Coordinates } from "./Coordinates";
3
+ export interface Waypoint {
4
+ command: CommandEnum;
5
+ coordinates: Coordinates;
6
+ parameters: number;
7
+ }
@@ -0,0 +1,7 @@
1
+ export declare enum ClientType {
2
+ Host = 0,
3
+ HostTenant = 1,
4
+ Customer = 2,
5
+ Manufacturer = 3,
6
+ ServiceProvider = 4
7
+ }
@@ -0,0 +1,16 @@
1
+ import { ClientType } from "./ClientType";
2
+ export interface IUserAuth {
3
+ id: number;
4
+ userId: number;
5
+ userName: string;
6
+ name: string;
7
+ surname: string;
8
+ emailAddress: string;
9
+ isActive: boolean;
10
+ fullName: string;
11
+ tenantName: string;
12
+ tenantCode: string;
13
+ permissionNames: string[];
14
+ tenantTypes: Array<ClientType>;
15
+ role: String;
16
+ }
@@ -0,0 +1,5 @@
1
+ import { IUserAuth } from "./IUser";
2
+ export interface User extends IUserAuth {
3
+ userCode: string;
4
+ isPilot: boolean;
5
+ }
@@ -0,0 +1,6 @@
1
+ import { FlightIdentifier } from "../telemetry/FlightIdentifier";
2
+ export interface UserStatusTopicSubscriptionMessage {
3
+ userCode: string;
4
+ listOfObservingAircrafts: FlightIdentifier[];
5
+ listOfControllingAircrafts: FlightIdentifier[];
6
+ }
@@ -0,0 +1,44 @@
1
+ export interface IEventListener {
2
+ onAircraftPilotChanged(callback: any): void;
3
+ onReceivedHandOverCommand(callback: any): void;
4
+ onReceivedHandOverResponse(callback: any): void;
5
+ onReceivedHandoverPilotMessage(callback: any): void;
6
+ onAnyAircraftStatusMessageReceived(callback: any): void;
7
+ onConnectionLoss(callback: any): void;
8
+ onAnyUserStatusMessageReceived(callback: any): void;
9
+ onInsertSummaryLog(callback: any): void;
10
+ onOnlineUsersCode(callback: any): void;
11
+ onActiveAircraftPilotageStateChanged(callback: any): void;
12
+ onFlyByWireControlsChanged(callback: any): void;
13
+ onStatusIndicatorChanged(callback: any): void;
14
+ onActiveAircraftChanged(callback: any): void;
15
+ onManageAircraftsEvent(callback: any): void;
16
+ onMissionStarted(callback: any): void;
17
+ onTelemetryDataChanged(callback: any): void;
18
+ onAircraftLocationChanged(callback: any): void;
19
+ onAircraftRemoved(callback: any): void;
20
+ removeAircraftPilotChanged(callback: any): void;
21
+ removeReceivedHandOverCommand(callback: any): void;
22
+ removeReceivedHandOverResponse(callback: any): void;
23
+ removeAnyAircraftStatusMessageReceived(callback: any): void;
24
+ removeConnectionLoss(callback: any): void;
25
+ removeAnyUserStatusMessageReceived(callback: any): void;
26
+ removeInsertSummaryLog(callback: any): void;
27
+ removeOnlineUsersCode(callback: any): void;
28
+ removeActiveAircraftPilotageStateChanged(callback: any): void;
29
+ removeFlyByWireControlsChanged(callback: any): void;
30
+ removeStatusIndicatorChanged(callback: any): void;
31
+ removeActiveAircraftChanged(callback: any): void;
32
+ removeManageAircraftsEvent(callback: any): void;
33
+ removeMissionStarted(callback: any): void;
34
+ removeTelemetryDataChanged(callback: any): void;
35
+ removeAircraftLocationChanged(callback: any): void;
36
+ removeAircraftRemoved(callback: any): void;
37
+ onAircraftLinkHealthChanged(callback: any): void;
38
+ removeAircraftLinkHealthChanged(callback: any): void;
39
+ onAircraftMissionReceived(callback: any): void;
40
+ removeAircraftMissionReceived(callback: any): void;
41
+ onAircraftPilotageStatusChanged(callback: any): void;
42
+ removeAircraftPilotageStatusChanged(callback: any): void;
43
+ removeHandoverPilotMessage(callback: any): void;
44
+ }
@@ -0,0 +1,3 @@
1
+ export interface IPlugin {
2
+ init: () => void;
3
+ }
@@ -0,0 +1,12 @@
1
+ import { ISystemApi } from "../system-api/ISystemApi";
2
+ import { IPluginUIManager } from "./IPluginUIManager";
3
+ import { IPluginEventManager } from "./IPluginEventManager";
4
+ import { IPluginServiceManager } from "./IPluginServiceManager";
5
+ import { IEventListener } from "./IEventListener";
6
+ export interface IPluginApi {
7
+ systemApi: ISystemApi;
8
+ pluginUIManager: IPluginUIManager;
9
+ pluginEventManager: IPluginEventManager;
10
+ pluginServiceManager: IPluginServiceManager;
11
+ eventListener: IEventListener;
12
+ }
@@ -0,0 +1,7 @@
1
+ import { PluginEventCallback } from "../models/PluginEventCallback";
2
+ import { PluginEventArgs } from "../models/PluginEventArgs";
3
+ export interface IPluginEventManager {
4
+ subscribe: (pluginEventCallback: PluginEventCallback) => void;
5
+ remove: (pluginEventCallback: PluginEventCallback) => void;
6
+ publish: (eventArgs: PluginEventArgs) => void;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { PluginService } from "../models/PluginService";
2
+ import { PluginServiceInformation } from "../models/PluginServiceInformation";
3
+ export interface IPluginServiceManager {
4
+ registerService<T>(pluginService: PluginService<T>): void;
5
+ getService<T>(pluginServiceInformation: PluginServiceInformation): PluginService<T>;
6
+ getServiceAsync<T>(pluginServiceInformation: PluginServiceInformation): Promise<PluginService<T>>;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { MenuItem } from "../../models/MenuItem";
2
+ export interface IPluginUIManager {
3
+ getRootElement: () => HTMLElement;
4
+ addMenuItem: (item: MenuItem) => string;
5
+ addSubMenuItem: (menuId: string, items: MenuItem[]) => void;
6
+ removeMenuItem: (menuId: string) => void;
7
+ clearSubMenuItems: (menuId: string) => void;
8
+ setDisabledMenuItem: (menuId: string, disabled: boolean) => void;
9
+ setDisabledSubMenuItem: (menuId: string, itemKey: string, disabled: boolean) => void;
10
+ getBottomStack: () => void;
11
+ }
@@ -0,0 +1,5 @@
1
+ export interface PluginEventArgs {
2
+ pluginName: string;
3
+ eventName: string;
4
+ args: any[];
5
+ }
@@ -0,0 +1,5 @@
1
+ export interface PluginEventCallback {
2
+ pluginName: string;
3
+ eventName: string;
4
+ callback: (...args: any[]) => void;
5
+ }
@@ -0,0 +1,4 @@
1
+ import { PluginServiceInformation } from "./PluginServiceInformation";
2
+ export declare type PluginService<T> = PluginServiceInformation & {
3
+ service: T;
4
+ };
@@ -0,0 +1,4 @@
1
+ export declare type PluginServiceInformation = {
2
+ pluginName: string;
3
+ serviceName: string;
4
+ };
@@ -0,0 +1,6 @@
1
+ import { PluginAircraftLogMessage, PluginLogMessage } from "../../models/PluginLogMessage";
2
+ export interface IMessageLoggerApi {
3
+ publishPilotLogMessage: (log: PluginAircraftLogMessage, isSendOtherPlugins: boolean) => void;
4
+ publishLogMessage: (log: PluginLogMessage) => void;
5
+ publishAircraftLogMessage: (log: PluginAircraftLogMessage) => void;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { AircraftMission } from "../../models/AircraftMission";
2
+ import { AircraftIdentifier } from "../../models/AircraftIdentifier";
3
+ export interface IMissionApi {
4
+ getMission(identifier: AircraftIdentifier): AircraftMission | undefined;
5
+ uploadMission(identifier: AircraftIdentifier, data: AircraftMission): void;
6
+ }
@@ -0,0 +1,21 @@
1
+ import { IAircraftLocationApi } from "./aircraft-location-api/IAircraftLocationApi";
2
+ import { ISelectedAircraftApi } from "./selected-aircraft-api/ISelectedAircraftApi";
3
+ import { ITelemetryApi } from "./telemetry-api/ITelemetryApi";
4
+ import { IUnitsApi } from "./units-api/IUnitsApi";
5
+ import { IAircraftApi } from "./aircraft-api/IAircraftApi";
6
+ import { IUserApi } from "./user-api/IUserApi";
7
+ import { IHandOverApi } from "./handover-api/IHandOverApi";
8
+ import { IMessageLoggerApi } from "./IMessageLogger";
9
+ import { IMissionApi } from "./IMissionApi";
10
+ export interface ISystemApi {
11
+ aircraftLocationApi: IAircraftLocationApi;
12
+ selectedAircraftApi: ISelectedAircraftApi;
13
+ telemetryApi: ITelemetryApi;
14
+ missionApi: IMissionApi;
15
+ unitsApi: IUnitsApi;
16
+ aircraftApi: IAircraftApi;
17
+ userApi: IUserApi;
18
+ handoverApi: IHandOverApi;
19
+ getOrganizationName: () => string;
20
+ messageLoggerApi: IMessageLoggerApi;
21
+ }
@@ -0,0 +1,20 @@
1
+ import { AircraftPilotageStatus } from "../../../models/aircraft/AircraftPilotageStatus";
2
+ import { AircraftIdentifier } from "../../../models/AircraftIdentifier";
3
+ import { LinkHealthStatus } from "../../../models/LinkHealthStatus";
4
+ import { AircraftConfiguration } from "../../../models/AircraftConfiguration";
5
+ import { CommandTypeEnum } from "../../../models/enums/CommandTypeEnum";
6
+ export interface IAircraftApi {
7
+ isBeingControlled: (identifier: AircraftIdentifier) => boolean;
8
+ isBeingObserved: (identifier: AircraftIdentifier) => boolean;
9
+ getObservingAircraft: () => AircraftIdentifier[];
10
+ getControllingAircraft: () => AircraftIdentifier[];
11
+ getAircraft3dModel: (aircraftId: number) => string;
12
+ setPilotageStatuses: (AircraftPilotageStatuses: AircraftPilotageStatus[]) => void;
13
+ subscribeToAircraftStatuses: (initiate: boolean) => void;
14
+ changeActiveAircraft: (aircraftId: number) => void;
15
+ postAirText: (identifier: AircraftIdentifier, data: any) => void;
16
+ sendPluginCommand: (identifier: AircraftIdentifier, command: string, data: any) => void;
17
+ executeCommand(identifier: AircraftIdentifier, command: CommandTypeEnum, data: any): void;
18
+ getAircraftLinkHealthStatus(aircraftIdentifier: AircraftIdentifier): LinkHealthStatus | undefined;
19
+ getAircraftConfiguration(identifier: AircraftIdentifier): AircraftConfiguration | null;
20
+ }
@@ -0,0 +1,4 @@
1
+ import { AircraftLocation } from "../../../models/AircraftLocation";
2
+ export interface IAircraftLocationApi {
3
+ getAircraftLocation: (aircraftId: number) => AircraftLocation | null;
4
+ }
@@ -0,0 +1,7 @@
1
+ import { HandOverResponseData } from "../../../models/handover/HandOverResponseData";
2
+ export interface IHandOverApi {
3
+ handOver: (aircraftId: number, toUserCode: string) => void;
4
+ sendHandOverResponse: (answer: boolean, handOverCommand: HandOverResponseData) => void;
5
+ requestHandOver: (aircraftId: number | undefined) => void;
6
+ sendPilotMessage: (toUserCode: string, data: any) => void;
7
+ }
@@ -0,0 +1,20 @@
1
+ import { AircraftConfiguration } from "../../../models/AircraftConfiguration";
2
+ import { AircraftTelemetry } from "../../../models/telemetry/AircraftTelemetry";
3
+ import { AircraftLocation } from "../../../models/AircraftLocation";
4
+ import { AircraftIdentifier } from "../../../models/AircraftIdentifier";
5
+ import { CommandEnum } from "../../../models/enums/CommandEnum";
6
+ import { CommandTypeEnum } from "../../../models/enums/CommandTypeEnum";
7
+ export interface ISelectedAircraftApi {
8
+ isBeingControlled: () => boolean | null;
9
+ getAircraftIdentifier: () => AircraftIdentifier | null;
10
+ getAircraftType: () => string | null;
11
+ getAircraft3dModel: () => string;
12
+ getAircraftConfiguration: () => AircraftConfiguration | null;
13
+ getTelemetry: () => AircraftTelemetry | null;
14
+ getLocation: () => AircraftLocation | null;
15
+ postAirText: (data: any) => void;
16
+ sendPluginCommand: (command: CommandEnum, data: any) => void;
17
+ executeCommand(command: CommandTypeEnum, data: any): void;
18
+ isPluginSupported: () => boolean;
19
+ getPluginConfig: () => any;
20
+ }
@@ -0,0 +1,4 @@
1
+ import { AircraftTelemetry } from "../../../models/telemetry/AircraftTelemetry";
2
+ export interface ITelemetryApi {
3
+ getTelemetry: (aircraftId: number) => AircraftTelemetry | null;
4
+ }
@@ -0,0 +1,9 @@
1
+ import { UnitSystemEnum } from "../../../models/enums/UnitSystemEnum";
2
+ import { UnitTypeEnum } from "../../../models/enums/UnitTypeEnum";
3
+ export interface IUnitsApi {
4
+ convertToString: (system: UnitSystemEnum, type: UnitTypeEnum, value: number) => string;
5
+ convertNumber: (system: UnitSystemEnum, type: UnitTypeEnum, value: number) => number;
6
+ convertToSI: (system: UnitSystemEnum, unit: UnitTypeEnum, value: number) => number;
7
+ getUnitText: (system: UnitSystemEnum, type: UnitTypeEnum) => string;
8
+ getUnitSystem: () => UnitSystemEnum;
9
+ }
@@ -0,0 +1,4 @@
1
+ import { User } from "../../../models/user/User";
2
+ export interface IUserApi {
3
+ getUserInfo: () => User;
4
+ }
package/package.json ADDED
@@ -0,0 +1,55 @@
1
+ {
2
+ "name": "@qandq/cloud-gcs-core",
3
+ "version": "1.0.48",
4
+ "description": "",
5
+ "main": "dist/index.js",
6
+ "typings": "dist/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "src"
10
+ ],
11
+ "engines": {
12
+ "node": ">=10"
13
+ },
14
+ "scripts": {
15
+ "start": "tsdx watch",
16
+ "build": "tsdx build",
17
+ "test": "tsdx test",
18
+ "lint": "tsdx lint",
19
+ "prepare": "tsdx build",
20
+ "size": "size-limit",
21
+ "analyze": "size-limit --why"
22
+ },
23
+ "husky": {
24
+ "hooks": {
25
+ "pre-commit": "tsdx lint"
26
+ }
27
+ },
28
+ "prettier": {
29
+ "printWidth": 80,
30
+ "semi": true,
31
+ "singleQuote": true,
32
+ "trailingComma": "es5"
33
+ },
34
+ "module": "dist/cloud-gcs-core.esm.js",
35
+ "author": "",
36
+ "license": "ISC",
37
+ "size-limit": [
38
+ {
39
+ "path": "dist/cloud-gcs-core.cjs.production.min.js",
40
+ "limit": "10 KB"
41
+ },
42
+ {
43
+ "path": "dist/cloud-gcs-core.esm.js",
44
+ "limit": "10 KB"
45
+ }
46
+ ],
47
+ "dependencies": {
48
+ "@types/node": "^18.11.18",
49
+ "tsdx": "^0.14.1"
50
+ },
51
+ "directories": {
52
+ "test": "test"
53
+ },
54
+ "devDependencies": {}
55
+ }
package/src/index.ts ADDED
@@ -0,0 +1,155 @@
1
+ import { IPlugin } from "./plugin-contract/interfaces/IPlugin";
2
+ import { IPluginApi } from "./plugin-contract/interfaces/IPluginApi";
3
+ import { IPluginEventManager } from "./plugin-contract/interfaces/IPluginEventManager";
4
+ import { PluginService } from "./plugin-contract/models/PluginService";
5
+ import { IPluginServiceManager } from "./plugin-contract/interfaces/IPluginServiceManager";
6
+ import { IPluginUIManager } from "./plugin-contract/interfaces/IPluginUIManager";
7
+ import { IEventListener } from "./plugin-contract/interfaces/IEventListener";
8
+
9
+ import { ISystemApi } from "./plugin-contract/system-api/ISystemApi";
10
+ import { IAircraftLocationApi } from "./plugin-contract/system-api/aircraft-location-api/IAircraftLocationApi";
11
+ import { ISelectedAircraftApi } from "./plugin-contract/system-api/selected-aircraft-api/ISelectedAircraftApi";
12
+ import { ITelemetryApi } from "./plugin-contract/system-api/telemetry-api/ITelemetryApi";
13
+ import { IUnitsApi } from "./plugin-contract/system-api/units-api/IUnitsApi";
14
+ import { IAircraftApi } from "./plugin-contract/system-api/aircraft-api/IAircraftApi";
15
+ import { IUserApi } from "./plugin-contract/system-api/user-api/IUserApi";
16
+ import { IHandOverApi } from "./plugin-contract/system-api/handover-api/IHandOverApi";
17
+
18
+ import { CommandEnum } from "./models/enums/CommandEnum";
19
+ import { CommandSourceEnum } from "./models/enums/CommandSourceEnum";
20
+ import { GPSCorrectionStatusEnum } from "./models/enums/GPSCorrectionStatusEnum";
21
+ import { UnitTypeEnum } from "./models/enums/UnitTypeEnum";
22
+ import { GPSFixStatusEnum } from "./models/enums/GPSFixStatusEnum";
23
+ import { PayloadRetractStatusEnum } from "./models/enums/PayloadRetractStatusEnum";
24
+ import { TravelStatusEnum } from "./models/enums/TravelStatusEnum";
25
+ import { UnitSystemEnum } from "./models/enums/UnitSystemEnum";
26
+ import { WarningStatusEnum } from "./models/enums/WarningStatusEnum";
27
+ import { UserTypeEnum } from "./models/enums/UserTypeEnum";
28
+ import { AircraftHealthEnum } from "./models/enums/AircraftHealthEnum";
29
+ import { PilotageStateEnum } from "./models/enums/PilotageStateEnum";
30
+ import { HandOverCommandType } from "./models/enums/HandOverCommandType";
31
+ import {LogLevel} from "./models/enums/LogLevel";
32
+
33
+ import {AircraftIdentifier} from "./models/AircraftIdentifier";
34
+ import {FlightIdentifier} from "./models/telemetry/FlightIdentifier";
35
+ import { AircraftConfiguration } from "./models/AircraftConfiguration";
36
+ import { AircraftLocation } from "./models/AircraftLocation";
37
+ import { AircraftTelemetry } from "./models/telemetry/AircraftTelemetry";
38
+ import { AircraftWarningStatuses } from "./models/telemetry/AircraftWarningStatuses";
39
+ import { AirInfo } from "./models/telemetry/AirInfo";
40
+ import { AttitudeInfo } from "./models/telemetry/AttitudeInfo";
41
+ import { BatteryInfo } from "./models/telemetry/BatteryInfo";
42
+ import { ClimbInfo } from "./models/telemetry/ClimbInfo";
43
+ import { CommandInfo } from "./models/telemetry/CommandInfo";
44
+ import { Coordinates2D } from "./models/telemetry/Coordinates2D";
45
+ import { EngineInfo } from "./models/telemetry/EngineInfo";
46
+ import { HeadingInfo } from "./models/telemetry/HeadingInfo";
47
+ import { IndexedWaypoint } from "./models/telemetry/IndexedWaypoint";
48
+ import { MenuItem } from "./models/MenuItem";
49
+ import { PluginEventArgs } from "./plugin-contract/models/PluginEventArgs";
50
+ import { PluginEventCallback } from "./plugin-contract/models/PluginEventCallback";
51
+ import { PluginServiceInformation } from "./plugin-contract/models/PluginServiceInformation";
52
+ import { SpeedInfo } from "./models/telemetry/SpeedInfo";
53
+ import { StatusInfo } from "./models/telemetry/StatusInfo";
54
+ import { Waypoint } from "./models/telemetry/Waypoint";
55
+ import { User } from "./models/user/User";
56
+ import { UserStatusTopicSubscriptionMessage } from "./models/user/UserStatusTopicSubscriptionMessage";
57
+ import { AircraftState } from "./models/aircraft/AircraftState";
58
+ import { AircraftPilotageStatus } from "./models/aircraft/AircraftPilotageStatus";
59
+ import { AircraftStatusTopicMessage } from "./models/aircraft/AircraftStatusTopicMessage";
60
+ import { GCSController } from "./models/GCSController";
61
+ import { PilotUserHealth } from "./models/PilotUserHealth";
62
+ import {HandOverResponseData} from "./models/handover/HandOverResponseData";
63
+ import {HandOverCommandData} from "./models/handover/HandOverCommandData";
64
+
65
+ import {GPSInfo} from "./models/telemetry/GPSInfo";
66
+ import {PluginTelemetryData} from "./models/telemetry/PluginTelemetryData";
67
+ import {VtolControlInfo} from "./models/telemetry/VtolControlInfo";
68
+ import {LinkHealthStatus} from "./models/LinkHealthStatus";
69
+ import {IndicatorStatusEnum} from "./models/enums/IndicatorStatusEnum";
70
+
71
+ import {AircraftMission} from "./models/AircraftMission";
72
+ import {GeoFence} from "./models/GeoFence";
73
+ import {FailSafe} from "./models/FailSafe";
74
+ import {NavigationCommandParam} from "./models/NavigationCommandParam";
75
+ import {FailSafeAction} from "./models/FailSafeAction";
76
+ import {Coordinates} from "./models/telemetry/Coordinates";
77
+ import {CommandTypeEnum} from "./models/enums/CommandTypeEnum";
78
+
79
+ export type {
80
+ IPlugin,
81
+ IPluginApi,
82
+ IPluginEventManager,
83
+ IPluginServiceManager,
84
+ IPluginUIManager,
85
+ IEventListener,
86
+ ISystemApi,
87
+ IAircraftLocationApi,
88
+ ISelectedAircraftApi,
89
+ ITelemetryApi,
90
+ IUnitsApi,
91
+ IUserApi,
92
+ IHandOverApi,
93
+ IAircraftApi,
94
+ AircraftConfiguration,
95
+ AircraftLocation,
96
+ AircraftTelemetry,
97
+ AircraftWarningStatuses,
98
+ AirInfo,
99
+ AttitudeInfo,
100
+ BatteryInfo,
101
+ ClimbInfo,
102
+ CommandInfo,
103
+ Coordinates2D,
104
+ EngineInfo,
105
+ HeadingInfo,
106
+ IndexedWaypoint,
107
+ PluginService,
108
+ MenuItem,
109
+ PluginEventArgs,
110
+ PluginEventCallback,
111
+ PluginServiceInformation,
112
+ SpeedInfo,
113
+ StatusInfo,
114
+ Waypoint,
115
+ User,
116
+ AircraftPilotageStatus,
117
+ AircraftState,
118
+ AircraftStatusTopicMessage,
119
+ PilotUserHealth,
120
+ GCSController,
121
+ UserStatusTopicSubscriptionMessage,
122
+ HandOverResponseData,
123
+ HandOverCommandData,
124
+ AircraftIdentifier,
125
+ GPSInfo,
126
+ PluginTelemetryData,
127
+ VtolControlInfo,
128
+ LinkHealthStatus,
129
+ AircraftMission,
130
+ GeoFence,
131
+ FailSafe,
132
+ NavigationCommandParam,
133
+ FailSafeAction,
134
+ Coordinates,
135
+ FlightIdentifier
136
+ }
137
+
138
+ export {
139
+ CommandTypeEnum,
140
+ CommandEnum,
141
+ CommandSourceEnum,
142
+ GPSCorrectionStatusEnum,
143
+ UnitTypeEnum,
144
+ GPSFixStatusEnum,
145
+ PayloadRetractStatusEnum,
146
+ TravelStatusEnum,
147
+ UnitSystemEnum,
148
+ WarningStatusEnum,
149
+ PilotageStateEnum,
150
+ UserTypeEnum,
151
+ AircraftHealthEnum,
152
+ HandOverCommandType,
153
+ IndicatorStatusEnum,
154
+ LogLevel
155
+ };
@@ -0,0 +1,7 @@
1
+ export interface AircraftConfiguration {
2
+ hasEFI: boolean;
3
+ hasRetract: boolean;
4
+ hasParachute: boolean;
5
+ hasVTOL: boolean;
6
+ aircraftType: string;
7
+ }
@@ -0,0 +1,5 @@
1
+ export interface AircraftIdentifier {
2
+ aircraftId: number,
3
+ aircraftName: string,
4
+ aircraftCertificateName: string,
5
+ };
@@ -0,0 +1,8 @@
1
+ export interface AircraftLocation {
2
+ latitude?: number;
3
+ longitude?: number;
4
+ altitude?: number;
5
+ yaw?: number;
6
+ pitch?: number;
7
+ roll?: number;
8
+ }
@@ -0,0 +1,10 @@
1
+ import {GeoFence} from "./GeoFence";
2
+ import {Mission} from "./Mission";
3
+ import {FailSafe} from "./FailSafe";
4
+
5
+ export interface AircraftMission {
6
+ geoFence: GeoFence;
7
+ mission: Mission;
8
+ randomCode: number;
9
+ failSafe: FailSafe
10
+ }
@@ -0,0 +1,14 @@
1
+ import {FailSafeAction} from "./FailSafeAction";
2
+
3
+ export interface FailSafe {
4
+ longAction: FailSafeAction;
5
+ rescueOnLossOfControl: boolean;
6
+ blockRCCommandSwitch: boolean;
7
+ lossOfRCActionChoice: number;
8
+ lossOfGCSActionChoice: number;
9
+ climbRateToleranceForRescue: number;
10
+ timeShortActionRC: number;
11
+ timeShortActionGPS: number;
12
+ timeShortActionGCS: number;
13
+ timeLongAction: number;
14
+ }