@sonoransoftware/sonoran.js 1.0.35 → 1.0.36

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.
@@ -247,6 +247,11 @@ export interface CADLeaveCommunityPromiseResult {
247
247
  reason?: string;
248
248
  data?: unknown;
249
249
  }
250
+ export interface CADStandardResponse<T = unknown> {
251
+ success: boolean;
252
+ data?: T;
253
+ reason?: unknown;
254
+ }
250
255
  export interface CMSProfileField {
251
256
  id: string;
252
257
  type: string;
@@ -312,6 +317,11 @@ export interface CMSRsvpPromiseResult {
312
317
  status?: string;
313
318
  data?: unknown;
314
319
  }
320
+ export interface CMSChangeFormStagePromiseResult {
321
+ success: boolean;
322
+ reason?: string;
323
+ data?: unknown;
324
+ }
315
325
  export interface CMSSetGameServerStruct {
316
326
  id?: number;
317
327
  name: string;
@@ -327,6 +337,38 @@ export interface CMSSetGameServersPromiseResult {
327
337
  reason?: string;
328
338
  data?: CMSSetGameServerStruct[];
329
339
  }
340
+ export interface CMSExecuteRankPromotionResult {
341
+ users: string[];
342
+ flow: string;
343
+ promote: boolean;
344
+ succeeded: boolean;
345
+ message?: string;
346
+ }
347
+ export interface CMSTriggerPromotionFlowPayload {
348
+ userId: string;
349
+ flowId: string;
350
+ users: string[];
351
+ promote: boolean;
352
+ }
353
+ export interface CMSPromotionFlow {
354
+ id: string;
355
+ communityUuid: string;
356
+ labelFrom: string;
357
+ labelTo: string;
358
+ ranksToAdd: string[];
359
+ ranksToRemove: string[];
360
+ actions: unknown[];
361
+ }
362
+ export interface CMSTriggerPromotionFlowsPromiseResult {
363
+ success: boolean;
364
+ reason?: string;
365
+ data?: CMSExecuteRankPromotionResult[];
366
+ }
367
+ export interface CMSGetPromotionFlowsPromiseResult {
368
+ success: boolean;
369
+ reason?: string;
370
+ data?: CMSPromotionFlow[];
371
+ }
330
372
  export interface CMSGetFormSubmissionsPromiseResult<T = unknown> {
331
373
  success: boolean;
332
374
  reason?: string;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  export * from './instance/Instance';
2
2
  export * from './builders';
3
3
  export * from './libs/rest/src';
4
- export { productEnums, CADNewDispatchBuilderOptions, CADSubscriptionVersionEnum, CMSSubscriptionVersionEnum, RadioSubscriptionLevel, RadioSetUserChannelsOptions, RadioChannel, RadioChannelGroup, RadioConnectedUser, RadioSpeakerLocation, RadioGetCommunityChannelsPromiseResult, RadioGetConnectedUsersPromiseResult, RadioGetConnectedUserPromiseResult, RadioSetUserChannelsPromiseResult, RadioSetUserDisplayNamePromiseResult, RadioGetServerSubscriptionFromIpPromiseResult, RadioSetServerIpPromiseResult, RadioSetInGameSpeakerLocationsPromiseResult, CADSetClockTimePromiseResult, CADJoinCommunityPromiseResult, CADLeaveCommunityPromiseResult, CMSProfileField, CMSGetCurrentClockInPromiseResult, CMSAccountsPage, CMSAccountSummary, CMSGetAccountsPromiseResult, CMSGetProfileFieldsPromiseResult, CMSProfileFieldUpdate, CMSEditAccountProfileFieldsPromiseResult, CMSRsvpPromiseResult, CMSSetGameServerStruct, CMSSetGameServersPromiseResult, CMSGetFormSubmissionsPromiseResult } from './constants';
4
+ export { productEnums, CADNewDispatchBuilderOptions, CADSubscriptionVersionEnum, CMSSubscriptionVersionEnum, RadioSubscriptionLevel, RadioSetUserChannelsOptions, RadioChannel, RadioChannelGroup, RadioConnectedUser, RadioSpeakerLocation, RadioGetCommunityChannelsPromiseResult, RadioGetConnectedUsersPromiseResult, RadioGetConnectedUserPromiseResult, RadioSetUserChannelsPromiseResult, RadioSetUserDisplayNamePromiseResult, RadioGetServerSubscriptionFromIpPromiseResult, RadioSetServerIpPromiseResult, RadioSetInGameSpeakerLocationsPromiseResult, CADSetClockTimePromiseResult, CADJoinCommunityPromiseResult, CADLeaveCommunityPromiseResult, CADStandardResponse, CMSProfileField, CMSGetCurrentClockInPromiseResult, CMSAccountsPage, CMSAccountSummary, CMSGetAccountsPromiseResult, CMSGetProfileFieldsPromiseResult, CMSProfileFieldUpdate, CMSEditAccountProfileFieldsPromiseResult, CMSRsvpPromiseResult, CMSChangeFormStagePromiseResult, CMSSetGameServerStruct, CMSSetGameServersPromiseResult, CMSExecuteRankPromotionResult, CMSTriggerPromotionFlowPayload, CMSPromotionFlow, CMSTriggerPromotionFlowsPromiseResult, CMSGetPromotionFlowsPromiseResult, CMSGetFormSubmissionsPromiseResult } from './constants';
@@ -269,6 +269,16 @@ class REST extends events_1.EventEmitter {
269
269
  uniqueId: args[4],
270
270
  };
271
271
  }
272
+ case 'TRIGGER_PROMOTION_FLOWS': {
273
+ const payload = args[0];
274
+ if (!Array.isArray(payload)) {
275
+ throw new Error('TRIGGER_PROMOTION_FLOWS requires an array of promotion flow payloads.');
276
+ }
277
+ return payload;
278
+ }
279
+ case 'GET_PROMOTION_FLOWS': {
280
+ return [];
281
+ }
272
282
  case 'ERLC_GET_ONLINE_PLAYERS': {
273
283
  return {
274
284
  robloxJoinCode: args[0]
@@ -93,6 +93,14 @@ class RequestManager extends events_1.EventEmitter {
93
93
  apiData.data.data = clonedData;
94
94
  break;
95
95
  }
96
+ case 'TRIGGER_PROMOTION_FLOWS': {
97
+ apiData.data.data = clonedData;
98
+ break;
99
+ }
100
+ case 'GET_PROMOTION_FLOWS': {
101
+ apiData.data.data = [];
102
+ break;
103
+ }
96
104
  case 'SET_PENAL_CODES': {
97
105
  apiData.data.data = [clonedData[0]];
98
106
  break;
@@ -1,4 +1,4 @@
1
- import { productEnums, RadioSetUserChannelsOptions, RadioSpeakerLocation, CMSProfileFieldUpdate, CMSSetGameServerStruct } from '../../../../../constants';
1
+ import { productEnums, RadioSetUserChannelsOptions, RadioSpeakerLocation, CMSProfileFieldUpdate, CMSSetGameServerStruct, CMSTriggerPromotionFlowPayload } from '../../../../../constants';
2
2
  import type { RESTOptions } from '../REST';
3
3
  export declare const DefaultUserAgent = "Sonoran.js NPM Module";
4
4
  export declare const DefaultCADRestOptions: Required<RESTOptions>;
@@ -38,7 +38,7 @@ export declare const CommunitiesCMSAPITypes: APITypeData[];
38
38
  export declare const ERLCMSAPITypes: APITypeData[];
39
39
  export declare const RadioAPITypes: APITypeData[];
40
40
  export declare const AllAPITypes: AllAPITypeData[];
41
- export type AllAPITypesType = 'GET_SERVERS' | 'SET_SERVERS' | 'GET_VERSION' | 'SET_PENAL_CODES' | 'SET_API_ID' | 'GET_TEMPLATES' | 'NEW_RECORD' | 'EDIT_RECORD' | 'REMOVE_RECORD' | 'LOOKUP_INT' | 'LOOKUP' | 'GET_ACCOUNT' | 'CHECK_APIID' | 'APPLY_PERMISSION_KEY' | 'SET_ACCOUNT_PERMISSIONS' | 'BAN_USER' | 'VERIFY_SECRET' | 'AUTH_STREETSIGNS' | 'SET_POSTALS' | 'SEND_PHOTO' | 'SET_CLOCK' | 'JOIN_COMMUNITY' | 'LEAVE_COMMUNITY' | 'GET_CHARACTERS' | 'NEW_CHARACTER' | 'EDIT_CHARACTER' | 'REMOVE_CHARACTER' | 'GET_IDENTIFIERS' | 'MODIFY_IDENTIFIER' | 'SET_IDENTIFIER' | 'UNIT_PANIC' | 'UNIT_STATUS' | 'GET_BLIPS' | 'ADD_BLIP' | 'MODIFY_BLIP' | 'REMOVE_BLIP' | '911_CALL' | 'REMOVE_911' | 'GET_CALLS' | 'GET_ACTIVE_UNITS' | 'KICK_UNIT' | 'NEW_DISPATCH' | 'ATTACH_UNIT' | 'DETACH_UNIT' | 'SET_CALL_POSTAL' | 'SET_CALL_PRIMARY' | 'ADD_CALL_NOTE' | 'CLOSE_CALL' | 'UNIT_LOCATION' | 'SET_STREETSIGN_CONFIG' | 'UPDATE_STREETSIGN' | 'GET_COM_ACCOUNT' | 'GET_DEPARTMENTS' | 'GET_SUB_VERSION' | 'GET_CURRENT_CLOCK_IN' | 'GET_ACCOUNTS' | 'GET_PROFILE_FIELDS' | 'CHECK_COM_APIID' | 'VERIFY_WHITELIST' | 'CLOCK_IN_OUT' | 'FULL_WHITELIST' | 'GET_ACCOUNT_RANKS' | 'SET_ACCOUNT_RANKS' | 'RSVP' | 'CHANGE_FORM_STAGE' | 'GET_FORM_TEMPLATE_SUBMISSIONS' | 'KICK_ACCOUNT' | 'BAN_ACCOUNT' | 'LOOKUP' | 'EDIT_ACC_PROFLIE_FIELDS' | 'SET_ACCOUNT_NAME' | 'FORCE_SYNC' | 'SET_GAME_SERVERS' | 'ERLC_GET_ONLINE_PLAYERS' | 'ERLC_GET_PLAYER_QUEUE' | 'ERLC_ADD_NEW_RECORD' | 'RADIO_GET_COMMUNITY_CHANNELS' | 'RADIO_GET_CONNECTED_USERS' | 'RADIO_GET_CONNECTED_USER' | 'RADIO_SET_USER_CHANNELS' | 'RADIO_SET_USER_DISPLAY_NAME' | 'RADIO_GET_SERVER_SUBSCRIPTION_FROM_IP' | 'RADIO_SET_SERVER_IP' | 'RADIO_SET_IN_GAME_SPEAKER_LOCATIONS';
41
+ export type AllAPITypesType = 'GET_SERVERS' | 'SET_SERVERS' | 'GET_VERSION' | 'SET_PENAL_CODES' | 'SET_API_ID' | 'GET_TEMPLATES' | 'NEW_RECORD' | 'EDIT_RECORD' | 'REMOVE_RECORD' | 'LOOKUP_INT' | 'LOOKUP' | 'GET_ACCOUNT' | 'CHECK_APIID' | 'APPLY_PERMISSION_KEY' | 'SET_ACCOUNT_PERMISSIONS' | 'BAN_USER' | 'VERIFY_SECRET' | 'AUTH_STREETSIGNS' | 'SET_POSTALS' | 'SEND_PHOTO' | 'SET_CLOCK' | 'JOIN_COMMUNITY' | 'LEAVE_COMMUNITY' | 'GET_CHARACTERS' | 'NEW_CHARACTER' | 'EDIT_CHARACTER' | 'REMOVE_CHARACTER' | 'GET_IDENTIFIERS' | 'MODIFY_IDENTIFIER' | 'SET_IDENTIFIER' | 'UNIT_PANIC' | 'UNIT_STATUS' | 'GET_BLIPS' | 'ADD_BLIP' | 'MODIFY_BLIP' | 'REMOVE_BLIP' | '911_CALL' | 'REMOVE_911' | 'GET_CALLS' | 'GET_ACTIVE_UNITS' | 'KICK_UNIT' | 'NEW_DISPATCH' | 'ATTACH_UNIT' | 'DETACH_UNIT' | 'SET_CALL_POSTAL' | 'SET_CALL_PRIMARY' | 'ADD_CALL_NOTE' | 'CLOSE_CALL' | 'UNIT_LOCATION' | 'SET_STREETSIGN_CONFIG' | 'UPDATE_STREETSIGN' | 'GET_COM_ACCOUNT' | 'GET_DEPARTMENTS' | 'GET_SUB_VERSION' | 'GET_CURRENT_CLOCK_IN' | 'GET_ACCOUNTS' | 'GET_PROFILE_FIELDS' | 'CHECK_COM_APIID' | 'VERIFY_WHITELIST' | 'CLOCK_IN_OUT' | 'FULL_WHITELIST' | 'GET_ACCOUNT_RANKS' | 'SET_ACCOUNT_RANKS' | 'RSVP' | 'CHANGE_FORM_STAGE' | 'GET_FORM_TEMPLATE_SUBMISSIONS' | 'KICK_ACCOUNT' | 'BAN_ACCOUNT' | 'LOOKUP' | 'EDIT_ACC_PROFLIE_FIELDS' | 'SET_ACCOUNT_NAME' | 'FORCE_SYNC' | 'TRIGGER_PROMOTION_FLOWS' | 'GET_PROMOTION_FLOWS' | 'SET_GAME_SERVERS' | 'ERLC_GET_ONLINE_PLAYERS' | 'ERLC_GET_PLAYER_QUEUE' | 'ERLC_ADD_NEW_RECORD' | 'RADIO_GET_COMMUNITY_CHANNELS' | 'RADIO_GET_CONNECTED_USERS' | 'RADIO_GET_CONNECTED_USER' | 'RADIO_SET_USER_CHANNELS' | 'RADIO_SET_USER_DISPLAY_NAME' | 'RADIO_GET_SERVER_SUBSCRIPTION_FROM_IP' | 'RADIO_SET_SERVER_IP' | 'RADIO_SET_IN_GAME_SPEAKER_LOCATIONS';
42
42
  export interface CMSServerAPIStruct {
43
43
  id: number;
44
44
  name: string;
@@ -391,7 +391,7 @@ export interface RESTTypedAPIDataStructs {
391
391
  serverId: number,
392
392
  callId: number
393
393
  ];
394
- 'CALL_911': [
394
+ '911_CALL': [
395
395
  serverId: number,
396
396
  isEmergency: boolean,
397
397
  caller: string,
@@ -480,6 +480,10 @@ export interface RESTTypedAPIDataStructs {
480
480
  discordId: string | undefined,
481
481
  uniqueId: string | undefined
482
482
  ];
483
+ TRIGGER_PROMOTION_FLOWS: [
484
+ data: CMSTriggerPromotionFlowPayload[]
485
+ ];
486
+ GET_PROMOTION_FLOWS: [];
483
487
  GET_GAME_SERVERS: [];
484
488
  SET_GAME_SERVERS: [servers: CMSSetGameServerStruct[]];
485
489
  VERIFY_WHITELIST: [
@@ -575,7 +579,7 @@ export interface RESTTypedAPIDataStructs {
575
579
  ];
576
580
  }
577
581
  export type PossibleRequestData = undefined | {
578
- data: CADPenalCodeStruct[] | CADSetAPIIDStruct | CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct | CADLookupByIntStruct | CADLookupStruct | CADModifyAccountPermsStruct | CADKickBanUserStruct | CADSetPostalStruct[] | CADModifyIdentifierStruct | CADAddBlipStruct[] | CADModifyBlipStruct[] | CADGetCallsStruct | CADGetActiveUnitsStruct | CADNewDispatchStruct;
582
+ data: CADPenalCodeStruct[] | CADSetAPIIDStruct | CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct | CADLookupByIntStruct | CADLookupStruct | CADModifyAccountPermsStruct | CADKickBanUserStruct | CADSetPostalStruct[] | CADModifyIdentifierStruct | CADAddBlipStruct[] | CADModifyBlipStruct[] | CADGetCallsStruct | CADGetActiveUnitsStruct | CADNewDispatchStruct | CMSTriggerPromotionFlowPayload[];
579
583
  } | {
580
584
  servers: CADServerAPIStruct[];
581
585
  deployMap: boolean;
@@ -423,6 +423,18 @@ exports.GeneralCMSAPITypes = [
423
423
  path: 'general/force_sync',
424
424
  method: 'POST',
425
425
  minVersion: 0
426
+ },
427
+ {
428
+ type: 'TRIGGER_PROMOTION_FLOWS',
429
+ path: 'general/trigger_promotion_flows',
430
+ method: 'POST',
431
+ minVersion: 0
432
+ },
433
+ {
434
+ type: 'GET_PROMOTION_FLOWS',
435
+ path: 'general/get_promotion_flows',
436
+ method: 'POST',
437
+ minVersion: 0
426
438
  }
427
439
  ];
428
440
  exports.ServersCMSAPITypes = [
@@ -1,4 +1,6 @@
1
1
  import { Instance } from '../instance/Instance';
2
+ import * as globalTypes from '../constants';
3
+ import type { CADGetActiveUnitsStruct } from '../libs/rest/src';
2
4
  import { CADActiveUnit, CADActiveUnitResolvable, CADActiveUnitStruct } from '../structures/CADActiveUnit';
3
5
  import { CacheManager } from './CacheManager';
4
6
  export declare class CADActiveUnitsManager extends CacheManager<number, CADActiveUnit, CADActiveUnitResolvable> {
@@ -7,6 +9,7 @@ export declare class CADActiveUnitsManager extends CacheManager<number, CADActiv
7
9
  constructor(instance: Instance, iterable: Iterable<CADActiveUnitStruct>, serverId: number);
8
10
  _add(data: any, cache?: boolean): any;
9
11
  fetch(): void;
12
+ getActiveUnits(options?: Partial<CADGetActiveUnitsStruct>): Promise<globalTypes.CADStandardResponse>;
10
13
  _fetchSingle({ unit, includeOffline, force }: {
11
14
  unit: CADActiveUnitResolvable;
12
15
  includeOffline: boolean;
@@ -21,18 +21,28 @@ class CADActiveUnitsManager extends CacheManager_1.CacheManager {
21
21
  force: false
22
22
  });
23
23
  }
24
- async _fetchSingle({ unit, includeOffline = false, force = false }) {
24
+ async getActiveUnits(options = {}) {
25
25
  var _a, _b;
26
+ if (!this.instance.cad) {
27
+ throw new Error('CAD manager is not initialized.');
28
+ }
29
+ const payload = {
30
+ serverId: (_a = options.serverId) !== null && _a !== void 0 ? _a : this.serverId,
31
+ includeOffline: (_b = options.includeOffline) !== null && _b !== void 0 ? _b : false,
32
+ onlyUnits: options.onlyUnits,
33
+ limit: options.limit,
34
+ offset: options.offset
35
+ };
36
+ return this.instance.cad.getActiveUnits(payload);
37
+ }
38
+ async _fetchSingle({ unit, includeOffline = false, force = false }) {
26
39
  if (!force) {
27
40
  const existing = this.cache.get(unit);
28
41
  if (existing)
29
42
  return existing;
30
43
  }
31
- const data = await ((_b = (_a = this.instance.cad) === null || _a === void 0 ? void 0 : _a.rest) === null || _b === void 0 ? void 0 : _b.request('GET_ACTIVE_UNITS', {
32
- serverId: this.serverId,
33
- includeOffline
34
- }));
35
- console.log(data);
44
+ const result = await this.getActiveUnits({ includeOffline });
45
+ console.log(result);
36
46
  }
37
47
  }
38
48
  exports.CADActiveUnitsManager = CADActiveUnitsManager;
@@ -1,6 +1,7 @@
1
1
  import { Instance } from '../instance/Instance';
2
2
  import { CADSubscriptionVersionEnum } from '../constants';
3
3
  import { REST } from '../libs/rest/src';
4
+ import type { CADPenalCodeStruct, CADSetAPIIDStruct, CADNewEditRecordOptionOneStruct, CADNewEditRecordOptionTwoStruct, CADLookupByIntStruct, CADLookupStruct, CADModifyAccountPermsStruct, CADKickBanUserStruct, CADSetPostalStruct, CADModifyIdentifierStruct, CADAddBlipStruct, CADModifyBlipStruct, CADGetCallsStruct, CADGetActiveUnitsStruct, CADNewDispatchStruct, CADStreetSignStruct, CADUnitLocationStruct } from '../libs/rest/src';
4
5
  import { BaseManager } from './BaseManager';
5
6
  import * as globalTypes from '../constants';
6
7
  import { CADServerManager } from './CADServerManager';
@@ -15,6 +16,12 @@ export declare class CADManager extends BaseManager {
15
16
  servers: CADServerManager | undefined;
16
17
  constructor(instance: Instance);
17
18
  protected buildManager(instance: Instance): Promise<void>;
19
+ private getRest;
20
+ private executeCadRequest;
21
+ /**
22
+ * Retrieves the community's CAD subscription version.
23
+ */
24
+ getVersion(): Promise<number>;
18
25
  /**
19
26
  * Gets a community account by `accId` or `apiId`.
20
27
  * @param {Object} params The object that contains parameters to get a community account.
@@ -53,5 +60,193 @@ export declare class CADManager extends BaseManager {
53
60
  } | Array<string | {
54
61
  account: string;
55
62
  }>): Promise<globalTypes.CADLeaveCommunityPromiseResult>;
63
+ /**
64
+ * Updates the penal code configuration for the community.
65
+ */
66
+ setPenalCodes(codes: CADPenalCodeStruct[]): Promise<globalTypes.CADStandardResponse>;
67
+ /**
68
+ * Assigns API IDs to a community account.
69
+ */
70
+ setAccountApiIds(data: CADSetAPIIDStruct): Promise<globalTypes.CADStandardResponse>;
71
+ /**
72
+ * Retrieves record templates filtered by a specific record type.
73
+ */
74
+ getRecordTemplates(recordTypeId?: number): Promise<globalTypes.CADStandardResponse>;
75
+ /**
76
+ * Creates a new record entry.
77
+ */
78
+ createRecord(data: CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct): Promise<globalTypes.CADStandardResponse>;
79
+ /**
80
+ * Updates an existing record entry.
81
+ */
82
+ updateRecord(data: CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct): Promise<globalTypes.CADStandardResponse>;
83
+ /**
84
+ * Removes a record by its identifier.
85
+ */
86
+ removeRecord(id: number): Promise<globalTypes.CADStandardResponse>;
87
+ /**
88
+ * Performs an internal lookup using the CAD lookup by identifier endpoint.
89
+ */
90
+ lookupByInt(data: CADLookupByIntStruct): Promise<globalTypes.CADStandardResponse>;
91
+ /**
92
+ * Executes a CAD lookup using first/last name, plate, or other values.
93
+ */
94
+ lookupRecords(data: CADLookupStruct): Promise<globalTypes.CADStandardResponse>;
95
+ /**
96
+ * Checks whether the provided API ID exists.
97
+ */
98
+ checkApiId(apiId: string): Promise<globalTypes.CADStandardResponse>;
99
+ /**
100
+ * Applies a permission key to an account.
101
+ */
102
+ applyPermissionKey(apiId: string | undefined, permissionKey: string): Promise<globalTypes.CADStandardResponse>;
103
+ /**
104
+ * Sets account permissions for a CAD user.
105
+ */
106
+ setAccountPermissions(data: CADModifyAccountPermsStruct): Promise<globalTypes.CADStandardResponse>;
107
+ /**
108
+ * Bans or kicks a CAD user.
109
+ */
110
+ banUser(data: CADKickBanUserStruct): Promise<globalTypes.CADStandardResponse>;
111
+ /**
112
+ * Verifies a secret string against CAD configuration.
113
+ */
114
+ verifySecret(secret: string): Promise<globalTypes.CADStandardResponse>;
115
+ /**
116
+ * Authorizes street sign changes for a CAD server.
117
+ */
118
+ authorizeStreetSigns(serverId: number): Promise<globalTypes.CADStandardResponse>;
119
+ /**
120
+ * Replaces the community postal list.
121
+ */
122
+ setPostals(data: CADSetPostalStruct[]): Promise<globalTypes.CADStandardResponse>;
123
+ /**
124
+ * Sends a photo to CAD for the provided API ID.
125
+ */
126
+ sendPhoto(apiId: string | undefined, url: string): Promise<globalTypes.CADStandardResponse>;
127
+ /**
128
+ * Retrieves characters belonging to an API ID.
129
+ */
130
+ getCharacters(apiId: string): Promise<globalTypes.CADStandardResponse>;
131
+ /**
132
+ * Creates a new civilian character.
133
+ */
134
+ createCharacter(data: CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct): Promise<globalTypes.CADStandardResponse>;
135
+ /**
136
+ * Updates an existing civilian character.
137
+ */
138
+ updateCharacter(data: CADNewEditRecordOptionOneStruct | CADNewEditRecordOptionTwoStruct): Promise<globalTypes.CADStandardResponse>;
139
+ /**
140
+ * Removes a civilian character by identifier.
141
+ */
142
+ removeCharacter(id: number): Promise<globalTypes.CADStandardResponse>;
143
+ /**
144
+ * Retrieves identifiers assigned to an API ID.
145
+ */
146
+ getIdentifiers(apiId: string): Promise<globalTypes.CADStandardResponse>;
147
+ /**
148
+ * Modifies identifiers for an account.
149
+ */
150
+ modifyIdentifier(data: CADModifyIdentifierStruct): Promise<globalTypes.CADStandardResponse>;
151
+ /**
152
+ * Sets the active identifier by identifier ID.
153
+ */
154
+ setIdentifier(apiId: string | undefined, identId: number): Promise<globalTypes.CADStandardResponse>;
155
+ /**
156
+ * Toggles panic state for a unit.
157
+ */
158
+ setUnitPanic(apiId: string | undefined, isPanic: boolean): Promise<globalTypes.CADStandardResponse>;
159
+ /**
160
+ * Updates a unit's status.
161
+ */
162
+ setUnitStatus(apiId: string | undefined, status: number, serverId: number): Promise<globalTypes.CADStandardResponse>;
163
+ /**
164
+ * Retrieves live map blips for a CAD server.
165
+ */
166
+ getBlips(serverId: number): Promise<globalTypes.CADStandardResponse>;
167
+ /**
168
+ * Adds blips to the CAD map.
169
+ */
170
+ addBlips(blips: CADAddBlipStruct | CADAddBlipStruct[]): Promise<globalTypes.CADStandardResponse>;
171
+ /**
172
+ * Updates existing CAD map blips.
173
+ */
174
+ updateBlips(blips: CADModifyBlipStruct | CADModifyBlipStruct[]): Promise<globalTypes.CADStandardResponse>;
175
+ /**
176
+ * Removes a CAD map blip.
177
+ */
178
+ removeBlip(id: number): Promise<globalTypes.CADStandardResponse>;
179
+ /**
180
+ * Creates a new 911 call entry.
181
+ */
182
+ create911Call(params: {
183
+ serverId: number;
184
+ isEmergency: boolean;
185
+ caller: string;
186
+ location: string;
187
+ description: string;
188
+ metaData?: Record<string, string>;
189
+ }): Promise<globalTypes.CADStandardResponse>;
190
+ /**
191
+ * Removes a 911 call by its identifier.
192
+ */
193
+ remove911Call(callId: number): Promise<globalTypes.CADStandardResponse>;
194
+ /**
195
+ * Retrieves dispatch calls with optional pagination.
196
+ */
197
+ getCalls(options: CADGetCallsStruct): Promise<globalTypes.CADStandardResponse>;
198
+ /**
199
+ * Retrieves active units for the provided filters.
200
+ */
201
+ getActiveUnits(options: CADGetActiveUnitsStruct): Promise<globalTypes.CADStandardResponse>;
202
+ /**
203
+ * Kicks an active unit from the CAD.
204
+ */
205
+ kickUnit(apiId: string | undefined, reason: string, serverId: number): Promise<globalTypes.CADStandardResponse>;
206
+ /**
207
+ * Creates a new dispatch call.
208
+ */
209
+ createDispatch(data: CADNewDispatchStruct): Promise<globalTypes.CADStandardResponse>;
210
+ /**
211
+ * Attaches units to an existing dispatch call.
212
+ */
213
+ attachUnits(serverId: number, callId: number, units: string[]): Promise<globalTypes.CADStandardResponse>;
214
+ /**
215
+ * Detaches units from dispatch calls.
216
+ */
217
+ detachUnits(serverId: number, units: string[]): Promise<globalTypes.CADStandardResponse>;
218
+ /**
219
+ * Updates the postal code on a call.
220
+ */
221
+ setCallPostal(serverId: number, callId: number, postal: string): Promise<globalTypes.CADStandardResponse>;
222
+ /**
223
+ * Updates a call's primary unit.
224
+ */
225
+ setCallPrimary(serverId: number, callId: number, primary: number, trackPrimary: boolean): Promise<globalTypes.CADStandardResponse>;
226
+ /**
227
+ * Adds a note to an active call.
228
+ */
229
+ addCallNote(serverId: number, callId: number, note: string): Promise<globalTypes.CADStandardResponse>;
230
+ /**
231
+ * Closes a CAD call.
232
+ */
233
+ closeCall(serverId: number, callId: number): Promise<globalTypes.CADStandardResponse>;
234
+ /**
235
+ * Updates live unit locations on the CAD map.
236
+ */
237
+ updateUnitLocations(locations: CADUnitLocationStruct[]): Promise<globalTypes.CADStandardResponse>;
238
+ /**
239
+ * Replaces the street sign configuration for a server.
240
+ */
241
+ setStreetSignConfig(serverId: number, signConfig: CADStreetSignStruct[]): Promise<globalTypes.CADStandardResponse>;
242
+ /**
243
+ * Updates an existing street sign's text.
244
+ */
245
+ updateStreetSign(serverId: number, signData: {
246
+ ids: number[];
247
+ text1: string;
248
+ text2: string;
249
+ text3: string;
250
+ }): Promise<globalTypes.CADStandardResponse>;
56
251
  private normalizeAccountEntries;
57
252
  }