@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.
- package/CHANGELOG.md +9 -1
- package/dist/lib/api/mission-property.d.ts +65 -0
- package/dist/lib/api/mission-property.js +114 -0
- package/dist/lib/api/mission-property.js.map +1 -0
- package/dist/lib/api/user-management.d.ts +168 -0
- package/dist/lib/api/user-management.js +296 -0
- package/dist/lib/api/user-management.js.map +1 -0
- package/dist/lib/api.d.ts +5 -1
- package/dist/lib/api.js +10 -2
- package/dist/lib/api.js.map +1 -1
- package/dist/test/mission-property.test.d.ts +1 -0
- package/dist/test/mission-property.test.js +73 -0
- package/dist/test/mission-property.test.js.map +1 -0
- package/dist/test/user-management.test.d.ts +1 -0
- package/dist/test/user-management.test.js +158 -0
- package/dist/test/user-management.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/lib/api/mission-property.ts +155 -0
- package/lib/api/user-management.ts +326 -0
- package/lib/api.ts +11 -1
- package/package.json +1 -1
- package/test/mission-property.test.ts +95 -0
- package/test/user-management.test.ts +207 -0
|
@@ -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
|
package/dist/lib/api.js.map
CHANGED
|
@@ -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":"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"}
|
|
@@ -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
|
+
}
|