@tak-ps/node-tak 12.29.0 → 12.31.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-management.js","sourceRoot":"","sources":["../../../lib/api/user-management.ts"],"names":[],"mappings":"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"}
package/dist/lib/api.d.ts CHANGED
@@ -6,6 +6,7 @@ import Locate from './api/locate.js';
6
6
  import Mission, { MissionSubscriberRole } from './api/mission.js';
7
7
  import MissionInvite, { MissionInviteType } from './api/mission-invite.js';
8
8
  import MissionLog from './api/mission-log.js';
9
+ import MissionProperty from './api/mission-property.js';
9
10
  import MissionLayer, { MissionLayerType } from './api/mission-layer.js';
10
11
  import Credentials from './api/credentials.js';
11
12
  import Security from './api/security.js';
@@ -20,6 +21,7 @@ import Group from './api/groups.js';
20
21
  import Subscription from './api/subscriptions.js';
21
22
  import Video from './api/video.js';
22
23
  import Export from './api/export.js';
24
+ import UserManagement from './api/user-management.js';
23
25
  import * as auth from './auth.js';
24
26
  export declare const CommandList: Record<string, keyof TAKAPI>;
25
27
  /**
@@ -36,6 +38,7 @@ export default class TAKAPI {
36
38
  Iconsets: Iconsets;
37
39
  Mission: Mission;
38
40
  MissionLog: MissionLog;
41
+ MissionProperty: MissionProperty;
39
42
  MissionInvite: MissionInvite;
40
43
  MissionLayer: MissionLayer;
41
44
  Credentials: Credentials;
@@ -51,6 +54,7 @@ export default class TAKAPI {
51
54
  Export: Export;
52
55
  Query: Query;
53
56
  Files: Files;
57
+ UserManagement: UserManagement;
54
58
  constructor(url: URL, auth: auth.APIAuth);
55
59
  static init(url: URL, auth: auth.APIAuth): Promise<TAKAPI>;
56
60
  stdurl(url: string | URL): URL;
@@ -62,4 +66,4 @@ export default class TAKAPI {
62
66
  */
63
67
  fetch(url: URL, opts?: any, raw?: boolean): Promise<any>;
64
68
  }
65
- export { OAuth, Package, Certificate, Query, Locate, Mission, MissionInvite, MissionLog, MissionLayer, Client, Credentials, Security, Contacts, Profile, Files, Iconsets, Injectors, Repeater, Group, Subscription, Video, Export, MissionSubscriberRole, MissionLayerType, MissionInviteType };
69
+ export { OAuth, Package, Certificate, Query, Locate, Mission, MissionInvite, MissionLog, MissionProperty, MissionLayer, Client, Credentials, Security, Contacts, Profile, Files, Iconsets, Injectors, Repeater, Group, Subscription, Video, Export, UserManagement, MissionSubscriberRole, MissionLayerType, MissionInviteType };
package/dist/lib/api.js CHANGED
@@ -6,6 +6,7 @@ import Locate from './api/locate.js';
6
6
  import Mission, { MissionSubscriberRole } from './api/mission.js';
7
7
  import MissionInvite, { MissionInviteType } from './api/mission-invite.js';
8
8
  import MissionLog from './api/mission-log.js';
9
+ import MissionProperty from './api/mission-property.js';
9
10
  import MissionLayer, { MissionLayerType } from './api/mission-layer.js';
10
11
  import Credentials from './api/credentials.js';
11
12
  import Security from './api/security.js';
@@ -20,6 +21,7 @@ import Group from './api/groups.js';
20
21
  import Subscription from './api/subscriptions.js';
21
22
  import Video from './api/video.js';
22
23
  import Export from './api/export.js';
24
+ import UserManagement from './api/user-management.js';
23
25
  import Err from '@openaddresses/batch-error';
24
26
  import { TAKServerError, isHTML } from './utils/html-error.js';
