Skip to content

Commit 2306f0c

Browse files
authored
Merge pull request #38 from oracle-samples/37-add-limit-in-get-all-activities-and-check-hasmore-to-finish-the-loop
37 add limit in get all activities and check hasmore to finish the loop
2 parents f33e459 + 5924728 commit 2306f0c

File tree

4 files changed

+11
-12
lines changed

4 files changed

+11
-12
lines changed

package-lock.json

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
],
66
"name": "@ofs-users/proxy",
77
"type": "module",
8-
"version": "1.15.0",
8+
"version": "1.15.2",
99
"description": "A Javascript proxy to access Oracle Field Service via REST API",
1010
"main": "dist/ofs.es.js",
1111
"module": "dist/ofs.es.js",

src/OFS.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -614,11 +614,14 @@ export class OFS {
614614
* Retrieves all activities from the OFS API.
615615
* @returns An object containing all activities.
616616
*/
617-
async getAllActivities(params: OFSGetActivitiesParams) {
617+
async getAllActivities(
618+
params: OFSGetActivitiesParams,
619+
limit: number = 1000
620+
) {
618621
const partialURL = "/rest/ofscCore/v1/activities";
619622
// Start with offset 0 and keep getting results until we get less than 100
620623
var offset = 0;
621-
var limit = 100;
624+
622625
var result: any = undefined;
623626
var allResults: any = {
624627
status: 200,
@@ -633,21 +636,21 @@ export class OFS {
633636
offset: offset,
634637
limit: limit,
635638
});
636-
if (result.status < 400) {
639+
if (result.status == 200) {
637640
if (allResults.totalResults == 0) {
638641
allResults = result.data;
639642
allResults.status = 200;
640643
} else {
641644
allResults.items = allResults.items.concat(
642645
result.data.items
643646
);
644-
allResults.totalResults = allResults.items.length;
645647
}
648+
allResults.totalResults = allResults.items.length;
646649
offset += limit;
647650
} else {
648651
return result;
649652
}
650-
} while (result.data.items.length == limit);
653+
} while (result.data.hasMore == true);
651654
return allResults;
652655
}
653656
// Metadata: Plugin Management

test/general/core.activities.test.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -343,11 +343,7 @@ test("Get All Activities with all the parameters", async () => {
343343
includeChildren: "all",
344344
includeNonScheduled: true,
345345
});
346-
if (result.status !== 200) {
347-
console.log(result);
348-
}
349346
expect(result.status).toBe(200);
350-
expect(result.totalResults).toBeGreaterThan(0);
351347
expect(result.items.length).toBeGreaterThan(0);
352348
expect(result.items[0].activityId).toBeGreaterThan(0);
353349
});

0 commit comments

Comments
 (0)