Skip to content

Commit ef908f7

Browse files
adding retrieveEntities module
1 parent 36d4538 commit ef908f7

File tree

4 files changed

+21
-10
lines changed

4 files changed

+21
-10
lines changed

src/dynamics-web-api.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import {
1919
fetchXmlAll,
2020
retrieve,
2121
retrieveAll,
22+
retrieveEntities,
2223
retrieveEntity,
2324
retrieveMultiple,
2425
update,
@@ -268,14 +269,7 @@ export class DynamicsWebApi {
268269
* @param request - An object that represents all possible options for a current request.
269270
* @returns {Promise} D365 Web Api Response
270271
*/
271-
retrieveEntities = <T = any>(request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => {
272-
const internalRequest: InternalRequest = !request ? {} : copyRequest(request);
273-
274-
internalRequest.collection = "EntityDefinitions";
275-
internalRequest.functionName = "retrieveEntities";
276-
277-
return this.retrieveMultiple(<RetrieveMultipleRequest>internalRequest);
278-
};
272+
retrieveEntities = <T = any>(request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => retrieveEntities(this.#client, request);
279273

280274
/**
281275
* Sends an asynchronous request to create an attribute.

src/requests/index.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,5 @@ export * from "./downloadFile";
2222
//metadata requests
2323
export * from "./metadata/createEntity";
2424
export * from "./metadata/updateEntity";
25-
export * from "./metadata/retrieveEntity";
25+
export * from "./metadata/retrieveEntity";
26+
export * from "./metadata/retrieveEntities";
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import type { IDataverseClient } from "../../client/dataverse";
2+
import type { RetrieveEntitiesRequest, RetrieveMultipleResponse, RetrieveMultipleRequest } from "../../dynamics-web-api";
3+
import type { InternalRequest } from "../../types";
4+
import { copyRequest } from "../../utils/Utility";
5+
import { retrieveMultiple } from "../retrieveMultiple";
6+
7+
const FUNCTION_NAME = "retrieveEntities";
8+
9+
export const retrieveEntities = <T = any>(client: IDataverseClient, request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => {
10+
const internalRequest: InternalRequest = !request ? {} : copyRequest(request);
11+
12+
internalRequest.collection = "EntityDefinitions";
13+
internalRequest.functionName = FUNCTION_NAME;
14+
15+
return retrieveMultiple(<RetrieveMultipleRequest>internalRequest, client);
16+
};

src/requests/update.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export const update = async <TData = any>(request: UpdateRequest<TData>, client:
3232
} catch (error: any) {
3333
if (ifmatch && error.status === 412) {
3434
//precondition failed - not updated
35-
return <any>false; //todo: check this
35+
return false as any; //todo: check this
3636
}
3737
//rethrow error otherwise
3838
throw error;

0 commit comments

Comments
 (0)