@tak-ps/node-tak 11.21.0 → 11.22.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
CHANGED
|
@@ -14,11 +14,37 @@ export declare enum MissionInviteType {
|
|
|
14
14
|
GROUP = "group",
|
|
15
15
|
TEAM = "team"
|
|
16
16
|
}
|
|
17
|
-
export declare const MissionInvite: import("@sinclair/typebox").
|
|
17
|
+
export declare const MissionInvite: import("@sinclair/typebox").TAny;
|
|
18
|
+
export declare const MissionInviteList: import("@sinclair/typebox").TObject<{
|
|
19
|
+
version: import("@sinclair/typebox").TString;
|
|
20
|
+
type: import("@sinclair/typebox").TString;
|
|
21
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
|
|
22
|
+
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
23
|
+
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const MissionInviteWrapper: import("@sinclair/typebox").TObject<{
|
|
26
|
+
name: import("@sinclair/typebox").TString;
|
|
27
|
+
invites: import("@sinclair/typebox").TObject<{
|
|
28
|
+
version: import("@sinclair/typebox").TString;
|
|
29
|
+
type: import("@sinclair/typebox").TString;
|
|
30
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
|
|
31
|
+
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
32
|
+
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
33
|
+
}>;
|
|
34
|
+
}>;
|
|
18
35
|
export declare const TAKList_MissionInvites: import("@sinclair/typebox").TObject<{
|
|
19
36
|
version: import("@sinclair/typebox").TString;
|
|
20
37
|
type: import("@sinclair/typebox").TString;
|
|
21
|
-
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").
|
|
38
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
|
|
39
|
+
name: import("@sinclair/typebox").TString;
|
|
40
|
+
invites: import("@sinclair/typebox").TObject<{
|
|
41
|
+
version: import("@sinclair/typebox").TString;
|
|
42
|
+
type: import("@sinclair/typebox").TString;
|
|
43
|
+
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TAny>;
|
|
44
|
+
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
45
|
+
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
46
|
+
}>;
|
|
47
|
+
}>>;
|
|
22
48
|
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
23
49
|
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
24
50
|
}>;
|
|
@@ -34,6 +60,14 @@ export default class MissionInviteCommands extends Commands {
|
|
|
34
60
|
query: import("@sinclair/typebox").TObject<{}>;
|
|
35
61
|
formats: CommandOutputFormat[];
|
|
36
62
|
};
|
|
63
|
+
get: {
|
|
64
|
+
description: string;
|
|
65
|
+
params: import("@sinclair/typebox").TObject<{
|
|
66
|
+
name: import("@sinclair/typebox").TString;
|
|
67
|
+
}>;
|
|
68
|
+
query: import("@sinclair/typebox").TObject<{}>;
|
|
69
|
+
formats: CommandOutputFormat[];
|
|
70
|
+
};
|
|
37
71
|
invite: {
|
|
38
72
|
description: string;
|
|
39
73
|
params: import("@sinclair/typebox").TObject<{
|
|
@@ -67,6 +101,12 @@ export default class MissionInviteCommands extends Commands {
|
|
|
67
101
|
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getAllMissionInvitations TAK Server Docs}.
|
|
68
102
|
*/
|
|
69
103
|
list(clientUid?: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof TAKList_MissionInvites>>;
|
|
104
|
+
/**
|
|
105
|
+
* Get Mission Invitations
|
|
106
|
+
*
|
|
107
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionInvitations TAK Server Docs}.
|
|
108
|
+
*/
|
|
109
|
+
get(missionName: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionInviteList>>;
|
|
70
110
|
/**
|
|
71
111
|
* Invite a user/group to a mission
|
|
72
112
|
*
|
|
@@ -16,8 +16,13 @@ export var MissionInviteType;
|
|
|
16
16
|
MissionInviteType["GROUP"] = "group";
|
|
17
17
|
MissionInviteType["TEAM"] = "team";
|
|
18
18
|
})(MissionInviteType || (MissionInviteType = {}));
|
|
19
|
-
export const MissionInvite = Type.
|
|
20
|
-
export const
|
|
19
|
+
export const MissionInvite = Type.Any();
|
|
20
|
+
export const MissionInviteList = TAKList(MissionInvite);
|
|
21
|
+
export const MissionInviteWrapper = Type.Object({
|
|
22
|
+
name: Type.String(),
|
|
23
|
+
invites: MissionInviteList
|
|
24
|
+
});
|
|
25
|
+
export const TAKList_MissionInvites = TAKList(MissionInviteWrapper);
|
|
21
26
|
/**
|
|
22
27
|
* @class
|
|
23
28
|
*/
|
|
@@ -29,6 +34,14 @@ export default class MissionInviteCommands extends Commands {
|
|
|
29
34
|
query: Type.Object({}),
|
|
30
35
|
formats: [CommandOutputFormat.JSON]
|
|
31
36
|
},
|
|
37
|
+
get: {
|
|
38
|
+
description: 'Get Mission Invites for a Mission',
|
|
39
|
+
params: Type.Object({
|
|
40
|
+
name: Type.String()
|
|
41
|
+
}),
|
|
42
|
+
query: Type.Object({}),
|
|
43
|
+
formats: [CommandOutputFormat.JSON]
|
|
44
|
+
},
|
|
32
45
|
invite: {
|
|
33
46
|
description: 'Invite a user/group to a mission',
|
|
34
47
|
params: Type.Object({
|
|
@@ -65,7 +78,23 @@ export default class MissionInviteCommands extends Commands {
|
|
|
65
78
|
}
|
|
66
79
|
else {
|
|
67
80
|
return list.data.map((invite) => {
|
|
68
|
-
return `${invite}`;
|
|
81
|
+
return `${invite.name}: ${invite.invites.data.length} Invites`;
|
|
82
|
+
}).join('\n');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else if (args._[3] === 'get') {
|
|
86
|
+
const name = args._[4];
|
|
87
|
+
if (!name)
|
|
88
|
+
throw new Error('Usage: get <name>');
|
|
89
|
+
const list = await this.get(name, {
|
|
90
|
+
token: args.token
|
|
91
|
+
});
|
|
92
|
+
if (args.format === 'json') {
|
|
93
|
+
return list;
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
return list.data.map((invite) => {
|
|
97
|
+
return JSON.stringify(invite);
|
|
69
98
|
}).join('\n');
|
|
70
99
|
}
|
|
71
100
|
}
|
|
@@ -120,6 +149,38 @@ export default class MissionInviteCommands extends Commands {
|
|
|
120
149
|
if (clientUid) {
|
|
121
150
|
url.searchParams.append('clientUid', clientUid);
|
|
122
151
|
}
|
|
152
|
+
const missionNames = await this.api.fetch(url, {
|
|
153
|
+
method: 'GET',
|
|
154
|
+
headers: this.#headers(opts)
|
|
155
|
+
});
|
|
156
|
+
const promises = missionNames.data.map(async (name) => {
|
|
157
|
+
const invites = await this.get(name, opts);
|
|
158
|
+
return {
|
|
159
|
+
name,
|
|
160
|
+
invites
|
|
161
|
+
};
|
|
162
|
+
});
|
|
163
|
+
const results = await Promise.all(promises);
|
|
164
|
+
return {
|
|
165
|
+
version: missionNames.version,
|
|
166
|
+
type: missionNames.type,
|
|
167
|
+
data: results,
|
|
168
|
+
nodeId: missionNames.nodeId
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Get Mission Invitations
|
|
173
|
+
*
|
|
174
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionInvitations TAK Server Docs}.
|
|
175
|
+
*/
|
|
176
|
+
async get(missionName, opts) {
|
|
177
|
+
let url;
|
|
178
|
+
if (GUIDMatch.test(missionName)) {
|
|
179
|
+
url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(missionName)}/invitations`, this.api.url);
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
url = new URL(`/Marti/api/missions/${encodeURIComponent(missionName)}/invitations`, this.api.url);
|
|
183
|
+
}
|
|
123
184
|
return await this.api.fetch(url, {
|
|
124
185
|
method: 'GET',
|
|
125
186
|
headers: this.#headers(opts)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mission-invite.js","sourceRoot":"","sources":["../../../lib/api/mission-invite.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAU,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAkB,MAAM,cAAc,CAAC;AACzD,OAAO,QAAQ,EAAE,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE/D,MAAM,CAAN,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,wDAA+B,CAAA;IAC/B,kEAAyC,CAAA;IACzC,oFAA2D,CAAA;AAC/D,CAAC,EAJW,qBAAqB,KAArB,qBAAqB,QAIhC;AAED,MAAM,CAAN,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,6CAAwB,CAAA;IACxB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IACrB,oCAAe,CAAA;IACf,kCAAa,CAAA;AACjB,CAAC,EANW,iBAAiB,KAAjB,iBAAiB,QAM5B;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"mission-invite.js","sourceRoot":"","sources":["../../../lib/api/mission-invite.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,9 +18,15 @@ export enum MissionInviteType {
|
|
|
18
18
|
TEAM = 'team'
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
export const MissionInvite = Type.
|
|
21
|
+
export const MissionInvite = Type.Any();
|
|
22
|
+
export const MissionInviteList = TAKList(MissionInvite);
|
|
22
23
|
|
|
23
|
-
export const
|
|
24
|
+
export const MissionInviteWrapper = Type.Object({
|
|
25
|
+
name: Type.String(),
|
|
26
|
+
invites: MissionInviteList
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
export const TAKList_MissionInvites = TAKList(MissionInviteWrapper);
|
|
24
30
|
|
|
25
31
|
/**
|
|
26
32
|
* @class
|
|
@@ -33,6 +39,14 @@ export default class MissionInviteCommands extends Commands {
|
|
|
33
39
|
query: Type.Object({}),
|
|
34
40
|
formats: [ CommandOutputFormat.JSON ]
|
|
35
41
|
},
|
|
42
|
+
get: {
|
|
43
|
+
description: 'Get Mission Invites for a Mission',
|
|
44
|
+
params: Type.Object({
|
|
45
|
+
name: Type.String()
|
|
46
|
+
}),
|
|
47
|
+
query: Type.Object({}),
|
|
48
|
+
formats: [ CommandOutputFormat.JSON ]
|
|
49
|
+
},
|
|
36
50
|
invite: {
|
|
37
51
|
description: 'Invite a user/group to a mission',
|
|
38
52
|
params: Type.Object({
|
|
@@ -70,7 +84,23 @@ export default class MissionInviteCommands extends Commands {
|
|
|
70
84
|
return list;
|
|
71
85
|
} else {
|
|
72
86
|
return list.data.map((invite) => {
|
|
73
|
-
return `${invite}`;
|
|
87
|
+
return `${invite.name}: ${invite.invites.data.length} Invites`;
|
|
88
|
+
}).join('\n');
|
|
89
|
+
}
|
|
90
|
+
} else if (args._[3] === 'get') {
|
|
91
|
+
const name = args._[4];
|
|
92
|
+
|
|
93
|
+
if (!name) throw new Error('Usage: get <name>');
|
|
94
|
+
|
|
95
|
+
const list = await this.get(name, {
|
|
96
|
+
token: args.token
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
if (args.format === 'json') {
|
|
100
|
+
return list;
|
|
101
|
+
} else {
|
|
102
|
+
return list.data.map((invite) => {
|
|
103
|
+
return JSON.stringify(invite);
|
|
74
104
|
}).join('\n');
|
|
75
105
|
}
|
|
76
106
|
} else if (args._[3] === 'invite') {
|
|
@@ -130,6 +160,45 @@ export default class MissionInviteCommands extends Commands {
|
|
|
130
160
|
url.searchParams.append('clientUid', clientUid);
|
|
131
161
|
}
|
|
132
162
|
|
|
163
|
+
const missionNames = await this.api.fetch(url, {
|
|
164
|
+
method: 'GET',
|
|
165
|
+
headers: this.#headers(opts)
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
const promises = missionNames.data.map(async (name: string) => {
|
|
169
|
+
const invites = await this.get(name, opts);
|
|
170
|
+
return {
|
|
171
|
+
name,
|
|
172
|
+
invites
|
|
173
|
+
};
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
const results = await Promise.all(promises);
|
|
177
|
+
|
|
178
|
+
return {
|
|
179
|
+
version: missionNames.version,
|
|
180
|
+
type: missionNames.type,
|
|
181
|
+
data: results,
|
|
182
|
+
nodeId: missionNames.nodeId
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Get Mission Invitations
|
|
188
|
+
*
|
|
189
|
+
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionInvitations TAK Server Docs}.
|
|
190
|
+
*/
|
|
191
|
+
async get(
|
|
192
|
+
missionName: string,
|
|
193
|
+
opts?: Static<typeof MissionOptions>
|
|
194
|
+
): Promise<Static<typeof MissionInviteList>> {
|
|
195
|
+
let url;
|
|
196
|
+
if (GUIDMatch.test(missionName)) {
|
|
197
|
+
url = new URL(`/Marti/api/missions/guid/${encodeURIComponent(missionName)}/invitations`, this.api.url);
|
|
198
|
+
} else {
|
|
199
|
+
url = new URL(`/Marti/api/missions/${encodeURIComponent(missionName)}/invitations`, this.api.url);
|
|
200
|
+
}
|
|
201
|
+
|
|
133
202
|
return await this.api.fetch(url, {
|
|
134
203
|
method: 'GET',
|
|
135
204
|
headers: this.#headers(opts)
|
package/package.json
CHANGED