Skip to content

Commit c5cb401

Browse files
committed
First attempt at getActivities
1 parent 5f5054e commit c5cb401

File tree

4 files changed

+93
-12
lines changed

4 files changed

+93
-12
lines changed

package-lock.json

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

src/OFS.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import {
1414
OFSPropertyListResponse,
1515
OFSGetPropertiesParams,
1616
OFSTimeslotsResponse,
17+
OFSGetActivitiesParams,
1718
} from "./model";
1819

1920
export * from "./model";
@@ -77,6 +78,9 @@ export class OFS {
7778
const urlSearchParams = new URLSearchParams(params);
7879
theURL.search = urlSearchParams.toString();
7980
}
81+
console.log(theURL.toString());
82+
console.log(params);
83+
console.log(theURL.search);
8084
var myHeaders = new Headers();
8185
myHeaders.append("Authorization", this.authorization);
8286
extraHeaders.forEach((value, key) => {
@@ -566,6 +570,20 @@ export class OFS {
566570
return this._get(partialURL);
567571
}
568572

573+
// Core: Activities Management
574+
async getActivities(
575+
params: OFSGetActivitiesParams,
576+
offset: number = 0,
577+
limit: number = 100
578+
): Promise<OFSResponse> {
579+
const partialURL = "/rest/ofscCore/v1/activities";
580+
return this._get(partialURL, {
581+
...params,
582+
offset: offset,
583+
limit: limit,
584+
});
585+
}
586+
569587
// Metadata: Plugin Management
570588
async importPlugins(file?: PathLike, data?: string): Promise<OFSResponse> {
571589
const partialURL =

src/model.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,3 +163,13 @@ export class OFSPropertyListResponse extends OFSResponse {
163163
export class OFSTimeslotsResponse extends OFSResponse {
164164
data: OFSTimeslotsList = new OFSTimeslotsList();
165165
}
166+
167+
export interface OFSGetActivitiesParams {
168+
resources: string;
169+
dateFrom?: string;
170+
dateTo?: string;
171+
fields?: string;
172+
includeChildren?: string;
173+
includeNonScheduled?: boolean;
174+
q?: string;
175+
}

test/general/core.activities.test.ts

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,3 +277,54 @@ test("Get File Property (Full Binary)", async () => {
277277
throw error;
278278
}
279279
});
280+
281+
test("Get Activities", async () => {
282+
var result = await myProxy.getActivities(
283+
{
284+
resources: "SUNRISE",
285+
dateFrom: "2025-02-01",
286+
dateTo: "2025-04-02",
287+
},
288+
0,
289+
100
290+
);
291+
console.log(result);
292+
expect(result.status).toBe(200);
293+
expect(result.data.items.length).toBeGreaterThan(0);
294+
expect(result.data.items[0].activityId).toBeGreaterThan(0);
295+
});
296+
297+
test("Get Activities with includeChildren", async () => {
298+
var result = await myProxy.getActivities(
299+
{
300+
resources: "SUNRISE",
301+
dateFrom: "2025-02-01",
302+
dateTo: "2025-04-02",
303+
includeChildren: "all",
304+
},
305+
0,
306+
100
307+
);
308+
console.log(result);
309+
expect(result.status).toBe(200);
310+
expect(result.data.items.length).toBeGreaterThan(0);
311+
expect(result.data.items[0].activityId).toBeGreaterThan(0);
312+
});
313+
314+
test("Get Activities with all the parameters", async () => {
315+
var result = await myProxy.getActivities(
316+
{
317+
resources: "SUNRISE",
318+
dateFrom: "2025-02-01",
319+
dateTo: "2025-04-02",
320+
includeChildren: "all",
321+
includeNonScheduled: true,
322+
},
323+
0,
324+
100
325+
);
326+
console.log(result);
327+
expect(result.status).toBe(200);
328+
expect(result.data.items.length).toBeGreaterThan(0);
329+
expect(result.data.items[0].activityId).toBeGreaterThan(0);
330+
});

0 commit comments

Comments
 (0)