ofsc-utility 1.0.52 → 1.0.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
10
10
  - version 1.0.46
11
11
 
12
12
  ### Added
13
+ - add getAllNonScheduledActivities function
14
+ - Bump version to 1.0.52 and add activity lifecycle actions
13
15
  - update version to 1.0.51 and add user/inventory type management functions
14
16
  - Bump version to 1.0.50 and add new export functions
15
17
  - add user management methods for standalone OFSC
@@ -11,7 +11,7 @@ async function startActivity(clientId, clientSecret, instanceUrl, activityId, to
11
11
  }
12
12
  const url = `https://${instanceUrl}.fs.ocs.oraclecloud.com/rest/ofscCore/v1/activities/${Number(activityId)}/custom-actions/start`;
13
13
  console.log(`➡️ Fetching activity by ID: ${url}`);
14
- const response = await (0, utilities_1.fetchWithRetry)(url, clientId, clientSecret, instanceUrl, token);
14
+ const response = await (0, utilities_1.fetchPostWithRetry)(url, clientId, clientSecret, instanceUrl, token, {});
15
15
  return response;
16
16
  }
17
17
  async function cancelActivity(clientId, clientSecret, instanceUrl, activityId, token = "") {
@@ -20,7 +20,7 @@ async function cancelActivity(clientId, clientSecret, instanceUrl, activityId, t
20
20
  }
21
21
  const url = `https://${instanceUrl}.fs.ocs.oraclecloud.com/rest/ofscCore/v1/activities/${Number(activityId)}/custom-actions/cancel`;
22
22
  console.log(`➡️ Fetching activity by ID: ${url}`);
23
- const response = await (0, utilities_1.fetchWithRetry)(url, clientId, clientSecret, instanceUrl, token);
23
+ const response = await (0, utilities_1.fetchPostWithRetry)(url, clientId, clientSecret, instanceUrl, token, {});
24
24
  return response;
25
25
  }
26
26
  async function completeActivity(clientId, clientSecret, instanceUrl, activityId, token = "") {
@@ -29,7 +29,7 @@ async function completeActivity(clientId, clientSecret, instanceUrl, activityId,
29
29
  }
30
30
  const url = `https://${instanceUrl}.fs.ocs.oraclecloud.com/rest/ofscCore/v1/activities/${Number(activityId)}/custom-actions/complete`;
31
31
  console.log(`Completing activity by ID: ${url}`);
32
- const response = await (0, utilities_1.fetchWithRetry)(url, clientId, clientSecret, instanceUrl, token);
32
+ const response = await (0, utilities_1.fetchPostWithRetry)(url, clientId, clientSecret, instanceUrl, token, {});
33
33
  return response;
34
34
  }
