+61
-8
@@ -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 }; |
+61
-8
@@ -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 }; |
+181
-0
@@ -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 +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"]} |
+181
-0
@@ -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":"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","names":[]} |
+1
-1
| { | ||
| "name": "misp", | ||
| "version": "0.0.2", | ||
| "version": "0.0.3", | ||
| "main": "dist/index.js", | ||
@@ -5,0 +5,0 @@ "types": "dist/index.d.ts", |
+13
-2
@@ -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. |
83859
41.5%1152
54.01%30
57.89%