@tak-ps/node-tak
Version:
Lightweight JavaScript library for communicating with TAK Server
78 lines (77 loc) • 3.29 kB
TypeScript
import type { ParsedArgs } from 'minimist';
import { Readable } from 'node:stream';
import Commands, { CommandOutputFormat } from '../commands.js';
import { Static } from '@sinclair/typebox';
export declare const Content: import("@sinclair/typebox").TObject<{
UID: import("@sinclair/typebox").TString;
SubmissionDateTime: import("@sinclair/typebox").TString;
Keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
MIMEType: import("@sinclair/typebox").TString;
SubmissionUser: import("@sinclair/typebox").TString;
PrimaryKey: import("@sinclair/typebox").TString;
Hash: import("@sinclair/typebox").TString;
CreatorUid: import("@sinclair/typebox").TString;
Name: import("@sinclair/typebox").TString;
}>;
export declare const TAKList_Content: import("@sinclair/typebox").TObject<{
version: import("@sinclair/typebox").TString;
type: import("@sinclair/typebox").TString;
data: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
filename: import("@sinclair/typebox").TString;
keywords: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
mimeType: import("@sinclair/typebox").TString;
name: import("@sinclair/typebox").TString;
submissionTime: import("@sinclair/typebox").TString;
submitter: import("@sinclair/typebox").TString;
uid: import("@sinclair/typebox").TString;
size: import("@sinclair/typebox").TInteger;
}>>;
messages: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
nodeId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
}>;
export declare const Config: import("@sinclair/typebox").TObject<{
uploadSizeLimit: import("@sinclair/typebox").TInteger;
}>;
export default class FileCommands extends Commands {
schema: {
list: {
description: string;
params: import("@sinclair/typebox").TObject<{}>;
query: import("@sinclair/typebox").TObject<{}>;
formats: CommandOutputFormat[];
};
};
cli(args: ParsedArgs): Promise<object | string>;
list(): Promise<Static<typeof TAKList_Content>>;
meta(hash: string): Promise<string>;
download(hash: string): Promise<Readable>;
adminDelete(hash: string): Promise<any>;
delete(hash: string): Promise<any>;
/**
* Update a Package that should appear in the Public Data Packages List
*/
uploadPackage(opts: {
name: string;
creatorUid: string;
hash: string;
keywords?: string[];
mimetype?: string;
groups?: string[];
}, body: Readable | Buffer): Promise<string>;
/**
* Update a Package that will not appear in the Public Data Packages List
* used primarily for sharing files between TAK clients
*/
upload(opts: {
name: string;
contentLength: number;
contentType?: string;
keywords: string[];
creatorUid: string;
latitude?: string;
longitude?: string;
altitude?: string;
}, body: Readable | Buffer): Promise<Static<typeof Content>>;
count(): Promise<any>;
config(): Promise<Static<typeof Config>>;
}