diff --git a/packages/ecc-client-elixir-drs-filer/src/API/Object/README.md b/packages/ecc-client-elixir-drs-filer/src/API/Object/README.md index 1bac5d9e..eab18862 100644 --- a/packages/ecc-client-elixir-drs-filer/src/API/Object/README.md +++ b/packages/ecc-client-elixir-drs-filer/src/API/Object/README.md @@ -14,6 +14,17 @@ Posts/Create a new object. | | | This should be an object containing the necessary fields for the object. | | | | Modify the structure according to your object requirements. | +## deleteObject + +Deletes a specific DRS object. + +**API Request Body** + +| Parameter | Type | Description | +| --------- | ------ | ------------------------------ | +| `baseURL` | string | Base URL for deleting object | +| `id` | string | ID of the object to be deleted | + ![Logo]('./../../../../images/logo-elixir.svg) ![Logo]('./../../../../images/logo-elixir-cloud-aai.svg) diff --git a/packages/ecc-client-elixir-drs-filer/src/API/Object/drsAPI.ts b/packages/ecc-client-elixir-drs-filer/src/API/Object/drsAPI.ts index 5c907ebb..73a0beca 100644 --- a/packages/ecc-client-elixir-drs-filer/src/API/Object/drsAPI.ts +++ b/packages/ecc-client-elixir-drs-filer/src/API/Object/drsAPI.ts @@ -1,3 +1,11 @@ +/** + * Posts a new drs object. + * @param {string} baseURL - The base URL for posting the drs object. + * @param {object} objectData - The data of the drs object to be posted. + * This should be an object containing the necessary fields for the drs object. + * Modify the structure according to your object requirements. + * @returns {string} - A string that denotes the object id + */ const postObject = async (baseURL: string, objectData: object) => { const url = `${baseURL}/objects`; @@ -28,4 +36,33 @@ const postObject = async (baseURL: string, objectData: object) => { } }; -export { postObject }; +/** + *This method deletes a specific object + * @param id ID of the drs obeject to be deleted + */ +const deleteObject = async (baseURL: string, id: string) => { + const url = `${baseURL}/objects/${id}`; + try { + const response = await fetch(url, { + method: "DELETE", + }); + + if (!response) { + return { + isError: true, + breakpoint: "deleteObject", + error: "No response from server", + }; + } + + return await response.json(); + } catch (error) { + return { + isError: true, + breakpoint: "deleteObject", + error, + }; + } +}; + +export { postObject, deleteObject }; diff --git a/packages/ecc-client-elixir-drs-filer/src/API/index.ts b/packages/ecc-client-elixir-drs-filer/src/API/index.ts index 5b70c0f5..af76a728 100644 --- a/packages/ecc-client-elixir-drs-filer/src/API/index.ts +++ b/packages/ecc-client-elixir-drs-filer/src/API/index.ts @@ -1 +1 @@ -import "./Object/drsAPI.js"; +import "./Object/drsAPI.js"; \ No newline at end of file