25
27
  function formatFetchError(err) {
@@ -63,6 +65,7 @@ export const CommandList = {
63
65
  mission: 'Mission',
64
66
  'mission-invite': 'MissionInvite',
65
67
  'mission-log': 'MissionLog',
68
+ 'mission-property': 'MissionProperty',
66
69
  'mission-layer': 'MissionLayer',
67
70
  credential: 'Credentials',
68
71
  certificate: 'Certificate',
@@ -76,7 +79,8 @@ export const CommandList = {
76
79
  video: 'Video',
77
80
  export: 'Export',
78
81
  query: 'Query',
79
- file: 'Files'
82
+ file: 'Files',
83
+ 'user-management': 'UserManagement'
80
84
  };
81
85
  /**
82
86
  * Handle TAK HTTP API Operations
@@ -92,6 +96,7 @@ export default class TAKAPI {
92
96
  Iconsets;
93
97
  Mission;
94
98
  MissionLog;
99
+ MissionProperty;
95
100
  MissionInvite;
96
101
  MissionLayer;
97
102
  Credentials;
@@ -107,6 +112,7 @@ export default class TAKAPI {
107
112
  Export;
108
113
  Query;
109
114
  Files;
115
+ UserManagement;
110
116
  constructor(url, auth) {
111
117
  this.url = url;
112
118
  this.auth = auth;
@@ -121,6 +127,7 @@ export default class TAKAPI {
121
127
  this.Iconsets = new Iconsets(this);
122
128
  this.Mission = new Mission(this);
123
129
  this.MissionLog = new MissionLog(this);
130
+ this.MissionProperty = new MissionProperty(this);
124
131
  this.MissionInvite = new MissionInvite(this);
125
132
  this.MissionLayer = new MissionLayer(this);
126
133
  this.Client = new Client(this);
@@ -132,6 +139,7 @@ export default class TAKAPI {
132
139
  this.Injectors = new Injectors(this);
133
140
  this.Repeater = new Repeater(this);
134
141
  this.Files = new Files(this);
142
+ this.UserManagement = new UserManagement(this);
135
143
  }
136
144
  static async init(url, auth) {
137
145
  const api = new TAKAPI(url, auth);
@@ -207,5 +215,5 @@ export default class TAKAPI {
207
215
  function isPlainObject(value) {
208
216
  return value?.constructor === Object;
209
217
  }
210
- export { OAuth, Package, Certificate, Query, Locate, Mission, MissionInvite, MissionLog, MissionLayer, Client, Credentials, Security, Contacts, Profile, Files, Iconsets, Injectors, Repeater, Group, Subscription, Video, Export, MissionSubscriberRole, MissionLayerType, MissionInviteType };
218
+ export { OAuth, Package, Certificate, Query, Locate, Mission, MissionInvite, MissionLog, MissionProperty, MissionLayer, Client, Credentials, Security, Contacts, Profile, Files, Iconsets, Injectors, Repeater, Group, Subscription, Video, Export, UserManagement, MissionSubscriberRole, MissionLayerType, MissionInviteType };
211
219
  //# sourceMappingURL=api.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../lib/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,EAAE,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,aAAa,EAAE,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,eAAe,MAAM,2BAA2B,CAAC;AACxD,OAAO,YAAY,EAAE,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAC/C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,oBAAoB,CAAC;AAC3C,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,KAAK,MAAM,gBAAgB,CAAC;AACnC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/D,SAAS,gBAAgB,CAAC,GAAY;IAClC,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IAEhD,MAAM,IAAI,GAAG,GAAqB,CAAC;IAEnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAO;QAEnB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAErC,IAAI,CAAC,OAAO,IAAI,OAAO,KAAK,cAAc;YAAE,OAAO;QAEnD,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC;IAChC,OAAO,KAAK,EAAE,CAAC;QACX,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,KAAuB,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,CAAC,CAAC;YACZ,MAAM;QACV,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC,OAAO,CAAC;AACxB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAiC;IACrD,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,eAAe;IACjC,aAAa,EAAE,YAAY;IAC3B,kBAAkB,EAAE,iBAAiB;IACrC,eAAe,EAAE,cAAc;IAC/B,UAAU,EAAE,aAAa;IACzB,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,UAAU;IACnB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,WAAW;IACrB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,gBAAgB;CACtC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACvB,IAAI,CAAe;IACnB,GAAG,CAAM;IACT,OAAO,CAAU;IACjB,KAAK,CAAQ;IACb,MAAM,CAAS;IACf,QAAQ,CAAW;IACnB,QAAQ,CAAW;IACnB,OAAO,CAAU;IACjB,UAAU,CAAa;IACvB,eAAe,CAAkB;IACjC,aAAa,CAAgB;IAC7B,YAAY,CAAe;IAC3B,WAAW,CAAc;IACzB,MAAM,CAAS;IACf,QAAQ,CAAW;IACnB,WAAW,CAAc;IACzB,YAAY,CAAe;IAC3B,OAAO,CAAU;IACjB,SAAS,CAAY;IACrB,QAAQ,CAAW;IACnB,KAAK,CAAQ;IACb,KAAK,CAAQ;IACb,MAAM,CAAS;IACf,KAAK,CAAQ;IACb,KAAK,CAAQ;IACb,cAAc,CAAiB;IAE/B,YAAY,GAAQ,EAAE,IAAkB;QACpC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,GAAQ,EAAE,IAAkB;QAC1C,MAAM,GAAG,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzB,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAiB;QACpB,IAAI,CAAC;YACD,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACnB,6DAA6D;QACjE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAK,CAAC,GAAQ,EAAE,OAAY,EAAE,EAAE,GAAG,GAAC,KAAK;QAC3C,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAErC,IACI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;mBACnD,CACC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;uBAC1B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CACjE,EACH,CAAC;gBACC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;YACtD,CAAC;iBAAM,IAAI,OAAO,QAAQ,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,YAAY,QAAQ,EAAE,CAAC;gBAC1E,qEAAqE;gBACrE,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,YAAY,eAAe,EAAE,CAAC;gBAC9C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,mCAAmC,CAAA;gBAClE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;YAElD,IAAI,GAAG;gBAAE,OAAO,GAAG,CAAC;YAEpB,IAAI,GAAG,GAAQ,EAAE,CAAC;YAElB,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC;oBACD,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,GAAG,IAAI,CAAC;gBACf,CAAC;gBAED,sCAAsC;gBACtC,IAAI,MAAM,CAAC,GAAG,CAAC;oBAAE,MAAM,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAE3D,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,gBAAgB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YACzE,CAAC;YAED,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,kBAAkB,EAAE,CAAC;gBACzD,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,IAAI,GAAG,YAAY,GAAG;gBAAE,MAAM,GAAG,CAAC;YAClC,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,CAAC;IACL,CAAC;CACJ;AAED,SAAS,aAAa,CAAC,KAAa;IAChC,OAAQ,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC;AAC1C,CAAC;AAED,OAAO,EACH,KAAK,EACL,OAAO,EACP,WAAW,EACX,KAAK,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,UAAU,EACV,eAAe,EACf,YAAY,EACZ,MAAM,EACN,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,KAAK,EACL,YAAY,EACZ,KAAK,EACL,MAAM,EACN,cAAc,EACd,qBAAqB,EACrB,gBAAgB,EAChB,iBAAiB,EACpB,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,73 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { Readable } from 'node:stream';
4
+ import { Client } from 'undici';
5
+ import TAKAPI from '../lib/api.js';
6
+ import { APIAuthCertificate } from '../lib/auth.js';
7
+ const GUID = '9ba05e1d-970f-49e1-a153-7216fecf5279';
8
+ function mockResponse(statusCode, contentType, body) {
9
+ return {
10
+ statusCode,
11
+ headers: { 'content-type': contentType },
12
+ body: Readable.from([Buffer.from(body)]),
13
+ trailers: {}
14
+ };
15
+ }
16
+ async function capture(response, fn) {
17
+ const originalRequest = Client.prototype.request;
18
+ const requests = [];
19
+ Client.prototype.request = async function (opts) {
20
+ requests.push(opts);
21
+ return mockResponse(200, response ? 'application/json' : 'text/plain', response);
22
+ };
23
+ try {
24
+ const api = new TAKAPI(new URL('https://tak.example.com'), new APIAuthCertificate('cert', 'key'));
25
+ const result = await fn(api);
26
+ return { requests, result };
27
+ }
28
+ finally {
29
+ Client.prototype.request = originalRequest;
30
+ }
31
+ }
32
+ const ITEM = JSON.stringify({ version: '3', type: 'com.bbn.marti.sync.model.MissionProperty', data: { key: 'test.hello', value: 'world' } });
33
+ const LIST = JSON.stringify({ version: '3', type: 'com.bbn.marti.sync.model.MissionProperty', data: [{ key: 'test.hello', value: 'world' }] });
34
+ test('MissionProperty.list uses the guid properties endpoint with a prefix filter', async () => {
35
+ const { requests, result } = await capture(LIST, (api) => api.MissionProperty.list(GUID, { prefix: 'test.' }));
36
+ assert.equal(requests.length, 1);
37
+ assert.equal(requests[0].method, 'GET');
38
+ assert.equal(requests[0].path, `/Marti/api/missions/guid/${GUID}/properties?prefix=test.`);
39
+ assert.deepEqual(result.data, [{ key: 'test.hello', value: 'world' }]);
40
+ });
41
+ test('MissionProperty.get encodes the key in the path', async () => {
42
+ const { requests } = await capture(ITEM, (api) => api.MissionProperty.get(GUID, 'a b'));
43
+ assert.equal(requests[0].method, 'GET');
44
+ assert.equal(requests[0].path, `/Marti/api/missions/guid/${GUID}/properties/a%20b`);
45
+ });
46
+ test('MissionProperty.set PUTs key/value with creatorUid as a query param', async () => {
47
+ const { requests } = await capture(ITEM, (api) => api.MissionProperty.set(GUID, {
48
+ key: 'test.hello',
49
+ value: 'world',
50
+ creatorUid: 'alice'
51
+ }));
52
+ assert.equal(requests[0].method, 'PUT');
53
+ assert.equal(requests[0].path, `/Marti/api/missions/guid/${GUID}/properties?creatorUid=alice`);
54
+ assert.deepEqual(JSON.parse(String(requests[0].body)), { key: 'test.hello', value: 'world' });
55
+ });
56
+ test('MissionProperty.delete removes a single key', async () => {
57
+ const { requests } = await capture('', (api) => api.MissionProperty.delete(GUID, 'test.hello', 'alice'));
58
+ assert.equal(requests[0].method, 'DELETE');
59
+ assert.equal(requests[0].path, `/Marti/api/missions/guid/${GUID}/properties/test.hello?creatorUid=alice`);
60
+ });
61
+ test('MissionProperty.deleteAll removes every key', async () => {
62
+ const { requests } = await capture('', (api) => api.MissionProperty.deleteAll(GUID, 'alice'));
63
+ assert.equal(requests[0].method, 'DELETE');
64
+ assert.equal(requests[0].path, `/Marti/api/missions/guid/${GUID}/properties?creatorUid=alice`);
65
+ });
66
+ test('MissionProperty resolves a mission name to its GUID first', async () => {
67
+ const MISSION = JSON.stringify({ version: '3', type: 'Mission', data: [{ name: 'kv-test', guid: GUID }] });
68
+ const { requests } = await capture(MISSION, (api) => api.MissionProperty.list('kv-test'));
69
+ assert.equal(requests.length, 2);
70
+ assert.equal(requests[0].path, '/Marti/api/missions/kv-test');
71
+ assert.equal(requests[1].path, `/Marti/api/missions/guid/${GUID}/properties`);
72
+ });
73
+ //# sourceMappingURL=mission-property.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mission-property.test.js","sourceRoot":"","sources":["../../test/mission-property.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,158 @@
1
+ import test from 'node:test';
2
+ import assert from 'node:assert/strict';
3
+ import { Readable } from 'node:stream';
4
+ import { Client } from 'undici';
5
+ import TAKAPI from '../lib/api.js';
6
+ import { APIAuthCertificate } from '../lib/auth.js';
7
+ function mockResponse(statusCode, contentType, body) {
8
+ return {
9
+ statusCode,
10
+ headers: { 'content-type': contentType },
11
+ body: Readable.from([Buffer.from(body)]),
12
+ trailers: {}
13
+ };
14
+ }
15
+ async function capture(fn, response = mockResponse(200, 'text/plain', '')) {
16
+ const originalRequest = Client.prototype.request;
17
+ let captured;
18
+ Client.prototype.request = async function (opts) {
19
+ captured = opts;
20
+ return response;
21
+ };
22
+ try {
23
+ const api = new TAKAPI(new URL('https://tak.example.com'), new APIAuthCertificate('cert', 'key'));
24
+ const result = await fn(api);
25
+ assert.ok(captured);
26
+ return { captured, result };
27
+ }
28
+ finally {
29
+ Client.prototype.request = originalRequest;
30
+ }
31
+ }
32
+ test('UserManagement.createUser posts a NewUserModel with defaulted group lists', async () => {
33
+ const { captured } = await capture((api) => api.UserManagement.createUser({
34
+ username: 'alice',
35
+ password: 'Sup3rSecret!',
36
+ groupListIN: ['Blue']
37
+ }));
38
+ assert.equal(captured.method, 'POST');
39
+ assert.equal(captured.path, '/Marti/api/user-management/api/new-user');
40
+ assert.deepEqual(JSON.parse(String(captured.body)), {
41
+ username: 'alice',
42
+ password: 'Sup3rSecret!',
43
+ groupList: [],
44
+ groupListIN: ['Blue'],
45
+ groupListOUT: []
46
+ });
47
+ });
48
+ test('UserManagement.createUsers posts a UserGenerationInBulkModel and returns generated credentials', async () => {
49
+ const { captured, result } = await capture((api) => api.UserManagement.createUsers({
50
+ usernameExpression: 'team-[N]',
51
+ startN: 1,
52
+ endN: 2,
53
+ groupList: ['Red']
54
+ }), mockResponse(200, 'application/json', JSON.stringify([
55
+ { username: 'team-1', password: 'p1' },
56
+ { username: 'team-2', password: 'p2' }
57
+ ])));
58
+ assert.equal(captured.method, 'POST');
59
+ assert.equal(captured.path, '/Marti/api/user-management/api/new-users');
60
+ assert.deepEqual(JSON.parse(String(captured.body)), {
61
+ usernameExpression: 'team-[N]',
62
+ startN: 1,
63
+ endN: 2,
64
+ groupList: ['Red'],
65
+ groupListIN: [],
66
+ groupListOUT: []
67
+ });
68
+ assert.deepEqual(result, [
69
+ { username: 'team-1', password: 'p1' },
70
+ { username: 'team-2', password: 'p2' }
71
+ ]);
72
+ });
73
+ test('UserManagement.listUsers gets list-users', async () => {
74
+ const { captured, result } = await capture((api) => api.UserManagement.listUsers(), mockResponse(200, 'application/json', JSON.stringify([{ username: 'alice' }])));
75
+ assert.equal(captured.method, 'GET');
76
+ assert.equal(captured.path, '/Marti/api/user-management/api/list-users');
77
+ assert.deepEqual(result, [{ username: 'alice' }]);
78
+ });
79
+ test('UserManagement.userGroups encodes the username in the path', async () => {
80
+ const { captured } = await capture((api) => api.UserManagement.userGroups('a b'), mockResponse(200, 'application/json', JSON.stringify({
81
+ username: 'a b', groupList: [], groupListIN: [], groupListOUT: []
82
+ })));
83
+ assert.equal(captured.method, 'GET');
84
+ assert.equal(captured.path, '/Marti/api/user-management/api/get-groups-for-user/a%20b');
85
+ });
86
+ test('UserManagement.changePassword puts a UserPasswordModel', async () => {
87
+ const { captured } = await capture((api) => api.UserManagement.changePassword({
88
+ username: 'alice',
89
+ password: 'N3wSecret!'
90
+ }));
91
+ assert.equal(captured.method, 'PUT');
92
+ assert.equal(captured.path, '/Marti/api/user-management/api/change-user-password');
93
+ assert.deepEqual(JSON.parse(String(captured.body)), {
94
+ username: 'alice',
95
+ password: 'N3wSecret!'
96
+ });
97
+ });
98
+ test('UserManagement.updateUserGroups puts a SimpleUserGroupModel', async () => {
99
+ const { captured } = await capture((api) => api.UserManagement.updateUserGroups({
100
+ username: 'alice',
101
+ groupList: ['Blue'],
102
+ groupListOUT: ['Red']
103
+ }));
104
+ assert.equal(captured.method, 'PUT');
105
+ assert.equal(captured.path, '/Marti/api/user-management/api/update-groups');
106
+ assert.deepEqual(JSON.parse(String(captured.body)), {
107
+ username: 'alice',
108
+ groupList: ['Blue'],
109
+ groupListIN: [],
110
+ groupListOUT: ['Red']
111
+ });
112
+ });
113
+ test('UserManagement.updateGroupUsers puts a SimpleGroupWithUsersModel', async () => {
114
+ const { captured } = await capture((api) => api.UserManagement.updateGroupUsers({
115
+ groupname: 'Blue',
116
+ usersInGroupListIN: ['alice', 'bob']
117
+ }));
118
+ assert.equal(captured.method, 'PUT');
119
+ assert.equal(captured.path, '/Marti/api/user-management/api/update-group-users');
120
+ assert.deepEqual(JSON.parse(String(captured.body)), {
121
+ groupname: 'Blue',
122
+ usersInGroupList: [],
123
+ usersInGroupListIN: ['alice', 'bob'],
124
+ usersInGroupListOUT: []
125
+ });
126
+ });
127
+ test('UserManagement.deleteUser deletes by encoded username', async () => {
128
+ const { captured } = await capture((api) => api.UserManagement.deleteUser('a/b'));
129
+ assert.equal(captured.method, 'DELETE');
130
+ assert.equal(captured.path, '/Marti/api/user-management/api/delete-user/a%2Fb');
131
+ });
132
+ test('UserManagement.listGroups gets list-groupnames', async () => {
133
+ const { captured, result } = await capture((api) => api.UserManagement.listGroups(), mockResponse(200, 'application/json', JSON.stringify([{ groupname: 'Blue' }])));
134
+ assert.equal(captured.method, 'GET');
135
+ assert.equal(captured.path, '/Marti/api/user-management/api/list-groupnames');
136
+ assert.deepEqual(result, [{ groupname: 'Blue' }]);
137
+ });
138
+ test('UserManagement.groupUsers gets users-in-group by encoded group name', async () => {
139
+ const { captured, result } = await capture((api) => api.UserManagement.groupUsers('Dark Blue'), mockResponse(200, 'application/json', JSON.stringify({
140
+ groupname: 'Dark Blue',
141
+ usersInGroupList: ['alice'],
142
+ usersInGroupListIN: [],
143
+ usersInGroupListOUT: ['bob']
144
+ })));
145
+ assert.equal(captured.method, 'GET');
146
+ assert.equal(captured.path, '/Marti/api/user-management/api/users-in-group/Dark%20Blue');
147
+ assert.deepEqual(result, {
148
+ groupname: 'Dark Blue',
149
+ usersInGroupList: ['alice'],
150
+ usersInGroupListIN: [],
151
+ usersInGroupListOUT: ['bob']
152
+ });
153
+ });
154
+ test('UserManagement.cli list-users formats usernames as lines', async () => {
155
+ const { result } = await capture((api) => api.UserManagement.cli({ _: ['tsx', 'cli.ts', 'user-management', 'list-users'] }), mockResponse(200, 'application/json', JSON.stringify([{ username: 'alice' }, { username: 'bob' }])));
156
+ assert.equal(result, 'alice\nbob');
157
+ });
158
+ //# sourceMappingURL=user-management.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-management.test.js","sourceRoot":"","sources":["../../test/user-management.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../cli.ts","../index.ts","../test/certificate.test.ts","../test/default.test.ts","../test/findCoT.test.ts","../test/html-error.test.ts","../test/mission-layer.test.ts","../test/mission.test.ts","../test/pipeline.test.ts","../test/queue.test.ts","../test/uploadPackage.test.ts","../lib/api.ts","../lib/auth.ts","../lib/commands.ts","../lib/fetch.ts","../lib/multipart.ts","../lib/stream.ts","../lib/api/certificate.ts","../lib/api/client.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/iconsets.ts","../lib/api/injectors.ts","../lib/api/locate.ts","../lib/api/mission-invite.ts","../lib/api/mission-layer.ts","../lib/api/mission-log.ts","../lib/api/mission.ts","../lib/api/oauth.ts","../lib/api/package.ts","../lib/api/profile.ts","../lib/api/query.ts","../lib/api/repeater.ts","../lib/api/security.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/video.ts","../lib/utils/html-error.ts","../lib/utils/queue.ts"],"version":"6.0.3"}
1
+ {"root":["../cli.ts","../index.ts","../test/certificate.test.ts","../test/default.test.ts","../test/findCoT.test.ts","../test/html-error.test.ts","../test/mission-layer.test.ts","../test/mission-property.test.ts","../test/mission.test.ts","../test/pipeline.test.ts","../test/queue.test.ts","../test/uploadPackage.test.ts","../test/user-management.test.ts","../lib/api.ts","../lib/auth.ts","../lib/commands.ts","../lib/fetch.ts","../lib/multipart.ts","../lib/stream.ts","../lib/api/certificate.ts","../lib/api/client.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/iconsets.ts","../lib/api/injectors.ts","../lib/api/locate.ts","../lib/api/mission-invite.ts","../lib/api/mission-layer.ts","../lib/api/mission-log.ts","../lib/api/mission-property.ts","../lib/api/mission.ts","../lib/api/oauth.ts","../lib/api/package.ts","../lib/api/profile.ts","../lib/api/query.ts","../lib/api/repeater.ts","../lib/api/security.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/user-management.ts","../lib/api/video.ts","../lib/utils/html-error.ts","../lib/utils/queue.ts"],"version":"6.0.3"}
@@ -0,0 +1,155 @@
1
+ import { Type, Static } from '@sinclair/typebox';
2
+ import { TAKItem, TAKList } from './types.js';
3
+ import type { MissionOptions } from './mission.js';
4
+ import Commands from '../commands.js';
5
+ import { GUIDMatch } from './mission.js';
6
+
7
+ export const MissionProperty = Type.Object({
8
+ key: Type.String(),
9
+ value: Type.String()
10
+ });
11
+
12
+ export const MissionPropertyListInput = Type.Object({
13
+ prefix: Type.Optional(Type.String({
14
+ description: 'Only return properties whose key starts with this prefix'
15
+ }))
16
+ });
17
+
18
+ export const SetMissionProperty = Type.Object({
19
+ key: Type.String(),
20
+ value: Type.String(),
21
+ creatorUid: Type.String()
22
+ });
23
+
24
+ export const TAKItem_MissionProperty = TAKItem(MissionProperty);
25
+ export const TAKList_MissionProperty = TAKList(MissionProperty);
26
+
27
+ /**
28
+ * Key/Value properties stored on a Mission Sync
29
+ *
30
+ * Requires TAK Server 5.9 or later
31
+ */
32
+ export default class MissionPropertyCommands extends Commands {
33
+ schema = {}
34
+
35
+ async cli(): Promise<object | string> {
36
+ throw new Error('Unsupported Subcommand');
37
+ }
38
+
39
+ #headers(opts?: Static<typeof MissionOptions>): object {
40
+ if (opts && opts.token) {
41
+ return {
42
+ MissionAuthorization: `Bearer ${opts.token}`
43
+ }
44
+ } else {
45
+ return {};
46
+ }
47
+ }
48
+
49
+ /**
50
+ * Property endpoints are only exposed by GUID, resolve a Mission name if needed
51
+ */
52
+ async #guid(
53
+ mission: string,
54
+ opts?: Static<typeof MissionOptions>
55
+ ): Promise<string> {
56
+ if (GUIDMatch.test(mission)) return mission;
57
+
58
+ return (await this.api.Mission.get(mission, {}, opts)).guid;
59
+ }
60
+
61
+ /**
62
+ * List properties on a Mission Sync, optionally filtered by key prefix
63
+ */
64
+ async list(
65
+ mission: string,
66
+ query: Static<typeof MissionPropertyListInput> = {},
67
+ opts?: Static<typeof MissionOptions>
68
+ ): Promise<Static<typeof TAKList_MissionProperty>> {
69
+ const guid = await this.#guid(mission, opts);
70
+ const url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(guid)}/properties`, this.api.url);
71
+
72
+ if (query.prefix !== undefined) url.searchParams.append('prefix', query.prefix);
73
+
74
+ return await this.api.fetch(url, {
75
+ method: 'GET',
76
+ headers: this.#headers(opts)
77
+ });
78
+ }
79
+
80
+ /**
81
+ * Get a single property on a Mission Sync
82
+ */
83
+ async get(
84
+ mission: string,
85
+ key: string,
86
+ opts?: Static<typeof MissionOptions>
87
+ ): Promise<Static<typeof TAKItem_MissionProperty>> {
88
+ const guid = await this.#guid(mission, opts);
89
+ const url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(guid)}/properties/${encodeURIComponent(key)}`, this.api.url);
90
+
91
+ return await this.api.fetch(url, {
92
+ method: 'GET',
93
+ headers: this.#headers(opts)
94
+ });
95
+ }
96
+
97
+ /**
98
+ * Create or update (upsert) a property on a Mission Sync
99
+ */
100
+ async set(
101
+ mission: string,
102
+ body: Static<typeof SetMissionProperty>,
103
+ opts?: Static<typeof MissionOptions>
104
+ ): Promise<Static<typeof TAKItem_MissionProperty>> {
105
+ const guid = await this.#guid(mission, opts);
106
+ const url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(guid)}/properties`, this.api.url);
107
+ url.searchParams.append('creatorUid', body.creatorUid);
108
+
109
+ return await this.api.fetch(url, {
110
+ method: 'PUT',
111
+ headers: this.#headers(opts),
112
+ body: {
113
+ key: body.key,
114
+ value: body.value
115
+ }
116
+ });
117
+ }
118
+
119
+ /**
120
+ * Delete a single property on a Mission Sync
121
+ */
122
+ async delete(
123
+ mission: string,
124
+ key: string,
125
+ creatorUid: string,
126
+ opts?: Static<typeof MissionOptions>
127
+ ): Promise<void> {
128
+ const guid = await this.#guid(mission, opts);
129
+ const url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(guid)}/properties/${encodeURIComponent(key)}`, this.api.url);
130
+ url.searchParams.append('creatorUid', creatorUid);
131
+
132
+ await this.api.fetch(url, {
133
+ method: 'DELETE',
134
+ headers: this.#headers(opts)
135
+ });
136
+ }
137
+
138
+ /**
139
+ * Delete all properties on a Mission Sync
140
+ */
141
+ async deleteAll(
142
+ mission: string,
143
+ creatorUid: string,
144
+ opts?: Static<typeof MissionOptions>
145
+ ): Promise<void> {
146
+ const guid = await this.#guid(mission, opts);
147
+ const url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(guid)}/properties`, this.api.url);
148
+ url.searchParams.append('creatorUid', creatorUid);
149
+
150
+ await this.api.fetch(url, {
151
+ method: 'DELETE',
152
+ headers: this.#headers(opts)
153
+ });
154
+ }
155
+ }