@trakit/objects 0.0.1

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 (219) hide show
  1. package/API/Arrays.d.ts +46 -0
  2. package/API/Base.d.ts +18 -0
  3. package/API/BaseComponent.d.ts +37 -0
  4. package/API/BaseCompound.d.ts +19 -0
  5. package/API/Codifier.d.ts +5 -0
  6. package/API/Component.d.ts +42 -0
  7. package/API/Compound.d.ts +19 -0
  8. package/API/Constants.d.ts +39 -0
  9. package/API/Conversion.d.ts +255 -0
  10. package/API/Files.d.ts +21 -0
  11. package/API/Functions.d.ts +191 -0
  12. package/API/Geography/Functions.d.ts +232 -0
  13. package/API/Geography/Interfaces.d.ts +145 -0
  14. package/API/Geography/LatLng.d.ts +78 -0
  15. package/API/Geography/LatLngBounds.d.ts +145 -0
  16. package/API/Geography/Position.d.ts +62 -0
  17. package/API/Geography/StreetAddress.d.ts +58 -0
  18. package/API/Geometry/Functions.d.ts +114 -0
  19. package/API/Geometry/Interfaces.d.ts +111 -0
  20. package/API/Geometry/Point.d.ts +80 -0
  21. package/API/Geometry/Radial.d.ts +109 -0
  22. package/API/Geometry/Rectangle.d.ts +163 -0
  23. package/API/Geometry/Size.d.ts +52 -0
  24. package/API/Guid.d.ts +4 -0
  25. package/API/Interfaces/IAmCompany.d.ts +11 -0
  26. package/API/Interfaces/IBelongAsset.d.ts +15 -0
  27. package/API/Interfaces/IBelongBillingProfile.d.ts +15 -0
  28. package/API/Interfaces/IBelongCompany.d.ts +15 -0
  29. package/API/Interfaces/IDeserializable.d.ts +12 -0
  30. package/API/Interfaces/IEnabled.d.ts +10 -0
  31. package/API/Interfaces/IFileSize.d.ts +9 -0
  32. package/API/Interfaces/IGlobal.d.ts +11 -0
  33. package/API/Interfaces/IHavePermissions.d.ts +20 -0
  34. package/API/Interfaces/IHavePreferences.d.ts +29 -0
  35. package/API/Interfaces/IIconic.d.ts +15 -0
  36. package/API/Interfaces/IIdUlong.d.ts +10 -0
  37. package/API/Interfaces/ILabelled.d.ts +9 -0
  38. package/API/Interfaces/INamed.d.ts +13 -0
  39. package/API/Interfaces/IPictured.d.ts +15 -0
  40. package/API/Interfaces/IRequestable.d.ts +18 -0
  41. package/API/Interfaces/ISerializable.d.ts +10 -0
  42. package/API/Interfaces/ISuspendable.d.ts +16 -0
  43. package/API/Interfaces/IVisual.d.ts +18 -0
  44. package/API/Maps.d.ts +28 -0
  45. package/API/Objects.d.ts +33 -0
  46. package/API/SearchPattern.d.ts +45 -0
  47. package/API/TimeSpan.d.ts +140 -0
  48. package/API/Timezone.d.ts +44 -0
  49. package/API/Timezones.d.ts +7 -0
  50. package/API/Types.d.ts +114 -0
  51. package/Accounts/Contact.d.ts +140 -0
  52. package/Accounts/Machine.d.ts +131 -0
  53. package/Accounts/NotificationMethod.d.ts +17 -0
  54. package/Accounts/Permissions/Authorizer.d.ts +204 -0
  55. package/Accounts/Permissions/Permission.d.ts +57 -0
  56. package/Accounts/Permissions/PermissionEscalation.d.ts +33 -0
  57. package/Accounts/Permissions/PermissionEscalationState.d.ts +17 -0
  58. package/Accounts/Permissions/PermissionEscalationType.d.ts +13 -0
  59. package/Accounts/Permissions/PermissionLevel.d.ts +17 -0
  60. package/Accounts/Permissions/PermissionMethod.d.ts +13 -0
  61. package/Accounts/Permissions/PermissionType.d.ts +280 -0
  62. package/Accounts/Session.d.ts +92 -0
  63. package/Accounts/SessionStatus.d.ts +29 -0
  64. package/Accounts/SystemsOfUnits.d.ts +13 -0
  65. package/Accounts/User.d.ts +147 -0
  66. package/Accounts/UserAdvanced.d.ts +54 -0
  67. package/Accounts/UserGeneral.d.ts +100 -0
  68. package/Accounts/UserGroup.d.ts +52 -0
  69. package/Accounts/UserNotifications.d.ts +76 -0
  70. package/Assets/Asset.d.ts +192 -0
  71. package/Assets/AssetAdvanced.d.ts +90 -0
  72. package/Assets/AssetAttribute.d.ts +71 -0
  73. package/Assets/AssetDispatch.d.ts +63 -0
  74. package/Assets/AssetGeneral.d.ts +109 -0
  75. package/Assets/AssetPlaceStatus.d.ts +31 -0
  76. package/Assets/AssetPlaceStatusType.d.ts +17 -0
  77. package/Assets/AssetType.d.ts +21 -0
  78. package/Assets/Person.d.ts +25 -0
  79. package/Assets/PersonGeneral.d.ts +35 -0
  80. package/Assets/Trailer.d.ts +42 -0
  81. package/Assets/TrailerGeneral.d.ts +47 -0
  82. package/Assets/Vehicle.d.ts +73 -0
  83. package/Assets/VehicleAdvanced.d.ts +25 -0
  84. package/Assets/VehicleGeneral.d.ts +33 -0
  85. package/Behaviours/Behaviour.d.ts +79 -0
  86. package/Behaviours/BehaviourLog.d.ts +97 -0
  87. package/Behaviours/BehaviourLogType.d.ts +21 -0
  88. package/Behaviours/BehaviourParameter.d.ts +37 -0
  89. package/Behaviours/BehaviourParameterType.d.ts +21 -0
  90. package/Behaviours/BehaviourScript.d.ts +84 -0
  91. package/Billing/BillableBase.d.ts +85 -0
  92. package/Billing/BillableSmsProfile.d.ts +26 -0
  93. package/Billing/BillingCurrency.d.ts +17 -0
  94. package/Billing/BillingCycle.d.ts +17 -0
  95. package/Billing/BillingProfile.d.ts +107 -0
  96. package/Billing/Hosting/BillableHostingBase.d.ts +41 -0
  97. package/Billing/Hosting/BillableHostingDiscount.d.ts +35 -0
  98. package/Billing/Hosting/BillableHostingLicense.d.ts +29 -0
  99. package/Billing/Hosting/BillableHostingLicenseType.d.ts +20 -0
  100. package/Billing/Hosting/BillableHostingRule.d.ts +29 -0
  101. package/Billing/Hosting/BillableHostingType.d.ts +41 -0
  102. package/Billing/Report/BillingReport.d.ts +114 -0
  103. package/Billing/Report/BillingReportBreakdown.d.ts +35 -0
  104. package/Billing/Report/BillingReportHostingSummary.d.ts +36 -0
  105. package/Billing/Report/BillingReportLicenseBreakdown.d.ts +80 -0
  106. package/Billing/Report/BillingReportServiceBreakdown.d.ts +126 -0
  107. package/Billing/Report/BillingReportStatus.d.ts +25 -0
  108. package/Billing/Report/BillingReportSummary.d.ts +51 -0
  109. package/Companies/ColourStyle.d.ts +25 -0
  110. package/Companies/Company.d.ts +150 -0
  111. package/Companies/CompanyDirectory.d.ts +49 -0
  112. package/Companies/CompanyGeneral.d.ts +51 -0
  113. package/Companies/CompanyPolicies.d.ts +62 -0
  114. package/Companies/CompanyReseller.d.ts +163 -0
  115. package/Companies/CompanyStyles.d.ts +46 -0
  116. package/Companies/LabelStyle.d.ts +46 -0
  117. package/Companies/NotificationServerEmail.d.ts +99 -0
  118. package/Companies/NotificationServerSms.d.ts +25 -0
  119. package/Companies/PasswordExpiryMode.d.ts +17 -0
  120. package/Companies/PasswordPolicy.d.ts +51 -0
  121. package/Companies/SessionMultiUser.d.ts +17 -0
  122. package/Companies/SessionPolicy.d.ts +47 -0
  123. package/Dispatch/DispatchDirection.d.ts +53 -0
  124. package/Dispatch/DispatchJob.d.ts +109 -0
  125. package/Dispatch/DispatchJobPriority.d.ts +25 -0
  126. package/Dispatch/DispatchStep.d.ts +99 -0
  127. package/Dispatch/DispatchStepState.d.ts +27 -0
  128. package/Dispatch/DispatchStepStatus.d.ts +21 -0
  129. package/Dispatch/DispatchTask.d.ts +156 -0
  130. package/Dispatch/DispatchTaskStatus.d.ts +50 -0
  131. package/Hosting/Document.d.ts +71 -0
  132. package/Hosting/Fields/FormFieldAttachments.d.ts +38 -0
  133. package/Hosting/Fields/FormFieldBase.d.ts +71 -0
  134. package/Hosting/Fields/FormFieldBoolean.d.ts +46 -0
  135. package/Hosting/Fields/FormFieldChoice.d.ts +48 -0
  136. package/Hosting/Fields/FormFieldDate.d.ts +33 -0
  137. package/Hosting/Fields/FormFieldNumeric.d.ts +61 -0
  138. package/Hosting/Fields/FormFieldNumericSize.d.ts +32 -0
  139. package/Hosting/Fields/FormFieldSignature.d.ts +17 -0
  140. package/Hosting/Fields/FormFieldText.d.ts +39 -0
  141. package/Hosting/Fields/FormFieldTime.d.ts +34 -0
  142. package/Hosting/Fields/FormFieldTimezone.d.ts +14 -0
  143. package/Hosting/FormFieldType.d.ts +127 -0
  144. package/Hosting/FormResult.d.ts +97 -0
  145. package/Hosting/FormTemplate.d.ts +81 -0
  146. package/Images/Dashcam.d.ts +70 -0
  147. package/Images/DashcamBase.d.ts +98 -0
  148. package/Images/DashcamLive.d.ts +43 -0
  149. package/Images/DashcamMediaType.d.ts +17 -0
  150. package/Images/Icon.d.ts +87 -0
  151. package/Images/IconGlyph.d.ts +54 -0
  152. package/Images/IconLabel.d.ts +32 -0
  153. package/Images/IconLayer.d.ts +33 -0
  154. package/Images/Picture.d.ts +73 -0
  155. package/Maintenance/MaintenanceInterval.d.ts +49 -0
  156. package/Maintenance/MaintenanceJob.d.ts +137 -0
  157. package/Maintenance/MaintenanceJobStatus.d.ts +21 -0
  158. package/Maintenance/MaintenanceSchedule.d.ts +119 -0
  159. package/Messaging/AlertPriority.d.ts +17 -0
  160. package/Messaging/AssetAlert.d.ts +28 -0
  161. package/Messaging/AssetMessage.d.ts +40 -0
  162. package/Messaging/MessageBase.d.ts +101 -0
  163. package/Messaging/MessageFolder.d.ts +13 -0
  164. package/Messaging/MessageStatus.d.ts +29 -0
  165. package/Messaging/MessageType.d.ts +33 -0
  166. package/Places/Place.d.ts +116 -0
  167. package/Places/PlaceType.d.ts +25 -0
  168. package/Providers/Config/ProviderConfig.d.ts +72 -0
  169. package/Providers/Config/ProviderRegistration.d.ts +123 -0
  170. package/Providers/Config/ProviderScript.d.ts +87 -0
  171. package/Providers/Config/ProviderScriptBlock.d.ts +40 -0
  172. package/Providers/Config/ProviderScriptParameter.d.ts +49 -0
  173. package/Providers/Config/ProviderScriptParameterType.d.ts +17 -0
  174. package/Providers/Configuration/ProviderConfiguration.d.ts +68 -0
  175. package/Providers/Configuration/ProviderConfigurationNode.d.ts +65 -0
  176. package/Providers/Configuration/ProviderConfigurationType.d.ts +62 -0
  177. package/Providers/Configuration/ProviderGeofenceBase.d.ts +31 -0
  178. package/Providers/Configuration/ProviderGeofenceCircular.d.ts +28 -0
  179. package/Providers/Configuration/ProviderGeofencePoint.d.ts +12 -0
  180. package/Providers/Configuration/ProviderGeofencePolygon.d.ts +23 -0
  181. package/Providers/Configuration/ProviderGeofenceRectangle.d.ts +28 -0
  182. package/Providers/Provider.d.ts +145 -0
  183. package/Providers/ProviderAdvanced.d.ts +51 -0
  184. package/Providers/ProviderCommand.d.ts +36 -0
  185. package/Providers/ProviderCommandStatus.d.ts +29 -0
  186. package/Providers/ProviderCommandType.d.ts +37 -0
  187. package/Providers/ProviderControl.d.ts +42 -0
  188. package/Providers/ProviderData.d.ts +30 -0
  189. package/Providers/ProviderGeneral.d.ts +117 -0
  190. package/Providers/ProviderType.d.ts +106 -0
  191. package/README.md +13 -0
  192. package/Reports/ReportBreakdown.d.ts +72 -0
  193. package/Reports/ReportBreakdownJob.d.ts +62 -0
  194. package/Reports/ReportBreakdownMessage.d.ts +65 -0
  195. package/Reports/ReportBreakdownTask.d.ts +71 -0
  196. package/Reports/ReportDataTotal.d.ts +50 -0
  197. package/Reports/ReportFilterMode.d.ts +17 -0
  198. package/Reports/ReportNotifications.d.ts +31 -0
  199. package/Reports/ReportOptions.d.ts +51 -0
  200. package/Reports/ReportParameter.d.ts +25 -0
  201. package/Reports/ReportParameterType.d.ts +59 -0
  202. package/Reports/ReportRecurrence.d.ts +54 -0
  203. package/Reports/ReportRecurrenceType.d.ts +34 -0
  204. package/Reports/ReportResult.d.ts +170 -0
  205. package/Reports/ReportResultData.d.ts +17 -0
  206. package/Reports/ReportSchedule.d.ts +112 -0
  207. package/Reports/ReportScorecard.d.ts +39 -0
  208. package/Reports/ReportScorecardParameter.d.ts +31 -0
  209. package/Reports/ReportScorecardRules.d.ts +26 -0
  210. package/Reports/ReportStatus.d.ts +29 -0
  211. package/Reports/ReportSummary.d.ts +119 -0
  212. package/Reports/ReportSummaryReason.d.ts +27 -0
  213. package/Reports/ReportTemplate.d.ts +82 -0
  214. package/Reports/ReportTotal.d.ts +48 -0
  215. package/Reports/ReportType.d.ts +42 -0
  216. package/Storage.d.ts +166 -0
  217. package/objects.d.ts +534 -0
  218. package/objects.min.js +7 -0
  219. package/package.json +22 -0
