hgs-twilio-class-lib 1.1.68 → 1.1.70

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.
@@ -1 +1 @@
1
- export declare function sortData(data: [], key: string, ascending?: boolean): never[];
1
+ export declare function sortData<T extends Record<string, any>>(data: T[], key: keyof T, ascending?: boolean): T[];
@@ -3,9 +3,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sortData = void 0;
4
4
  function sortData(data, key, ascending = true) {
5
5
  return data.slice().sort((a, b) => {
6
- if (a[key] < b[key])
6
+ const aVal = a[key];
7
+ const bVal = b[key];
8
+ // Handle missing values
9
+ if (aVal == null && bVal == null)
10
+ return 0;
11
+ if (aVal == null)
12
+ return 1; // Put null/undefined at the end
13
+ if (bVal == null)
14
+ return -1; // Put null/undefined at the end
15
+ // String comparison
16
+ if (typeof aVal === "string" && typeof bVal === "string") {
17
+ return ascending
18
+ ? aVal.localeCompare(bVal)
19
+ : bVal.localeCompare(aVal);
20
+ }
21
+ // Number/date comparison
22
+ if (aVal < bVal)
7
23
  return ascending ? -1 : 1;
8
- if (a[key] > b[key])
24
+ if (aVal > bVal)
9
25
  return ascending ? 1 : -1;
10
26
  return 0;
11
27
  });
@@ -26,9 +26,8 @@ const QuickLinkController_1 = require("./twilio/QuickLinkController");
26
26
  const NavigationController_1 = require("./twilio/NavigationController");
27
27
  const CallbackAndVoicemailController_1 = require("./twilio/CallbackAndVoicemailController");
28
28
  const QualityFormsController_1 = require("./twilio/QualityFormsController");
29
- const RealTimeReportQueueDetailsController_1 = require("./twilio/RealTimeReportQueueDetailsController");
30
29
  const RealTimeReportsWGDetailsController_1 = require("./twilio/RealTimeReportsWGDetailsController");
31
- const RTRWGQueueStatisticsCESController_1 = require("./twilio/RTRWGQueueStatisticsCESController");
30
+ const RealTimeReportQueueDetailsController_1 = require("./twilio/RealTimeReportQueueDetailsController");
32
31
  const PlaybackScreenrecordings_1 = require("./aws/PlaybackScreenrecordings");
33
32
  const AWSConnectAPIConfig_1 = require("../aws/impl/AWSConnectAPIConfig");
34
33
  const AWSClient_1 = require("../aws/impl/AWSClient");
@@ -152,9 +151,8 @@ MainController.controllers = {
152
151
  callbackAndVoiceMail: CallbackAndVoicemailController_1.CallbackAndVoicemailController,
153
152
  navaigation: NavigationController_1.NavigationController,
154
153
  qualityForms: QualityFormsController_1.QualityFormsController,
155
- realtimeQueueDetails: RealTimeReportQueueDetailsController_1.RealTimeReportsQueueDetailsController,
156
154
  realtimeReportsWGDetails: RealTimeReportsWGDetailsController_1.RealTimeReportsWGDetailsController,
157
- realtimeQueueDetailsCES: RTRWGQueueStatisticsCESController_1.RTReportsQueueDetailsCESController,
155
+ realtimeQueueDetails: RealTimeReportQueueDetailsController_1.RealTimeReportsQueueDetailsController,
158
156
  hoopProfilesList: HoopProfilesListController_1.HoopProfilesListController,
159
157
  hoopOverrideBranches: HoopOverrideBranchesController_1.HoopOverrideBranchesController,
160
158
  hoopOperations: HoopOperationsController_1.HoopOperationsController,
@@ -171,6 +169,6 @@ MainController.controllers = {
171
169
  agentScorecard: AgentScorecardController_1.AgentScorecardController,
172
170
  channelSettings: ChannelSettingsController_1.ChannelSettingsController,
173
171
  channelSettingsTaskInfo: ChannelSettingTaskInfoController_1.ChannelSettingTaskInfoController,
174
- agentActions: AgentActionsController_1.AgentActionsController,
172
+ agentActions: AgentActionsController_1.AgentActionsController
175
173
  // Add more controllers here as needed
176
174
  };
@@ -40,7 +40,7 @@ class RealTimeReportsWGDetailsController {
40
40
  add(data) {
41
41
  return __awaiter(this, void 0, void 0, function* () {
42
42
  try {
43
- const workgroupDetails = new WorkGroupDetailsModel_1.WorkGroupDetailsModel(data.id, data.uniqueName, data.periodNumber, data.sumWaitTime, data.intOffr, data.intAns, data.intAbn, data.slaTarget, data.totalServiceLevel, data.transferCount, data.interactionsWaiting, data.longestInteractionWaiting, data.totalAbanLevel, data.averageSpeedAnswer, data.createdAt, data.updatedAt, data.eventId);
43
+ const workgroupDetails = new WorkGroupDetailsModel_1.WorkGroupDetailsModel(data.id, data.totalAgents, data.loggedOn, data.agentsAvailable, data.percentAvailable, data.agentsAvailableToTakeCalls, data.nonAcdInteractions, data.availableForAcdInteractions, data.notAvailableForAcdInteractions, data.inboundAcdInteractions, data.outboundAcdInteractions, data.inboundAcw, data.outboundAcw, data.interactionWaiting, data.interactionOnhold, data.longestInteractionWaiting, data.longestAvailable, data.createdAt, data.updatedAt);
44
44
  if (workgroupDetails.validationMessages.length > 0) {
45
45
  throw workgroupDetails.validationMessages; // Throw error if data validation fails
46
46
  }
@@ -52,7 +52,7 @@ class RealTimeReportsWGDetailsController {
52
52
  // Access object store
53
53
  let table = dbTransaction.objectStore(DatabaseConfig_1.databaseConfig.tables.realTimeReportWGDetailsTable);
54
54
  // Add new data to the object store
55
- const result = yield table.add(workgroupDetails.serialize, workgroupDetails.id, 24 * 2 * 60 * 60);
55
+ let result = table.add(data, data.id);
56
56
  return result;
57
57
  }
58
58
  catch (error) {
@@ -75,7 +75,7 @@ class RealTimeReportsWGDetailsController {
75
75
  edit(data) {
76
76
  return __awaiter(this, void 0, void 0, function* () {
77
77
  try {
78
- const workgroupDetails = new WorkGroupDetailsModel_1.WorkGroupDetailsModel(data.id, data.uniqueName, data.periodNumber, data.sumWaitTime, data.intOffr, data.intAns, data.intAbn, data.slaTarget, data.totalServiceLevel, data.transferCount, data.interactionsWaiting, data.longestInteractionWaiting, data.totalAbanLevel, data.averageSpeedAnswer, data.createdAt, data.updatedAt, data.eventId);
78
+ const workgroupDetails = new WorkGroupDetailsModel_1.WorkGroupDetailsModel(data.id, data.totalAgents, data.loggedOn, data.agentsAvailable, data.percentAvailable, data.agentsAvailableToTakeCalls, data.nonAcdInteractions, data.availableForAcdInteractions, data.notAvailableForAcdInteractions, data.inboundAcdInteractions, data.outboundAcdInteractions, data.inboundAcw, data.outboundAcw, data.interactionWaiting, data.interactionOnhold, data.longestInteractionWaiting, data.longestAvailable, data.createdAt, data.updatedAt);
79
79
  if (workgroupDetails.validationMessages.length > 0) {
80
80
  throw workgroupDetails.validationMessages; // Throw error if data validation fails
81
81
  }
package/lib/index.d.ts CHANGED
@@ -16,7 +16,6 @@ import { QuickLinksController } from "./controller/twilio/QuickLinkController";
16
16
  import { QualityFormsController } from "./controller/twilio/QualityFormsController";
17
17
  import { RealTimeReportsWGDetailsController } from "./controller/twilio/RealTimeReportsWGDetailsController";
18
18
  import { RealTimeReportsQueueDetailsController } from "./controller/twilio/RealTimeReportQueueDetailsController";
19
- import { RTReportsQueueDetailsCESController } from "./controller/twilio/RTRWGQueueStatisticsCESController";
20
19
  import { PlaybackScreenrecordingsController } from "./controller/aws/PlaybackScreenrecordings";
21
20
  import { HoopProfilesListController } from "./controller/twilio/HoopProfilesListController";
22
21
  import { HoopOverrideBranchesController } from "./controller/twilio/HoopOverrideBranchesController";
@@ -36,5 +35,5 @@ import { TaskInfoPanelController } from "./controller/twilio/TaskInfoPanelContro
36
35
  import { AgentScorecardController } from "./controller/twilio/AgentScorecardController";
37
36
  import { AgentActionsController } from "./controller/twilio/AgentActionsController";
38
37
  import * as models from "./models";
39
- export { DatabaseFactory, GPMController, TwilioAuthTokenConfig, SyncServiceFactory, CxConfigAssetController, CxConfigController, CallLogsController, CxConfigOtherController, CxConfigExternalNumbersController, CxConfigQueueMenuController, TwilioClient, AuditLogController, QuickLinksController, NavigationController, QualityFormsController, RealTimeReportsWGDetailsController, RealTimeReportsQueueDetailsController, RTReportsQueueDetailsCESController, PlaybackScreenrecordingsController, CxConfigUIConfigController, HoopProfilesListController, HoopOverrideBranchesController, HoopOperationsController, HoopHolidaysController, HoopPartialDaysController, HoopBusinessHoursController, CallbackAndVoicemailController, HoopMainController, HoopNotesController, HoopBusinessHoursControllerAConnect, AWSConnectAPIConfig, AWSClient, HoopServiceFactory, ChannelSettingsController, TaskInfoPanelController, AgentScorecardController, AgentActionsController, };
38
+ export { DatabaseFactory, GPMController, TwilioAuthTokenConfig, SyncServiceFactory, CxConfigAssetController, CxConfigController, CallLogsController, CxConfigOtherController, CxConfigExternalNumbersController, CxConfigQueueMenuController, TwilioClient, AuditLogController, QuickLinksController, NavigationController, QualityFormsController, RealTimeReportsWGDetailsController, RealTimeReportsQueueDetailsController, PlaybackScreenrecordingsController, CxConfigUIConfigController, HoopProfilesListController, HoopOverrideBranchesController, HoopOperationsController, HoopHolidaysController, HoopPartialDaysController, HoopBusinessHoursController, CallbackAndVoicemailController, HoopMainController, HoopNotesController, HoopBusinessHoursControllerAConnect, AWSConnectAPIConfig, AWSClient, HoopServiceFactory, ChannelSettingsController, TaskInfoPanelController, AgentScorecardController, AgentActionsController };
40
39
  export { models };
package/lib/index.js CHANGED
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.models = exports.AgentActionsController = exports.AgentScorecardController = exports.TaskInfoPanelController = exports.ChannelSettingsController = exports.HoopServiceFactory = exports.AWSClient = exports.AWSConnectAPIConfig = exports.HoopBusinessHoursControllerAConnect = exports.HoopNotesController = exports.HoopMainController = exports.CallbackAndVoicemailController = exports.HoopBusinessHoursController = exports.HoopPartialDaysController = exports.HoopHolidaysController = exports.HoopOperationsController = exports.HoopOverrideBranchesController = exports.HoopProfilesListController = exports.CxConfigUIConfigController = exports.PlaybackScreenrecordingsController = exports.RTReportsQueueDetailsCESController = exports.RealTimeReportsQueueDetailsController = exports.RealTimeReportsWGDetailsController = exports.QualityFormsController = exports.NavigationController = exports.QuickLinksController = exports.AuditLogController = exports.TwilioClient = exports.CxConfigQueueMenuController = exports.CxConfigExternalNumbersController = exports.CxConfigOtherController = exports.CallLogsController = exports.CxConfigController = exports.CxConfigAssetController = exports.SyncServiceFactory = exports.TwilioAuthTokenConfig = exports.GPMController = exports.DatabaseFactory = void 0;
26
+ exports.models = exports.AgentActionsController = exports.AgentScorecardController = exports.TaskInfoPanelController = exports.ChannelSettingsController = exports.HoopServiceFactory = exports.AWSClient = exports.AWSConnectAPIConfig = exports.HoopBusinessHoursControllerAConnect = exports.HoopNotesController = exports.HoopMainController = exports.CallbackAndVoicemailController = exports.HoopBusinessHoursController = exports.HoopPartialDaysController = exports.HoopHolidaysController = exports.HoopOperationsController = exports.HoopOverrideBranchesController = exports.HoopProfilesListController = exports.CxConfigUIConfigController = exports.PlaybackScreenrecordingsController = exports.RealTimeReportsQueueDetailsController = exports.RealTimeReportsWGDetailsController = exports.QualityFormsController = exports.NavigationController = exports.QuickLinksController = exports.AuditLogController = exports.TwilioClient = exports.CxConfigQueueMenuController = exports.CxConfigExternalNumbersController = exports.CxConfigOtherController = exports.CallLogsController = exports.CxConfigController = exports.CxConfigAssetController = exports.SyncServiceFactory = exports.TwilioAuthTokenConfig = exports.GPMController = exports.DatabaseFactory = void 0;
27
27
  const DatabaseFactory_1 = require("./common/abstract/DatabaseFactory");
28
28
  Object.defineProperty(exports, "DatabaseFactory", { enumerable: true, get: function () { return DatabaseFactory_1.DatabaseFactory; } });
29
29
  const GPMController_1 = require("./controller/twilio/GPMController");
@@ -60,8 +60,6 @@ const RealTimeReportsWGDetailsController_1 = require("./controller/twilio/RealTi
60
60
  Object.defineProperty(exports, "RealTimeReportsWGDetailsController", { enumerable: true, get: function () { return RealTimeReportsWGDetailsController_1.RealTimeReportsWGDetailsController; } });
61
61
  const RealTimeReportQueueDetailsController_1 = require("./controller/twilio/RealTimeReportQueueDetailsController");
62
62
  Object.defineProperty(exports, "RealTimeReportsQueueDetailsController", { enumerable: true, get: function () { return RealTimeReportQueueDetailsController_1.RealTimeReportsQueueDetailsController; } });
63
- const RTRWGQueueStatisticsCESController_1 = require("./controller/twilio/RTRWGQueueStatisticsCESController");
64
- Object.defineProperty(exports, "RTReportsQueueDetailsCESController", { enumerable: true, get: function () { return RTRWGQueueStatisticsCESController_1.RTReportsQueueDetailsCESController; } });
65
63
  const PlaybackScreenrecordings_1 = require("./controller/aws/PlaybackScreenrecordings");
66
64
  Object.defineProperty(exports, "PlaybackScreenrecordingsController", { enumerable: true, get: function () { return PlaybackScreenrecordings_1.PlaybackScreenrecordingsController; } });
67
65
  const HoopProfilesListController_1 = require("./controller/twilio/HoopProfilesListController");
@@ -2,56 +2,62 @@ import { BaseModel } from "../abstract/BaseModel";
2
2
  import { validationMessage } from "../interface/IBaseModel";
3
3
  export declare class WorkGroupDetailsModel extends BaseModel {
4
4
  private _id;
5
- private _uniqueName;
6
- private _periodNumber;
7
- private _sumWaitTime;
8
- private _intOffr;
9
- private _intAns;
10
- private _intAbn;
11
- private _slaTarget;
12
- private _totalServiceLevel;
13
- private _transferCount;
14
- private _interactionsWaiting;
5
+ private _totalAgents;
6
+ private _loggedOn;
7
+ private _agentsAvailable;
8
+ private _percentAvailable;
9
+ private _agentsAvailableToTakeCalls;
10
+ private _nonAcdInteractions;
11
+ private _availableForAcdInteractions;
12
+ private _notAvailableForAcdInteractions;
13
+ private _inboundAcdInteractions;
14
+ private _outboundAcdInteractions;
15
+ private _inboundAcw;
16
+ private _outboundAcw;
17
+ private _interactionWaiting;
18
+ private _interactionOnhold;
15
19
  private _longestInteractionWaiting;
16
- private _totalAbanLevel;
17
- private _averageSpeedAnswer;
20
+ private _longestAvailable;
18
21
  private _createdAt;
19
22
  private _updatedAt;
20
- private _eventId;
21
- constructor(id: string, uniqueName: string, periodNumber: string, sumWaitTime: number, intOffr: number, intAns: number, intAbn: number, slaTarget: number, totalServiceLevel: number, transferCount: number, interactionsWaiting: number, longestInteractionWaiting: number, totalAbanLevel: number, averageSpeedAnswer: number, createdAt: Date | undefined | string, updatedAt: Date | undefined | string, eventId: string);
23
+ constructor(id: string, totalAgents: number, loggedOn: number, agentsAvailable: number, percentAvailable: number, agentsAvailableToTakeCalls: number, nonAcdInteractions: number, availableForAcdInteractions: number, notAvailableForAcdInteractions: number, inboundAcdInteractions: number, outboundAcdInteractions: number, inboundAcw: number, outboundAcw: number, interactionWaiting: number, interactionOnhold: number, longestInteractionWaiting: string, longestAvailable: number, createdAt?: Date, updatedAt?: Date);
24
+ validateData(): validationMessage[];
22
25
  get id(): string;
23
26
  set id(value: string);
24
- get uniqueName(): string;
25
- set uniqueName(value: string);
26
- get periodNumber(): string;
27
- set periodNumber(value: string);
28
- get sumWaitTime(): number;
29
- set sumWaitTime(value: number);
30
- get intOffr(): number;
31
- set intOffr(value: number);
32
- get intAns(): number;
33
- set intAns(value: number);
34
- get intAbn(): number;
35
- set intAbn(value: number);
36
- get slaTarget(): number;
37
- set slaTarget(value: number);
38
- get totalServiceLevel(): number;
39
- set totalServiceLevel(value: number);
40
- get transferCount(): number;
41
- set transferCount(value: number);
42
- get interactionsWaiting(): number;
43
- set interactionsWaiting(value: number);
44
- get longestInteractionWaiting(): number;
45
- set longestInteractionWaiting(value: number);
46
- get totalAbanLevel(): number;
47
- set totalAbanLevel(value: number);
48
- get averageSpeedAnswer(): number;
49
- set averageSpeedAnswer(value: number);
50
- get createdAt(): Date | undefined | string;
51
- set createdAt(value: Date | undefined | string);
52
- get updatedAt(): Date | undefined | string;
53
- set updatedAt(value: Date | undefined | string);
54
- get eventId(): string;
55
- set eventId(value: string);
56
- validateData(): validationMessage[];
27
+ get totalAgents(): number;
28
+ set totalAgents(value: number);
29
+ get loggedOn(): number;
30
+ set loggedOn(value: number);
31
+ get agentsAvailable(): number;
32
+ set agentsAvailable(value: number);
33
+ get percentAvailable(): number;
34
+ set percentAvailable(value: number);
35
+ get agentsAvailableToTakeCalls(): number;
36
+ set agentsAvailableToTakeCalls(value: number);
37
+ get nonAcdInteractions(): number;
38
+ set nonAcdInteractions(value: number);
39
+ get availableForAcdInteractions(): number;
40
+ set availableForAcdInteractions(value: number);
41
+ get notAvailableForAcdInteractions(): number;
42
+ set notAvailableForAcdInteractions(value: number);
43
+ get inboundAcdInteractions(): number;
44
+ set inboundAcdInteractions(value: number);
45
+ get outboundAcdInteractions(): number;
46
+ set outboundAcdInteractions(value: number);
47
+ get inboundAcw(): number;
48
+ set inboundAcw(value: number);
49
+ get outboundAcw(): number;
50
+ set outboundAcw(value: number);
51
+ get interactionWaiting(): number;
52
+ set interactionWaiting(value: number);
53
+ get interactionOnhold(): number;
54
+ set interactionOnhold(value: number);
55
+ get longestInteractionWaiting(): string;
56
+ set longestInteractionWaiting(value: string);
57
+ get longestAvailable(): number;
58
+ set longestAvailable(value: number);
59
+ get createdAt(): Date | undefined;
60
+ set createdAt(value: Date | undefined);
61
+ get updatedAt(): Date | undefined;
62
+ set updatedAt(value: Date | undefined);
57
63
  }