@tak-ps/node-tak
Version:
Lightweight JavaScript library for communicating with TAK Server
132 lines (131 loc) • 6.82 kB
TypeScript
import { Static } from '@sinclair/typebox';
import { MissionOptions } from './mission.js';
import Commands, { CommandOutputFormat, type ParsedArgs } from '../commands.js';
export declare enum MissionSubscriberRole {
MISSION_OWNER = "MISSION_OWNER",
MISSION_SUBSCRIBER = "MISSION_SUBSCRIBER",
MISSION_READONLY_SUBSCRIBER = "MISSION_READONLY_SUBSCRIBER"
}
export declare enum MissionInviteType {
CLIENT_UID = "clientUid",
CALLSIGN = "callsign",
USERNAME = "userName",
GROUP = "group",
TEAM = "team"
}
export declare const MissionRole: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
}>;
export declare const MissionInvite: import("@sinclair/typebox").TObject<{
missionName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
invitee: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
createTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
}>>;
missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const MissionInviteList: import("@sinclair/typebox").TObject<{
version: import("@sinclair/typebox").TString;
type: import("@sinclair/typebox").TString;
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
missionName: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
invitee: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
creatorUid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
createTime: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
token: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
permissions: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
}>>;
missionGuid: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>>;
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
/**
* @class
*/
export default class MissionInviteCommands extends Commands {
#private;
schema: {
list: {
description: string;
params: import("@sinclair/typebox").TObject<{}>;
query: import("@sinclair/typebox").TObject<{}>;
formats: CommandOutputFormat[];
};
get: {
description: string;
params: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
}>;
query: import("@sinclair/typebox").TObject<{}>;
formats: CommandOutputFormat[];
};
invite: {
description: string;
params: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
type: import("@sinclair/typebox").TEnum<typeof MissionInviteType>;
invitee: import("@sinclair/typebox").TString;
}>;
query: import("@sinclair/typebox").TObject<{
creatorUid: import("@sinclair/typebox").TString;
role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TEnum<typeof MissionSubscriberRole>>;
}>;
formats: CommandOutputFormat[];
};
uninvite: {
description: string;
params: import("@sinclair/typebox").TObject<{
name: import("@sinclair/typebox").TString;
type: import("@sinclair/typebox").TEnum<typeof MissionInviteType>;
invitee: import("@sinclair/typebox").TString;
}>;
query: import("@sinclair/typebox").TObject<{
creatorUid: import("@sinclair/typebox").TString;
}>;
formats: CommandOutputFormat[];
};
};
cli(args: ParsedArgs): Promise<object | string>;
/**
* List all Invitations for missions
*
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getAllMissionInvitations TAK Server Docs}.
*/
list(clientUid: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionInviteList>>;
/**
* Get Mission Invitations
*
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/getMissionInvitations TAK Server Docs}.
*/
get(missionName: string, opts?: Static<typeof MissionOptions>): Promise<Static<typeof MissionInviteList>>;
/**
* Invite a user/group to a mission
*
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/inviteToMission TAK Server Docs}.
*/
invite(missionName: string, type: MissionInviteType, invitee: string, query: {
creatorUid: string;
role?: MissionSubscriberRole;
}, opts?: Static<typeof MissionOptions>): Promise<void>;
/**
* Uninvite a user/group from a mission
*
* {@link https://docs.tak.gov/api/takserver/redoc#tag/mission-api/operation/uninviteFromMission TAK Server Docs}.
*/
uninvite(missionName: string, type: MissionInviteType, invitee: string, query: {
creatorUid: string;
}, opts?: Static<typeof MissionOptions>): Promise<void>;
}