From dcef719a7c6dca35840e4df9a0f508e11c1f1b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 10:46:45 +0100 Subject: [PATCH 1/6] Updated the example for getBoEntities --- .../src/entities/get-entities/get-entities.ts | 33 +++---------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/packages/business-objects/src/entities/get-entities/get-entities.ts b/packages/business-objects/src/entities/get-entities/get-entities.ts index e4cd8658..962078eb 100644 --- a/packages/business-objects/src/entities/get-entities/get-entities.ts +++ b/packages/business-objects/src/entities/get-entities/get-entities.ts @@ -72,8 +72,8 @@ export function _getBoEntitiesFactory( } /** - * Returns all specified entities from a model. - * @template E Type for Entity. Defaults to `any`. + * Returns all specified entities from a model. This result might be partial due to the default page size. + * You can navigate to the next pages using the function ```getNextPage```. If the function is undefined, the page does not exist. * * @example * ```typescript @@ -86,32 +86,9 @@ export function _getBoEntitiesFactory( * modelName: "HOSPITALBASEDATA", * pluralEntityName: "employees", * }); - * console.log(employees); // [{ employeeId: '1', firstName: 'John Micheal', lastName: 'Dorian', jobTitel: 'senior physician' }, { employeeId: '2', firstName: 'Christopher', lastName: 'Turk', jobTitel: 'chief surgeon' }] - * ``` - * --- - * You can also use generics: - * @example - * ```typescript - * import { getBoEntities } from "@dvelop-sdk/business-objects"; - * - * interface Employee { - * employeeId: string; - * firstName: string; - * lastName: string; - * jobTitel: string; - * } - * - * const employees: Employee[] = await getBoEntities({ - * systemBaseUri: "https://sacred-heart-hospital.d-velop.cloud", - * authSessionId: "3f3c428d452" - * },{ - * modelName: "HOSPITALBASEDATA", - * pluralEntityName: "employees" - * }); - * - * employees.forEach(e => console.log(e.lastName)); - * // Dorian - * // Turk + * console.log(employees.value); // [{ employeeId: '1', firstName: 'John Micheal', lastName: 'Dorian', jobTitel: 'senior physician' }, { employeeId: '2', firstName: 'Christopher', lastName: 'Turk', jobTitel: 'chief surgeon' }] + * let nextPage = await employees.getNextPage(); + * console.log(nextPage?.value.length); * ``` */ /* istanbul ignore next */ From c7c2b03fe96d9f6c3b4d3a4457e1329f3bd67bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 11:16:39 +0100 Subject: [PATCH 2/6] Rename Result Type --- .../src/entities/get-entities/get-entities.ts | 14 +++++++------- packages/business-objects/src/index.ts | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/business-objects/src/entities/get-entities/get-entities.ts b/packages/business-objects/src/entities/get-entities/get-entities.ts index 962078eb..0aed65cd 100644 --- a/packages/business-objects/src/entities/get-entities/get-entities.ts +++ b/packages/business-objects/src/entities/get-entities/get-entities.ts @@ -16,11 +16,11 @@ export interface GetBoEntitiesParams { * Page of a searchResult. There might be more than one page. * @category Entity */ -export interface GetEntitiesResultPage { +export interface GetBoEntitiesResultPage { /** Array of entitiess found */ value: E[] /** Function that returns the next page. Undefined if there is none. */ - getNextPage?: () => Promise>; + getNextPage?: () => Promise>; } /** @@ -29,10 +29,10 @@ export interface GetEntitiesResultPage { * @internal * @category Entity */ -export function _getBoEntitiesDefaultTransformFunctionFactory(httpRequestFunction: (context: DvelopContext, config: HttpConfig) => Promise): (response: HttpResponse, context: DvelopContext, params: GetBoEntitiesParams) => GetEntitiesResultPage { +export function _getBoEntitiesDefaultTransformFunctionFactory(httpRequestFunction: (context: DvelopContext, config: HttpConfig) => Promise): (response: HttpResponse, context: DvelopContext, params: GetBoEntitiesParams) => GetBoEntitiesResultPage { return (response: HttpResponse, context: DvelopContext, params: GetBoEntitiesParams) => { - let result: GetEntitiesResultPage = { + let result: GetBoEntitiesResultPage = { value: response.data.value }; @@ -58,8 +58,8 @@ export function _getBoEntitiesDefaultTransformFunctionFactory(httpRequestFunc */ export function _getBoEntitiesFactory( httpRequestFunction: (context: DvelopContext, config: HttpConfig) => Promise, - transformFunction: (response: HttpResponse, context: DvelopContext, params: GetBoEntitiesParams) => GetEntitiesResultPage -): (context: DvelopContext, params: GetBoEntitiesParams) => Promise> { + transformFunction: (response: HttpResponse, context: DvelopContext, params: GetBoEntitiesParams) => GetBoEntitiesResultPage +): (context: DvelopContext, params: GetBoEntitiesParams) => Promise> { return async (context: DvelopContext, params: GetBoEntitiesParams) => { const response = await httpRequestFunction(context, { @@ -92,6 +92,6 @@ export function _getBoEntitiesFactory( * ``` */ /* istanbul ignore next */ -export async function getBoEntities(context: DvelopContext, params: GetBoEntitiesParams): Promise> { +export async function getBoEntities(context: DvelopContext, params: GetBoEntitiesParams): Promise> { return await _getBoEntitiesFactory(_defaultHttpRequestFunction, _getBoEntitiesDefaultTransformFunctionFactory(_defaultHttpRequestFunction))(context, params); } \ No newline at end of file diff --git a/packages/business-objects/src/index.ts b/packages/business-objects/src/index.ts index 292991b9..12d23f2b 100644 --- a/packages/business-objects/src/index.ts +++ b/packages/business-objects/src/index.ts @@ -29,7 +29,7 @@ export { DvelopContext, BadInputError, UnauthorizedError, ForbiddenError, NotFou export { BusinessObjectsError } from "./utils/http"; export * as internals from "./internal"; -export { GetBoEntitiesParams, getBoEntities, GetEntitiesResultPage } from "./entities/get-entities/get-entities"; +export { GetBoEntitiesParams, getBoEntities, GetBoEntitiesResultPage } from "./entities/get-entities/get-entities"; export { GetBoEntityParams, getBoEntity } from "./entities/get-entity/get-entity"; export { CreateBoEntityParams, createBoEntity } from "./entities/create-entity/create-entity"; export { UpdateBoEntityParams, updateBoEntity } from "./entities/update-entity/update-entity"; From f8ccfe11709d8f16818a1aad7075d6b596ed2ca5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 11:35:00 +0100 Subject: [PATCH 3/6] Added examples for getBoEntities --- .../src/entities/get-entities/get-entities.ts | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/packages/business-objects/src/entities/get-entities/get-entities.ts b/packages/business-objects/src/entities/get-entities/get-entities.ts index 0aed65cd..b48d140b 100644 --- a/packages/business-objects/src/entities/get-entities/get-entities.ts +++ b/packages/business-objects/src/entities/get-entities/get-entities.ts @@ -79,16 +79,54 @@ export function _getBoEntitiesFactory( * ```typescript * import { getBoEntities } from "@dvelop-sdk/business-objects"; * - * const employees = await getBoEntities({ + * const resultPage: GetEntitiesResultPage = await getBoEntities({ * systemBaseUri: "https://sacred-heart-hospital.d-velop.cloud", * authSessionId: "3f3c428d452" * },{ * modelName: "HOSPITALBASEDATA", * pluralEntityName: "employees", * }); - * console.log(employees.value); // [{ employeeId: '1', firstName: 'John Micheal', lastName: 'Dorian', jobTitel: 'senior physician' }, { employeeId: '2', firstName: 'Christopher', lastName: 'Turk', jobTitel: 'chief surgeon' }] - * let nextPage = await employees.getNextPage(); - * console.log(nextPage?.value.length); + * + * let employees = await resultPage.value; + * + * // Use this for paging + * while (resultPage.getNextPage) { + * const nextPage: GetBoEntitiesResultPage = await resultPage.getNextPage(); + * employees = employees.concat(nextPage.value); + * } + * ``` + * --- + * You can also use generics: + * * @example + * ```typescript + * import { getBoEntities } from "@dvelop-sdk/business-objects"; + * + * interface Employee { + * employeeId: string; + * firstName: string; + * lastName: string; + * jobTitel: string; + * } + * + * const resultPage: GetBoEntitiesResultPage = await getBoEntities({ + * systemBaseUri: "https://sacred-heart-hospital.d-velop.cloud", + * authSessionId: "3f3c428d452" + * }, { + * modelName: "HOSPITALBASEDATA", + * pluralEntityName: "employees", + * }); + * + * let employees: Employee[] = await resultPage.value; + * + * // Use this for paging + * while (resultPage.getNextPage) { + * const nextPage: GetBoEntitiesResultPage = await resultPage.getNextPage(); + * employees = employees.concat(nextPage.value); + * } + * + * employees.forEach(e => console.log(e.lastName)); + * // Dorian + * // Turk * ``` */ /* istanbul ignore next */ From 68f4ace0c6ff282e17db2953972243c24f2abe4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 11:48:07 +0100 Subject: [PATCH 4/6] updated comments --- .../src/entities/get-entities/get-entities.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/business-objects/src/entities/get-entities/get-entities.ts b/packages/business-objects/src/entities/get-entities/get-entities.ts index b48d140b..14fb6ebe 100644 --- a/packages/business-objects/src/entities/get-entities/get-entities.ts +++ b/packages/business-objects/src/entities/get-entities/get-entities.ts @@ -84,7 +84,7 @@ export function _getBoEntitiesFactory( * authSessionId: "3f3c428d452" * },{ * modelName: "HOSPITALBASEDATA", - * pluralEntityName: "employees", + * pluralEntityName: "employees" * }); * * let employees = await resultPage.value; @@ -113,7 +113,7 @@ export function _getBoEntitiesFactory( * authSessionId: "3f3c428d452" * }, { * modelName: "HOSPITALBASEDATA", - * pluralEntityName: "employees", + * pluralEntityName: "employees" * }); * * let employees: Employee[] = await resultPage.value; From a4238edb2ef130f308ee677d360cfeb3589192c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 11:53:14 +0100 Subject: [PATCH 5/6] updated new name for function in unittests --- .../src/entities/get-entities/get-entities.spec.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/business-objects/src/entities/get-entities/get-entities.spec.ts b/packages/business-objects/src/entities/get-entities/get-entities.spec.ts index 21590823..d526242c 100644 --- a/packages/business-objects/src/entities/get-entities/get-entities.spec.ts +++ b/packages/business-objects/src/entities/get-entities/get-entities.spec.ts @@ -1,5 +1,5 @@ import { DvelopContext, DvelopHttpResponse as HttpResponse } from "@dvelop-sdk/core"; -import { GetBoEntitiesParams, _getBoEntitiesDefaultTransformFunctionFactory, _getBoEntitiesFactory, GetEntitiesResultPage } from "./get-entities"; +import { GetBoEntitiesParams, _getBoEntitiesDefaultTransformFunctionFactory, _getBoEntitiesFactory, GetBoEntitiesResultPage } from "./get-entities"; describe("getBoEntitiesFactory", () => { @@ -74,7 +74,7 @@ describe("getBoEntitiesFactory", () => { mockHttpRequestFunction.mockResolvedValue({ data: response } as HttpResponse); const getBoEntities = _getBoEntitiesFactory(mockHttpRequestFunction, _getBoEntitiesDefaultTransformFunctionFactory(mockHttpRequestFunction)); - const result: GetEntitiesResultPage = await getBoEntities(context, params); + const result: GetBoEntitiesResultPage = await getBoEntities(context, params); response.value.forEach((entity: any, i: number) => { expect(result.value[i]).toHaveProperty("employeeid", entity.employeeid); @@ -99,7 +99,7 @@ describe("getBoEntitiesFactory", () => { mockHttpRequestFunction.mockResolvedValue({ data: response } as HttpResponse); const getBoEntities = _getBoEntitiesFactory(mockHttpRequestFunction, _getBoEntitiesDefaultTransformFunctionFactory(mockHttpRequestFunction)); - const result: GetEntitiesResultPage = await getBoEntities(context, params); + const result: GetBoEntitiesResultPage = await getBoEntities(context, params); expect(result).toHaveProperty("getNextPage"); @@ -134,7 +134,7 @@ describe("getBoEntitiesFactory", () => { mockHttpRequestFunction.mockResolvedValue({ data: response } as HttpResponse); const getBoEntities = _getBoEntitiesFactory(mockHttpRequestFunction, _getBoEntitiesDefaultTransformFunctionFactory(mockHttpRequestFunction)); - const result: GetEntitiesResultPage = await getBoEntities(context, params); + const result: GetBoEntitiesResultPage = await getBoEntities(context, params); expect(result).toHaveProperty("value"); expect(result.value).toHaveLength(0); From a90cb408b08e3169c8817aa6a3d85e5eefe13bf7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bargen=20J=C3=BCrgen?= Date: Tue, 27 Jan 2026 11:59:57 +0100 Subject: [PATCH 6/6] raise version --- package-lock.json | 2 +- packages/business-objects/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 94bb6dff..6f1e8193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7276,7 +7276,7 @@ }, "packages/business-objects": { "name": "@dvelop-sdk/business-objects", - "version": "2.0.0", + "version": "2.0.1", "license": "Apache-2.0", "dependencies": { "@dvelop-sdk/core": "^2.2.0" diff --git a/packages/business-objects/package.json b/packages/business-objects/package.json index 47642036..cb740867 100644 --- a/packages/business-objects/package.json +++ b/packages/business-objects/package.json @@ -1,7 +1,7 @@ { "name": "@dvelop-sdk/business-objects", "description": "This package contains functionality for the BusinessObjects-App in the d.velop cloud.", - "version": "2.0.0", + "version": "2.0.1", "license": "Apache-2.0", "main": "lib/index.js", "types": "lib/index.d.ts",