Skip to content

Commit aa677ab

Browse files
committed
Add method for deleteData
Signed-off-by: Andrew Richardson <[email protected]>
1 parent 1f989c6 commit aa677ab

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

lib/firefly.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ import {
7676
FireFlyUpdateIdentityRequest,
7777
FireFlyReplaceOptions,
7878
FireFlyUpdateOptions,
79+
FireFlyDeleteOptions,
7980
} from './interfaces';
8081
import { FireFlyWebSocket, FireFlyWebSocketCallback } from './websocket';
8182
import HttpBase, { mapConfig } from './http';
@@ -207,8 +208,8 @@ export default class FireFly extends HttpBase {
207208
return this.replaceOne<FireFlySubscriptionResponse>('/subscriptions', sub, options);
208209
}
209210

210-
async deleteSubscription(subId: string) {
211-
await this.deleteOne(`/subscriptions/${subId}`);
211+
async deleteSubscription(subId: string, options?: FireFlyDeleteOptions) {
212+
await this.deleteOne(`/subscriptions/${subId}`, options);
212213
}
213214

214215
getData(id: string, options?: FireFlyGetOptions): Promise<FireFlyDataResponse | undefined> {
@@ -276,6 +277,10 @@ export default class FireFly extends HttpBase {
276277
return this.createOne<FireFlyDataResponse>(`/data/${id}/blob/publish`, {}, options);
277278
}
278279

280+
async deleteData(id: string, options?: FireFlyDeleteOptions) {
281+
await this.deleteOne(`/data/${id}`, options);
282+
}
283+
279284
getBatches(
280285
filter?: FireFlyBatchFilter,
281286
options?: FireFlyGetOptions,

lib/http.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
FireFlyError,
88
FireFlyReplaceOptions,
99
FireFlyUpdateOptions,
10+
FireFlyDeleteOptions,
1011
} from './interfaces';
1112

1213
function isSuccess(status: number) {
@@ -19,6 +20,7 @@ export function mapConfig(
1920
| FireFlyUpdateOptions
2021
| FireFlyReplaceOptions
2122
| FireFlyCreateOptions
23+
| FireFlyDeleteOptions
2224
| undefined,
2325
params?: any,
2426
): AxiosRequestConfig {
@@ -115,8 +117,8 @@ export default class HttpBase {
115117
return response.data;
116118
}
117119

118-
protected async deleteOne<T>(url: string) {
119-
await this.wrapError(this.http.delete<T>(url));
120+
protected async deleteOne<T>(url: string, options?: FireFlyDeleteOptions) {
121+
await this.wrapError(this.http.delete<T>(url, mapConfig(options)));
120122
}
121123

122124
onError(handler: (err: FireFlyError) => void) {

lib/interfaces.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ interface FireFlyBaseHttpOptions {
2828
export interface FireFlyGetOptions extends FireFlyBaseHttpOptions {}
2929
export interface FireFlyUpdateOptions extends FireFlyBaseHttpOptions {}
3030
export interface FireFlyReplaceOptions extends FireFlyBaseHttpOptions {}
31+
export interface FireFlyDeleteOptions extends FireFlyBaseHttpOptions {}
3132

3233
export interface FireFlyCreateOptions extends FireFlyBaseHttpOptions {
3334
confirm?: boolean;

0 commit comments

Comments
 (0)