@@ -0,0 +1,40 @@
1
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
2
+ /**
3
+ * A chunk of script and variables used to assemble a working ProviderScript.
4
+ */
5
+ export declare class ProviderScriptBlock implements ISerializable {
6
+ /**
7
+ *
8
+ * @param json
9
+ * @returns
10
+ */
11
+ static fromJSON(json: any): ProviderScriptBlock;
12
+ /**
13
+ * A chunk of the file loaded onto a provider with it's variables replaced with configurable variables.
14
+ * Trailing or leading whitespace should be included here, so when blocks are merged, so too is the newline characters.
15
+ */
16
+ content: string;
17
+ /**
18
+ * A regular expression used to match variables in the content.
19
+ * The regex must contain at least one match-group.
20
+ * The value fom the last group is what's used as a parameter name.
21
+ * @example {{([a-z]+)}}
22
+ * @example <(var[a-z]+)>
23
+ */
24
+ replace: string;
25
+ /**
26
+ * When defined, this condition matches a {@link ProviderScriptParameter} defined in the {@link ProviderConfig} to include or exclude this chunk from the script.
27
+ */
28
+ condition: string;
29
+ /**
30
+ * Used in conjunction with condition, this value must match the given ProviderScriptParameter value to have the chunk included.
31
+ */
32
+ validate: string;
33
+ constructor(content?: string, replace?: string, condition?: string, validate?: string);
34
+ toJSON(): {
35
+ content: string;
36
+ replace: string;
37
+ condition: string;
38
+ validate: string;
39
+ };
40
+ }
@@ -0,0 +1,49 @@
1
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
2
+ import { uint } from "../../API/Types";
3
+ import { ProviderScriptParameterType } from "./ProviderScriptParameterType";
4
+ /**
5
+ * Definition of an argument passed to a ProviderScript.
6
+ */
7
+ export declare class ProviderScriptParameter implements ISerializable {
8
+ /**
9
+ *
10
+ * @param json
11
+ * @returns
12
+ */
13
+ static fromJSON(json: any): ProviderScriptParameter;
14
+ /**
15
+ * Simple type information for the gateway to process.
16
+ */
17
+ kind: ProviderScriptParameterType;
18
+ /**
19
+ * The value is given as a string, but parsed into native type when used by the gateway.
20
+ */
21
+ value: string;
22
+ /**
23
+ * Usage notes.
24
+ */
25
+ notes: string;
26
+ /**
27
+ * Gives a hint to the client on the best UI to use for editing.
28
+ * For example, "checkbox" is a good UI hint for boolean parameter types.
29
+ */
30
+ context: string;
31
+ /**
32
+ * The order in which this parameter is displayed compared to other parameters.
33
+ * The value has no effect on how this parameter is inserted into the ProviderScriptBlocks.
34
+ */
35
+ order: uint;
36
+ /**
37
+ * Used as a hint that this parameter controls an advanced script option and should only be set if you really know what you're doing.
38
+ */
39
+ advanced: boolean;
40
+ constructor(kind?: ProviderScriptParameterType, value?: string, notes?: string, context?: string, order?: uint, advanced?: boolean);
41
+ toJSON(): {
42
+ kind: ProviderScriptParameterType;
43
+ value: string;
44
+ notes: string;
45
+ context: string;
46
+ order: number;
47
+ advanced: boolean;
48
+ };
49
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Possible data-types given to ProviderScriptParameter.
3
+ */
4
+ export declare enum ProviderScriptParameterType {
5
+ /**
6
+ * True or false.
7
+ */
8
+ boolean = "boolean",
9
+ /**
10
+ * Numeric value (double-precision floating point number).
11
+ */
12
+ number = "number",
13
+ /**
14
+ * Text.
15
+ */
16
+ text = "text"
17
+ }
@@ -0,0 +1,68 @@
1
+ import { BaseComponent } from "../../API/BaseComponent";
2
+ import { IBelongCompany } from "../../API/Interfaces/IBelongCompany";
3
+ import { IIdUlong } from "../../API/Interfaces/IIdUlong";
4
+ import { INamed } from "../../API/Interfaces/INamed";
5
+ import { ulong } from "../../API/Types";
6
+ import { Company } from "../../Companies/Company";
7
+ import { ProviderConfigurationType } from "./ProviderConfigurationType";
8
+ /**
9
+ * The configured logic loaded onto the provider over-the-air to control it's reporting schedule and behaviour.
10
+ * @deprecated Use {@link ProviderConfig} instead.
11
+ */
12
+ export declare class ProviderConfiguration extends BaseComponent implements IIdUlong, INamed, IBelongCompany {
13
+ /**
14
+ * Unique identifier of this configuration.
15
+ */
16
+ id: ulong;
17
+ /**
18
+ * The company to which this configuration belongs.
19
+ * {@link Company.id}
20
+ */
21
+ companyId: ulong;
22
+ /**
23
+ * The company to which this configuration belongs.
24
+ * {@link Company.id}
25
+ */
26
+ get company(): Company;
27
+ /**
28
+ * The nickname given to this configuration
29
+ */
30
+ name: string;
31
+ /**
32
+ * Simple details about how the providers are expected to behave.
33
+ */
34
+ notes: string;
35
+ /**
36
+ * The logic type which this configuration implements.
37
+ * {@link ProviderConfigurationType.id}
38
+ */
39
+ typeId: ulong;
40
+ /**
41
+ * The logic type which this configuration implements.
42
+ * {@link ProviderConfigurationType.id}
43
+ */
44
+ get type(): ProviderConfigurationType;
45
+ /**
46
+ * The list of defined variables given to the {@link ProviderConfigurationType.scriptOptions|logic type's options} pairs for the logic type requires.
47
+ */
48
+ scriptParameters: Map<string, any>;
49
+ /**
50
+ * List of Places loaded directly onto the provider.
51
+ */
52
+ geofences: ulong[];
53
+ toJSON(): {
54
+ id: number;
55
+ company: number;
56
+ v: number[];
57
+ name: string;
58
+ notes: string;
59
+ type: number | null;
60
+ scriptParameters: object;
61
+ geofences: number[];
62
+ };
63
+ fromJSON(json: any, force?: boolean): boolean;
64
+ /**
65
+ * The {@link id} is the key.
66
+ */
67
+ getKey(): string;
68
+ }
@@ -0,0 +1,65 @@
1
+ import { ISerializable } from '../../API/Interfaces/ISerializable';
2
+ /**
3
+ * This tree-like structure is given to the script processor for the device type so that the device can follow a program.
4
+ * @deprecated Use ProviderScriptBlock instead
5
+ */
6
+ export declare class ProviderConfigurationNode implements ISerializable {
7
+ /**
8
+ *
9
+ * @param json
10
+ */
11
+ static nodesFromJSON(json: any): Map<string, ProviderConfigurationNode>;
12
+ /**
13
+ *
14
+ * @param json
15
+ */
16
+ static fromJSON(json: any): ProviderConfigurationNode;
17
+ /**
18
+ * Indicates that this configuration is an advanced property and should only be set by someone who knows what they're doing.
19
+ */
20
+ isAdvanced: boolean;
21
+ /**
22
+ * Unique identifier of the value being mapped.
23
+ */
24
+ id: string;
25
+ /**
26
+ * The value being set.
27
+ */
28
+ value: any;
29
+ /**
30
+ * The minimum possible value for this confugration node.
31
+ */
32
+ min: any;
33
+ /**
34
+ * The maximum possible value for this confugration node.
35
+ */
36
+ max: any;
37
+ /**
38
+ * Type hint used by the script processor to help format the value.
39
+ */
40
+ type: string;
41
+ /**
42
+ * Unit hint used to help the script processor format the value.
43
+ */
44
+ unit: string;
45
+ /**
46
+ * Description of what this configuration does when mapped to a device.
47
+ */
48
+ notes: string;
49
+ /**
50
+ * Child configuration nodes.
51
+ */
52
+ nodes: Map<string, ProviderConfigurationNode>;
53
+ constructor(id?: string, notes?: string, isAdvanced?: boolean, type?: string, min?: any, max?: any, value?: any, unit?: string, nodes?: Map<string, ProviderConfigurationNode>);
54
+ toJSON(): {
55
+ id: string;
56
+ value: any;
57
+ min: any;
58
+ max: any;
59
+ type: string;
60
+ unit: string;
61
+ notes: string;
62
+ isAdvanced: boolean;
63
+ nodes: object;
64
+ };
65
+ }
@@ -0,0 +1,62 @@
1
+ import { BaseComponent } from "../../API/BaseComponent";
2
+ import { IIdUlong } from "../../API/Interfaces/IIdUlong";
3
+ import { INamed } from "../../API/Interfaces/INamed";
4
+ import { uint, ulong } from "../../API/Types";
5
+ import { PlaceType } from "../../Places/PlaceType";
6
+ import { ProviderType } from "../ProviderType";
7
+ import { ProviderConfigurationNode } from "./ProviderConfigurationNode";
8
+ /**
9
+ * This read-only class describes a type of logic applied to a provider.
10
+ * ProviderConfigurationTypes are used to help define a ProviderConfiguration.
11
+ * @deprecated Use ProviderScript instead
12
+ */
13
+ export declare class ProviderConfigurationType extends BaseComponent implements IIdUlong, INamed {
14
+ /**
15
+ * Unique identifier.
16
+ */
17
+ id: ulong;
18
+ /**
19
+ * Name of the configuration type.
20
+ */
21
+ name: string;
22
+ /**
23
+ * Notes regarding the use of this configuration.
24
+ */
25
+ notes: string;
26
+ /**
27
+ * The applicable type of provider for which this configuration type can be created.
28
+ */
29
+ providerType: ProviderType;
30
+ /**
31
+ * The maximum number of geofences that can be programmed onto a device. This number changes based on device make and model, and can also change based on the supported geofence types.
32
+ */
33
+ maxGeofenceCount: uint;
34
+ /**
35
+ * The minimum number of geofences that need to be programmed onto the device. This value is almost always zero.
36
+ */
37
+ minGeofenceCount: uint;
38
+ /**
39
+ * A tree-structure of configurations required (or optionally available) for programming a device.
40
+ */
41
+ scriptOptions: Map<string, ProviderConfigurationNode>;
42
+ /**
43
+ * A list of supported types of geofences which can be programmed directly onto the device.
44
+ */
45
+ geofenceTypes: PlaceType[];
46
+ toJSON(): {
47
+ id: number;
48
+ v: number[];
49
+ name: string;
50
+ notes: string;
51
+ providerType: ProviderType;
52
+ maxGeofenceCount: number | null;
53
+ minGeofenceCount: number | null;
54
+ scriptOptions: object;
55
+ geofenceTypes: PlaceType[];
56
+ };
57
+ fromJSON(json: any, force?: boolean): boolean;
58
+ /**
59
+ * The {@link id} is the key.
60
+ */
61
+ getKey(): string;
62
+ }
@@ -0,0 +1,31 @@
1
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
2
+ import { uint } from "../../API/Types";
3
+ import { PlaceType } from "../../Places/PlaceType";
4
+ import { ProviderGeofenceCircular } from "./ProviderGeofenceCircular";
5
+ import { ProviderGeofencePoint } from "./ProviderGeofencePoint";
6
+ import { ProviderGeofencePolygon } from "./ProviderGeofencePolygon";
7
+ import { ProviderGeofenceRectangle } from "./ProviderGeofenceRectangle";
8
+ /**
9
+ * An abstract class used as a base for all Geofence type classes.
10
+ * @deprecated
11
+ */
12
+ export declare abstract class ProviderGeofenceBase implements ISerializable {
13
+ /**
14
+ *
15
+ * @param json
16
+ */
17
+ static fromJSON(json: any): ProviderGeofencePoint | ProviderGeofenceCircular | ProviderGeofenceRectangle | ProviderGeofencePolygon;
18
+ /**
19
+ * The supported shape of geofence.
20
+ */
21
+ abstract get type(): PlaceType;
22
+ /**
23
+ * The maximum number of unique geofences supported by the device.
24
+ */
25
+ maxGeofenceCount: uint;
26
+ constructor(maxGeofenceCount?: uint);
27
+ toJSON(): {
28
+ type: PlaceType;
29
+ maxGeofenceCount: number;
30
+ };
31
+ }
@@ -0,0 +1,28 @@
1
+ import { uint } from "../../API/Types";
2
+ import { PlaceType } from "../../Places/PlaceType";
3
+ import { ProviderGeofenceBase } from "./ProviderGeofenceBase";
4
+ /**
5
+ * A geofence defined by a centre coordinate and a threshold value to indicate the boundary around that point.
6
+ * @deprecated
7
+ */
8
+ export declare class ProviderGeofenceCircular extends ProviderGeofenceBase {
9
+ /**
10
+ * Distance from a central point.
11
+ */
12
+ get type(): PlaceType;
13
+ /**
14
+ * The smallest possible radius for this geofence.
15
+ */
16
+ minRadius: uint;
17
+ /**
18
+ * The largest possible radius for this geofence.
19
+ */
20
+ maxRadius: uint;
21
+ constructor(maxGeofenceCount?: uint, minRadius?: uint, maxRadius?: uint);
22
+ toJSON(): {
23
+ minRadius: number | null;
24
+ maxRadius: number | null;
25
+ type: PlaceType;
26
+ maxGeofenceCount: number;
27
+ };
28
+ }
@@ -0,0 +1,12 @@
1
+ import { PlaceType } from "../../Places/PlaceType";
2
+ import { ProviderGeofenceBase } from "./ProviderGeofenceBase";
3
+ /**
4
+ * This is a point and not a geofence, so I don't know why this is defined.
5
+ * @deprecated
6
+ */
7
+ export declare class ProviderGeofencePoint extends ProviderGeofenceBase {
8
+ /**
9
+ * Not a boundary, so the modem must use its own internal threshold.
10
+ */
11
+ get type(): PlaceType;
12
+ }
@@ -0,0 +1,23 @@
1
+ import { uint } from "../../API/Types";
2
+ import { PlaceType } from "../../Places/PlaceType";
3
+ import { ProviderGeofenceBase } from "./ProviderGeofenceBase";
4
+ /**
5
+ * A geofence whose boundary is defined by a non-overlapping series of coordinates.
6
+ * @deprecated
7
+ */
8
+ export declare class ProviderGeofencePolygon extends ProviderGeofenceBase {
9
+ /**
10
+ * Complex geofence.
11
+ */
12
+ get type(): PlaceType;
13
+ /**
14
+ * The maximum number of vertices supported by the device.
15
+ */
16
+ maxVertices: uint;
17
+ constructor(maxGeofenceCount?: uint, maxVertices?: uint);
18
+ toJSON(): {
19
+ maxVertices: number | null;
20
+ type: PlaceType;
21
+ maxGeofenceCount: number;
22
+ };
23
+ }
@@ -0,0 +1,28 @@
1
+ import { int, uint } from "../../API/Types";
2
+ import { PlaceType } from "../../Places/PlaceType";
3
+ import { ProviderGeofenceBase } from "./ProviderGeofenceBase";
4
+ /**
5
+ * A geofence whose boundary is a "rectangle" defined by corner coordinates.
6
+ * @deprecated
7
+ */
8
+ export declare class ProviderGeofenceRectangle extends ProviderGeofenceBase {
9
+ /**
10
+ * Boundaries defined with only two coordinates.
11
+ */
12
+ get type(): PlaceType;
13
+ /**
14
+ * The smallest possible diameter for this geofence.
15
+ */
16
+ maxLength: uint;
17
+ /**
18
+ * The smallest possible diameter for this geofence.
19
+ */
20
+ maxWidth: uint;
21
+ constructor(maxGeofenceCount?: uint, maxLength?: int, maxWidth?: int);
22
+ toJSON(): {
23
+ maxLength: number | null;
24
+ maxWidth: number | null;
25
+ type: PlaceType;
26
+ maxGeofenceCount: number;
27
+ };
28
+ }
@@ -0,0 +1,145 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { BaseCompound } from "../API/BaseCompound";
3
+ import { IBelongCompany } from "../API/Interfaces/IBelongCompany";
4
+ import { INamed } from "../API/Interfaces/INamed";
5
+ import { ISuspendable } from "../API/Interfaces/ISuspendable";
6
+ import { ipv4, phone, ulong } from "../API/Types";
7
+ import { Company } from "../Companies/Company";
8
+ import { ProviderAdvanced } from "./ProviderAdvanced";
9
+ import { ProviderCommand } from "./ProviderCommand";
10
+ import { ProviderCommandType } from "./ProviderCommandType";
11
+ import { ProviderControl } from "./ProviderControl";
12
+ import { ProviderData } from "./ProviderData";
13
+ import { ProviderGeneral } from "./ProviderGeneral";
14
+ import { ProviderType } from "./ProviderType";
15
+ /**
16
+ * A device, modem, or service which provides events from the field.
17
+ */
18
+ export declare class Provider extends BaseCompound implements INamed, IBelongCompany, ISuspendable {
19
+ #private;
20
+ /**
21
+ *
22
+ */
23
+ get pieces(): BaseComponent[];
24
+ /**
25
+ * Unique identifier of this device.
26
+ * {@link Asset.id}
27
+ */
28
+ get id(): string;
29
+ /**
30
+ * The company to which this device belongs.
31
+ * {@link Company.id}
32
+ */
33
+ get companyId(): ulong;
34
+ /**
35
+ * The company to which this device belongs.
36
+ * {@link Company.id}
37
+ */
38
+ get company(): Company;
39
+ set company(value: Company);
40
+ /**
41
+ * The kind of communication protocol this device uses.
42
+ */
43
+ get kind(): ProviderType;
44
+ get general(): ProviderGeneral;
45
+ /**
46
+ * This thing's name.
47
+ */
48
+ get name(): string;
49
+ set name(value: string);
50
+ /**
51
+ * Notes about it.
52
+ */
53
+ get notes(): string;
54
+ set notes(value: string);
55
+ /**
56
+ * The asset for which this device provides field data.
57
+ * {@link Asset.id}
58
+ */
59
+ get asset(): ulong;
60
+ set asset(value: ulong);
61
+ /**
62
+ * The provider's current (or pending) configuration profile.
63
+ * {@link ProviderConfig.id}
64
+ * {@link ProviderConfiguration.id}
65
+ */
66
+ get configuration(): ulong;
67
+ set configuration(value: ulong);
68
+ /**
69
+ * The password programmed on the device used to ensure the system is the only client authorized to make changes.
70
+ */
71
+ get password(): string;
72
+ set password(value: string);
73
+ /**
74
+ * The firmware/application version number.
75
+ */
76
+ get firmware(): string;
77
+ set firmware(value: string);
78
+ /**
79
+ * The phone number of this device.
80
+ */
81
+ get phoneNumber(): phone;
82
+ set phoneNumber(value: phone);
83
+ /**
84
+ * A list of read-only values about the device like IMEI, ESN, firmware version, hardware revision, etc...
85
+ */
86
+ get information(): Map<string, string>;
87
+ set information(value: Map<string, string>);
88
+ /**
89
+ * ICCID of the SIM card installed in this provider
90
+ */
91
+ get sim(): string;
92
+ set sim(value: string);
93
+ get advanced(): ProviderAdvanced;
94
+ /**
95
+ * The last IP address of the device.
96
+ */
97
+ get lastIP(): ipv4;
98
+ set lastIP(value: ipv4);
99
+ /**
100
+ * Often changing values like latitude, longitude, speed, wiring state, VBus information, etc...
101
+ */
102
+ get attributes(): Map<string, Map<string, ProviderData>>;
103
+ set attributes(value: Map<string, Map<string, ProviderData>>);
104
+ /**
105
+ * Store-and-forward information like last sequence number of SnF window
106
+ */
107
+ get snf(): Map<string, string>;
108
+ set snf(value: Map<string, string>);
109
+ get control(): ProviderControl;
110
+ /**
111
+ * Collection of commands for this provider.
112
+ */
113
+ get commands(): Map<ProviderCommandType, ProviderCommand>;
114
+ set commands(value: Map<ProviderCommandType, ProviderCommand>);
115
+ toJSON(): {
116
+ asset?: number | null | undefined;
117
+ password?: string | undefined;
118
+ firmware?: string | undefined;
119
+ phoneNumber?: number | null | undefined;
120
+ information?: object | undefined;
121
+ sim?: string | undefined;
122
+ suspended?: boolean | undefined;
123
+ since?: string | null | undefined;
124
+ id: string | null;
125
+ company: number | null;
126
+ kind: ProviderType;
127
+ name: string;
128
+ notes: string;
129
+ configuration: number | null;
130
+ v: number[];
131
+ };
132
+ fromJSON(json: any, force?: boolean): boolean;
133
+ /**
134
+ * The {@link id} is the key.
135
+ */
136
+ getKey(): string;
137
+ /**
138
+ * Indicates whether this object is suspended from event processing.
139
+ */
140
+ get suspended(): boolean;
141
+ /**
142
+ * Timestamp from the action that deleted or suspended this object.
143
+ */
144
+ get since(): Date;
145
+ }
@@ -0,0 +1,51 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { IBelongCompany } from "../API/Interfaces/IBelongCompany";
3
+ import { ipv4, ulong } from "../API/Types";
4
+ import { Company } from "../Companies/Company";
5
+ import { ProviderData } from "./ProviderData";
6
+ /**
7
+ * Device/hardware information reported from the field.
8
+ */
9
+ export declare class ProviderAdvanced extends BaseComponent implements IBelongCompany {
10
+ /**
11
+ * Unique identifier of this device.
12
+ * {@link Provider.id}
13
+ */
14
+ id: string;
15
+ /**
16
+ * The company to which this device belongs.
17
+ * {@link Company.id}
18
+ */
19
+ companyId: ulong;
20
+ /**
21
+ * The company to which this device belongs.
22
+ * {@link Company.id}
23
+ */
24
+ get company(): Company;
25
+ set company(value: Company);
26
+ /**
27
+ * The last IP address of the device.
28
+ */
29
+ lastIP: ipv4;
30
+ /**
31
+ * Often changing values like latitude, longitude, speed, wiring state, VBus information, etc...
32
+ */
33
+ attributes: Map<string, Map<string, ProviderData>>;
34
+ /**
35
+ * Store-and-forward information like last sequence number of SnF window
36
+ */
37
+ snf: Map<string, string>;
38
+ toJSON(): {
39
+ id: string | null;
40
+ v: number[];
41
+ company: number;
42
+ lastIP: string;
43
+ attributes: object;
44
+ snf: object;
45
+ };
46
+ fromJSON(json: any, force?: boolean): boolean;
47
+ /**
48
+ * The {@link id} is the key.
49
+ */
50
+ getKey(): string;
51
+ }
@@ -0,0 +1,36 @@
1
+ import { ISerializable } from "../API/Interfaces/ISerializable";
2
+ import { datetime } from "../API/Types";
3
+ import { ProviderCommandStatus } from "./ProviderCommandStatus";
4
+ /**
5
+ * Details regarding a provider command
6
+ */
7
+ export declare class ProviderCommand implements ISerializable {
8
+ /**
9
+ *
10
+ * @param json
11
+ */
12
+ static fromJSON(json: any): ProviderCommand;
13
+ /**
14
+ * Current status of this command.
15
+ */
16
+ status: ProviderCommandStatus;
17
+ /**
18
+ * Command message body.
19
+ */
20
+ parameters: string[];
21
+ /**
22
+ * Date/time stamp of when the command was created.
23
+ */
24
+ created: Date;
25
+ /**
26
+ * Date/time stamp of when the command was processed.
27
+ */
28
+ processed: Date;
29
+ constructor(status?: ProviderCommandStatus, parameters?: string[], created?: Date | number | datetime, processed?: Date | number | datetime);
30
+ toJSON(): {
31
+ status: ProviderCommandStatus;
32
+ parameters: string[];
33
+ created: string | null;
34
+ processed: string | null;
35
+ };
36
+ }