35
35
  async function deleteActivity(clientId, clientSecret, instanceUrl, activityId, token = "") {
@@ -18,3 +18,4 @@ export declare function getActivitybyId(clientId: string, clientSecret: string,
18
18
  token: string;
19
19
  data: any;
20
20
  }>;
21
+ export declare function getAllNonScheduledActivities(clientId: string, clientSecret: string, instanceUrl: string, rootBucket: string, fields?: string): Promise<any[]>;
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.deleteActivity = exports.completeActivity = exports.cancelActivity = exports.startActivity = void 0;
4
4
  exports.getAllActivities = getAllActivities;
5
5
  exports.getActivitybyId = getActivitybyId;
6
+ exports.getAllNonScheduledActivities = getAllNonScheduledActivities;
6
7
  const oauthTokenService_1 = require("../oauthTokenService");
7
8
  const utilities_1 = require("../utilities");
8
9
  var activityActions_1 = require("./activityActions");
@@ -76,3 +77,39 @@ async function getActivitybyId(clientId, clientSecret, instanceUrl, activityId,
76
77
  const response = await (0, utilities_1.fetchWithRetry)(url, clientId, clientSecret, instanceUrl, token);
77
78
  return response;
78
79
  }
80
+ async function getAllNonScheduledActivities(clientId, clientSecret, instanceUrl, rootBucket, fields) {
81
+ if (!rootBucket) {
82
+ throw new Error("The 'rootBucket' parameter is required to fetch non-scheduled activities.");
83
+ }
84
+ let limit = 1000;
85
+ let offset = 0;
86
+ const allItems = [];
87
+ // Prepare reusable token
88
+ const token = await (0, oauthTokenService_1.getOAuthToken)(clientId, clientSecret, instanceUrl);
89
+ while (true) {
90
+ // Build URL cleanly
91
+ const params = new URLSearchParams({
92
+ offset: offset.toString(),
93
+ limit: limit.toString()
94
+ });
95
+ if (rootBucket)
96
+ params.append("resources", rootBucket);
97
+ if (fields)
98
+ params.append("fields", fields);
99
+ params.append("includeNonScheduled", "true");
100
+ const url = `https://${instanceUrl}.fs.ocs.oraclecloud.com/rest/ofscCore/v1/activities/?${params.toString()}`;
101
+ console.error(url);
102
+ console.log(` Fetching Non Scheduled Activities: offset=${offset}, limit=${limit}`);
103
+ const response = await (0, utilities_1.fetchWithRetry)(url, clientId, clientSecret, instanceUrl, token);
104
+ const data = response.data;
105
+ if (!data.items || data.items.length === 0 || data.hasMore === false) {
106
+ console.log("No more items found. Stopping pagination.");
107
+ break;
108
+ }
109
+ allItems.push(...data.items);
110
+ console.log(`Received ${data.items.length} items (Total: ${allItems.length})`);
111
+ limit = data.limit;
112
+ offset += limit;
113
+ }
114
+ return allItems;
115
+ }
package/dist/index.d.ts CHANGED
@@ -16,7 +16,7 @@ export { downloadWorkZoneCSV } from './workZones';
16
16
  export { AllResources, downloadAllResourcesCSV, getResourcebyId, getworkSkillsOfResource, updateResourcebyId } from './resources';
17
17
  export { downloadAllInactiveUsers, downloadAllInactiveUsersCSV, downloadAllUsersCSV, generateUsersCollaborationCSV, getUserByLogin, updateUserbyLogin } from './users';
18
18
  export { downloadAllInventoryTypesCSV, getInventoryTypesDetail, updateCreateInventoryType } from './inventoryTypes';
19
- export { getActivitybyId, getAllActivities, startActivity, cancelActivity, completeActivity, deleteActivity } from './activities';
19
+ export { getActivitybyId, getAllActivities, startActivity, cancelActivity, completeActivity, deleteActivity, getAllNonScheduledActivities } from './activities';
20
20
  export { createActivityCustomerInventories, getActivityCustomerInventories } from './activityInventories';
21
21
  export { downloadAllEventsOfDay, downloadAllEventsOfDayCSV, downloadAllEventsOfDLastTwoMinutes, downloadAllEventsOfLastOneHour } from './events';
22
22
  export { createExcelFile } from './utilities';
@@ -31,6 +31,7 @@ declare const OfscUtility: {
31
31
  updateInventoryType: any;
32
32
  Activity: {
33
33
  getAllActivities: any;
34
+ getAllNonScheduledActivities: any;
34
35
  getActivitybyId: any;
35
36
  startActivity: any;
36
37
  cancelActivity: any;
@@ -60,6 +61,7 @@ declare const OfscUtility: {
60
61
  downloadAllEventsOfLastOneHour: any;
61
62
  generateUsersCollaborationCSV: any;
62
63
  generateAllOnHandInventoryOfAllResourcesCSV: any;
64
+ getAllNonScheduledActivities: any;
63
65
  AllResources: any;
64
66
  getworkSkillsOfResource: any;
65
67
  getResource: any;
package/dist/index.js CHANGED
@@ -36,7 +36,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
36
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.createConfigurationFile = exports.createExcelFile = exports.downloadAllEventsOfLastOneHour = exports.downloadAllEventsOfDLastTwoMinutes = exports.downloadAllEventsOfDayCSV = exports.downloadAllEventsOfDay = exports.getActivityCustomerInventories = exports.createActivityCustomerInventories = exports.deleteActivity = exports.completeActivity = exports.cancelActivity = exports.startActivity = exports.getAllActivities = exports.getActivitybyId = exports.updateCreateInventoryType = exports.getInventoryTypesDetail = exports.downloadAllInventoryTypesCSV = exports.updateUserbyLogin = exports.getUserByLogin = exports.generateUsersCollaborationCSV = exports.downloadAllUsersCSV = exports.downloadAllInactiveUsersCSV = exports.downloadAllInactiveUsers = exports.updateResourcebyId = exports.getworkSkillsOfResource = exports.getResourcebyId = exports.downloadAllResourcesCSV = exports.AllResources = exports.downloadWorkZoneCSV = exports.getOAuthToken = exports.generateAllOnHandInventoryOfAllResourcesCSV = exports.generateAllOnHandInventoryOfAllResources = exports.WorkZone = exports.Utilities = exports.User = exports.Resource = exports.OauthTokenService = exports.CreateConfigurationFile = exports.InventoryType = exports.Inventory = exports.Events = exports.ActivityInventories = exports.Activity = void 0;
39
+ exports.createConfigurationFile = exports.createExcelFile = exports.downloadAllEventsOfLastOneHour = exports.downloadAllEventsOfDLastTwoMinutes = exports.downloadAllEventsOfDayCSV = exports.downloadAllEventsOfDay = exports.getActivityCustomerInventories = exports.createActivityCustomerInventories = exports.getAllNonScheduledActivities = exports.deleteActivity = exports.completeActivity = exports.cancelActivity = exports.startActivity = exports.getAllActivities = exports.getActivitybyId = exports.updateCreateInventoryType = exports.getInventoryTypesDetail = exports.downloadAllInventoryTypesCSV = exports.updateUserbyLogin = exports.getUserByLogin = exports.generateUsersCollaborationCSV = exports.downloadAllUsersCSV = exports.downloadAllInactiveUsersCSV = exports.downloadAllInactiveUsers = exports.updateResourcebyId = exports.getworkSkillsOfResource = exports.getResourcebyId = exports.downloadAllResourcesCSV = exports.AllResources = exports.downloadWorkZoneCSV = exports.getOAuthToken = exports.generateAllOnHandInventoryOfAllResourcesCSV = exports.generateAllOnHandInventoryOfAllResources = exports.WorkZone = exports.Utilities = exports.User = exports.Resource = exports.OauthTokenService = exports.CreateConfigurationFile = exports.InventoryType = exports.Inventory = exports.Events = exports.ActivityInventories = exports.Activity = void 0;
40
40
  // Export all methods grouped by category
41
41
  exports.Activity = __importStar(require("./activities"));
42
42
  exports.ActivityInventories = __importStar(require("./activityInventories"));
@@ -82,6 +82,7 @@ Object.defineProperty(exports, "startActivity", { enumerable: true, get: functio
82
82
  Object.defineProperty(exports, "cancelActivity", { enumerable: true, get: function () { return activities_1.cancelActivity; } });
83
83
  Object.defineProperty(exports, "completeActivity", { enumerable: true, get: function () { return activities_1.completeActivity; } });
84
84
  Object.defineProperty(exports, "deleteActivity", { enumerable: true, get: function () { return activities_1.deleteActivity; } });
85
+ Object.defineProperty(exports, "getAllNonScheduledActivities", { enumerable: true, get: function () { return activities_1.getAllNonScheduledActivities; } });
85
86
  var activityInventories_1 = require("./activityInventories");
86
87
  Object.defineProperty(exports, "createActivityCustomerInventories", { enumerable: true, get: function () { return activityInventories_1.createActivityCustomerInventories; } });
87
88
  Object.defineProperty(exports, "getActivityCustomerInventories", { enumerable: true, get: function () { return activityInventories_1.getActivityCustomerInventories; } });
@@ -105,6 +106,7 @@ const OfscUtility = {
105
106
  updateInventoryType: require('./inventoryTypes').updateInventoryType,
106
107
  Activity: {
107
108
  getAllActivities: require('./activities').getAllActivities,
109
+ getAllNonScheduledActivities: require('./activities').getAllNonScheduledActivities,
108
110
  getActivitybyId: require('./activities').getActivitybyId,
109
111
  startActivity: require('./activities').startActivity,
110
112
  cancelActivity: require('./activities').cancelActivity,
@@ -134,6 +136,7 @@ const OfscUtility = {
134
136
  downloadAllEventsOfLastOneHour: require('./events').downloadAllEventsOfLastOneHour,
135
137
  generateUsersCollaborationCSV: require('./users').generateUsersCollaborationCSV,
136
138
  generateAllOnHandInventoryOfAllResourcesCSV: require('./inventory').generateAllOnHandInventoryOfAllResourcesCSV,
139
+ getAllNonScheduledActivities: require('./activities').getAllNonScheduledActivities,
137
140
  AllResources: require('./resources').AllResources,
138
141
  getworkSkillsOfResource: require('./resources').getworkSkillsOfResource,
139
142
  getResource: require('./resources').getResourcebyId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ofsc-utility",
3
- "version": "1.0.52",
3
+ "version": "1.0.54",
4
4
  "description": "TypeScript helpers for Oracle Field Service Cloud (OFSC): events, resources, inventories, metadata and CSV/Excel utilities.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/readme.md CHANGED
@@ -127,6 +127,7 @@ The package exposes both top-level helpers and grouped namespaces. This list is
127
127
  - `getInventoryTypesDetail`
128
128
  - `updateCreateInventoryType`
129
129
  - `getAllActivities`
130
+ - `getAllNonScheduledActivities`
130
131
  - `getActivitybyId`
131
132
  - `startActivity`
132
133
  - `cancelActivity`
@@ -147,6 +148,7 @@ The module-level namespace exports are:
147
148
 
148
149
  - `ofs.Activity`
149
150
  - `getAllActivities`
151
+ - `getAllNonScheduledActivities`
150
152
  - `getActivitybyId`
151
153
  - `startActivity`
152
154
  - `cancelActivity`
@@ -869,6 +871,16 @@ const activityData = await ofs.Activity.getActivitybyId(
869
871
  123456,
870
872
  );
871
873
 
874
+ const nonScheduledActivities = await ofs.Activity.getAllNonScheduledActivities(
875
+ process.env.CLIENT_ID,
876
+ process.env.CLIENT_SECRET,
877
+ process.env.INSTANCE_NAME,
878
+ "US",
879
+ "activityId,activityType,status",
880
+ );
881
+
882
+ console.log("Non-scheduled activities:", nonScheduledActivities.length);
883
+
872
884
  await ofs.Activity.startActivity(
873
885
  process.env.CLIENT_ID,
874
886
  process.env.CLIENT_SECRET,
@@ -926,8 +938,9 @@ const inventoryDetail = await ofs.InventoryType.getInventoryTypesDetail(
926
938
 
927
939
  ### Activity lifecycle actions
928
940
 
929
- The activity action helpers let you transition an OFSC activity through its standard custom actions:
941
+ The activity action helpers let you transition an OFSC activity through its standard custom actions and list non-scheduled activity work:
930
942
 
943
+ - `getAllNonScheduledActivities(clientId, clientSecret, instanceUrl, resources, fields?)`
931
944
  - `startActivity(clientId, clientSecret, instanceUrl, activityId)`
932
945
  - `completeActivity(clientId, clientSecret, instanceUrl, activityId)`
933
946
  - `cancelActivity(clientId, clientSecret, instanceUrl, activityId)`
@@ -935,6 +948,21 @@ The activity action helpers let you transition an OFSC activity through its stan
935
948
 
936
949
  Example:
937
950
 
951
+ ```js
952
+ let rootBucket="US";
953
+ const nonScheduled = await ofs.Activity.getAllNonScheduledActivities(
954
+ process.env.CLIENT_ID,
955
+ process.env.CLIENT_SECRET,
956
+ process.env.INSTANCE_NAME,
957
+ rootBucket,
958
+ "activityId,activityType,date,status",
959
+ );
960
+
961
+ console.log(nonScheduled.length);
962
+ ```
963
+
964
+ Example:
965
+
938
966
  ```js
939
967
  const started = await ofs.Activity.startActivity(
940
968
  process.env.CLIENT_ID,