Skip to content

Commit

Permalink
adding retrieveEntities module
Browse files Browse the repository at this point in the history
  • Loading branch information
AleksandrRogov committed Feb 17, 2025
1 parent 36d4538 commit ef908f7
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 10 deletions.
10 changes: 2 additions & 8 deletions src/dynamics-web-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import {
fetchXmlAll,
retrieve,
retrieveAll,
retrieveEntities,
retrieveEntity,
retrieveMultiple,
update,
Expand Down Expand Up @@ -268,14 +269,7 @@ export class DynamicsWebApi {
* @param request - An object that represents all possible options for a current request.
* @returns {Promise} D365 Web Api Response
*/
retrieveEntities = <T = any>(request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => {
const internalRequest: InternalRequest = !request ? {} : copyRequest(request);

internalRequest.collection = "EntityDefinitions";
internalRequest.functionName = "retrieveEntities";

return this.retrieveMultiple(<RetrieveMultipleRequest>internalRequest);
};
retrieveEntities = <T = any>(request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => retrieveEntities(this.#client, request);

/**
* Sends an asynchronous request to create an attribute.
Expand Down
3 changes: 2 additions & 1 deletion src/requests/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,4 +22,5 @@ export * from "./downloadFile";
//metadata requests
export * from "./metadata/createEntity";
export * from "./metadata/updateEntity";
export * from "./metadata/retrieveEntity";
export * from "./metadata/retrieveEntity";
export * from "./metadata/retrieveEntities";
16 changes: 16 additions & 0 deletions src/requests/metadata/retrieveEntities.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import type { IDataverseClient } from "../../client/dataverse";
import type { RetrieveEntitiesRequest, RetrieveMultipleResponse, RetrieveMultipleRequest } from "../../dynamics-web-api";
import type { InternalRequest } from "../../types";
import { copyRequest } from "../../utils/Utility";
import { retrieveMultiple } from "../retrieveMultiple";

const FUNCTION_NAME = "retrieveEntities";

export const retrieveEntities = <T = any>(client: IDataverseClient, request?: RetrieveEntitiesRequest): Promise<RetrieveMultipleResponse<T>> => {
const internalRequest: InternalRequest = !request ? {} : copyRequest(request);

internalRequest.collection = "EntityDefinitions";
internalRequest.functionName = FUNCTION_NAME;

return retrieveMultiple(<RetrieveMultipleRequest>internalRequest, client);
};
2 changes: 1 addition & 1 deletion src/requests/update.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ export const update = async <TData = any>(request: UpdateRequest<TData>, client:
} catch (error: any) {
if (ifmatch && error.status === 412) {
//precondition failed - not updated
return <any>false; //todo: check this
return false as any; //todo: check this
}
//rethrow error otherwise
throw error;
Expand Down

0 comments on commit ef908f7

Please sign in to comment.