@tak-ps/node-tak 8.10.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +36 -1
  3. package/cli.ts +176 -0
  4. package/dist/cli.js +136 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.js +16 -5
  7. package/dist/index.js.map +1 -1
  8. package/dist/lib/api/contacts.js +24 -4
  9. package/dist/lib/api/contacts.js.map +1 -1
  10. package/dist/lib/api/credentials.js +16 -4
  11. package/dist/lib/api/credentials.js.map +1 -1
  12. package/dist/lib/api/export.js +5 -4
  13. package/dist/lib/api/export.js.map +1 -1
  14. package/dist/lib/api/files.js +40 -8
  15. package/dist/lib/api/files.js.map +1 -1
  16. package/dist/lib/api/groups.js +24 -4
  17. package/dist/lib/api/groups.js.map +1 -1
  18. package/dist/lib/api/injectors.js +24 -4
  19. package/dist/lib/api/injectors.js.map +1 -1
  20. package/dist/lib/api/mission-layer.js +11 -4
  21. package/dist/lib/api/mission-layer.js.map +1 -1
  22. package/dist/lib/api/mission-log.js +5 -4
  23. package/dist/lib/api/mission-log.js.map +1 -1
  24. package/dist/lib/api/mission.js +24 -4
  25. package/dist/lib/api/mission.js.map +1 -1
  26. package/dist/lib/api/oauth.js +5 -4
  27. package/dist/lib/api/oauth.js.map +1 -1
  28. package/dist/lib/api/package.js +24 -4
  29. package/dist/lib/api/package.js.map +1 -1
  30. package/dist/lib/api/query.js +5 -4
  31. package/dist/lib/api/query.js.map +1 -1
  32. package/dist/lib/api/repeater.js +5 -4
  33. package/dist/lib/api/repeater.js.map +1 -1
  34. package/dist/lib/api/subscriptions.js +5 -4
  35. package/dist/lib/api/subscriptions.js.map +1 -1
  36. package/dist/lib/api/video.js +16 -4
  37. package/dist/lib/api/video.js.map +1 -1
  38. package/dist/lib/api.js +17 -0
  39. package/dist/lib/api.js.map +1 -1
  40. package/dist/lib/auth.js +11 -0
  41. package/dist/lib/auth.js.map +1 -1
  42. package/dist/lib/commands.js +27 -0
  43. package/dist/lib/commands.js.map +1 -0
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/index.ts +29 -19
  46. package/lib/api/contacts.ts +23 -5
  47. package/lib/api/credentials.ts +17 -6
  48. package/lib/api/export.ts +5 -5
  49. package/lib/api/files.ts +43 -10
  50. package/lib/api/groups.ts +24 -5
  51. package/lib/api/injectors.ts +24 -5
  52. package/lib/api/mission-layer.ts +11 -5
  53. package/lib/api/mission-log.ts +5 -5
  54. package/lib/api/mission.ts +24 -5
  55. package/lib/api/oauth.ts +5 -5
  56. package/lib/api/package.ts +24 -5
  57. package/lib/api/query.ts +5 -5
  58. package/lib/api/repeater.ts +5 -5
  59. package/lib/api/subscriptions.ts +5 -5
  60. package/lib/api/video.ts +16 -5
  61. package/lib/api.ts +18 -0
  62. package/lib/auth.ts +12 -0
  63. package/lib/commands.ts +41 -0
  64. package/package.json +8 -1
  65. package/tsconfig.json +1 -0
@@ -1,6 +1,7 @@
1
1
  import Err from '@openaddresses/batch-error';
2
2
  import { Type } from '@sinclair/typebox';
3
3
  import { randomUUID } from 'node:crypto';
