pha-hermes 1.9.0 → 1.10.0
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/dist/api/timesheet/timesheetClient.d.ts +0 -1
- package/dist/pha-hermes.cjs.development.js +76 -106
- package/dist/pha-hermes.cjs.development.js.map +1 -1
- package/dist/pha-hermes.cjs.production.min.js +1 -1
- package/dist/pha-hermes.cjs.production.min.js.map +1 -1
- package/dist/pha-hermes.esm.js +76 -106
- package/dist/pha-hermes.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/api/timesheet/timesheetClient.ts +3 -17
package/dist/pha-hermes.esm.js
CHANGED
|
@@ -575,9 +575,9 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
575
575
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
576
576
|
while (1) switch (_context2.prev = _context2.next) {
|
|
577
577
|
case 0:
|
|
578
|
-
//
|
|
578
|
+
// Find all timesheet Ids that belong to this WO
|
|
579
579
|
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
580
|
-
query = "SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '" + workorderId + "'\n
|
|
580
|
+
query = "SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '" + workorderId + "'\n ";
|
|
581
581
|
_context2.next = 4;
|
|
582
582
|
return this.axiosInstance.get(url, {
|
|
583
583
|
params: {
|
|
@@ -587,7 +587,9 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
587
587
|
case 4:
|
|
588
588
|
_yield$this$axiosInst = _context2.sent;
|
|
589
589
|
records = _yield$this$axiosInst.data.records;
|
|
590
|
-
return _context2.abrupt("return", records
|
|
590
|
+
return _context2.abrupt("return", records.map(function (record) {
|
|
591
|
+
return record.Id;
|
|
592
|
+
}));
|
|
591
593
|
case 7:
|
|
592
594
|
case "end":
|
|
593
595
|
return _context2.stop();
|
|
@@ -599,54 +601,22 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
599
601
|
}
|
|
600
602
|
return getTimesheetId;
|
|
601
603
|
}();
|
|
602
|
-
_proto.getTimesheetIds = /*#__PURE__*/function () {
|
|
603
|
-
var _getTimesheetIds = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(workorderId) {
|
|
604
|
-
var url, query, _yield$this$axiosInst2, records;
|
|
605
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
606
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
607
|
-
case 0:
|
|
608
|
-
// Find all timesheet Ids that belong to this WO
|
|
609
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
610
|
-
query = "SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '" + workorderId + "'\n ";
|
|
611
|
-
_context3.next = 4;
|
|
612
|
-
return this.axiosInstance.get(url, {
|
|
613
|
-
params: {
|
|
614
|
-
q: query
|
|
615
|
-
}
|
|
616
|
-
});
|
|
617
|
-
case 4:
|
|
618
|
-
_yield$this$axiosInst2 = _context3.sent;
|
|
619
|
-
records = _yield$this$axiosInst2.data.records;
|
|
620
|
-
return _context3.abrupt("return", records.map(function (record) {
|
|
621
|
-
return record.Id;
|
|
622
|
-
}));
|
|
623
|
-
case 7:
|
|
624
|
-
case "end":
|
|
625
|
-
return _context3.stop();
|
|
626
|
-
}
|
|
627
|
-
}, _callee3, this);
|
|
628
|
-
}));
|
|
629
|
-
function getTimesheetIds(_x4) {
|
|
630
|
-
return _getTimesheetIds.apply(this, arguments);
|
|
631
|
-
}
|
|
632
|
-
return getTimesheetIds;
|
|
633
|
-
}();
|
|
634
604
|
_proto.getTimesheetsForPractitioner = /*#__PURE__*/function () {
|
|
635
|
-
var _getTimesheetsForPractitioner = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
605
|
+
var _getTimesheetsForPractitioner = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(personnelID) {
|
|
636
606
|
var url, query, data, timesheets, _iterator, _step, timesheet;
|
|
637
|
-
return _regeneratorRuntime().wrap(function
|
|
638
|
-
while (1) switch (
|
|
607
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
608
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
639
609
|
case 0:
|
|
640
610
|
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
641
611
|
query = "SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '" + personnelID + "')";
|
|
642
|
-
|
|
612
|
+
_context3.next = 4;
|
|
643
613
|
return this.axiosInstance.get(url, {
|
|
644
614
|
params: {
|
|
645
615
|
q: query
|
|
646
616
|
}
|
|
647
617
|
});
|
|
648
618
|
case 4:
|
|
649
|
-
data =
|
|
619
|
+
data = _context3.sent;
|
|
650
620
|
timesheets = [];
|
|
651
621
|
for (_iterator = _createForOfIteratorHelperLoose(data.data.records); !(_step = _iterator()).done;) {
|
|
652
622
|
timesheet = _step.value;
|
|
@@ -656,169 +626,169 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
656
626
|
updatedAt: timesheet.LastModifiedDate
|
|
657
627
|
});
|
|
658
628
|
}
|
|
659
|
-
return
|
|
629
|
+
return _context3.abrupt("return", timesheets);
|
|
660
630
|
case 8:
|
|
661
631
|
case "end":
|
|
662
|
-
return
|
|
632
|
+
return _context3.stop();
|
|
663
633
|
}
|
|
664
|
-
},
|
|
634
|
+
}, _callee3, this);
|
|
665
635
|
}));
|
|
666
|
-
function getTimesheetsForPractitioner(
|
|
636
|
+
function getTimesheetsForPractitioner(_x4) {
|
|
667
637
|
return _getTimesheetsForPractitioner.apply(this, arguments);
|
|
668
638
|
}
|
|
669
639
|
return getTimesheetsForPractitioner;
|
|
670
640
|
}();
|
|
671
641
|
_proto.getTimesheetHoursIds = /*#__PURE__*/function () {
|
|
672
|
-
var _getTimesheetHoursIds = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
673
|
-
var timesheetId, url, query, _yield$this$
|
|
674
|
-
return _regeneratorRuntime().wrap(function
|
|
675
|
-
while (1) switch (
|
|
642
|
+
var _getTimesheetHoursIds = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(workorderId) {
|
|
643
|
+
var timesheetIds, timesheetId, url, query, _yield$this$axiosInst2, records;
|
|
644
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
645
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
676
646
|
case 0:
|
|
677
|
-
|
|
647
|
+
_context4.next = 2;
|
|
678
648
|
return this.getTimesheetId(workorderId);
|
|
679
649
|
case 2:
|
|
680
|
-
|
|
681
|
-
// First we find the correct timesheet hours id
|
|
650
|
+
timesheetIds = _context4.sent;
|
|
651
|
+
timesheetId = timesheetIds[0]; // First we find the correct timesheet hours id
|
|
682
652
|
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
683
653
|
query = "SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '" + timesheetId + "'";
|
|
684
|
-
|
|
654
|
+
_context4.next = 8;
|
|
685
655
|
return this.axiosInstance.get(url, {
|
|
686
656
|
params: {
|
|
687
657
|
q: query
|
|
688
658
|
}
|
|
689
659
|
});
|
|
690
|
-
case
|
|
691
|
-
_yield$this$
|
|
692
|
-
records = _yield$this$
|
|
693
|
-
return
|
|
660
|
+
case 8:
|
|
661
|
+
_yield$this$axiosInst2 = _context4.sent;
|
|
662
|
+
records = _yield$this$axiosInst2.data.records;
|
|
663
|
+
return _context4.abrupt("return", records.map(function (_ref) {
|
|
694
664
|
var Id = _ref.Id;
|
|
695
665
|
return Id;
|
|
696
666
|
}));
|
|
697
|
-
case
|
|
667
|
+
case 11:
|
|
698
668
|
case "end":
|
|
699
|
-
return
|
|
669
|
+
return _context4.stop();
|
|
700
670
|
}
|
|
701
|
-
},
|
|
671
|
+
}, _callee4, this);
|
|
702
672
|
}));
|
|
703
|
-
function getTimesheetHoursIds(
|
|
673
|
+
function getTimesheetHoursIds(_x5) {
|
|
704
674
|
return _getTimesheetHoursIds.apply(this, arguments);
|
|
705
675
|
}
|
|
706
676
|
return getTimesheetHoursIds;
|
|
707
677
|
}();
|
|
708
678
|
_proto.getTimesheetHoursId = /*#__PURE__*/function () {
|
|
709
|
-
var _getTimesheetHoursId = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
710
|
-
var timesheetIds, formattedDate, allHourIds, url, _iterator2, _step2, timesheetId, query, _yield$this$
|
|
711
|
-
return _regeneratorRuntime().wrap(function
|
|
712
|
-
while (1) switch (
|
|
679
|
+
var _getTimesheetHoursId = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(workorderId, timesheetDate) {
|
|
680
|
+
var timesheetIds, formattedDate, allHourIds, url, _iterator2, _step2, timesheetId, query, _yield$this$axiosInst3, records, ids;
|
|
681
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
682
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
713
683
|
case 0:
|
|
714
|
-
|
|
715
|
-
return this.
|
|
684
|
+
_context5.next = 2;
|
|
685
|
+
return this.getTimesheetId(workorderId);
|
|
716
686
|
case 2:
|
|
717
|
-
timesheetIds =
|
|
687
|
+
timesheetIds = _context5.sent;
|
|
718
688
|
formattedDate = timesheetDate.toISOString().split('T')[0];
|
|
719
689
|
allHourIds = [];
|
|
720
690
|
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
721
691
|
_iterator2 = _createForOfIteratorHelperLoose(timesheetIds);
|
|
722
692
|
case 7:
|
|
723
693
|
if ((_step2 = _iterator2()).done) {
|
|
724
|
-
|
|
694
|
+
_context5.next = 25;
|
|
725
695
|
break;
|
|
726
696
|
}
|
|
727
697
|
timesheetId = _step2.value;
|
|
728
698
|
query = "\n SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '" + timesheetId + "'\n AND Date__c = " + formattedDate + "\n ";
|
|
729
|
-
|
|
730
|
-
|
|
699
|
+
_context5.prev = 10;
|
|
700
|
+
_context5.next = 13;
|
|
731
701
|
return this.axiosInstance.get(url, {
|
|
732
702
|
params: {
|
|
733
703
|
q: query
|
|
734
704
|
}
|
|
735
705
|
});
|
|
736
706
|
case 13:
|
|
737
|
-
_yield$this$
|
|
738
|
-
records = _yield$this$
|
|
707
|
+
_yield$this$axiosInst3 = _context5.sent;
|
|
708
|
+
records = _yield$this$axiosInst3.data.records;
|
|
739
709
|
ids = records.map(function (record) {
|
|
740
710
|
return record.Id;
|
|
741
711
|
});
|
|
742
712
|
allHourIds.push.apply(allHourIds, ids);
|
|
743
|
-
|
|
713
|
+
_context5.next = 23;
|
|
744
714
|
break;
|
|
745
715
|
case 19:
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
console.error("Failed to fetch",
|
|
749
|
-
return
|
|
716
|
+
_context5.prev = 19;
|
|
717
|
+
_context5.t0 = _context5["catch"](10);
|
|
718
|
+
console.error("Failed to fetch", _context5.t0);
|
|
719
|
+
return _context5.abrupt("return", []);
|
|
750
720
|
case 23:
|
|
751
|
-
|
|
721
|
+
_context5.next = 7;
|
|
752
722
|
break;
|
|
753
723
|
case 25:
|
|
754
|
-
return
|
|
724
|
+
return _context5.abrupt("return", allHourIds);
|
|
755
725
|
case 26:
|
|
756
726
|
case "end":
|
|
757
|
-
return
|
|
727
|
+
return _context5.stop();
|
|
758
728
|
}
|
|
759
|
-
},
|
|
729
|
+
}, _callee5, this, [[10, 19]]);
|
|
760
730
|
}));
|
|
761
|
-
function getTimesheetHoursId(
|
|
731
|
+
function getTimesheetHoursId(_x6, _x7) {
|
|
762
732
|
return _getTimesheetHoursId.apply(this, arguments);
|
|
763
733
|
}
|
|
764
734
|
return getTimesheetHoursId;
|
|
765
735
|
}();
|
|
766
736
|
_proto.getTimesheetHours = /*#__PURE__*/function () {
|
|
767
|
-
var _getTimesheetHours = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
737
|
+
var _getTimesheetHours = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(workorderId) {
|
|
768
738
|
var _this = this;
|
|
769
739
|
var timesheetHourIds;
|
|
770
|
-
return _regeneratorRuntime().wrap(function
|
|
771
|
-
while (1) switch (
|
|
740
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
741
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
772
742
|
case 0:
|
|
773
|
-
|
|
743
|
+
_context7.next = 2;
|
|
774
744
|
return this.getTimesheetHoursIds(workorderId);
|
|
775
745
|
case 2:
|
|
776
|
-
timesheetHourIds =
|
|
777
|
-
return
|
|
778
|
-
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
779
|
-
return _regeneratorRuntime().wrap(function
|
|
780
|
-
while (1) switch (
|
|
746
|
+
timesheetHourIds = _context7.sent;
|
|
747
|
+
return _context7.abrupt("return", Promise.all(timesheetHourIds.map(/*#__PURE__*/function () {
|
|
748
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(id) {
|
|
749
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
750
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
781
751
|
case 0:
|
|
782
|
-
return
|
|
752
|
+
return _context6.abrupt("return", _this.axiosInstance.get("/services/data/" + SF_API_VERSION + "/sobjects/TimeSheetHour__c/" + id).then(function (res) {
|
|
783
753
|
return res.data;
|
|
784
754
|
}).then(toTimesheetDayEntry));
|
|
785
755
|
case 1:
|
|
786
756
|
case "end":
|
|
787
|
-
return
|
|
757
|
+
return _context6.stop();
|
|
788
758
|
}
|
|
789
|
-
},
|
|
759
|
+
}, _callee6);
|
|
790
760
|
}));
|
|
791
|
-
return function (
|
|
761
|
+
return function (_x9) {
|
|
792
762
|
return _ref2.apply(this, arguments);
|
|
793
763
|
};
|
|
794
764
|
}())));
|
|
795
765
|
case 4:
|
|
796
766
|
case "end":
|
|
797
|
-
return
|
|
767
|
+
return _context7.stop();
|
|
798
768
|
}
|
|
799
|
-
},
|
|
769
|
+
}, _callee7, this);
|
|
800
770
|
}));
|
|
801
|
-
function getTimesheetHours(
|
|
771
|
+
function getTimesheetHours(_x8) {
|
|
802
772
|
return _getTimesheetHours.apply(this, arguments);
|
|
803
773
|
}
|
|
804
774
|
return getTimesheetHours;
|
|
805
775
|
}();
|
|
806
776
|
_proto.getPayPeriods = /*#__PURE__*/function () {
|
|
807
|
-
var _getPayPeriods = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function
|
|
777
|
+
var _getPayPeriods = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
808
778
|
var url, query, data, payPeriods, _iterator3, _step3, payPeriod;
|
|
809
|
-
return _regeneratorRuntime().wrap(function
|
|
810
|
-
while (1) switch (
|
|
779
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
780
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
811
781
|
case 0:
|
|
812
782
|
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
813
783
|
query = "SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c";
|
|
814
|
-
|
|
784
|
+
_context8.next = 4;
|
|
815
785
|
return this.axiosInstance.get(url, {
|
|
816
786
|
params: {
|
|
817
787
|
q: query
|
|
818
788
|
}
|
|
819
789
|
});
|
|
820
790
|
case 4:
|
|
821
|
-
data =
|
|
791
|
+
data = _context8.sent;
|
|
822
792
|
payPeriods = [];
|
|
823
793
|
for (_iterator3 = _createForOfIteratorHelperLoose(data.data.records); !(_step3 = _iterator3()).done;) {
|
|
824
794
|
payPeriod = _step3.value;
|
|
@@ -828,12 +798,12 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
828
798
|
endDate: payPeriod.EndDate__c
|
|
829
799
|
});
|
|
830
800
|
}
|
|
831
|
-
return
|
|
801
|
+
return _context8.abrupt("return", payPeriods);
|
|
832
802
|
case 8:
|
|
833
803
|
case "end":
|
|
834
|
-
return
|
|
804
|
+
return _context8.stop();
|
|
835
805
|
}
|
|
836
|
-
},
|
|
806
|
+
}, _callee8, this);
|
|
837
807
|
}));
|
|
838
808
|
function getPayPeriods() {
|
|
839
809
|
return _getPayPeriods.apply(this, arguments);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pha-hermes.esm.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/workorder/workorderClient.ts","../src/api/payperiod/payperiodClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\nimport FormData from 'form-data'\n\nexport class SFAuthenticator {\n axiosTokenInstance: AxiosInstance = axios.create()\n authenticatedAxiosInstance: AxiosInstance\n token: string | undefined = undefined\n private refreshToken: string | undefined = undefined\n private tokenRefreshPromise: Promise<string> | null = null\n\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\n this.axiosTokenInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\n }\n\n async initializeAuth(\n clientId: string,\n clientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n const token = await this.postToken(clientId, clientSecret)\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\n\n this.authenticatedAxiosInstance.interceptors.response.use(\n response => response,\n async error => {\n const originalRequest = error.config\n originalRequest._retryCount = originalRequest._retryCount || 0\n\n // If the error is 401 and we haven't exceeded max retries\n if (error.response?.status === 401 && originalRequest._retryCount < 3) {\n originalRequest._retryCount++\n\n try {\n // Use existing token refresh if one is in progress\n if (!this.tokenRefreshPromise) {\n const newClientCredentials = await onTokenRefresh?.()\n const newClientId = newClientCredentials?.clientId || clientId\n const newClientSecret =\n newClientCredentials?.clientSecret || clientSecret\n this.tokenRefreshPromise = this.postToken(newClientId, newClientSecret)\n }\n\n const newToken = await this.tokenRefreshPromise\n // Clear the refresh promise after it completes\n this.tokenRefreshPromise = null\n\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${newToken}`\n originalRequest.headers['Authorization'] = `Bearer ${newToken}`\n\n originalRequest.timeout = 5000\n\n return await Promise.race([\n this.authenticatedAxiosInstance(originalRequest),\n new Promise((_, reject) =>\n setTimeout(\n () => reject(new Error('Retry request timeout')),\n originalRequest.timeout\n )\n )\n ])\n } catch (refreshError) {\n // Clear the refresh promise if it fails\n this.tokenRefreshPromise = null\n return Promise.reject(refreshError)\n }\n }\n return Promise.reject(error)\n }\n )\n }\n\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\n const tokenFormRequestBody = new FormData()\n if (this.refreshToken) {\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\n tokenFormRequestBody.append('grant_type', 'refresh_token')\n } else if (clientId && clientSecret) {\n tokenFormRequestBody.append('client_id', clientId)\n tokenFormRequestBody.append('client_secret', clientSecret)\n tokenFormRequestBody.append('grant_type', 'client_credentials')\n } else {\n throw new Error(\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\n )\n }\n\n const response = await this.axiosTokenInstance.post(\n '/services/oauth2/token',\n tokenFormRequestBody,\n {\n headers: tokenFormRequestBody.getHeaders()\n }\n )\n\n this.token = response?.data?.['access_token']\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\n return this.token\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { TimesheetDayEntry } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFTimesheetClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\n try {\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\n const response = await this.axiosInstance.patch(url, {\n Date__c: timesheet.date,\n Callback__c: timesheet.callbackHours,\n HoursEBAdjusted__c: timesheet.regularHours,\n Misc__c: timesheet.miscHours,\n OT1__c: timesheet.overtime1Hours,\n OT2__c: timesheet.overtime2Hours,\n OnCall__c: timesheet.onCallHours,\n Misc1__c: timesheet.misc1HoursA,\n Misc_1_Hours__c: timesheet.misc1HoursB,\n Misc_2_Hours__c: timesheet.misc2Hours,\n Misc_3_Hours__c: timesheet.misc3Hours,\n Misc_4_Hours__c: timesheet.misc4Hours,\n Stat1__c: timesheet.stat1Hours,\n Stat2__c: timesheet.stat2Hours,\n In_Charge__c: timesheet.inChargeHours,\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\n })\n\n if (![200, 204, 304].includes(response.status))\n throw new Error(`got error status code ${response.status}`)\n } catch (error) {\n console.error('Error Updating Timesheet Hour: ', error.message)\n }\n }\n\n async getTimesheetId(workorderId: string): Promise<string> {\n // First we find the correct timesheet id\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderId}'\n LIMIT 1`\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records[0].Id\n }\n\n async getTimesheetIds(workorderId: string): Promise<string[]> {\n // Find all timesheet Ids that belong to this WO\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderId}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(record => record.Id)\n }\n\n async getTimesheetsForPractitioner(personnelID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '${personnelID}')`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let timesheets = []\n\n for (const timesheet of data.data.records) {\n timesheets.push({\n workorderId: timesheet.WorkOrder__c,\n id: timesheet.Id,\n updatedAt: timesheet.LastModifiedDate\n })\n }\n\n return timesheets\n }\n\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\n const timesheetId = await this.getTimesheetId(workorderId)\n // First we find the correct timesheet hours id\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'`\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(({ Id }) => Id)\n }\n\n async getTimesheetHoursId(workorderId: string, timesheetDate: Date): Promise<string[]> {\n const timesheetIds = await this.getTimesheetIds(workorderId)\n const formattedDate = timesheetDate.toISOString().split('T')[0]\n const allHourIds: string[] = []\n const url = `/services/data/${SF_API_VERSION}/query`\n\n for (const timesheetId of timesheetIds) {\n const query = `\n SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'\n AND Date__c = ${formattedDate}\n `\n try {\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n const ids = records.map(record => record.Id)\n allHourIds.push(...ids)\n } catch (err) {\n console.error(`Failed to fetch`, err)\n return []\n }\n }\n\n return allHourIds\n }\n\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\n return Promise.all(\n timesheetHourIds.map(async id =>\n this.axiosInstance\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\n .then(res => res.data)\n .then(toTimesheetDayEntry)\n )\n )\n }\n\n async getPayPeriods(): Promise<any> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriods = []\n\n for (const payPeriod of data.data.records) {\n payPeriods.push({\n name: payPeriod.Name,\n startDate: payPeriod.StartDate__c,\n endDate: payPeriod.EndDate__c\n })\n }\n\n return payPeriods\n }\n}\n\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\n return {\n id: raw.Id,\n date: raw.Date__c,\n callbackHours: raw.Callback__c,\n regularHours: raw.HoursEBAdjusted__c,\n miscHours: raw.Misc__c,\n overtime1Hours: raw.OT1__c,\n overtime2Hours: raw.OT2__c,\n onCallHours: raw.OnCall__c,\n misc1HoursA: raw.Misc1__c,\n misc1HoursB: raw.Misc_1_Hours__c,\n misc2Hours: raw.Misc_2_Hours__c,\n misc3Hours: raw.Misc_3_Hours__c,\n misc4Hours: raw.Misc_4_Hours__c,\n stat1Hours: raw.Stat1__c,\n stat2Hours: raw.Stat2__c,\n inChargeHours: raw.In_Charge__c,\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c,\n lastModified: raw.LastModifiedDate\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFPractitionerClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async fetchPractitioners(): Promise<Practitioner[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n return records.map(toPractitioner)\n } catch (error) {\n console.error('Error fetching practitioners: ', error.message)\n throw error\n }\n }\n\n async fetchPractitionerByEmail(email: string): Promise<Practitioner | null> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '${email}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n if (records.length === 0) {\n return null\n }\n return toPractitioner(records[0])\n } catch (error) {\n console.error('Error fetching practitioner by email:', error)\n throw error\n }\n }\n}\n\nfunction toPractitioner(raw: any): Practitioner {\n return {\n id: raw.Id,\n firstName: raw.FirstName__c,\n lastName: raw.LastName__c,\n email: raw.Email__c,\n staffId: raw.StaffID__c\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\nimport { Workorder } from '../../models'\n\nexport class SFWorkorderClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n\n async getWorkordersForPractitioner(practitionerId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = practitionerId\n ? `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c WHERE Personnel__c = '${practitionerId}'`\n : `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c`\n return await this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Workorder => ({\n id: record.Id,\n name: record.Name,\n establishmentId: record.HospitalID__c,\n region: record.Region__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c,\n practitionerId: record.Personnel__c,\n startDate: new Date(record.startdate__c),\n endDate: new Date(record.EndDate__c),\n createdAt: new Date(record.CreatedDate),\n updatedAt: new Date(record.LastModifiedDate)\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\n }\n}","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport interface Period {\n payPeriodId: string\n startDate: Date\n endDate: Date\n timesheetId?: string\n workorderId?: string\n}\n\nexport class SFPayPeriodClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async getPayPeriodAndTimesheetIdsForWorkorder(workorderID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderID}'`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodIds = []\n\n for (const payPeriods of data.data.records) {\n payPeriodIds.push({\n timesheetId: payPeriods.Id,\n payPeriodId: payPeriods.PayPeriod__c\n })\n }\n\n return payPeriodIds\n }\n\n async getPayPeriodDatesForPayPeriodIds(payPeriodIDs: string[]): Promise<Period[]> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN ${listOfIdsForQuery(payPeriodIDs)}`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodDates = []\n\n for (const payPeriod of data.data.records) {\n payPeriodDates.push({\n payPeriodId: payPeriod.Id,\n startDate: new Date(payPeriod.StartDate__c),\n endDate: new Date(payPeriod.EndDate__c)\n })\n }\n\n return payPeriodDates\n }\n}\n\nconst listOfIdsForQuery = (payPeriodIDs: string[]) => `('${payPeriodIDs.join('\\', \\'')}')`\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role } from '../models'\nimport { SFWorkorderClient } from './workorder/workorderClient'\nimport { SFPayPeriodClient } from './payperiod/payperiodClient'\n\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport class SFApiClient {\n private instance: SFApiClient | undefined = undefined\n private axiosInstance: AxiosInstance = axios.create()\n private authenticator: SFAuthenticator\n private baseUrl: string\n timesheetClient: SFTimesheetClient\n workorderClient: SFWorkorderClient\n practitionerClient: SFPractitionerClient\n payPeriodClient: SFPayPeriodClient\n\n constructor(baseUrl?: string) {\n this.baseUrl = baseUrl\n this.axiosInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl)\n this.timesheetClient = new SFTimesheetClient(this.axiosInstance)\n this.workorderClient = new SFWorkorderClient(this.axiosInstance)\n this.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n this.payPeriodClient = new SFPayPeriodClient(this.axiosInstance)\n }\n\n async init(\n sfClientId: string,\n sfClientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret, onTokenRefresh)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchRoles(): Promise<Role[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Label, Value FROM PicklistValueInfo \\\n WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c'\\\n AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' \\\n AND isActive = true`\n return this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Role => ({\n label: record.Label,\n value: record.Value\n })\n )\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","clientId","clientSecret","onTokenRefresh","_this","token","wrap","_callee2$","_context2","prev","next","postToken","sent","headers","common","interceptors","response","use","_ref","_callee","error","_error$response","originalRequest","newClientCredentials","newClientId","newClientSecret","newToken","_callee$","_context","config","_retryCount","status","tokenRefreshPromise","timeout","Promise","race","_","reject","setTimeout","Error","abrupt","t0","stop","_x4","apply","arguments","_x","_x2","_x3","_postToken","_callee3","_response$data","tokenFormRequestBody","_callee3$","_context3","FormData","refreshToken","append","post","getHeaders","data","_x5","_x6","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","Date__c","date","Callback__c","callbackHours","HoursEBAdjusted__c","regularHours","Misc__c","miscHours","OT1__c","overtime1Hours","OT2__c","overtime2Hours","OnCall__c","onCallHours","Misc1__c","misc1HoursA","Misc_1_Hours__c","misc1HoursB","Misc_2_Hours__c","misc2Hours","Misc_3_Hours__c","misc3Hours","Misc_4_Hours__c","misc4Hours","Stat1__c","stat1Hours","Stat2__c","stat2Hours","In_Charge__c","inChargeHours","Shift_Travel_Stipend__c","shiftTravelPerDiemHours","includes","console","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","Id","getTimesheetIds","_getTimesheetIds","_yield$this$axiosInst2","map","record","getTimesheetsForPractitioner","_getTimesheetsForPractitioner","_callee4","personnelID","timesheets","_iterator","_step","_callee4$","_context4","_createForOfIteratorHelperLoose","done","value","push","WorkOrder__c","id","updatedAt","LastModifiedDate","getTimesheetHoursIds","_getTimesheetHoursIds","_callee5","timesheetId","_yield$this$axiosInst3","_callee5$","_context5","getTimesheetHoursId","_getTimesheetHoursId","_callee6","timesheetDate","timesheetIds","formattedDate","allHourIds","_iterator2","_step2","_yield$this$axiosInst4","ids","_callee6$","_context6","toISOString","split","_x7","_x8","getTimesheetHours","_getTimesheetHours","_callee8","timesheetHourIds","_callee8$","_context8","all","_ref2","_callee7","_callee7$","_context7","then","res","toTimesheetDayEntry","_x10","_x9","getPayPeriods","_getPayPeriods","_callee9","payPeriods","_iterator3","_step3","payPeriod","_callee9$","_context9","name","Name","startDate","StartDate__c","endDate","EndDate__c","raw","lastModified","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","fetchPractitionerByEmail","_fetchPractitionerByEmail","email","length","firstName","FirstName__c","lastName","LastName__c","Email__c","staffId","StaffID__c","SFWorkorderClient","getWorkordersForPractitioner","_getWorkordersForPractitioner","practitionerId","establishmentId","HospitalID__c","region","Region__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","Personnel__c","Date","startdate__c","createdAt","CreatedDate","SFPayPeriodClient","getPayPeriodAndTimesheetIdsForWorkorder","_getPayPeriodAndTimesheetIdsForWorkorder","workorderID","payPeriodIds","payPeriodId","PayPeriod__c","getPayPeriodDatesForPayPeriodIds","_getPayPeriodDatesForPayPeriodIds","payPeriodIDs","payPeriodDates","listOfIdsForQuery","join","SFApiClient","authenticator","timesheetClient","workorderClient","practitionerClient","payPeriodClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchRoles","_fetchRoles","label","Label","Value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pha-hermes.esm.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/workorder/workorderClient.ts","../src/api/payperiod/payperiodClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\nimport FormData from 'form-data'\n\nexport class SFAuthenticator {\n axiosTokenInstance: AxiosInstance = axios.create()\n authenticatedAxiosInstance: AxiosInstance\n token: string | undefined = undefined\n private refreshToken: string | undefined = undefined\n private tokenRefreshPromise: Promise<string> | null = null\n\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\n this.axiosTokenInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\n }\n\n async initializeAuth(\n clientId: string,\n clientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n const token = await this.postToken(clientId, clientSecret)\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\n\n this.authenticatedAxiosInstance.interceptors.response.use(\n response => response,\n async error => {\n const originalRequest = error.config\n originalRequest._retryCount = originalRequest._retryCount || 0\n\n // If the error is 401 and we haven't exceeded max retries\n if (error.response?.status === 401 && originalRequest._retryCount < 3) {\n originalRequest._retryCount++\n\n try {\n // Use existing token refresh if one is in progress\n if (!this.tokenRefreshPromise) {\n const newClientCredentials = await onTokenRefresh?.()\n const newClientId = newClientCredentials?.clientId || clientId\n const newClientSecret =\n newClientCredentials?.clientSecret || clientSecret\n this.tokenRefreshPromise = this.postToken(newClientId, newClientSecret)\n }\n\n const newToken = await this.tokenRefreshPromise\n // Clear the refresh promise after it completes\n this.tokenRefreshPromise = null\n\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${newToken}`\n originalRequest.headers['Authorization'] = `Bearer ${newToken}`\n\n originalRequest.timeout = 5000\n\n return await Promise.race([\n this.authenticatedAxiosInstance(originalRequest),\n new Promise((_, reject) =>\n setTimeout(\n () => reject(new Error('Retry request timeout')),\n originalRequest.timeout\n )\n )\n ])\n } catch (refreshError) {\n // Clear the refresh promise if it fails\n this.tokenRefreshPromise = null\n return Promise.reject(refreshError)\n }\n }\n return Promise.reject(error)\n }\n )\n }\n\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\n const tokenFormRequestBody = new FormData()\n if (this.refreshToken) {\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\n tokenFormRequestBody.append('grant_type', 'refresh_token')\n } else if (clientId && clientSecret) {\n tokenFormRequestBody.append('client_id', clientId)\n tokenFormRequestBody.append('client_secret', clientSecret)\n tokenFormRequestBody.append('grant_type', 'client_credentials')\n } else {\n throw new Error(\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\n )\n }\n\n const response = await this.axiosTokenInstance.post(\n '/services/oauth2/token',\n tokenFormRequestBody,\n {\n headers: tokenFormRequestBody.getHeaders()\n }\n )\n\n this.token = response?.data?.['access_token']\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\n return this.token\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { TimesheetDayEntry } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFTimesheetClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\n try {\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\n const response = await this.axiosInstance.patch(url, {\n Date__c: timesheet.date,\n Callback__c: timesheet.callbackHours,\n HoursEBAdjusted__c: timesheet.regularHours,\n Misc__c: timesheet.miscHours,\n OT1__c: timesheet.overtime1Hours,\n OT2__c: timesheet.overtime2Hours,\n OnCall__c: timesheet.onCallHours,\n Misc1__c: timesheet.misc1HoursA,\n Misc_1_Hours__c: timesheet.misc1HoursB,\n Misc_2_Hours__c: timesheet.misc2Hours,\n Misc_3_Hours__c: timesheet.misc3Hours,\n Misc_4_Hours__c: timesheet.misc4Hours,\n Stat1__c: timesheet.stat1Hours,\n Stat2__c: timesheet.stat2Hours,\n In_Charge__c: timesheet.inChargeHours,\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\n })\n\n if (![200, 204, 304].includes(response.status))\n throw new Error(`got error status code ${response.status}`)\n } catch (error) {\n console.error('Error Updating Timesheet Hour: ', error.message)\n }\n }\n\n async getTimesheetId(workorderId: string): Promise<string> {\n // Find all timesheet Ids that belong to this WO\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderId}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(record => record.Id)\n }\n\n async getTimesheetsForPractitioner(personnelID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '${personnelID}')`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let timesheets = []\n\n for (const timesheet of data.data.records) {\n timesheets.push({\n workorderId: timesheet.WorkOrder__c,\n id: timesheet.Id,\n updatedAt: timesheet.LastModifiedDate\n })\n }\n\n return timesheets\n }\n\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\n const timesheetIds = await this.getTimesheetId(workorderId)\n const timesheetId = timesheetIds[0]\n // First we find the correct timesheet hours id\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'`\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(({ Id }) => Id)\n }\n\n async getTimesheetHoursId(workorderId: string, timesheetDate: Date): Promise<string[]> {\n const timesheetIds = await this.getTimesheetId(workorderId)\n const formattedDate = timesheetDate.toISOString().split('T')[0]\n const allHourIds: string[] = []\n const url = `/services/data/${SF_API_VERSION}/query`\n\n for (const timesheetId of timesheetIds) {\n const query = `\n SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'\n AND Date__c = ${formattedDate}\n `\n try {\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n const ids = records.map(record => record.Id)\n allHourIds.push(...ids)\n } catch (err) {\n console.error(`Failed to fetch`, err)\n return []\n }\n }\n\n return allHourIds\n }\n\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\n return Promise.all(\n timesheetHourIds.map(async id =>\n this.axiosInstance\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\n .then(res => res.data)\n .then(toTimesheetDayEntry)\n )\n )\n }\n\n async getPayPeriods(): Promise<any> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriods = []\n\n for (const payPeriod of data.data.records) {\n payPeriods.push({\n name: payPeriod.Name,\n startDate: payPeriod.StartDate__c,\n endDate: payPeriod.EndDate__c\n })\n }\n\n return payPeriods\n }\n}\n\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\n return {\n id: raw.Id,\n date: raw.Date__c,\n callbackHours: raw.Callback__c,\n regularHours: raw.HoursEBAdjusted__c,\n miscHours: raw.Misc__c,\n overtime1Hours: raw.OT1__c,\n overtime2Hours: raw.OT2__c,\n onCallHours: raw.OnCall__c,\n misc1HoursA: raw.Misc1__c,\n misc1HoursB: raw.Misc_1_Hours__c,\n misc2Hours: raw.Misc_2_Hours__c,\n misc3Hours: raw.Misc_3_Hours__c,\n misc4Hours: raw.Misc_4_Hours__c,\n stat1Hours: raw.Stat1__c,\n stat2Hours: raw.Stat2__c,\n inChargeHours: raw.In_Charge__c,\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c,\n lastModified: raw.LastModifiedDate\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFPractitionerClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async fetchPractitioners(): Promise<Practitioner[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n return records.map(toPractitioner)\n } catch (error) {\n console.error('Error fetching practitioners: ', error.message)\n throw error\n }\n }\n\n async fetchPractitionerByEmail(email: string): Promise<Practitioner | null> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '${email}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n if (records.length === 0) {\n return null\n }\n return toPractitioner(records[0])\n } catch (error) {\n console.error('Error fetching practitioner by email:', error)\n throw error\n }\n }\n}\n\nfunction toPractitioner(raw: any): Practitioner {\n return {\n id: raw.Id,\n firstName: raw.FirstName__c,\n lastName: raw.LastName__c,\n email: raw.Email__c,\n staffId: raw.StaffID__c\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\nimport { Workorder } from '../../models'\n\nexport class SFWorkorderClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n\n async getWorkordersForPractitioner(practitionerId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = practitionerId\n ? `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c WHERE Personnel__c = '${practitionerId}'`\n : `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c`\n return await this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Workorder => ({\n id: record.Id,\n name: record.Name,\n establishmentId: record.HospitalID__c,\n region: record.Region__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c,\n practitionerId: record.Personnel__c,\n startDate: new Date(record.startdate__c),\n endDate: new Date(record.EndDate__c),\n createdAt: new Date(record.CreatedDate),\n updatedAt: new Date(record.LastModifiedDate)\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\n }\n}","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport interface Period {\n payPeriodId: string\n startDate: Date\n endDate: Date\n timesheetId?: string\n workorderId?: string\n}\n\nexport class SFPayPeriodClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async getPayPeriodAndTimesheetIdsForWorkorder(workorderID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderID}'`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodIds = []\n\n for (const payPeriods of data.data.records) {\n payPeriodIds.push({\n timesheetId: payPeriods.Id,\n payPeriodId: payPeriods.PayPeriod__c\n })\n }\n\n return payPeriodIds\n }\n\n async getPayPeriodDatesForPayPeriodIds(payPeriodIDs: string[]): Promise<Period[]> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN ${listOfIdsForQuery(payPeriodIDs)}`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodDates = []\n\n for (const payPeriod of data.data.records) {\n payPeriodDates.push({\n payPeriodId: payPeriod.Id,\n startDate: new Date(payPeriod.StartDate__c),\n endDate: new Date(payPeriod.EndDate__c)\n })\n }\n\n return payPeriodDates\n }\n}\n\nconst listOfIdsForQuery = (payPeriodIDs: string[]) => `('${payPeriodIDs.join('\\', \\'')}')`\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role } from '../models'\nimport { SFWorkorderClient } from './workorder/workorderClient'\nimport { SFPayPeriodClient } from './payperiod/payperiodClient'\n\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport class SFApiClient {\n private instance: SFApiClient | undefined = undefined\n private axiosInstance: AxiosInstance = axios.create()\n private authenticator: SFAuthenticator\n private baseUrl: string\n timesheetClient: SFTimesheetClient\n workorderClient: SFWorkorderClient\n practitionerClient: SFPractitionerClient\n payPeriodClient: SFPayPeriodClient\n\n constructor(baseUrl?: string) {\n this.baseUrl = baseUrl\n this.axiosInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl)\n this.timesheetClient = new SFTimesheetClient(this.axiosInstance)\n this.workorderClient = new SFWorkorderClient(this.axiosInstance)\n this.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n this.payPeriodClient = new SFPayPeriodClient(this.axiosInstance)\n }\n\n async init(\n sfClientId: string,\n sfClientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret, onTokenRefresh)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchRoles(): Promise<Role[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Label, Value FROM PicklistValueInfo \\\n WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c'\\\n AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' \\\n AND isActive = true`\n return this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Role => ({\n label: record.Label,\n value: record.Value\n })\n )\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","clientId","clientSecret","onTokenRefresh","_this","token","wrap","_callee2$","_context2","prev","next","postToken","sent","headers","common","interceptors","response","use","_ref","_callee","error","_error$response","originalRequest","newClientCredentials","newClientId","newClientSecret","newToken","_callee$","_context","config","_retryCount","status","tokenRefreshPromise","timeout","Promise","race","_","reject","setTimeout","Error","abrupt","t0","stop","_x4","apply","arguments","_x","_x2","_x3","_postToken","_callee3","_response$data","tokenFormRequestBody","_callee3$","_context3","FormData","refreshToken","append","post","getHeaders","data","_x5","_x6","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","Date__c","date","Callback__c","callbackHours","HoursEBAdjusted__c","regularHours","Misc__c","miscHours","OT1__c","overtime1Hours","OT2__c","overtime2Hours","OnCall__c","onCallHours","Misc1__c","misc1HoursA","Misc_1_Hours__c","misc1HoursB","Misc_2_Hours__c","misc2Hours","Misc_3_Hours__c","misc3Hours","Misc_4_Hours__c","misc4Hours","Stat1__c","stat1Hours","Stat2__c","stat2Hours","In_Charge__c","inChargeHours","Shift_Travel_Stipend__c","shiftTravelPerDiemHours","includes","console","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","map","record","Id","getTimesheetsForPractitioner","_getTimesheetsForPractitioner","personnelID","timesheets","_iterator","_step","_createForOfIteratorHelperLoose","done","value","push","WorkOrder__c","id","updatedAt","LastModifiedDate","getTimesheetHoursIds","_getTimesheetHoursIds","_callee4","timesheetIds","timesheetId","_yield$this$axiosInst2","_callee4$","_context4","getTimesheetHoursId","_getTimesheetHoursId","_callee5","timesheetDate","formattedDate","allHourIds","_iterator2","_step2","_yield$this$axiosInst3","ids","_callee5$","_context5","toISOString","split","_x7","getTimesheetHours","_getTimesheetHours","_callee7","timesheetHourIds","_callee7$","_context7","all","_ref2","_callee6","_callee6$","_context6","then","res","toTimesheetDayEntry","_x9","_x8","getPayPeriods","_getPayPeriods","_callee8","payPeriods","_iterator3","_step3","payPeriod","_callee8$","_context8","name","Name","startDate","StartDate__c","endDate","EndDate__c","raw","lastModified","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","fetchPractitionerByEmail","_fetchPractitionerByEmail","email","length","firstName","FirstName__c","lastName","LastName__c","Email__c","staffId","StaffID__c","SFWorkorderClient","getWorkordersForPractitioner","_getWorkordersForPractitioner","practitionerId","establishmentId","HospitalID__c","region","Region__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","Personnel__c","Date","startdate__c","createdAt","CreatedDate","SFPayPeriodClient","getPayPeriodAndTimesheetIdsForWorkorder","_getPayPeriodAndTimesheetIdsForWorkorder","workorderID","payPeriodIds","payPeriodId","PayPeriod__c","getPayPeriodDatesForPayPeriodIds","_getPayPeriodDatesForPayPeriodIds","payPeriodIDs","payPeriodDates","listOfIdsForQuery","join","SFApiClient","authenticator","timesheetClient","workorderClient","practitionerClient","payPeriodClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchRoles","_fetchRoles","label","Label","Value"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -39,21 +39,6 @@ export class SFTimesheetClient {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
async getTimesheetId(workorderId: string): Promise<string> {
|
|
42
|
-
// First we find the correct timesheet id
|
|
43
|
-
const url = `/services/data/${SF_API_VERSION}/query`
|
|
44
|
-
const query = `SELECT Id
|
|
45
|
-
FROM Timesheet__c
|
|
46
|
-
WHERE WorkOrder__c = '${workorderId}'
|
|
47
|
-
LIMIT 1`
|
|
48
|
-
const {
|
|
49
|
-
data: { records }
|
|
50
|
-
} = await this.axiosInstance.get(url, {
|
|
51
|
-
params: { q: query }
|
|
52
|
-
})
|
|
53
|
-
return records[0].Id
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
async getTimesheetIds(workorderId: string): Promise<string[]> {
|
|
57
42
|
// Find all timesheet Ids that belong to this WO
|
|
58
43
|
const url = `/services/data/${SF_API_VERSION}/query`
|
|
59
44
|
const query = `SELECT Id
|
|
@@ -93,7 +78,8 @@ export class SFTimesheetClient {
|
|
|
93
78
|
}
|
|
94
79
|
|
|
95
80
|
async getTimesheetHoursIds(workorderId: string): Promise<string[]> {
|
|
96
|
-
const
|
|
81
|
+
const timesheetIds = await this.getTimesheetId(workorderId)
|
|
82
|
+
const timesheetId = timesheetIds[0]
|
|
97
83
|
// First we find the correct timesheet hours id
|
|
98
84
|
const url = `/services/data/${SF_API_VERSION}/query`
|
|
99
85
|
const query = `SELECT Id
|
|
@@ -108,7 +94,7 @@ export class SFTimesheetClient {
|
|
|
108
94
|
}
|
|
109
95
|
|
|
110
96
|
async getTimesheetHoursId(workorderId: string, timesheetDate: Date): Promise<string[]> {
|
|
111
|
-
const timesheetIds = await this.
|
|
97
|
+
const timesheetIds = await this.getTimesheetId(workorderId)
|
|
112
98
|
const formattedDate = timesheetDate.toISOString().split('T')[0]
|
|
113
99
|
const allHourIds: string[] = []
|
|
114
100
|
const url = `/services/data/${SF_API_VERSION}/query`
|