🚀. Socket Launch Week Day 3:Socket Firewall Now Blocks Malicious VS Code and Open VSX Extensions.Learn more
Sign In

misp

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

misp - npm Package Compare versions

Comparing version
0.0.2
to
0.0.3
+61
-8
dist/index.d.mts

@@ -5,11 +5,5 @@ import https from 'https';

type ThreatLevel = '1' | '2' | '3' | '4';
type SearchReturnFormat = 'json' | 'xml' | 'csv' | 'text' | 'stix' | 'stix2' | 'hashes' | 'cache' | 'count' | 'netfilter' | 'opendata' | 'openioc' | 'rpz' | 'snort' | 'suricata' | 'text' | 'yara' | 'yara-json';
declare class Resource {
protected readonly client: Client;
constructor(client: Client);
}
type ThreatLevel = '1' | '2' | '3' | '4';
type EventRestSearchParams = {

@@ -78,2 +72,22 @@ page?: number;

};
type WorkerType = 'default' | 'email' | 'scheduler' | 'cache' | 'prio' | 'update';
type PullTechnique = 'full' | 'incremental' | 'pull_relevant_clusters';
type PushTechnique = 'full' | 'incremental';
type ImportServerParams = {
name: string;
url: string;
uuid: string;
authkey: string;
Organization: {
name: string;
};
};
declare class Resource {
protected readonly client: Client;
constructor(client: Client);
}
declare class Events extends Resource {

@@ -167,2 +181,38 @@ list(): Promise<any>;

declare class Organisations extends Resource {
list(): Promise<any>;
get(id: string): Promise<any>;
add(data: any): Promise<any>;
edit(id: string, data: any): Promise<any>;
delete(id: string): Promise<any>;
}
declare class Servers extends Resource {
list(): Promise<any>;
add(data: any): Promise<any>;
edit(id: string, data: any): Promise<any>;
delete(id: string): Promise<any>;
pull(id: string, technique: PullTechnique): Promise<any>;
push(id: string, technique: PushTechnique): Promise<any>;
version(): Promise<any>;
pymispVersion(): Promise<any>;
settings(): Promise<any>;
update(): Promise<any>;
cache(): Promise<any>;
createSync(): Promise<any>;
uuid(): Promise<any>;
setting(name: string): Promise<any>;
editSetting(name: string, value: any): Promise<any>;
import(params: ImportServerParams): Promise<any>;
}
declare class Workers extends Resource {
list(): Promise<any>;
start(type: WorkerType): Promise<any>;
stop(pid: number): Promise<any>;
killAll(): Promise<any>;
restart(): Promise<any>;
restartDead(): Promise<any>;
}
declare class Client {

@@ -176,2 +226,5 @@ private readonly instanceUrl;

readonly users: Users;
readonly organisations: Organisations;
readonly servers: Servers;
readonly workers: Workers;
constructor(instanceUrl: string, apiKey: string, httpsAgent?: https.Agent);

@@ -185,2 +238,2 @@ get(path: string): Promise<any>;

export { type AttributeCategory, Client, type SearchReturnFormat, type ThreatLevel };
export { type AttributeCategory, Client, type EventIndexParams, type EventRestSearchParams, type ImportServerParams, type PullTechnique, type PushTechnique, type SearchReturnFormat, type ThreatLevel, type WorkerType };

@@ -5,11 +5,5 @@ import https from 'https';

type ThreatLevel = '1' | '2' | '3' | '4';
type SearchReturnFormat = 'json' | 'xml' | 'csv' | 'text' | 'stix' | 'stix2' | 'hashes' | 'cache' | 'count' | 'netfilter' | 'opendata' | 'openioc' | 'rpz' | 'snort' | 'suricata' | 'text' | 'yara' | 'yara-json';
declare class Resource {
protected readonly client: Client;
constructor(client: Client);
}
type ThreatLevel = '1' | '2' | '3' | '4';
type EventRestSearchParams = {

@@ -78,2 +72,22 @@ page?: number;

};
type WorkerType = 'default' | 'email' | 'scheduler' | 'cache' | 'prio' | 'update';
type PullTechnique = 'full' | 'incremental' | 'pull_relevant_clusters';
type PushTechnique = 'full' | 'incremental';
type ImportServerParams = {
name: string;
url: string;
uuid: string;
authkey: string;
Organization: {
name: string;
};
};
declare class Resource {
protected readonly client: Client;
constructor(client: Client);
}
declare class Events extends Resource {

@@ -167,2 +181,38 @@ list(): Promise<any>;

declare class Organisations extends Resource {
list(): Promise<any>;
get(id: string): Promise<any>;
add(data: any): Promise<any>;
edit(id: string, data: any): Promise<any>;
delete(id: string): Promise<any>;
}
declare class Servers extends Resource {
list(): Promise<any>;
add(data: any): Promise<any>;
edit(id: string, data: any): Promise<any>;
delete(id: string): Promise<any>;
pull(id: string, technique: PullTechnique): Promise<any>;
push(id: string, technique: PushTechnique): Promise<any>;
version(): Promise<any>;
pymispVersion(): Promise<any>;
settings(): Promise<any>;
update(): Promise<any>;
cache(): Promise<any>;
createSync(): Promise<any>;
uuid(): Promise<any>;
setting(name: string): Promise<any>;
editSetting(name: string, value: any): Promise<any>;
import(params: ImportServerParams): Promise<any>;
}
declare class Workers extends Resource {
list(): Promise<any>;
start(type: WorkerType): Promise<any>;
stop(pid: number): Promise<any>;
killAll(): Promise<any>;
restart(): Promise<any>;
restartDead(): Promise<any>;
}
declare class Client {

@@ -176,2 +226,5 @@ private readonly instanceUrl;

readonly users: Users;
readonly organisations: Organisations;
readonly servers: Servers;
readonly workers: Workers;
constructor(instanceUrl: string, apiKey: string, httpsAgent?: https.Agent);

@@ -185,2 +238,2 @@ get(path: string): Promise<any>;

export { type AttributeCategory, Client, type SearchReturnFormat, type ThreatLevel };
export { type AttributeCategory, Client, type EventIndexParams, type EventRestSearchParams, type ImportServerParams, type PullTechnique, type PushTechnique, type SearchReturnFormat, type ThreatLevel, type WorkerType };

@@ -258,2 +258,180 @@ "use strict";

// src/resources/organisations.ts
var Organisations = class extends Resource {
// * List organisations
list() {
return __async(this, null, function* () {
return this.client.get(`/organisations`);
});
}
// * Get organisation by id
get(id) {
return __async(this, null, function* () {
return this.client.get(`/organisations/view/${id}`);
});
}
// * Add organisation
// TODO: Add type for data
add(data) {
return __async(this, null, function* () {
return this.client.post(`/admin/organisations/add`, data);
});
}
// * Edit organisation
// TODO: Add type for data
edit(id, data) {
return __async(this, null, function* () {
return this.client.post(`/admin/organisations/edit/${id}`, data);
});
}
// * Delete organisation
delete(id) {
return __async(this, null, function* () {
return this.client.delete(`/admin/organisations/delete/${id}`);
});
}
};
// src/resources/servers.ts
var Servers = class extends Resource {
// * List servers
list() {
return __async(this, null, function* () {
return this.client.get(`/servers`);
});
}
// * Add server
// TODO: Add type
add(data) {
return __async(this, null, function* () {
return this.client.post(`/servers/add`, data);
});
}
// * Edit server
// TODO: Add type
edit(id, data) {
return __async(this, null, function* () {
return this.client.put(`/servers/edit/${id}`, data);
});
}
// * Delete server
delete(id) {
return __async(this, null, function* () {
return this.client.delete(`/servers/delete/${id}`);
});
}
// * Pull server
pull(id, technique) {
return __async(this, null, function* () {
return this.client.get(`/servers/pull/${id}/${technique}`);
});
}
// * Push server
push(id, technique) {
return __async(this, null, function* () {
return this.client.post(`/servers/push/${id}/${technique}`);
});
}
// * Get current instance version
version() {
return __async(this, null, function* () {
return this.client.get(`/servers/getVersion`);
});
}
// * Get current instance PyMISP version
pymispVersion() {
return __async(this, null, function* () {
return this.client.get(`/servers/getPyMISPVersion`);
});
}
// * Get current instance settings and diagnostics
settings() {
return __async(this, null, function* () {
return this.client.get(`/servers/serverSettings`);
});
}
// * Update server
update() {
return __async(this, null, function* () {
return this.client.post(`/servers/update`);
});
}
// * Cache server
cache() {
return __async(this, null, function* () {
return this.client.post(`/servers/cache`);
});
}
// * Create sync
createSync() {
return __async(this, null, function* () {
return this.client.post(`/servers/createSync`);
});
}
// * Get current instance UUID
uuid() {
return __async(this, null, function* () {
return this.client.get(`/servers/getInstanceUUID`);
});
}
// * Get server setting by name
setting(name) {
return __async(this, null, function* () {
return this.client.get(`/servers/getSetting/${name}`);
});
}
// * Edit server setting
editSetting(name, value) {
return __async(this, null, function* () {
return this.client.post(`/servers/serverSettingsEdit/${name}`, { value });
});
}
// * Import server
import(params) {
return __async(this, null, function* () {
return this.client.post(`/servers/import`, params);
});
}
};
// src/resources/workers.ts
var Workers = class extends Resource {
// * Get workers
list() {
return __async(this, null, function* () {
return this.client.get(`/servers/getWorkers`);
});
}
// * Start worker
start(type) {
return __async(this, null, function* () {
return this.client.post(`/servers/startWorker/${type}`);
});
}
// * Stop worker
stop(pid) {
return __async(this, null, function* () {
return this.client.post(`/servers/stopWorker/${pid}`);
});
}
// * Kill all workers
killAll() {
return __async(this, null, function* () {
return this.client.post(`/servers/killAllWorkers`);
});
}
// * Restart workers
restart() {
return __async(this, null, function* () {
return this.client.post(`/servers/restartWorkers`);
});
}
// * Restart dead workers
restartDead() {
return __async(this, null, function* () {
return this.client.post(`/servers/restartDeadWorkers`);
});
}
};
// src/client.ts

@@ -268,2 +446,5 @@ var Client = class {

this.users = new Users(this);
this.organisations = new Organisations(this);
this.servers = new Servers(this);
this.workers = new Workers(this);
this.instanceUrl = instanceUrl;

@@ -270,0 +451,0 @@ this.apiKey = apiKey;

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/resources/resource.ts","../src/resources/events.ts","../src/resources/attributes.ts","../src/resources/users.ts"],"sourcesContent":["export * from './client';\r\nexport * from './types';","import axios, { Axios } from 'axios';\r\nimport https from 'https';\r\n\r\nimport Events from './resources/events';\r\nimport Attributes from './resources/attributes';\r\nimport Users from './resources/users';\r\n\r\nexport class Client {\r\n\r\n private readonly client: Axios;\r\n\r\n public readonly events: Events = new Events(this);\r\n public readonly attributes: Attributes = new Attributes(this);\r\n public readonly users: Users = new Users(this);\r\n \r\n constructor(\r\n private readonly instanceUrl: string,\r\n private readonly apiKey: string,\r\n private readonly httpsAgent: https.Agent = new https.Agent({ rejectUnauthorized: false })\r\n ) {\r\n this.instanceUrl = instanceUrl;\r\n this.apiKey = apiKey;\r\n\r\n this.client = axios.create({\r\n baseURL: this.instanceUrl,\r\n httpsAgent: this.httpsAgent,\r\n headers: {\r\n 'Authorization': `${this.apiKey}`,\r\n 'Accept': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n async get(path: string) {\r\n const response = await this.client.get(path);\r\n return response.data;\r\n }\r\n\r\n async post(path: string, data: any = {}) {\r\n const response = await this.client.post(path, data);\r\n return response.data;\r\n }\r\n\r\n async delete(path: string) {\r\n const response = await this.client.delete(path);\r\n return response.data;\r\n }\r\n\r\n async put(path: string, data: any) {\r\n const response = await this.client.put(path, data);\r\n return response.data;\r\n }\r\n\r\n async getVersion() {\r\n const response = await this.client.get('/servers/getVersion');\r\n\r\n return response.data;\r\n }\r\n\r\n}","import type { Client } from \"../client\";\r\n\r\nexport default class Resource {\r\n constructor(protected readonly client: Client) {}\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from '../types';\r\nimport Resource from './resource';\r\n\r\ntype EventRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n event_tags?: string[];\r\n searchall?: string;\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n sharinggroup?: string[];\r\n metadata?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n timestamp?: string;\r\n published?: boolean;\r\n enforceWarningList?: boolean;\r\n sgReferenceOnly?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n excludeLocalTags?: boolean;\r\n date?: string;\r\n includeSightingdb?: boolean;\r\n tag?: string;\r\n object_relation?: string;\r\n threat_level_id?: ThreatLevel;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\ntype EventIndexParams = {\r\n page?: number;\r\n limit?: number;\r\n sort?: string;\r\n direction?: 'asc' | 'desc';\r\n minimal?: boolean;\r\n attribute?: string;\r\n eventid?: string;\r\n datefrom?: string;\r\n dateuntil?: string;\r\n org?: string;\r\n eventinfo?: string;\r\n tag?: string;\r\n tags?: string[];\r\n distribution?: '0' | '1' | '2' | '3' | '4' | '5';\r\n sharinggroup?: string;\r\n analysis?: '0' | '1' | '2';\r\n threatlevel?: ThreatLevel;\r\n email?: string;\r\n hasproposal?: '0' | '1';\r\n timestamp?: string;\r\n publish_timestamp?: string;\r\n searchDatefrom?: string;\r\n searchDateuntil?: string;\r\n}\r\n\r\nexport default class Events extends Resource {\r\n\r\n // * List events\r\n async list() {\r\n return this.client.get(`/events`);\r\n }\r\n\r\n // * (restSearch) Search events\r\n async restSearch(params: EventRestSearchParams = {}) {\r\n return this.client.post(`/events/restSearch`, params);\r\n }\r\n\r\n // * (index) Search events\r\n async index(params: EventIndexParams = {}) {\r\n return this.client.post(`/events/index`, params);\r\n }\r\n\r\n // * Get event by id\r\n async get(id: string) {\r\n return this.client.get(`/events/view/${id}`);\r\n }\r\n\r\n // * Add event\r\n // TODO: Add type for data\r\n async add(data: any) {\r\n return this.client.post(`/events/add`, data);\r\n }\r\n\r\n // * Edit event\r\n // TODO: Add type for data\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/events/edit/${id}`, data);\r\n }\r\n\r\n // * Delete event\r\n async delete(id: string) {\r\n return this.client.delete(`/events/delete/${id}`);\r\n }\r\n\r\n // * Publish event\r\n async publish(id: string) {\r\n return this.client.post(`/events/publish/${id}`);\r\n }\r\n\r\n // * Unpublish event\r\n async unpublish(id: string) {\r\n return this.client.post(`/events/unpublish/${id}`);\r\n }\r\n\r\n // * Add event tag\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/events/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove event tag\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/events/removeTag/${id}/${tag}`);\r\n }\r\n\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from \"../types\";\r\nimport Resource from \"./resource\";\r\n\r\ntype AttributeContext = 'type' | 'category';\r\ntype AttributePercentage = 0 | 1;\r\n\r\ntype AttributeRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n value1?: string;\r\n value2?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n published?: boolean;\r\n timestamp?: string;\r\n attribute_timestamp?: string;\r\n enforceWarningList?: boolean;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n event_timestamp?: string;\r\n threat_level_id?: ThreatLevel;\r\n eventinfo?: string;\r\n sharinggroup?: string[];\r\n decayingModel?: string;\r\n score?: string;\r\n first_seen?: string;\r\n last_seen?: string;\r\n includeEventUuid?: boolean;\r\n includeEventTags?: boolean;\r\n includeProposals?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n object_relation?: string;\r\n includeSightings?: boolean;\r\n includeCorrelations?: boolean;\r\n modelOverrides?: any;\r\n includeDecayScore?: boolean;\r\n includeFullModel?: boolean;\r\n excludeDecayed?: boolean;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\nexport default class Attributes extends Resource {\r\n\r\n // * List attributes\r\n async list() {\r\n return this.client.get(`/attributes`);\r\n }\r\n\r\n // * (restSearch) Search attributes\r\n async restSearch(params: AttributeRestSearchParams = {}) {\r\n return this.client.post(`/attributes/restSearch`, params);\r\n }\r\n\r\n // * Get attribute by id\r\n async get(id: string) {\r\n return this.client.get(`/attributes/${id}`);\r\n }\r\n\r\n // * Add attribute\r\n async add(eventId: string, data: any) {\r\n return this.client.post(`/attributes/${eventId}`, data);\r\n }\r\n\r\n // * Edit attribute\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/attributes/edit/${id}`, data);\r\n }\r\n\r\n // * Delete attribute\r\n async delete(id: string) {\r\n return this.client.delete(`/attributes/delete/${id}`);\r\n }\r\n\r\n // * Restore an attribute\r\n async restore(id: string) {\r\n return this.client.post(`/attributes/restore/${id}`);\r\n }\r\n\r\n // * Add a tag to an attribute\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/attributes/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove a tag from an attribute\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/attributes/removeTag/${id}/${tag}`);\r\n }\r\n\r\n // * Get count of attributes per category\r\n async attributeStatistics(context: AttributeContext, percentage: AttributePercentage) {\r\n return this.client.get(`/attributes/attributeStatistics/${context}/${percentage}`);\r\n }\r\n\r\n // * Get a list of all attribute types\r\n async describeTypes() {\r\n return this.client.get(`/attributes/describeTypes`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Users extends Resource {\r\n \r\n // * List users\r\n public async list() {\r\n return this.client.get(`/admin/users`);\r\n }\r\n\r\n // * Get user by id\r\n public async get(id: string) {\r\n return this.client.get(`/admin/users/view/${id}`);\r\n }\r\n\r\n // * Add user\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/users/add`, data);\r\n }\r\n\r\n // * Edit user\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/users/edit/${id}`, data);\r\n }\r\n\r\n // * Reset user password\r\n public async resetPassword(id: string, firstTimeReset: '0' | '1' = '0') {\r\n return this.client.post(`/users/initiatePasswordReset/${id}/${firstTimeReset}`);\r\n }\r\n\r\n // * Delete user TOTP\r\n public async deleteTOTP(id: string) {\r\n return this.client.post(`/users/totp_delete/${id}`);\r\n }\r\n\r\n // * Delete user\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/users/delete/${id}`);\r\n }\r\n\r\n}"],"mappings":"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","names":["https","axios"]}
{"version":3,"sources":["../src/index.ts","../src/client.ts","../src/resources/resource.ts","../src/resources/events.ts","../src/resources/attributes.ts","../src/resources/users.ts","../src/resources/organisations.ts","../src/resources/servers.ts","../src/resources/workers.ts"],"sourcesContent":["export * from './client';\r\nexport * from './types';","import axios, { Axios } from 'axios';\r\nimport https from 'https';\r\n\r\nimport Events from './resources/events';\r\nimport Attributes from './resources/attributes';\r\nimport Users from './resources/users';\r\nimport Organisations from './resources/organisations';\r\nimport Servers from './resources/servers';\r\nimport Workers from './resources/workers';\r\n\r\nexport class Client {\r\n\r\n private readonly client: Axios;\r\n\r\n public readonly events: Events = new Events(this);\r\n public readonly attributes: Attributes = new Attributes(this);\r\n public readonly users: Users = new Users(this);\r\n public readonly organisations: Organisations = new Organisations(this);\r\n public readonly servers: Servers = new Servers(this);\r\n public readonly workers: Workers = new Workers(this);\r\n \r\n constructor(\r\n private readonly instanceUrl: string,\r\n private readonly apiKey: string,\r\n private readonly httpsAgent: https.Agent = new https.Agent({ rejectUnauthorized: false })\r\n ) {\r\n this.instanceUrl = instanceUrl;\r\n this.apiKey = apiKey;\r\n\r\n this.client = axios.create({\r\n baseURL: this.instanceUrl,\r\n httpsAgent: this.httpsAgent,\r\n headers: {\r\n 'Authorization': `${this.apiKey}`,\r\n 'Accept': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n async get(path: string) {\r\n const response = await this.client.get(path);\r\n return response.data;\r\n }\r\n\r\n async post(path: string, data: any = {}) {\r\n const response = await this.client.post(path, data);\r\n return response.data;\r\n }\r\n\r\n async delete(path: string) {\r\n const response = await this.client.delete(path);\r\n return response.data;\r\n }\r\n\r\n async put(path: string, data: any) {\r\n const response = await this.client.put(path, data);\r\n return response.data;\r\n }\r\n\r\n async getVersion() {\r\n const response = await this.client.get('/servers/getVersion');\r\n\r\n return response.data;\r\n }\r\n\r\n}","import type { Client } from \"../client\";\r\n\r\nexport default class Resource {\r\n constructor(protected readonly client: Client) {}\r\n}","import type { EventRestSearchParams, EventIndexParams } from '../types';\r\nimport Resource from './resource';\r\n\r\nexport default class Events extends Resource {\r\n\r\n // * List events\r\n async list() {\r\n return this.client.get(`/events`);\r\n }\r\n\r\n // * (restSearch) Search events\r\n async restSearch(params: EventRestSearchParams = {}) {\r\n return this.client.post(`/events/restSearch`, params);\r\n }\r\n\r\n // * (index) Search events\r\n async index(params: EventIndexParams = {}) {\r\n return this.client.post(`/events/index`, params);\r\n }\r\n\r\n // * Get event by id\r\n async get(id: string) {\r\n return this.client.get(`/events/view/${id}`);\r\n }\r\n\r\n // * Add event\r\n // TODO: Add type for data\r\n async add(data: any) {\r\n return this.client.post(`/events/add`, data);\r\n }\r\n\r\n // * Edit event\r\n // TODO: Add type for data\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/events/edit/${id}`, data);\r\n }\r\n\r\n // * Delete event\r\n async delete(id: string) {\r\n return this.client.delete(`/events/delete/${id}`);\r\n }\r\n\r\n // * Publish event\r\n async publish(id: string) {\r\n return this.client.post(`/events/publish/${id}`);\r\n }\r\n\r\n // * Unpublish event\r\n async unpublish(id: string) {\r\n return this.client.post(`/events/unpublish/${id}`);\r\n }\r\n\r\n // * Add event tag\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/events/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove event tag\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/events/removeTag/${id}/${tag}`);\r\n }\r\n\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from \"../types\";\r\nimport Resource from \"./resource\";\r\n\r\ntype AttributeContext = 'type' | 'category';\r\ntype AttributePercentage = 0 | 1;\r\n\r\ntype AttributeRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n value1?: string;\r\n value2?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n published?: boolean;\r\n timestamp?: string;\r\n attribute_timestamp?: string;\r\n enforceWarningList?: boolean;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n event_timestamp?: string;\r\n threat_level_id?: ThreatLevel;\r\n eventinfo?: string;\r\n sharinggroup?: string[];\r\n decayingModel?: string;\r\n score?: string;\r\n first_seen?: string;\r\n last_seen?: string;\r\n includeEventUuid?: boolean;\r\n includeEventTags?: boolean;\r\n includeProposals?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n object_relation?: string;\r\n includeSightings?: boolean;\r\n includeCorrelations?: boolean;\r\n modelOverrides?: any;\r\n includeDecayScore?: boolean;\r\n includeFullModel?: boolean;\r\n excludeDecayed?: boolean;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\nexport default class Attributes extends Resource {\r\n\r\n // * List attributes\r\n async list() {\r\n return this.client.get(`/attributes`);\r\n }\r\n\r\n // * (restSearch) Search attributes\r\n async restSearch(params: AttributeRestSearchParams = {}) {\r\n return this.client.post(`/attributes/restSearch`, params);\r\n }\r\n\r\n // * Get attribute by id\r\n async get(id: string) {\r\n return this.client.get(`/attributes/${id}`);\r\n }\r\n\r\n // * Add attribute\r\n async add(eventId: string, data: any) {\r\n return this.client.post(`/attributes/${eventId}`, data);\r\n }\r\n\r\n // * Edit attribute\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/attributes/edit/${id}`, data);\r\n }\r\n\r\n // * Delete attribute\r\n async delete(id: string) {\r\n return this.client.delete(`/attributes/delete/${id}`);\r\n }\r\n\r\n // * Restore an attribute\r\n async restore(id: string) {\r\n return this.client.post(`/attributes/restore/${id}`);\r\n }\r\n\r\n // * Add a tag to an attribute\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/attributes/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove a tag from an attribute\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/attributes/removeTag/${id}/${tag}`);\r\n }\r\n\r\n // * Get count of attributes per category\r\n async attributeStatistics(context: AttributeContext, percentage: AttributePercentage) {\r\n return this.client.get(`/attributes/attributeStatistics/${context}/${percentage}`);\r\n }\r\n\r\n // * Get a list of all attribute types\r\n async describeTypes() {\r\n return this.client.get(`/attributes/describeTypes`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Users extends Resource {\r\n \r\n // * List users\r\n public async list() {\r\n return this.client.get(`/admin/users`);\r\n }\r\n\r\n // * Get user by id\r\n public async get(id: string) {\r\n return this.client.get(`/admin/users/view/${id}`);\r\n }\r\n\r\n // * Add user\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/users/add`, data);\r\n }\r\n\r\n // * Edit user\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/users/edit/${id}`, data);\r\n }\r\n\r\n // * Reset user password\r\n public async resetPassword(id: string, firstTimeReset: '0' | '1' = '0') {\r\n return this.client.post(`/users/initiatePasswordReset/${id}/${firstTimeReset}`);\r\n }\r\n\r\n // * Delete user TOTP\r\n public async deleteTOTP(id: string) {\r\n return this.client.post(`/users/totp_delete/${id}`);\r\n }\r\n\r\n // * Delete user\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/users/delete/${id}`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Organisations extends Resource {\r\n \r\n // * List organisations\r\n public async list() {\r\n return this.client.get(`/organisations`);\r\n }\r\n\r\n // * Get organisation by id\r\n public async get(id: string) {\r\n return this.client.get(`/organisations/view/${id}`);\r\n }\r\n\r\n // * Add organisation\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/organisations/add`, data);\r\n }\r\n\r\n // * Edit organisation\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/organisations/edit/${id}`, data);\r\n }\r\n\r\n // * Delete organisation\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/organisations/delete/${id}`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\nimport type { ImportServerParams, PullTechnique, PushTechnique } from \"../types\";\r\n\r\nexport default class Servers extends Resource {\r\n \r\n // * List servers\r\n public async list() {\r\n return this.client.get(`/servers`);\r\n }\r\n\r\n // * Add server\r\n // TODO: Add type\r\n public async add(data: any) {\r\n return this.client.post(`/servers/add`, data);\r\n }\r\n\r\n // * Edit server\r\n // TODO: Add type\r\n public async edit(id: string, data: any) {\r\n return this.client.put(`/servers/edit/${id}`, data);\r\n }\r\n\r\n // * Delete server\r\n public async delete(id: string) {\r\n return this.client.delete(`/servers/delete/${id}`);\r\n }\r\n\r\n // * Pull server\r\n public async pull(id: string, technique: PullTechnique) {\r\n return this.client.get(`/servers/pull/${id}/${technique}`);\r\n }\r\n\r\n // * Push server\r\n public async push(id: string, technique: PushTechnique) {\r\n return this.client.post(`/servers/push/${id}/${technique}`);\r\n }\r\n\r\n // * Get current instance version\r\n public async version() {\r\n return this.client.get(`/servers/getVersion`);\r\n }\r\n\r\n // * Get current instance PyMISP version\r\n public async pymispVersion() {\r\n return this.client.get(`/servers/getPyMISPVersion`);\r\n }\r\n\r\n // * Get current instance settings and diagnostics\r\n public async settings() {\r\n return this.client.get(`/servers/serverSettings`);\r\n }\r\n\r\n // * Update server\r\n public async update() {\r\n return this.client.post(`/servers/update`);\r\n }\r\n\r\n // * Cache server\r\n public async cache() {\r\n return this.client.post(`/servers/cache`);\r\n }\r\n\r\n // * Create sync\r\n public async createSync() {\r\n return this.client.post(`/servers/createSync`);\r\n }\r\n\r\n // * Get current instance UUID\r\n public async uuid() {\r\n return this.client.get(`/servers/getInstanceUUID`);\r\n }\r\n\r\n // * Get server setting by name\r\n public async setting(name: string) {\r\n return this.client.get(`/servers/getSetting/${name}`);\r\n }\r\n\r\n // * Edit server setting\r\n public async editSetting(name: string, value: any) {\r\n return this.client.post(`/servers/serverSettingsEdit/${name}`, { value });\r\n }\r\n\r\n // * Import server\r\n public async import(params: ImportServerParams) {\r\n return this.client.post(`/servers/import`, params);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\nimport type { WorkerType } from \"../types\";\r\n\r\nexport default class Workers extends Resource {\r\n \r\n // * Get workers\r\n public async list() {\r\n return this.client.get(`/servers/getWorkers`);\r\n }\r\n\r\n // * Start worker\r\n public async start(type: WorkerType) {\r\n return this.client.post(`/servers/startWorker/${type}`);\r\n }\r\n\r\n // * Stop worker\r\n public async stop(pid: number) {\r\n return this.client.post(`/servers/stopWorker/${pid}`);\r\n }\r\n\r\n // * Kill all workers\r\n public async killAll() {\r\n return this.client.post(`/servers/killAllWorkers`);\r\n }\r\n\r\n // * Restart workers\r\n public async restart() {\r\n return this.client.post(`/servers/restartWorkers`);\r\n }\r\n\r\n // * Restart dead workers\r\n public async restartDead() {\r\n return this.client.post(`/servers/restartDeadWorkers`);\r\n }\r\n\r\n}"],"mappings":"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","names":["https","axios"]}

@@ -223,2 +223,180 @@ var __async = (__this, __arguments, generator) => {

// src/resources/organisations.ts
var Organisations = class extends Resource {
// * List organisations
list() {
return __async(this, null, function* () {
return this.client.get(`/organisations`);
});
}
// * Get organisation by id
get(id) {
return __async(this, null, function* () {
return this.client.get(`/organisations/view/${id}`);
});
}
// * Add organisation
// TODO: Add type for data
add(data) {
return __async(this, null, function* () {
return this.client.post(`/admin/organisations/add`, data);
});
}
// * Edit organisation
// TODO: Add type for data
edit(id, data) {
return __async(this, null, function* () {
return this.client.post(`/admin/organisations/edit/${id}`, data);
});
}
// * Delete organisation
delete(id) {
return __async(this, null, function* () {
return this.client.delete(`/admin/organisations/delete/${id}`);
});
}
};
// src/resources/servers.ts
var Servers = class extends Resource {
// * List servers
list() {
return __async(this, null, function* () {
return this.client.get(`/servers`);
});
}
// * Add server
// TODO: Add type
add(data) {
return __async(this, null, function* () {
return this.client.post(`/servers/add`, data);
});
}
// * Edit server
// TODO: Add type
edit(id, data) {
return __async(this, null, function* () {
return this.client.put(`/servers/edit/${id}`, data);
});
}
// * Delete server
delete(id) {
return __async(this, null, function* () {
return this.client.delete(`/servers/delete/${id}`);
});
}
// * Pull server
pull(id, technique) {
return __async(this, null, function* () {
return this.client.get(`/servers/pull/${id}/${technique}`);
});
}
// * Push server
push(id, technique) {
return __async(this, null, function* () {
return this.client.post(`/servers/push/${id}/${technique}`);
});
}
// * Get current instance version
version() {
return __async(this, null, function* () {
return this.client.get(`/servers/getVersion`);
});
}
// * Get current instance PyMISP version
pymispVersion() {
return __async(this, null, function* () {
return this.client.get(`/servers/getPyMISPVersion`);
});
}
// * Get current instance settings and diagnostics
settings() {
return __async(this, null, function* () {
return this.client.get(`/servers/serverSettings`);
});
}
// * Update server
update() {
return __async(this, null, function* () {
return this.client.post(`/servers/update`);
});
}
// * Cache server
cache() {
return __async(this, null, function* () {
return this.client.post(`/servers/cache`);
});
}
// * Create sync
createSync() {
return __async(this, null, function* () {
return this.client.post(`/servers/createSync`);
});
}
// * Get current instance UUID
uuid() {
return __async(this, null, function* () {
return this.client.get(`/servers/getInstanceUUID`);
});
}
// * Get server setting by name
setting(name) {
return __async(this, null, function* () {
return this.client.get(`/servers/getSetting/${name}`);
});
}
// * Edit server setting
editSetting(name, value) {
return __async(this, null, function* () {
return this.client.post(`/servers/serverSettingsEdit/${name}`, { value });
});
}
// * Import server
import(params) {
return __async(this, null, function* () {
return this.client.post(`/servers/import`, params);
});
}
};
// src/resources/workers.ts
var Workers = class extends Resource {
// * Get workers
list() {
return __async(this, null, function* () {
return this.client.get(`/servers/getWorkers`);
});
}
// * Start worker
start(type) {
return __async(this, null, function* () {
return this.client.post(`/servers/startWorker/${type}`);
});
}
// * Stop worker
stop(pid) {
return __async(this, null, function* () {
return this.client.post(`/servers/stopWorker/${pid}`);
});
}
// * Kill all workers
killAll() {
return __async(this, null, function* () {
return this.client.post(`/servers/killAllWorkers`);
});
}
// * Restart workers
restart() {
return __async(this, null, function* () {
return this.client.post(`/servers/restartWorkers`);
});
}
// * Restart dead workers
restartDead() {
return __async(this, null, function* () {
return this.client.post(`/servers/restartDeadWorkers`);
});
}
};
// src/client.ts

@@ -233,2 +411,5 @@ var Client = class {

this.users = new Users(this);
this.organisations = new Organisations(this);
this.servers = new Servers(this);
this.workers = new Workers(this);
this.instanceUrl = instanceUrl;

@@ -235,0 +416,0 @@ this.apiKey = apiKey;

@@ -1,1 +0,1 @@

{"version":3,"sources":["../src/client.ts","../src/resources/resource.ts","../src/resources/events.ts","../src/resources/attributes.ts","../src/resources/users.ts"],"sourcesContent":["import axios, { Axios } from 'axios';\r\nimport https from 'https';\r\n\r\nimport Events from './resources/events';\r\nimport Attributes from './resources/attributes';\r\nimport Users from './resources/users';\r\n\r\nexport class Client {\r\n\r\n private readonly client: Axios;\r\n\r\n public readonly events: Events = new Events(this);\r\n public readonly attributes: Attributes = new Attributes(this);\r\n public readonly users: Users = new Users(this);\r\n \r\n constructor(\r\n private readonly instanceUrl: string,\r\n private readonly apiKey: string,\r\n private readonly httpsAgent: https.Agent = new https.Agent({ rejectUnauthorized: false })\r\n ) {\r\n this.instanceUrl = instanceUrl;\r\n this.apiKey = apiKey;\r\n\r\n this.client = axios.create({\r\n baseURL: this.instanceUrl,\r\n httpsAgent: this.httpsAgent,\r\n headers: {\r\n 'Authorization': `${this.apiKey}`,\r\n 'Accept': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n async get(path: string) {\r\n const response = await this.client.get(path);\r\n return response.data;\r\n }\r\n\r\n async post(path: string, data: any = {}) {\r\n const response = await this.client.post(path, data);\r\n return response.data;\r\n }\r\n\r\n async delete(path: string) {\r\n const response = await this.client.delete(path);\r\n return response.data;\r\n }\r\n\r\n async put(path: string, data: any) {\r\n const response = await this.client.put(path, data);\r\n return response.data;\r\n }\r\n\r\n async getVersion() {\r\n const response = await this.client.get('/servers/getVersion');\r\n\r\n return response.data;\r\n }\r\n\r\n}","import type { Client } from \"../client\";\r\n\r\nexport default class Resource {\r\n constructor(protected readonly client: Client) {}\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from '../types';\r\nimport Resource from './resource';\r\n\r\ntype EventRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n event_tags?: string[];\r\n searchall?: string;\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n sharinggroup?: string[];\r\n metadata?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n timestamp?: string;\r\n published?: boolean;\r\n enforceWarningList?: boolean;\r\n sgReferenceOnly?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n excludeLocalTags?: boolean;\r\n date?: string;\r\n includeSightingdb?: boolean;\r\n tag?: string;\r\n object_relation?: string;\r\n threat_level_id?: ThreatLevel;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\ntype EventIndexParams = {\r\n page?: number;\r\n limit?: number;\r\n sort?: string;\r\n direction?: 'asc' | 'desc';\r\n minimal?: boolean;\r\n attribute?: string;\r\n eventid?: string;\r\n datefrom?: string;\r\n dateuntil?: string;\r\n org?: string;\r\n eventinfo?: string;\r\n tag?: string;\r\n tags?: string[];\r\n distribution?: '0' | '1' | '2' | '3' | '4' | '5';\r\n sharinggroup?: string;\r\n analysis?: '0' | '1' | '2';\r\n threatlevel?: ThreatLevel;\r\n email?: string;\r\n hasproposal?: '0' | '1';\r\n timestamp?: string;\r\n publish_timestamp?: string;\r\n searchDatefrom?: string;\r\n searchDateuntil?: string;\r\n}\r\n\r\nexport default class Events extends Resource {\r\n\r\n // * List events\r\n async list() {\r\n return this.client.get(`/events`);\r\n }\r\n\r\n // * (restSearch) Search events\r\n async restSearch(params: EventRestSearchParams = {}) {\r\n return this.client.post(`/events/restSearch`, params);\r\n }\r\n\r\n // * (index) Search events\r\n async index(params: EventIndexParams = {}) {\r\n return this.client.post(`/events/index`, params);\r\n }\r\n\r\n // * Get event by id\r\n async get(id: string) {\r\n return this.client.get(`/events/view/${id}`);\r\n }\r\n\r\n // * Add event\r\n // TODO: Add type for data\r\n async add(data: any) {\r\n return this.client.post(`/events/add`, data);\r\n }\r\n\r\n // * Edit event\r\n // TODO: Add type for data\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/events/edit/${id}`, data);\r\n }\r\n\r\n // * Delete event\r\n async delete(id: string) {\r\n return this.client.delete(`/events/delete/${id}`);\r\n }\r\n\r\n // * Publish event\r\n async publish(id: string) {\r\n return this.client.post(`/events/publish/${id}`);\r\n }\r\n\r\n // * Unpublish event\r\n async unpublish(id: string) {\r\n return this.client.post(`/events/unpublish/${id}`);\r\n }\r\n\r\n // * Add event tag\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/events/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove event tag\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/events/removeTag/${id}/${tag}`);\r\n }\r\n\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from \"../types\";\r\nimport Resource from \"./resource\";\r\n\r\ntype AttributeContext = 'type' | 'category';\r\ntype AttributePercentage = 0 | 1;\r\n\r\ntype AttributeRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n value1?: string;\r\n value2?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n published?: boolean;\r\n timestamp?: string;\r\n attribute_timestamp?: string;\r\n enforceWarningList?: boolean;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n event_timestamp?: string;\r\n threat_level_id?: ThreatLevel;\r\n eventinfo?: string;\r\n sharinggroup?: string[];\r\n decayingModel?: string;\r\n score?: string;\r\n first_seen?: string;\r\n last_seen?: string;\r\n includeEventUuid?: boolean;\r\n includeEventTags?: boolean;\r\n includeProposals?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n object_relation?: string;\r\n includeSightings?: boolean;\r\n includeCorrelations?: boolean;\r\n modelOverrides?: any;\r\n includeDecayScore?: boolean;\r\n includeFullModel?: boolean;\r\n excludeDecayed?: boolean;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\nexport default class Attributes extends Resource {\r\n\r\n // * List attributes\r\n async list() {\r\n return this.client.get(`/attributes`);\r\n }\r\n\r\n // * (restSearch) Search attributes\r\n async restSearch(params: AttributeRestSearchParams = {}) {\r\n return this.client.post(`/attributes/restSearch`, params);\r\n }\r\n\r\n // * Get attribute by id\r\n async get(id: string) {\r\n return this.client.get(`/attributes/${id}`);\r\n }\r\n\r\n // * Add attribute\r\n async add(eventId: string, data: any) {\r\n return this.client.post(`/attributes/${eventId}`, data);\r\n }\r\n\r\n // * Edit attribute\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/attributes/edit/${id}`, data);\r\n }\r\n\r\n // * Delete attribute\r\n async delete(id: string) {\r\n return this.client.delete(`/attributes/delete/${id}`);\r\n }\r\n\r\n // * Restore an attribute\r\n async restore(id: string) {\r\n return this.client.post(`/attributes/restore/${id}`);\r\n }\r\n\r\n // * Add a tag to an attribute\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/attributes/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove a tag from an attribute\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/attributes/removeTag/${id}/${tag}`);\r\n }\r\n\r\n // * Get count of attributes per category\r\n async attributeStatistics(context: AttributeContext, percentage: AttributePercentage) {\r\n return this.client.get(`/attributes/attributeStatistics/${context}/${percentage}`);\r\n }\r\n\r\n // * Get a list of all attribute types\r\n async describeTypes() {\r\n return this.client.get(`/attributes/describeTypes`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Users extends Resource {\r\n \r\n // * List users\r\n public async list() {\r\n return this.client.get(`/admin/users`);\r\n }\r\n\r\n // * Get user by id\r\n public async get(id: string) {\r\n return this.client.get(`/admin/users/view/${id}`);\r\n }\r\n\r\n // * Add user\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/users/add`, data);\r\n }\r\n\r\n // * Edit user\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/users/edit/${id}`, data);\r\n }\r\n\r\n // * Reset user password\r\n public async resetPassword(id: string, firstTimeReset: '0' | '1' = '0') {\r\n return this.client.post(`/users/initiatePasswordReset/${id}/${firstTimeReset}`);\r\n }\r\n\r\n // * Delete user TOTP\r\n public async deleteTOTP(id: string) {\r\n return this.client.post(`/users/totp_delete/${id}`);\r\n }\r\n\r\n // * Delete user\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/users/delete/${id}`);\r\n }\r\n\r\n}"],"mappings":"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","names":[]}
{"version":3,"sources":["../src/client.ts","../src/resources/resource.ts","../src/resources/events.ts","../src/resources/attributes.ts","../src/resources/users.ts","../src/resources/organisations.ts","../src/resources/servers.ts","../src/resources/workers.ts"],"sourcesContent":["import axios, { Axios } from 'axios';\r\nimport https from 'https';\r\n\r\nimport Events from './resources/events';\r\nimport Attributes from './resources/attributes';\r\nimport Users from './resources/users';\r\nimport Organisations from './resources/organisations';\r\nimport Servers from './resources/servers';\r\nimport Workers from './resources/workers';\r\n\r\nexport class Client {\r\n\r\n private readonly client: Axios;\r\n\r\n public readonly events: Events = new Events(this);\r\n public readonly attributes: Attributes = new Attributes(this);\r\n public readonly users: Users = new Users(this);\r\n public readonly organisations: Organisations = new Organisations(this);\r\n public readonly servers: Servers = new Servers(this);\r\n public readonly workers: Workers = new Workers(this);\r\n \r\n constructor(\r\n private readonly instanceUrl: string,\r\n private readonly apiKey: string,\r\n private readonly httpsAgent: https.Agent = new https.Agent({ rejectUnauthorized: false })\r\n ) {\r\n this.instanceUrl = instanceUrl;\r\n this.apiKey = apiKey;\r\n\r\n this.client = axios.create({\r\n baseURL: this.instanceUrl,\r\n httpsAgent: this.httpsAgent,\r\n headers: {\r\n 'Authorization': `${this.apiKey}`,\r\n 'Accept': 'application/json'\r\n }\r\n });\r\n }\r\n\r\n async get(path: string) {\r\n const response = await this.client.get(path);\r\n return response.data;\r\n }\r\n\r\n async post(path: string, data: any = {}) {\r\n const response = await this.client.post(path, data);\r\n return response.data;\r\n }\r\n\r\n async delete(path: string) {\r\n const response = await this.client.delete(path);\r\n return response.data;\r\n }\r\n\r\n async put(path: string, data: any) {\r\n const response = await this.client.put(path, data);\r\n return response.data;\r\n }\r\n\r\n async getVersion() {\r\n const response = await this.client.get('/servers/getVersion');\r\n\r\n return response.data;\r\n }\r\n\r\n}","import type { Client } from \"../client\";\r\n\r\nexport default class Resource {\r\n constructor(protected readonly client: Client) {}\r\n}","import type { EventRestSearchParams, EventIndexParams } from '../types';\r\nimport Resource from './resource';\r\n\r\nexport default class Events extends Resource {\r\n\r\n // * List events\r\n async list() {\r\n return this.client.get(`/events`);\r\n }\r\n\r\n // * (restSearch) Search events\r\n async restSearch(params: EventRestSearchParams = {}) {\r\n return this.client.post(`/events/restSearch`, params);\r\n }\r\n\r\n // * (index) Search events\r\n async index(params: EventIndexParams = {}) {\r\n return this.client.post(`/events/index`, params);\r\n }\r\n\r\n // * Get event by id\r\n async get(id: string) {\r\n return this.client.get(`/events/view/${id}`);\r\n }\r\n\r\n // * Add event\r\n // TODO: Add type for data\r\n async add(data: any) {\r\n return this.client.post(`/events/add`, data);\r\n }\r\n\r\n // * Edit event\r\n // TODO: Add type for data\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/events/edit/${id}`, data);\r\n }\r\n\r\n // * Delete event\r\n async delete(id: string) {\r\n return this.client.delete(`/events/delete/${id}`);\r\n }\r\n\r\n // * Publish event\r\n async publish(id: string) {\r\n return this.client.post(`/events/publish/${id}`);\r\n }\r\n\r\n // * Unpublish event\r\n async unpublish(id: string) {\r\n return this.client.post(`/events/unpublish/${id}`);\r\n }\r\n\r\n // * Add event tag\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/events/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove event tag\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/events/removeTag/${id}/${tag}`);\r\n }\r\n\r\n}","import type { AttributeCategory, SearchReturnFormat, ThreatLevel } from \"../types\";\r\nimport Resource from \"./resource\";\r\n\r\ntype AttributeContext = 'type' | 'category';\r\ntype AttributePercentage = 0 | 1;\r\n\r\ntype AttributeRestSearchParams = {\r\n page?: number;\r\n limit?: number;\r\n value?: string;\r\n value1?: string;\r\n value2?: string;\r\n type?: string; // TODO: Add type for this\r\n category?: AttributeCategory;\r\n org?: string;\r\n tags?: string[];\r\n from?: string;\r\n to?: string;\r\n last?: number | string;\r\n eventid?: string;\r\n withAttachments?: boolean;\r\n uuid?: string;\r\n publish_timestamp?: string;\r\n published?: boolean;\r\n timestamp?: string;\r\n attribute_timestamp?: string;\r\n enforceWarningList?: boolean;\r\n to_ids?: boolean;\r\n deleted?: boolean;\r\n event_timestamp?: string;\r\n threat_level_id?: ThreatLevel;\r\n eventinfo?: string;\r\n sharinggroup?: string[];\r\n decayingModel?: string;\r\n score?: string;\r\n first_seen?: string;\r\n last_seen?: string;\r\n includeEventUuid?: boolean;\r\n includeEventTags?: boolean;\r\n includeProposals?: boolean;\r\n requested_attributes?: string[];\r\n includeContext?: boolean;\r\n headerless?: boolean;\r\n includeWarninglistHits?: boolean;\r\n attackGalaxy?: string;\r\n object_relation?: string;\r\n includeSightings?: boolean;\r\n includeCorrelations?: boolean;\r\n modelOverrides?: any;\r\n includeDecayScore?: boolean;\r\n includeFullModel?: boolean;\r\n excludeDecayed?: boolean;\r\n returnFormat?: SearchReturnFormat;\r\n}\r\n\r\nexport default class Attributes extends Resource {\r\n\r\n // * List attributes\r\n async list() {\r\n return this.client.get(`/attributes`);\r\n }\r\n\r\n // * (restSearch) Search attributes\r\n async restSearch(params: AttributeRestSearchParams = {}) {\r\n return this.client.post(`/attributes/restSearch`, params);\r\n }\r\n\r\n // * Get attribute by id\r\n async get(id: string) {\r\n return this.client.get(`/attributes/${id}`);\r\n }\r\n\r\n // * Add attribute\r\n async add(eventId: string, data: any) {\r\n return this.client.post(`/attributes/${eventId}`, data);\r\n }\r\n\r\n // * Edit attribute\r\n async edit(id: string, data: any) {\r\n return this.client.put(`/attributes/edit/${id}`, data);\r\n }\r\n\r\n // * Delete attribute\r\n async delete(id: string) {\r\n return this.client.delete(`/attributes/delete/${id}`);\r\n }\r\n\r\n // * Restore an attribute\r\n async restore(id: string) {\r\n return this.client.post(`/attributes/restore/${id}`);\r\n }\r\n\r\n // * Add a tag to an attribute\r\n async addTag(id: string, tag: string, local: boolean) {\r\n return this.client.post(`/attributes/addTag/${id}/${tag}/local:${local}`);\r\n }\r\n\r\n // * Remove a tag from an attribute\r\n async removeTag(id: string, tag: string) {\r\n return this.client.post(`/attributes/removeTag/${id}/${tag}`);\r\n }\r\n\r\n // * Get count of attributes per category\r\n async attributeStatistics(context: AttributeContext, percentage: AttributePercentage) {\r\n return this.client.get(`/attributes/attributeStatistics/${context}/${percentage}`);\r\n }\r\n\r\n // * Get a list of all attribute types\r\n async describeTypes() {\r\n return this.client.get(`/attributes/describeTypes`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Users extends Resource {\r\n \r\n // * List users\r\n public async list() {\r\n return this.client.get(`/admin/users`);\r\n }\r\n\r\n // * Get user by id\r\n public async get(id: string) {\r\n return this.client.get(`/admin/users/view/${id}`);\r\n }\r\n\r\n // * Add user\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/users/add`, data);\r\n }\r\n\r\n // * Edit user\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/users/edit/${id}`, data);\r\n }\r\n\r\n // * Reset user password\r\n public async resetPassword(id: string, firstTimeReset: '0' | '1' = '0') {\r\n return this.client.post(`/users/initiatePasswordReset/${id}/${firstTimeReset}`);\r\n }\r\n\r\n // * Delete user TOTP\r\n public async deleteTOTP(id: string) {\r\n return this.client.post(`/users/totp_delete/${id}`);\r\n }\r\n\r\n // * Delete user\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/users/delete/${id}`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\n\r\nexport default class Organisations extends Resource {\r\n \r\n // * List organisations\r\n public async list() {\r\n return this.client.get(`/organisations`);\r\n }\r\n\r\n // * Get organisation by id\r\n public async get(id: string) {\r\n return this.client.get(`/organisations/view/${id}`);\r\n }\r\n\r\n // * Add organisation\r\n // TODO: Add type for data\r\n public async add(data: any) {\r\n return this.client.post(`/admin/organisations/add`, data);\r\n }\r\n\r\n // * Edit organisation\r\n // TODO: Add type for data\r\n public async edit(id: string, data: any) {\r\n return this.client.post(`/admin/organisations/edit/${id}`, data);\r\n }\r\n\r\n // * Delete organisation\r\n public async delete(id: string) {\r\n return this.client.delete(`/admin/organisations/delete/${id}`);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\nimport type { ImportServerParams, PullTechnique, PushTechnique } from \"../types\";\r\n\r\nexport default class Servers extends Resource {\r\n \r\n // * List servers\r\n public async list() {\r\n return this.client.get(`/servers`);\r\n }\r\n\r\n // * Add server\r\n // TODO: Add type\r\n public async add(data: any) {\r\n return this.client.post(`/servers/add`, data);\r\n }\r\n\r\n // * Edit server\r\n // TODO: Add type\r\n public async edit(id: string, data: any) {\r\n return this.client.put(`/servers/edit/${id}`, data);\r\n }\r\n\r\n // * Delete server\r\n public async delete(id: string) {\r\n return this.client.delete(`/servers/delete/${id}`);\r\n }\r\n\r\n // * Pull server\r\n public async pull(id: string, technique: PullTechnique) {\r\n return this.client.get(`/servers/pull/${id}/${technique}`);\r\n }\r\n\r\n // * Push server\r\n public async push(id: string, technique: PushTechnique) {\r\n return this.client.post(`/servers/push/${id}/${technique}`);\r\n }\r\n\r\n // * Get current instance version\r\n public async version() {\r\n return this.client.get(`/servers/getVersion`);\r\n }\r\n\r\n // * Get current instance PyMISP version\r\n public async pymispVersion() {\r\n return this.client.get(`/servers/getPyMISPVersion`);\r\n }\r\n\r\n // * Get current instance settings and diagnostics\r\n public async settings() {\r\n return this.client.get(`/servers/serverSettings`);\r\n }\r\n\r\n // * Update server\r\n public async update() {\r\n return this.client.post(`/servers/update`);\r\n }\r\n\r\n // * Cache server\r\n public async cache() {\r\n return this.client.post(`/servers/cache`);\r\n }\r\n\r\n // * Create sync\r\n public async createSync() {\r\n return this.client.post(`/servers/createSync`);\r\n }\r\n\r\n // * Get current instance UUID\r\n public async uuid() {\r\n return this.client.get(`/servers/getInstanceUUID`);\r\n }\r\n\r\n // * Get server setting by name\r\n public async setting(name: string) {\r\n return this.client.get(`/servers/getSetting/${name}`);\r\n }\r\n\r\n // * Edit server setting\r\n public async editSetting(name: string, value: any) {\r\n return this.client.post(`/servers/serverSettingsEdit/${name}`, { value });\r\n }\r\n\r\n // * Import server\r\n public async import(params: ImportServerParams) {\r\n return this.client.post(`/servers/import`, params);\r\n }\r\n\r\n}","import Resource from \"./resource\";\r\nimport type { WorkerType } from \"../types\";\r\n\r\nexport default class Workers extends Resource {\r\n \r\n // * Get workers\r\n public async list() {\r\n return this.client.get(`/servers/getWorkers`);\r\n }\r\n\r\n // * Start worker\r\n public async start(type: WorkerType) {\r\n return this.client.post(`/servers/startWorker/${type}`);\r\n }\r\n\r\n // * Stop worker\r\n public async stop(pid: number) {\r\n return this.client.post(`/servers/stopWorker/${pid}`);\r\n }\r\n\r\n // * Kill all workers\r\n public async killAll() {\r\n return this.client.post(`/servers/killAllWorkers`);\r\n }\r\n\r\n // * Restart workers\r\n public async restart() {\r\n return this.client.post(`/servers/restartWorkers`);\r\n }\r\n\r\n // * Restart dead workers\r\n public async restartDead() {\r\n return this.client.post(`/servers/restartDeadWorkers`);\r\n }\r\n\r\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,WAAsB;AAC7B,OAAO,WAAW;;;ACClB,IAAqB,WAArB,MAA8B;AAAA,EAC1B,YAA+B,QAAgB;AAAhB;AAAA,EAAiB;AACpD;;;ACDA,IAAqB,SAArB,cAAoC,SAAS;AAAA;AAAA,EAGnC,OAAO;AAAA;AACT,aAAO,KAAK,OAAO,IAAI,SAAS;AAAA,IACpC;AAAA;AAAA;AAAA,EAGM,aAA+C;AAAA,+CAApC,SAAgC,CAAC,GAAG;AACjD,aAAO,KAAK,OAAO,KAAK,sBAAsB,MAAM;AAAA,IACxD;AAAA;AAAA;AAAA,EAGM,QAAqC;AAAA,+CAA/B,SAA2B,CAAC,GAAG;AACvC,aAAO,KAAK,OAAO,KAAK,iBAAiB,MAAM;AAAA,IACnD;AAAA;AAAA;AAAA,EAGM,IAAI,IAAY;AAAA;AAClB,aAAO,KAAK,OAAO,IAAI,gBAAgB,EAAE,EAAE;AAAA,IAC/C;AAAA;AAAA;AAAA;AAAA,EAIM,IAAI,MAAW;AAAA;AACjB,aAAO,KAAK,OAAO,KAAK,eAAe,IAAI;AAAA,IAC/C;AAAA;AAAA;AAAA;AAAA,EAIM,KAAK,IAAY,MAAW;AAAA;AAC9B,aAAO,KAAK,OAAO,IAAI,gBAAgB,EAAE,IAAI,IAAI;AAAA,IACrD;AAAA;AAAA;AAAA,EAGM,OAAO,IAAY;AAAA;AACrB,aAAO,KAAK,OAAO,OAAO,kBAAkB,EAAE,EAAE;AAAA,IACpD;AAAA;AAAA;AAAA,EAGM,QAAQ,IAAY;AAAA;AACtB,aAAO,KAAK,OAAO,KAAK,mBAAmB,EAAE,EAAE;AAAA,IACnD;AAAA;AAAA;AAAA,EAGM,UAAU,IAAY;AAAA;AACxB,aAAO,KAAK,OAAO,KAAK,qBAAqB,EAAE,EAAE;AAAA,IACrD;AAAA;AAAA;AAAA,EAGM,OAAO,IAAY,KAAa,OAAgB;AAAA;AAClD,aAAO,KAAK,OAAO,KAAK,kBAAkB,EAAE,IAAI,GAAG,UAAU,KAAK,EAAE;AAAA,IACxE;AAAA;AAAA;AAAA,EAGM,UAAU,IAAY,KAAa;AAAA;AACrC,aAAO,KAAK,OAAO,KAAK,qBAAqB,EAAE,IAAI,GAAG,EAAE;AAAA,IAC5D;AAAA;AAEJ;;;ACPA,IAAqB,aAArB,cAAwC,SAAS;AAAA;AAAA,EAGvC,OAAO;AAAA;AACT,aAAO,KAAK,OAAO,IAAI,aAAa;AAAA,IACxC;AAAA;AAAA;AAAA,EAGM,aAAmD;AAAA,+CAAxC,SAAoC,CAAC,GAAG;AACrD,aAAO,KAAK,OAAO,KAAK,0BAA0B,MAAM;AAAA,IAC5D;AAAA;AAAA;AAAA,EAGM,IAAI,IAAY;AAAA;AAClB,aAAO,KAAK,OAAO,IAAI,eAAe,EAAE,EAAE;AAAA,IAC9C;AAAA;AAAA;AAAA,EAGM,IAAI,SAAiB,MAAW;AAAA;AAClC,aAAO,KAAK,OAAO,KAAK,eAAe,OAAO,IAAI,IAAI;AAAA,IAC1D;AAAA;AAAA;AAAA,EAGM,KAAK,IAAY,MAAW;AAAA;AAC9B,aAAO,KAAK,OAAO,IAAI,oBAAoB,EAAE,IAAI,IAAI;AAAA,IACzD;AAAA;AAAA;AAAA,EAGM,OAAO,IAAY;AAAA;AACrB,aAAO,KAAK,OAAO,OAAO,sBAAsB,EAAE,EAAE;AAAA,IACxD;AAAA;AAAA;AAAA,EAGM,QAAQ,IAAY;AAAA;AACtB,aAAO,KAAK,OAAO,KAAK,uBAAuB,EAAE,EAAE;AAAA,IACvD;AAAA;AAAA;AAAA,EAGM,OAAO,IAAY,KAAa,OAAgB;AAAA;AAClD,aAAO,KAAK,OAAO,KAAK,sBAAsB,EAAE,IAAI,GAAG,UAAU,KAAK,EAAE;AAAA,IAC5E;AAAA;AAAA;AAAA,EAGM,UAAU,IAAY,KAAa;AAAA;AACrC,aAAO,KAAK,OAAO,KAAK,yBAAyB,EAAE,IAAI,GAAG,EAAE;AAAA,IAChE;AAAA;AAAA;AAAA,EAGM,oBAAoB,SAA2B,YAAiC;AAAA;AAClF,aAAO,KAAK,OAAO,IAAI,mCAAmC,OAAO,IAAI,UAAU,EAAE;AAAA,IACrF;AAAA;AAAA;AAAA,EAGM,gBAAgB;AAAA;AAClB,aAAO,KAAK,OAAO,IAAI,2BAA2B;AAAA,IACtD;AAAA;AAEJ;;;AC9GA,IAAqB,QAArB,cAAmC,SAAS;AAAA;AAAA,EAG3B,OAAO;AAAA;AAChB,aAAO,KAAK,OAAO,IAAI,cAAc;AAAA,IACzC;AAAA;AAAA;AAAA,EAGa,IAAI,IAAY;AAAA;AACzB,aAAO,KAAK,OAAO,IAAI,qBAAqB,EAAE,EAAE;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA,EAIa,IAAI,MAAW;AAAA;AACxB,aAAO,KAAK,OAAO,KAAK,oBAAoB,IAAI;AAAA,IACpD;AAAA;AAAA;AAAA;AAAA,EAIa,KAAK,IAAY,MAAW;AAAA;AACrC,aAAO,KAAK,OAAO,KAAK,qBAAqB,EAAE,IAAI,IAAI;AAAA,IAC3D;AAAA;AAAA;AAAA,EAGa,cAAc,IAAY,iBAA4B,KAAK;AAAA;AACpE,aAAO,KAAK,OAAO,KAAK,gCAAgC,EAAE,IAAI,cAAc,EAAE;AAAA,IAClF;AAAA;AAAA;AAAA,EAGa,WAAW,IAAY;AAAA;AAChC,aAAO,KAAK,OAAO,KAAK,sBAAsB,EAAE,EAAE;AAAA,IACtD;AAAA;AAAA;AAAA,EAGa,OAAO,IAAY;AAAA;AAC5B,aAAO,KAAK,OAAO,OAAO,uBAAuB,EAAE,EAAE;AAAA,IACzD;AAAA;AAEJ;;;ACvCA,IAAqB,gBAArB,cAA2C,SAAS;AAAA;AAAA,EAGnC,OAAO;AAAA;AAChB,aAAO,KAAK,OAAO,IAAI,gBAAgB;AAAA,IAC3C;AAAA;AAAA;AAAA,EAGa,IAAI,IAAY;AAAA;AACzB,aAAO,KAAK,OAAO,IAAI,uBAAuB,EAAE,EAAE;AAAA,IACtD;AAAA;AAAA;AAAA;AAAA,EAIa,IAAI,MAAW;AAAA;AACxB,aAAO,KAAK,OAAO,KAAK,4BAA4B,IAAI;AAAA,IAC5D;AAAA;AAAA;AAAA;AAAA,EAIa,KAAK,IAAY,MAAW;AAAA;AACrC,aAAO,KAAK,OAAO,KAAK,6BAA6B,EAAE,IAAI,IAAI;AAAA,IACnE;AAAA;AAAA;AAAA,EAGa,OAAO,IAAY;AAAA;AAC5B,aAAO,KAAK,OAAO,OAAO,+BAA+B,EAAE,EAAE;AAAA,IACjE;AAAA;AAEJ;;;AC5BA,IAAqB,UAArB,cAAqC,SAAS;AAAA;AAAA,EAG7B,OAAO;AAAA;AAChB,aAAO,KAAK,OAAO,IAAI,UAAU;AAAA,IACrC;AAAA;AAAA;AAAA;AAAA,EAIa,IAAI,MAAW;AAAA;AACxB,aAAO,KAAK,OAAO,KAAK,gBAAgB,IAAI;AAAA,IAChD;AAAA;AAAA;AAAA;AAAA,EAIa,KAAK,IAAY,MAAW;AAAA;AACrC,aAAO,KAAK,OAAO,IAAI,iBAAiB,EAAE,IAAI,IAAI;AAAA,IACtD;AAAA;AAAA;AAAA,EAGa,OAAO,IAAY;AAAA;AAC5B,aAAO,KAAK,OAAO,OAAO,mBAAmB,EAAE,EAAE;AAAA,IACrD;AAAA;AAAA;AAAA,EAGa,KAAK,IAAY,WAA0B;AAAA;AACpD,aAAO,KAAK,OAAO,IAAI,iBAAiB,EAAE,IAAI,SAAS,EAAE;AAAA,IAC7D;AAAA;AAAA;AAAA,EAGa,KAAK,IAAY,WAA0B;AAAA;AACpD,aAAO,KAAK,OAAO,KAAK,iBAAiB,EAAE,IAAI,SAAS,EAAE;AAAA,IAC9D;AAAA;AAAA;AAAA,EAGa,UAAU;AAAA;AACnB,aAAO,KAAK,OAAO,IAAI,qBAAqB;AAAA,IAChD;AAAA;AAAA;AAAA,EAGa,gBAAgB;AAAA;AACzB,aAAO,KAAK,OAAO,IAAI,2BAA2B;AAAA,IACtD;AAAA;AAAA;AAAA,EAGa,WAAW;AAAA;AACpB,aAAO,KAAK,OAAO,IAAI,yBAAyB;AAAA,IACpD;AAAA;AAAA;AAAA,EAGa,SAAS;AAAA;AAClB,aAAO,KAAK,OAAO,KAAK,iBAAiB;AAAA,IAC7C;AAAA;AAAA;AAAA,EAGa,QAAQ;AAAA;AACjB,aAAO,KAAK,OAAO,KAAK,gBAAgB;AAAA,IAC5C;AAAA;AAAA;AAAA,EAGa,aAAa;AAAA;AACtB,aAAO,KAAK,OAAO,KAAK,qBAAqB;AAAA,IACjD;AAAA;AAAA;AAAA,EAGa,OAAO;AAAA;AAChB,aAAO,KAAK,OAAO,IAAI,0BAA0B;AAAA,IACrD;AAAA;AAAA;AAAA,EAGa,QAAQ,MAAc;AAAA;AAC/B,aAAO,KAAK,OAAO,IAAI,uBAAuB,IAAI,EAAE;AAAA,IACxD;AAAA;AAAA;AAAA,EAGa,YAAY,MAAc,OAAY;AAAA;AAC/C,aAAO,KAAK,OAAO,KAAK,+BAA+B,IAAI,IAAI,EAAE,MAAM,CAAC;AAAA,IAC5E;AAAA;AAAA;AAAA,EAGa,OAAO,QAA4B;AAAA;AAC5C,aAAO,KAAK,OAAO,KAAK,mBAAmB,MAAM;AAAA,IACrD;AAAA;AAEJ;;;ACpFA,IAAqB,UAArB,cAAqC,SAAS;AAAA;AAAA,EAG7B,OAAO;AAAA;AAChB,aAAO,KAAK,OAAO,IAAI,qBAAqB;AAAA,IAChD;AAAA;AAAA;AAAA,EAGa,MAAM,MAAkB;AAAA;AACjC,aAAO,KAAK,OAAO,KAAK,wBAAwB,IAAI,EAAE;AAAA,IAC1D;AAAA;AAAA;AAAA,EAGa,KAAK,KAAa;AAAA;AAC3B,aAAO,KAAK,OAAO,KAAK,uBAAuB,GAAG,EAAE;AAAA,IACxD;AAAA;AAAA;AAAA,EAGa,UAAU;AAAA;AACnB,aAAO,KAAK,OAAO,KAAK,yBAAyB;AAAA,IACrD;AAAA;AAAA;AAAA,EAGa,UAAU;AAAA;AACnB,aAAO,KAAK,OAAO,KAAK,yBAAyB;AAAA,IACrD;AAAA;AAAA;AAAA,EAGa,cAAc;AAAA;AACvB,aAAO,KAAK,OAAO,KAAK,6BAA6B;AAAA,IACzD;AAAA;AAEJ;;;APzBO,IAAM,SAAN,MAAa;AAAA,EAWhB,YACqB,aACA,QACA,aAA0B,IAAI,MAAM,MAAM,EAAE,oBAAoB,MAAM,CAAC,GAC1F;AAHmB;AACA;AACA;AAVrB,SAAgB,SAAiB,IAAI,OAAO,IAAI;AAChD,SAAgB,aAAyB,IAAI,WAAW,IAAI;AAC5D,SAAgB,QAAe,IAAI,MAAM,IAAI;AAC7C,SAAgB,gBAA+B,IAAI,cAAc,IAAI;AACrE,SAAgB,UAAmB,IAAI,QAAQ,IAAI;AACnD,SAAgB,UAAmB,IAAI,QAAQ,IAAI;AAO/C,SAAK,cAAc;AACnB,SAAK,SAAS;AAEd,SAAK,SAAS,MAAM,OAAO;AAAA,MACvB,SAAS,KAAK;AAAA,MACd,YAAY,KAAK;AAAA,MACjB,SAAS;AAAA,QACL,iBAAiB,GAAG,KAAK,MAAM;AAAA,QAC/B,UAAU;AAAA,MACd;AAAA,IACJ,CAAC;AAAA,EACL;AAAA,EAEM,IAAI,MAAc;AAAA;AACpB,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,IAAI;AAC3C,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEM,KAAK,IAA8B;AAAA,+CAA9B,MAAc,OAAY,CAAC,GAAG;AACrC,YAAM,WAAW,MAAM,KAAK,OAAO,KAAK,MAAM,IAAI;AAClD,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEM,OAAO,MAAc;AAAA;AACvB,YAAM,WAAW,MAAM,KAAK,OAAO,OAAO,IAAI;AAC9C,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEM,IAAI,MAAc,MAAW;AAAA;AAC/B,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,MAAM,IAAI;AACjD,aAAO,SAAS;AAAA,IACpB;AAAA;AAAA,EAEM,aAAa;AAAA;AACf,YAAM,WAAW,MAAM,KAAK,OAAO,IAAI,qBAAqB;AAE5D,aAAO,SAAS;AAAA,IACpB;AAAA;AAEJ;","names":[]}
{
"name": "misp",
"version": "0.0.2",
"version": "0.0.3",
"main": "dist/index.js",

@@ -5,0 +5,0 @@ "types": "dist/index.d.ts",

@@ -5,2 +5,4 @@ # misp

The library is built in TypeScript and is compatible with both CommonJS and ES Modules.
> This is a work in progress project and implements just a few resources for now.

@@ -17,5 +19,14 @@

```javascript
import { Client } from 'misp';
const { Client } = require('misp');
const client = new Client('https://misp.example.com', 'your-api-key');
```
// Retrieve all events
client.events.list().then((events) => {
console.log(events);
});
```
## License
This project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for more details.