4
+ import Commands from '../commands.js';
4
5
  export const FeedInput = Type.Object({
5
6
  uuid: Type.Optional(Type.String()),
6
7
  active: Type.Boolean({ default: true }),
@@ -53,10 +54,21 @@ export const VideoConnectionList = Type.Object({
53
54
  export const VideoConnectionListInput = Type.Object({
54
55
  protocol: Type.Optional(Type.String())
55
56
  });
56
- export default class {
57
- api;
58
- constructor(api) {
59
- this.api = api;
57
+ export default class VideoCommands extends Commands {
58
+ schema = {
59
+ list: {
60
+ description: 'List V2 Video Configs',
61
+ params: Type.Object({}),
62
+ query: Type.Object({})
63
+ }
64
+ };
65
+ async cli(args) {
66
+ if (args._[3] === 'list') {
67
+ return await this.list();
68
+ }
69
+ else {
70
+ throw new Error('Unsupported Subcommand');
71
+ }
60
72
  }
61
73
  async list(query = {}) {
62
74
  const url = new URL(`/Marti/api/video`, this.api.url);
@@ -1 +1 @@
1
- {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../lib/api/video.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"video.js","sourceRoot":"","sources":["../../../lib/api/video.ts"],"names":[],"mappings":"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"}
package/dist/lib/api.js CHANGED
@@ -15,6 +15,23 @@ import Subscription from './api/subscriptions.js';
15
15
  import Video from './api/video.js';
16
16
  import Export from './api/export.js';
17
17
  import Err from '@openaddresses/batch-error';
18
+ export const CommandList = {
19
+ package: 'Package',
20
+ oauth: 'OAuth',
21
+ mission: 'Mission',
22
+ 'mission-log': 'MissionLog',
23
+ 'mission-layer': 'MissionLayer',
24
+ credential: 'Credentials',
25
+ contact: 'Contacts',
26
+ subscription: 'Subscription',
27
+ injector: 'Injectors',
28
+ repeater: 'Repeater',
29
+ group: 'Group',
30
+ video: 'Video',
31
+ export: 'Export',
32
+ query: 'Query',
33
+ file: 'Files'
34
+ };
18
35
  /**
19
36
  * Handle TAK HTTP API Operations
20
37
  * @class
@@ -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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"}
package/dist/lib/auth.js CHANGED
@@ -1,8 +1,19 @@
1
1
  import fetch from './fetch.js';
2
+ import { Type } from '@sinclair/typebox';
2
3
  import { CookieJar, Cookie } from 'tough-cookie';
3
4
  import { CookieAgent } from 'http-cookie-agent/undici';
4
5
  import { Client } from 'undici';
5
6
  import stream2buffer from './stream.js';
7
+ /**
8
+ * Store the TAK Client Certificate for a connection
9
+ */
10
+ export const TAKAuth = Type.Object({
11
+ cert: Type.String(),
12
+ key: Type.String(),
13
+ passphrase: Type.Optional(Type.String()),
14
+ ca: Type.Optional(Type.String()),
15
+ rejectUnauthorized: Type.Optional(Type.Boolean())
16
+ });
6
17
  export class APIAuth {
7
18
  async init(api) {
8
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../lib/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { TAKAuth } from './auth.js';
2
+ import { Type } from '@sinclair/typebox';
3
+ export const CommandConfig = Type.Object({
4
+ version: Type.Integer(),
5
+ profiles: Type.Record(Type.String(), Type.Object({
6
+ host: Type.String(),
7
+ ports: Type.Object({
8
+ marti: Type.Integer(),
9
+ webtak: Type.Integer(),
10
+ stream: Type.Integer()
11
+ }),
12
+ auth: Type.Optional(TAKAuth)
13
+ }))
14
+ });
15
+ export default class Commands {
16
+ api;
17
+ schema = {};
18
+ constructor(api) {
19
+ this.api = api;
20
+ }
21
+ async cli(args) {
22
+ if (!args)
23
+ throw new Error('Args object must be provided');
24
+ throw new Error('Command not yet supported');
25
+ }
26
+ }
27
+ //# sourceMappingURL=commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../lib/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE;IACvB,QAAQ,EAAE,IAAI,CAAC,MAAM,CACjB,IAAI,CAAC,MAAM,EAAE,EACb,IAAI,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;QACnB,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;YACtB,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE;SACzB,CAAC;QACF,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;KAC/B,CAAC,CACL;CACJ,CAAC,CAAA;AAGF,MAAM,CAAC,OAAO,OAAO,QAAQ;IACzB,GAAG,CAAS;IAEZ,MAAM,GAID,EAAE,CAAC;IAER,YAAY,GAAW;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAAgB;QACtB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IACjD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"root":["../index.ts","../test/default.test.ts","../test/findCoT.test.ts","../lib/api.ts","../lib/auth.ts","../lib/fetch.ts","../lib/stream.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/injectors.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/query.ts","../lib/api/repeater.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/video.ts"],"version":"5.8.3"}
1
+ {"root":["../cli.ts","../index.ts","../test/default.test.ts","../test/findCoT.test.ts","../lib/api.ts","../lib/auth.ts","../lib/commands.ts","../lib/fetch.ts","../lib/stream.ts","../lib/api/contacts.ts","../lib/api/credentials.ts","../lib/api/export.ts","../lib/api/files.ts","../lib/api/groups.ts","../lib/api/injectors.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/query.ts","../lib/api/repeater.ts","../lib/api/subscriptions.ts","../lib/api/types.ts","../lib/api/video.ts"],"version":"5.8.3"}
package/index.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import EventEmitter from 'node:events';
2
+ import type { Static } from '@sinclair/typebox';
2
3
  import tls from 'node:tls';
3
4
  import CoT from '@tak-ps/node-cot';
4
5
  import type { TLSSocket } from 'node:tls'
5
6
 
6
7
  import TAKAPI from './lib/api.js';
8
+ import { TAKAuth } from './lib/auth.js';
7
9
  export * from './lib/auth.js';
8
10
 
9
11
  /* eslint-disable no-control-regex */
@@ -12,27 +14,21 @@ export const REGEX_CONTROL = /[\u000B-\u001F\u007F-\u009F]/g;
12
14
  // Match <event .../> or <event> but not <events>
13
15
  export const REGEX_EVENT = /(<event[ >][\s\S]*?<\/event>)([\s\S]*)/
14
16
 
15
- /**
16
- * Store the TAK Client Certificate for a connection
17
- */
18
- export interface TAKAuth {
19
- cert: string;
20
- key: string;
21
- passphrase?: string;
22
- ca?: string;
23
- rejectUnauthorized?: boolean;
24
- }
25
-
26
17
  export interface PartialCoT {
27
18
  event: string;
28
19
  remainder: string;
29
20
  }
30
21
 
22
+ export type TAKOptions = {
23
+ id?: number | string,
24
+ type?: string,
25
+ }
26
+
31
27
  export default class TAK extends EventEmitter {
32
28
  id: number | string;
33
29
  type: string;
34
30
  url: URL;
35
- auth: TAKAuth;
31
+ auth: Static<typeof TAKAuth>;
36
32
  open: boolean;
37
33
  destroyed: boolean;
38
34
  queue: string[];
@@ -42,17 +38,27 @@ export default class TAK extends EventEmitter {
42
38
  client?: TLSSocket;
43
39
  version?: string;
44
40
 
41
+ /**
42
+ * @constructor
43
+ *
44
+ * @param url - Full URL of Streaming COT Endpoint IE: "https://ops.cotak.gov:8089"
45
+ * @param auth - TAK Certificate Pair
46
+ * @param opts - Options Object
47
+ * @param opts.id - When using multiple connections in a script, allows a unique ID per connection
48
+ * @param opts.type - When using multiple connections in a script, allows specifying a script provided connection type
49
+ */
45
50
  constructor(
46
- id: number | string,
47
- type: string,
48
51
  url: URL,
49
- auth: TAKAuth
52
+ auth: Static<typeof TAKAuth>,
53
+ opts: TAKOptions = {}
50
54
  ) {
51
55
  super();
52
56
 
53
- this.id = id;
57
+ if (!opts) opts = {};
58
+
59
+ this.id = opts.id || crypto.randomUUID();
60
+ this.type = opts.type || 'unknown';
54
61
 
55
- this.type = type;
56
62
  this.url = url;
57
63
  this.auth = auth;
58
64
 
@@ -64,8 +70,12 @@ export default class TAK extends EventEmitter {
64
70
  this.queue = [];
65
71
  }
66
72
 
67
- static async connect(id: number | string, url: URL, auth: TAKAuth): Promise<TAK> {
68
- const tak = new TAK(id, 'ssl', url, auth);
73
+ static async connect(
74
+ url: URL,
75
+ auth: Static<typeof TAKAuth>,
76
+ opts: TAKOptions = {}
77
+ ): Promise<TAK> {
78
+ const tak = new TAK(url, auth, opts);
69
79
 
70
80
  if (url.protocol === 'ssl:') {
71
81
  if (!tak.auth.cert) throw new Error('auth.cert required');
@@ -1,5 +1,6 @@
1
- import TAKAPI from '../api.js';
2
1
  import { Type, Static } from '@sinclair/typebox';
2
+ import type { ParsedArgs } from 'minimist'
3
+ import Commands from '../commands.js';
3
4
 
4
5
  export const Contact = Type.Object({
5
6
  filterGroups: Type.Any(), // I'm not familiar with this one
@@ -11,11 +12,28 @@ export const Contact = Type.Object({
11
12
  uid: Type.String()
12
13
  });
13
14
 
14
- export default class {
15
- api: TAKAPI;
15
+ export default class ContactCommands extends Commands {
16
+ schema = {
17
+ list: {
18
+ description: 'List Contacts',
19
+ params: Type.Object({}),
20
+ query: Type.Object({})
21
+ }
22
+ }
16
23
 
17
- constructor(api: TAKAPI) {
18
- this.api = api;
24
+ async cli(args: ParsedArgs): Promise<object | string> {
25
+ if (args._[3] === 'list') {
26
+ const list = await this.list();
27
+ if (args.format === 'json') {
28
+ return list;
29
+ } else {
30
+ return list.map((contact) => {
31
+ return `${contact.callsign || '<No Callsign Set>'} (${contact.notes.trim()})`;
32
+ }).join('\n');
33
+ }
34
+ } else {
35
+ throw new Error('Unsupported Subcommand');
36
+ }
19
37
  }
20
38
 
21
39
  async list(): Promise<Array<Static<typeof Contact>>> {
@@ -1,6 +1,7 @@
1
- import TAKAPI from '../api.js';
2
1
  import { APIAuthPassword } from '../auth.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Static, Type } from '@sinclair/typebox';
4
+ import Commands from '../commands.js';
4
5
  import pem from 'pem';
5
6
  import xml2js from 'xml2js';
6
7
 
@@ -9,14 +10,24 @@ export const CertificateResponse = Type.Object({
9
10
  key: Type.String()
10
11
  });
11
12
 
12
- export default class {
13
- api: TAKAPI;
13
+ export default class CredentialCommands extends Commands {
14
+ schema = {
15
+ config: {
16
+ description: 'Return TLS Config Info',
17
+ params: Type.Object({}),
18
+ query: Type.Object({})
19
+ }
20
+ }
14
21
 
15
- constructor(api: TAKAPI) {
16
- this.api = api;
22
+ async cli(args: ParsedArgs): Promise<object | string> {
23
+ if (args._[3] === 'config') {
24
+ return this.config();
25
+ } else {
26
+ throw new Error('Unsupported Subcommand');
27
+ }
17
28
  }
18
29
 
19
- async config() {
30
+ async config(): Promise<string> {
20
31
  const url = new URL(`/Marti/api/tls/config`, this.api.url);
21
32
  return await this.api.fetch(url, {
22
33
  method: 'GET'
package/lib/api/export.ts CHANGED
@@ -1,6 +1,6 @@
1
- import TAKAPI from '../api.js';
2
1
  import { Type, Static } from '@sinclair/typebox';
3
2
  import { Readable } from 'node:stream';
3
+ import Commands from '../commands.js';
4
4
 
5
5
  export const ExportInput = Type.Object({
6
6
  startTime: Type.String(),
@@ -16,11 +16,11 @@ export const ExportInput = Type.Object({
16
16
  /**
17
17
  * @class
18
18
  */
19
- export default class {
20
- api: TAKAPI;
19
+ export default class ExportCommands extends Commands {
20
+ schema = {};
21
21
 
22
- constructor(api: TAKAPI) {
23
- this.api = api;
22
+ async cli(): Promise<object | string> {
23
+ throw new Error('Unsupported Subcommand');
24
24
  }
25
25
 
26
26
  async export(query: Static<typeof ExportInput>): Promise<Readable> {
package/lib/api/files.ts CHANGED
@@ -1,7 +1,9 @@
1
- import TAKAPI from '../api.js';
2
1
  import FormData from 'form-data';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Readable } from 'node:stream';
4
4
  import mime from 'mime';
5
+ import Commands from '../commands.js';
6
+ import { TAKList } from './types.js';
5
7
  import { Type, Static } from '@sinclair/typebox';
6
8
 
7
9
  export const Content = Type.Object({
@@ -16,22 +18,53 @@ export const Content = Type.Object({
16
18
  Name: Type.String()
17
19
  });
18
20
 
21
+ export const TAKList_Content = TAKList(Type.Object({
22
+ filename: Type.String(),
23
+ keywords: Type.Array(Type.String()),
24
+ mimeType: Type.String(),
25
+ name: Type.String(),
26
+ submissionTime: Type.String(),
27
+ submitter: Type.String(),
28
+ uid: Type.String(),
29
+ size: Type.Integer(),
30
+ }));
31
+
19
32
  export const Config = Type.Object({
20
33
  uploadSizeLimit: Type.Integer()
21
34
  })
22
35
 
23
- export default class File {
24
- api: TAKAPI;
36
+ export default class FileCommands extends Commands {
37
+ schema = {
38
+ list: {
39
+ description: 'List Files',
40
+ params: Type.Object({}),
41
+ query: Type.Object({})
42
+ }
43
+ }
25
44
 
26
- constructor(api: TAKAPI) {
27
- this.api = api;
45
+ async cli(args: ParsedArgs): Promise<object | string> {
46
+ if (args._[3] === 'list') {
47
+ const list = await this.list();
48
+
49
+ if (args.format === 'json') {
50
+ return list;
51
+ } else {
52
+ return list.data.map((data) => {
53
+ return data.filename;
54
+ }).join('\n');
55
+ }
56
+ } else {
57
+ throw new Error('Unsupported Subcommand');
58
+ }
28
59
  }
29
60
 
30
- // TODO Investigate this endpoint
31
- list() {
32
- new URL(`/Marti/api/sync/search`, this.api.url);
33
- // param hash=<hash>
34
- }
61
+ async list(): Promise<Static<typeof TAKList_Content>> {
62
+ const url = new URL(`/Marti/api/sync/search`, this.api.url);
63
+
64
+ return await this.api.fetch(url, {
65
+ method: 'GET'
66
+ });
67
+ }
35
68
 
36
69
  async meta(hash: string): Promise<string> {
37
70
  const url = new URL(`/Marti/sync/${encodeURIComponent(hash)}/metadata`, this.api.url);
package/lib/api/groups.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Static, Type } from '@sinclair/typebox';
2
- import TAKAPI from '../api.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { TAKList } from './types.js';
4
+ import Commands from '../commands.js';
4
5
 
5
6
  export const Group = Type.Object({
6
7
  name: Type.String(),
@@ -18,11 +19,29 @@ export const GroupListInput = Type.Object({
18
19
 
19
20
  export const TAKList_Group = TAKList(Group);
20
21
 
21
- export default class {
22
- api: TAKAPI;
22
+ export default class GroupCommands extends Commands {
23
+ schema = {
24
+ list: {
25
+ description: 'List Missions',
26
+ params: Type.Object({}),
27
+ query: Type.Object({})
28
+ }
29
+ }
30
+
31
+ async cli(args: ParsedArgs): Promise<object | string> {
32
+ if (args._[3] === 'list') {
33
+ const list = await this.list();
23
34
 
24
- constructor(api: TAKAPI) {
25
- this.api = api;
35
+ if (args.format === 'json') {
36
+ return list;
37
+ } else {
38
+ return list.data.map((channel) => {
39
+ return `${channel.name} - ${channel.description}`;
40
+ }).join('\n');
41
+ }
42
+ } else {
43
+ throw new Error('Unsupported Subcommand');
44
+ }
26
45
  }
27
46
 
28
47
  async list(
@@ -1,6 +1,7 @@
1
- import TAKAPI from '../api.js';
2
1
  import { TAKList } from './types.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import { Type, Static } from '@sinclair/typebox';
4
+ import Commands from '../commands.js';
4
5
 
5
6
  export const Injector = Type.Object({
6
7
  uid: Type.String(),
@@ -9,11 +10,29 @@ export const Injector = Type.Object({
9
10
 
10
11
  export const TAKList_Injector = TAKList(Injector);
11
12
 
12
- export default class {
13
- api: TAKAPI;
13
+ export default class InjectorCommands extends Commands {
14
+ schema = {
15
+ list: {
16
+ description: 'List Injectors',
17
+ params: Type.Object({}),
18
+ query: Type.Object({})
19
+ }
20
+ }
21
+
22
+ async cli(args: ParsedArgs): Promise<object | string> {
23
+ if (args._[3] === 'list') {
24
+ const list = await this.list();
14
25
 
15
- constructor(api: TAKAPI) {
16
- this.api = api;
26
+ if (args.format === 'json') {
27
+ return list;
28
+ } else {
29
+ return list.data.map((injector) => {
30
+ return `${injector.uid} - ${injector.toInject}`;
31
+ }).join('\n');
32
+ }
33
+ } else {
34
+ throw new Error('Unsupported Subcommand');
35
+ }
17
36
  }
18
37
 
19
38
  /**
@@ -1,9 +1,9 @@
1
- import TAKAPI from '../api.js';
2
1
  import { TAKList, TAKItem } from './types.js';
3
2
  import { Type, Static } from '@sinclair/typebox';
4
3
  import type { MissionOptions } from './mission.js';
5
4
  import { GUIDMatch } from './mission.js';
6
5
  import Err from '@openaddresses/batch-error';
6
+ import Commands from '../commands.js';
7
7
  import type { Feature } from '@tak-ps/node-cot';
8
8
 
9
9
  export enum MissionLayerType {
@@ -63,11 +63,17 @@ export const CreateInput = Type.Object({
63
63
  export const TAKList_MissionLayer = TAKList(MissionLayer);
64
64
  export const TAKItem_MissionLayer = TAKItem(MissionLayer);
65
65
 
66
- export default class {
67
- api: TAKAPI;
66
+ export default class MissionLayerCommands extends Commands {
67
+ schema = {
68
+ list: {
69
+ description: 'List Injectors',
70
+ params: Type.Object({}),
71
+ query: Type.Object({})
72
+ }
73
+ }
68
74
 
69
- constructor(api: TAKAPI) {
70
- this.api = api;
75
+ async cli(): Promise<object | string> {
76
+ throw new Error('Unsupported Subcommand');
71
77
  }
72
78
 
73
79
  #encodeName(name: string): string {
@@ -1,7 +1,7 @@
1
- import TAKAPI from '../api.js';
2
1
  import { Type, Static } from '@sinclair/typebox';
3
2
  import { TAKItem } from './types.js';
4
3
  import type { MissionOptions } from './mission.js';
4
+ import Commands from '../commands.js';
5
5
  import { GUIDMatch } from './mission.js';
6
6
 
7
7
  export const MissionLog = Type.Object({
@@ -29,11 +29,11 @@ export const UpdateMissionLog = Type.Composite([ CreateMissionLog, Type.Object({
29
29
 
30
30
  export const TAKItem_MissionLog = TAKItem(MissionLog);
31
31
 
32
- export default class {
33
- api: TAKAPI;
32
+ export default class MissionLogCommands extends Commands {
33
+ schema = {}
34
34
 
35
- constructor(api: TAKAPI) {
36
- this.api = api;
35
+ async cli(): Promise<object | string> {
36
+ throw new Error('Unsupported Subcommand');
37
37
  }
38
38
 
39
39
  #headers(opts?: Static<typeof MissionOptions>): object {
@@ -1,5 +1,5 @@
1
1
  import xmljs from 'xml-js';
2
- import TAKAPI from '../api.js';
2
+ import type { ParsedArgs } from 'minimist'
3
3
  import CoT from '@tak-ps/node-cot';
4
4
  import { Type, Static } from '@sinclair/typebox';
5
5
  import Err from '@openaddresses/batch-error';
@@ -7,6 +7,7 @@ import { Readable } from 'node:stream'
7
7
  import { TAKItem, TAKList } from './types.js';
8
8
  import { MissionLog } from './mission-log.js';
9
9
  import type { Feature } from '@tak-ps/node-cot';
10
+ import Commands from '../commands.js';
10
11
 
11
12
  export enum MissionSubscriberRole {
12
13
  MISSION_OWNER = 'MISSION_OWNER',
@@ -192,11 +193,29 @@ export const TAKItem_MissionSubscriber = TAKItem(MissionSubscriber);
192
193
  /**
193
194
  * @class
194
195
  */
195
- export default class {
196
- api: TAKAPI;
196
+ export default class MissionCommands extends Commands {
197
+ schema = {
198
+ list: {
199
+ description: 'List Missions',
200
+ params: Type.Object({}),
201
+ query: Type.Object({})
202
+ }
203
+ }
204
+
205
+ async cli(args: ParsedArgs): Promise<object | string> {
206
+ if (args._[3] === 'list') {
207
+ const list = await this.list({});
197
208
 
198
- constructor(api: TAKAPI) {
199
- this.api = api;
209
+ if (args.format === 'json') {
210
+ return list;
211
+ } else {
212
+ return list.data.map((mission) => {
213
+ return `${mission.name} - ${mission.description}`;
214
+ }).join('\n');
215
+ }
216
+ } else {
217
+ throw new Error('Unsupported Subcommand');
218
+ }
200
219
  }
201
220
 
202
221
  #isGUID(id: string): boolean {