@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,163 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { IAmCompany } from "../API/Interfaces/IAmCompany";
3
+ import { IIdUlong } from "../API/Interfaces/IIdUlong";
4
+ import { codified, colour, ulong } from "../API/Types";
5
+ import { ColourStyle } from "./ColourStyle";
6
+ import { Company } from "./Company";
7
+ import { NotificationServerEmail } from "./NotificationServerEmail";
8
+ import { NotificationServerSms } from "./NotificationServerSms";
9
+ /**
10
+ * Defines the seller company's details for white-labelling.
11
+ */
12
+ export declare class CompanyReseller extends BaseComponent implements IIdUlong, IAmCompany {
13
+ /**
14
+ * Unique identifier of the Company.
15
+ * {@link Company.id}
16
+ */
17
+ id: ulong;
18
+ /**
19
+ * The unique identifier of this company's parent organization.
20
+ * {@link Company.id}
21
+ */
22
+ parentId: ulong;
23
+ /**
24
+ * The unique identifier of this company's parent organization.
25
+ * {@link Company.id}
26
+ */
27
+ get parent(): Company;
28
+ /**
29
+ * A list of Contacts for company specific things like Technical Support, Billing, etc...
30
+ * {@link Contact.id}
31
+ */
32
+ contactInfo: Map<string, ulong>;
33
+ /**
34
+ * The name of the branded service being provided to the seller's customers.
35
+ */
36
+ serviceName: string;
37
+ /**
38
+ * The name of the image uploaded as the logo (used for regular view).
39
+ */
40
+ logo: string;
41
+ /**
42
+ * The name of the image uploaded as the logo (used for collapsed/mobile view).
43
+ */
44
+ icon: string;
45
+ /**
46
+ * The name of the icon file used for browser bookmarks.
47
+ */
48
+ favourite: string;
49
+ /**
50
+ * The URN and path to the instance of v4.
51
+ * It does not contain the protocol because all instances are required to be HTTPS.
52
+ */
53
+ domain: string;
54
+ /**
55
+ * Themed colours used in the web-based UI.
56
+ */
57
+ website: Map<string, colour>;
58
+ /**
59
+ * A list of symbol names and their corresponding FontAwesome icon names.
60
+ */
61
+ graphics: Map<string, codified>;
62
+ /**
63
+ * A list of supported languages for your customers.
64
+ */
65
+ languages: string[];
66
+ /**
67
+ * Colours used as templates for status tags, labels, and places.
68
+ */
69
+ gamut: Map<string, ColourStyle>;
70
+ /**
71
+ * The server used for notification and conversational email messages sent and received by the system.
72
+ */
73
+ notifyEmail: NotificationServerEmail;
74
+ /**
75
+ * Definition for load-balanced outbound SMS numbers for the reseller.
76
+ */
77
+ notifySms: NotificationServerSms;
78
+ /**
79
+ * A preamble to the general terms and conditions offered by Fleet Freedom.
80
+ */
81
+ termsPreamble: string;
82
+ /**
83
+ * The date and time when the terms were updated.
84
+ * This will promt users who are logging-in to re-agree to the new terms
85
+ */
86
+ termsUpdated: Date;
87
+ /**
88
+ * The subject of the email sent to a user requesting a password reset.
89
+ * @tutorial The following strings are replaced:
90
+ * - %SERVICE% with {serviceName}
91
+ * - %URL% with https://{URN}/recover
92
+ * - %NAME% with user's nickname, contact name, or login
93
+ * - %GUID% with the unique identifier of the reset request
94
+ * - %CLIENT% with the client software's userAgent used to create the request
95
+ * - %IP% with IP address used to create the request
96
+ * - %SERVER% with the server software's userAgent or the software (Kraken, Medusa, Mindflayer)
97
+ */
98
+ recoverSubject: string;
99
+ /**
100
+ * The body of the email sent to a user requesting a password reset.
101
+ * @tutorial The following strings are replaced:
102
+ * - %SERVICE% with {serviceName}
103
+ * - %URL% with https://{URN}/recover
104
+ * - %NAME% with user's nickname, contact name, or login
105
+ * - %GUID% with the unique identifier of the reset request
106
+ * - %CLIENT% with the client software's userAgent used to create the request
107
+ * - %IP% with IP address used to create the request
108
+ * - %SERVER% with the server software's userAgent or the software (Kraken, Medusa, Mindflayer)
109
+ */
110
+ recoverBody: string;
111
+ /**
112
+ * When true, sends the password reset email as an HTML email instead of plain text.
113
+ * @tutorial When false, the following strings are replaced:
114
+ * - &reg; with char 0174
115
+ * - &trade; with char 8482
116
+ * - &copy; with char 0169
117
+ * - &amp; with "&"
118
+ */
119
+ recoverIsHtml: boolean;
120
+ toJSON(): {
121
+ id: number | null;
122
+ v: number[];
123
+ parent: number;
124
+ contactInfo: object;
125
+ serviceName: string;
126
+ logo: string;
127
+ icon: string;
128
+ favourite: string;
129
+ domain: string;
130
+ website: object;
131
+ graphics: object;
132
+ languages: string[];
133
+ gamut: object;
134
+ notifyEmail: {
135
+ incomingType: import("./NotificationServerEmail").IncomingEmailServerType;
136
+ incomingAddress: string;
137
+ incomingPort: number | null;
138
+ incomingLogin: string;
139
+ incomingSecure: boolean;
140
+ incomingMessageNumber: number | null;
141
+ outgoingType: import("./NotificationServerEmail").OutgoingEmailServerType;
142
+ outgoingAddress: string;
143
+ outgoingPort: number | null;
144
+ outgoingLogin: string;
145
+ outgoingSecure: boolean;
146
+ outgoingReplyTo: string;
147
+ };
148
+ notifySms: {
149
+ notifyLimit: number | null;
150
+ phoneNumbers: object;
151
+ };
152
+ termsPreamble: string;
153
+ termsUpdated: string | null;
154
+ recoverSubject: string;
155
+ recoverBody: string;
156
+ recoverIsHtml: boolean;
157
+ };
158
+ fromJSON(json: any, force?: boolean): boolean;
159
+ /**
160
+ * The {@link id} is the key.
161
+ */
162
+ getKey(): string;
163
+ }
@@ -0,0 +1,46 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { IAmCompany } from "../API/Interfaces/IAmCompany";
3
+ import { IIdUlong } from "../API/Interfaces/IIdUlong";
4
+ import { codified, ulong } from "../API/Types";
5
+ import { Company } from "./Company";
6
+ import { LabelStyle } from "./LabelStyle";
7
+ /**
8
+ * The colours and styles used by this company to tag and label Assets, Places, and other things.
9
+ */
10
+ export declare class CompanyStyles extends BaseComponent implements IIdUlong, IAmCompany {
11
+ /**
12
+ * Unique identifier of the Company.
13
+ * {@link Company.id}
14
+ */
15
+ id: ulong;
16
+ /**
17
+ * The unique identifier of this company's parent organization.
18
+ * {@link Company.id}
19
+ */
20
+ parentId: ulong;
21
+ /**
22
+ * The unique identifier of this company's parent organization.
23
+ * {@link Company.id}
24
+ */
25
+ get parent(): Company;
26
+ /**
27
+ * The styles for labels added to Assets, Places, and other things.
28
+ */
29
+ labels: Map<codified, LabelStyle>;
30
+ /**
31
+ * The styles for status tags added to Assets.
32
+ */
33
+ tags: Map<codified, LabelStyle>;
34
+ toJSON(): {
35
+ id: number | null;
36
+ v: number[];
37
+ parent: number;
38
+ labels: object;
39
+ tags: object;
40
+ };
41
+ fromJSON(json: any, force?: boolean): boolean;
42
+ /**
43
+ * The {@link id} is the key.
44
+ */
45
+ getKey(): string;
46
+ }
@@ -0,0 +1,46 @@
1
+ import { INamed } from "../API/Interfaces/INamed";
2
+ import { ISerializable } from "../API/Interfaces/ISerializable";
3
+ import { IVisual } from "../API/Interfaces/IVisual";
4
+ import { codified, colour } from "../API/Types";
5
+ /**
6
+ * Visual style identification helper.
7
+ */
8
+ export declare class LabelStyle implements INamed, IVisual, ISerializable {
9
+ /**
10
+ *
11
+ * @param json
12
+ */
13
+ static fromJSON(json: any): LabelStyle;
14
+ /**
15
+ * The name of this visual style.
16
+ */
17
+ name: string;
18
+ /**
19
+ * The background colour given to this style for easy visual identification.
20
+ */
21
+ fill: colour;
22
+ /**
23
+ * The text/graphic colour given to this style for easy visual identification.
24
+ */
25
+ stroke: colour;
26
+ /**
27
+ * The codified graphic name given to this script for easy visual identification.
28
+ */
29
+ graphic: codified;
30
+ /**
31
+ * Notes!
32
+ */
33
+ notes: string;
34
+ /**
35
+ * The codified name of this style
36
+ */
37
+ get code(): codified;
38
+ constructor(name?: string, fill?: colour, stroke?: colour, graphic?: codified, notes?: string);
39
+ toJSON(): {
40
+ name: string;
41
+ notes: string;
42
+ fill: string;
43
+ stroke: string;
44
+ graphic: string;
45
+ };
46
+ }
@@ -0,0 +1,99 @@
1
+ import { ISerializable } from "../API/Interfaces/ISerializable";
2
+ import { email, uint, ushort } from "../API/Types";
3
+ /**
4
+ * The types of email protocols supported for incoming mail servers.
5
+ **/
6
+ export declare enum IncomingEmailServerType {
7
+ /**
8
+ * Internet Message Access Protocol (default)
9
+ */
10
+ "IMAP" = "IMAP",
11
+ /**
12
+ * Post Office Protocol v3
13
+ */
14
+ "POP3" = "POP3"
15
+ }
16
+ /**
17
+ * The types of email protocols supported for sending messages.
18
+ **/
19
+ export declare enum OutgoingEmailServerType {
20
+ /**
21
+ * Simple Mail Transfer Protocol
22
+ */
23
+ "SMTP" = "SMTP"
24
+ }
25
+ /**
26
+ * The server used for notification and conversational email messages sent and received by the system.
27
+ */
28
+ export declare class NotificationServerEmail implements ISerializable {
29
+ /**
30
+ *
31
+ * @param json
32
+ */
33
+ static fromJSON(json: any): NotificationServerEmail;
34
+ /**
35
+ * The type of incoming protocol to use (IMAP or POP3).
36
+ */
37
+ incomingType: IncomingEmailServerType;
38
+ /**
39
+ * The domain or IP address of the incoming email server.
40
+ */
41
+ incomingAddress: string;
42
+ /**
43
+ * The port number of the incoming email server.
44
+ */
45
+ incomingPort: ushort;
46
+ /**
47
+ * The username used to login to the incoming email server.
48
+ */
49
+ incomingLogin: string;
50
+ /**
51
+ * Is the incoming email server using a secure SSL/TLS connection (it should).
52
+ */
53
+ incomingSecure: boolean;
54
+ /**
55
+ * Is the incoming email server /**
56
+ * IMAP message sequence number so only recent messages are retrieved.
57
+ */
58
+ incomingMessageNumber: uint;
59
+ /**
60
+ * The type of outgoing protocol to use (only SMTP).
61
+ */
62
+ outgoingType: OutgoingEmailServerType;
63
+ /**
64
+ * The domain or IP address of the outgoing email server.
65
+ */
66
+ outgoingAddress: string;
67
+ /**
68
+ * The port number of the outgoing email server.
69
+ */
70
+ outgoingPort: ushort;
71
+ /**
72
+ * The username used to login to the outgoing email server.
73
+ */
74
+ outgoingLogin: string;
75
+ /**
76
+ * Is the outgoing email server using a secure SSL/TLS connection (it should).
77
+ */
78
+ outgoingSecure: boolean;
79
+ /**
80
+ * Is the outgoing email server /**
81
+ * An optional field which can be set as the "sent from" and/or "reply-to" address.
82
+ */
83
+ outgoingReplyTo: email;
84
+ constructor(incomingType?: IncomingEmailServerType, incomingAddress?: string, incomingPort?: ushort, incomingLogin?: string, incomingSecure?: boolean, incomingMessageNumber?: uint, outgoingType?: OutgoingEmailServerType, outgoingAddress?: string, outgoingPort?: ushort, outgoingLogin?: string, outgoingSecure?: boolean, outgoingReplyTo?: string);
85
+ toJSON(): {
86
+ incomingType: IncomingEmailServerType;
87
+ incomingAddress: string;
88
+ incomingPort: number | null;
89
+ incomingLogin: string;
90
+ incomingSecure: boolean;
91
+ incomingMessageNumber: number | null;
92
+ outgoingType: OutgoingEmailServerType;
93
+ outgoingAddress: string;
94
+ outgoingPort: number | null;
95
+ outgoingLogin: string;
96
+ outgoingSecure: boolean;
97
+ outgoingReplyTo: string;
98
+ };
99
+ }
@@ -0,0 +1,25 @@
1
+ import { ISerializable } from "../API/Interfaces/ISerializable";
2
+ import { ulong, ushort } from "../API/Types";
3
+ /**
4
+ * Definition for load-balanced outbound SMS numbers for the White-labelling profile.
5
+ */
6
+ export declare class NotificationServerSms implements ISerializable {
7
+ /**
8
+ *
9
+ * @param json
10
+ */
11
+ static fromJSON(json: any): NotificationServerSms;
12
+ /**
13
+ * A per-number/per-day limit on the amount of Notifications sent.
14
+ */
15
+ notifyLimit: ushort;
16
+ /**
17
+ * All phone numbers listed by the country (using two-digit ISO 3166-1 alpha-2 country codes) they each serve.
18
+ */
19
+ phoneNumbers: Map<string, ulong[]>;
20
+ constructor(notifyLimit?: ushort, phoneNumbers?: Map<string, ulong[]>);
21
+ toJSON(): {
22
+ notifyLimit: number | null;
23
+ phoneNumbers: object;
24
+ };
25
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Defines how User passwords expire.
3
+ */
4
+ export declare enum PasswordExpiryMode {
5
+ /**
6
+ * Passwords never expire.
7
+ */
8
+ never = "never",
9
+ /**
10
+ * Passwords expire after a defined number of days.
11
+ */
12
+ days = "days",
13
+ /**
14
+ * Passwords expire after a defined number of successful logins.
15
+ */
16
+ sessions = "sessions"
17
+ }
@@ -0,0 +1,51 @@
1
+ import { ISerializable } from "../API/Interfaces/ISerializable";
2
+ import { byte } from "../API/Types";
3
+ import { PasswordExpiryMode } from "./PasswordExpiryMode";
4
+ /**
5
+ * The password complexity and expiry policy.
6
+ */
7
+ export declare class PasswordPolicy implements ISerializable {
8
+ /**
9
+ *
10
+ * @param json
11
+ */
12
+ static fromJSON(json: any): PasswordPolicy;
13
+ /**
14
+ * The minimum number of characters required.
15
+ */
16
+ minimumLength: byte;
17
+ /**
18
+ * Do passwords require alphabetical characters.
19
+ */
20
+ includeLetters: boolean;
21
+ /**
22
+ * Do passwords require numeric characters.
23
+ */
24
+ includeNumbers: boolean;
25
+ /**
26
+ * Do passwords require upper-case and lower-case letters.
27
+ */
28
+ includeUpperLower: boolean;
29
+ /**
30
+ * Do passwords require non-alphanumeric characters.
31
+ */
32
+ includeSpecial: boolean;
33
+ /**
34
+ * Defines how passwords expire.
35
+ */
36
+ expireMode: PasswordExpiryMode;
37
+ /**
38
+ * The threshold for expiry.
39
+ */
40
+ expireThreshold: byte;
41
+ constructor(minimumLength?: byte, includeLetters?: boolean, includeNumbers?: boolean, includeUpperLower?: boolean, includeSpecial?: boolean, expireMode?: PasswordExpiryMode, expireThreshold?: byte);
42
+ toJSON(): {
43
+ minimumLength: number | null;
44
+ includeLetters: boolean;
45
+ includeNumbers: boolean;
46
+ includeUpperLower: boolean;
47
+ includeSpecial: boolean;
48
+ expireMode: PasswordExpiryMode;
49
+ expireThreshold: number | null;
50
+ };
51
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Defines the behaviour of the system when a user creates multiple sessions.
3
+ */
4
+ export declare enum SessionMultiUser {
5
+ /**
6
+ * Allow users to create multiple simultaneous sessions.
7
+ */
8
+ allow = "allow",
9
+ /**
10
+ * Deny users from creating new sessions if they already have an active session.
11
+ */
12
+ deny = "deny",
13
+ /**
14
+ * Allow users to create a new session, but automatically kill the previous session.
15
+ */
16
+ replace = "replace"
17
+ }
@@ -0,0 +1,47 @@
1
+ import { ISerializable } from "../API/Interfaces/ISerializable";
2
+ import { byte, ipv4, ushort } from "../API/Types";
3
+ import { SessionMultiUser } from "./SessionMultiUser";
4
+ /**
5
+ * The session lifetime policy.
6
+ */
7
+ export declare class SessionPolicy implements ISerializable {
8
+ /**
9
+ *
10
+ * @param json
11
+ */
12
+ static fromJSON(json: any): SessionPolicy;
13
+ /**
14
+ * The list of applications users are allowed to use to create sessions.
15
+ */
16
+ applications: string[];
17
+ /**
18
+ * Ranges of IPv4 addresses (using Cisco notation) to limit session creation to certain IPs.
19
+ */
20
+ ipv4Ranges: ipv4[];
21
+ /**
22
+ * Restrict session creation to only the provided IPv4 ranges ( /**
23
+ * Defines the behaviour of the system when a user creates multiple sessions.
24
+ */
25
+ multiUser: SessionMultiUser;
26
+ /**
27
+ * Defines whether a session should be automatically killed when the connection breaks.
28
+ */
29
+ idleAllowed: boolean;
30
+ /**
31
+ * The lifetime duration of a session in minutes.
32
+ */
33
+ expireTimeout: ushort;
34
+ /**
35
+ * The maximum number of sessions allowed per user.
36
+ */
37
+ maxSessions: byte;
38
+ constructor(applications?: string[], ipv4Ranges?: ipv4[], multiUser?: SessionMultiUser, idleAllowed?: boolean, expireTimeout?: ushort, maxSessions?: byte);
39
+ toJSON(): {
40
+ applications: string[];
41
+ ipv4Ranges: string[];
42
+ multiUser: SessionMultiUser;
43
+ idleAllowed: boolean;
44
+ expireTimeout: number | null;
45
+ maxSessions: number | null;
46
+ };
47
+ }
@@ -0,0 +1,53 @@
1
+ import { ILatLng } from "../API/Geography/Interfaces";
2
+ import { LatLng } from "../API/Geography/LatLng";
3
+ import { ISerializable } from "../API/Interfaces/ISerializable";
4
+ import { TimeSpan } from "../API/TimeSpan";
5
+ import { double, timespan, ulong } from "../API/Types";
6
+ /**
7
+ * Driving directions and details like duration and distance.
8
+ */
9
+ export declare class DispatchDirection implements ISerializable {
10
+ /**
11
+ *
12
+ * @param json
13
+ */
14
+ static fromJSON(json: any): DispatchDirection;
15
+ /**
16
+ * The total distance of these directions (including sub-directions if applicable).
17
+ */
18
+ distance: double;
19
+ /**
20
+ * The total duration of these directions (including sub-directions if applicable).
21
+ */
22
+ duration: TimeSpan;
23
+ /**
24
+ * Text hint for the driver for the action to perform.
25
+ */
26
+ instructions: string;
27
+ /**
28
+ * A <format id="polyline">route path</format> to display on a map.
29
+ */
30
+ path: LatLng[];
31
+ /**
32
+ * For complex routes, the sub-directions provide a breakdown or additional details.
33
+ */
34
+ directions: DispatchDirection[];
35
+ /**
36
+ * Unique identifier of the {@link DispatchJob} or {@link DispatchTask}.
37
+ */
38
+ job: ulong;
39
+ /**
40
+ * The {@link DispatchStep.id}, if this direction is for {@link DispatchJob}s.
41
+ */
42
+ step: ulong;
43
+ constructor(distance?: double, duration?: TimeSpan | timespan | number, instructions?: string, path?: ILatLng[], directions?: DispatchDirection[], job?: ulong, step?: ulong);
44
+ toJSON(): {
45
+ distance: number;
46
+ duration: string | null;
47
+ instructions: string;
48
+ path: any[];
49
+ directions: any[];
50
+ job: number | null;
51
+ step: number | null;
52
+ };
53
+ }
@@ -0,0 +1,109 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { IBelongAsset } from "../API/Interfaces/IBelongAsset";
3
+ import { IBelongCompany } from "../API/Interfaces/IBelongCompany";
4
+ import { IIdUlong } from "../API/Interfaces/IIdUlong";
5
+ import { ILabelled } from "../API/Interfaces/ILabelled";
6
+ import { codified, ulong } from "../API/Types";
7
+ import { Asset } from "../Assets/Asset";
8
+ import { Company } from "../Companies/Company";
9
+ import { FormResult } from "../Hosting/FormResult";
10
+ import { DispatchJobPriority } from "./DispatchJobPriority";
11
+ import { DispatchStep } from "./DispatchStep";
12
+ /**
13
+ * Some work that needs to be done by performing one or more {@link DispatchStep}s.
14
+ */
15
+ export declare class DispatchJob extends BaseComponent implements IIdUlong, ILabelled, IBelongCompany, IBelongAsset {
16
+ /**
17
+ * Unique identifier of this job.
18
+ */
19
+ id: ulong;
20
+ /**
21
+ * The company to which this job belongs.
22
+ * {@link Company.id}
23
+ */
24
+ companyId: ulong;
25
+ /**
26
+ * The company to which this job belongs.
27
+ * {@link Company.id}
28
+ */
29
+ get company(): Company;
30
+ /**
31
+ * The {@link Asset} to which this job belongs.
32
+ * This value is null when unassigned.
33
+ * {@link Asset.id}
34
+ */
35
+ assetId: ulong;
36
+ /**
37
+ * The {@link Asset} to which this job belongs.
38
+ * This value is null when unassigned.
39
+ * {@link Asset.id}
40
+ */
41
+ get asset(): Asset;
42
+ set asset(value: Asset);
43
+ /**
44
+ * A name for the work needed to be performed.
45
+ */
46
+ name: string;
47
+ /**
48
+ * Name/value collections of custom fields used to refer to external systems.
49
+ */
50
+ references: Map<string, string>;
51
+ /**
52
+ * Instructions (filled out by dispatcher) for the field-employee to help them complete the job.
53
+ */
54
+ instructions: string;
55
+ /**
56
+ * A list of hosted {@link FormResult.id} attached to this job.
57
+ */
58
+ formIds: ulong[];
59
+ /**
60
+ * A list of hosted {@link FormResult}s attached to this job.
61
+ */
62
+ get forms(): FormResult[];
63
+ set forms(value: FormResult[]);
64
+ /**
65
+ * The importance of this job when scheduling for an asset.
66
+ */
67
+ priority: DispatchJobPriority;
68
+ /**
69
+ * Codified label names used to relate (unassigned) jobs to {@link Asset}s.
70
+ */
71
+ labels: codified[];
72
+ /**
73
+ * The codified status tag names reflecting the conditions of this job.
74
+ */
75
+ tags: codified[];
76
+ /**
77
+ * A list of coordinates to visit in order to carry out the work for this job.
78
+ */
79
+ steps: DispatchStep[];
80
+ /**
81
+ * When this job was originally created.
82
+ */
83
+ created: Date;
84
+ /**
85
+ * Clocked-in driver name who made the update.
86
+ * Null if not clocked-in, or no changes have been made.
87
+ */
88
+ driver: string;
89
+ toJSON(): {
90
+ id: number | null;
91
+ company: number | null;
92
+ v: number[];
93
+ driver: string;
94
+ created: string | null;
95
+ name: string;
96
+ instructions: string;
97
+ priority: DispatchJobPriority;
98
+ references: object;
99
+ labels: string[];
100
+ tags: string[];
101
+ forms: number[];
102
+ steps: any[];
103
+ };
104
+ fromJSON(json: any, force?: boolean): boolean;
105
+ /**
106
+ * The {@link id} is the key.
107
+ */
108
+ getKey(): string;
109
+ }