pha-hermes 1.0.1 → 1.0.3
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/apiClient.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -2
- package/dist/models/timesheet.d.ts +1 -0
- package/dist/{hermes.cjs.development.js → pha-hermes.cjs.development.js} +3 -172
- package/dist/pha-hermes.cjs.development.js.map +1 -0
- package/dist/pha-hermes.cjs.production.min.js +2 -0
- package/dist/pha-hermes.cjs.production.min.js.map +1 -0
- package/dist/{hermes.esm.js → pha-hermes.esm.js} +4 -172
- package/dist/pha-hermes.esm.js.map +1 -0
- package/package.json +2 -3
- package/src/api/apiClient.ts +1 -1
- package/dist/hermes.cjs.development.js.map +0 -1
- package/dist/hermes.cjs.production.min.js +0 -2
- package/dist/hermes.cjs.production.min.js.map +0 -1
- package/dist/hermes.esm.js.map +0 -1
package/dist/api/apiClient.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { SFTimesheetClient } from './timesheet/timesheetClient';
|
|
|
2
2
|
import { SFPractitionerClient } from './practitioner/practitionerClient';
|
|
3
3
|
import { Role, Workorder } from '../models';
|
|
4
4
|
export declare const SF_API_VERSION: string;
|
|
5
|
-
export
|
|
5
|
+
export default class SFApiClient {
|
|
6
6
|
private instance;
|
|
7
7
|
private axiosInstance;
|
|
8
8
|
private authenticator;
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
'use strict'
|
|
3
3
|
|
|
4
4
|
if (process.env.NODE_ENV === 'production') {
|
|
5
|
-
module.exports = require('./hermes.cjs.production.min.js')
|
|
5
|
+
module.exports = require('./pha-hermes.cjs.production.min.js')
|
|
6
6
|
} else {
|
|
7
|
-
module.exports = require('./hermes.cjs.development.js')
|
|
7
|
+
module.exports = require('./pha-hermes.cjs.development.js')
|
|
8
8
|
}
|
|
@@ -437,6 +437,7 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
437
437
|
url = "/services/data/" + SF_API_VERSION + "/sobjects/TimeSheetHour__c/" + timesheetHourId;
|
|
438
438
|
_context.next = 4;
|
|
439
439
|
return this.axiosInstance.patch(url, {
|
|
440
|
+
Date__c: timesheet.date,
|
|
440
441
|
Callback__c: timesheet.callbackHours,
|
|
441
442
|
HoursEBAdjusted__c: timesheet.regularHours,
|
|
442
443
|
Misc__c: timesheet.miscHours,
|
|
@@ -589,6 +590,7 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
589
590
|
}();
|
|
590
591
|
function toTimesheetDayEntry(raw) {
|
|
591
592
|
return {
|
|
593
|
+
date: raw.Date__c,
|
|
592
594
|
callbackHours: raw.Callback__c,
|
|
593
595
|
regularHours: raw.HoursEBAdjusted__c,
|
|
594
596
|
miscHours: raw.Misc__c,
|
|
@@ -607,180 +609,9 @@ function toTimesheetDayEntry(raw) {
|
|
|
607
609
|
};
|
|
608
610
|
}
|
|
609
611
|
|
|
610
|
-
var SFPractitionerClient = /*#__PURE__*/function () {
|
|
611
|
-
function SFPractitionerClient(axiosInstance) {
|
|
612
|
-
this.axiosInstance = axiosInstance;
|
|
613
|
-
}
|
|
614
|
-
var _proto = SFPractitionerClient.prototype;
|
|
615
|
-
_proto.fetchPractitioners = /*#__PURE__*/function () {
|
|
616
|
-
var _fetchPractitioners = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
617
|
-
var url, query, _yield$this$axiosInst, records;
|
|
618
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
619
|
-
while (1) switch (_context.prev = _context.next) {
|
|
620
|
-
case 0:
|
|
621
|
-
_context.prev = 0;
|
|
622
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
623
|
-
query = "\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n ";
|
|
624
|
-
_context.next = 5;
|
|
625
|
-
return this.axiosInstance.get(url, {
|
|
626
|
-
params: {
|
|
627
|
-
q: query
|
|
628
|
-
}
|
|
629
|
-
});
|
|
630
|
-
case 5:
|
|
631
|
-
_yield$this$axiosInst = _context.sent;
|
|
632
|
-
records = _yield$this$axiosInst.data.records;
|
|
633
|
-
return _context.abrupt("return", records.map(toPractitioner));
|
|
634
|
-
case 10:
|
|
635
|
-
_context.prev = 10;
|
|
636
|
-
_context.t0 = _context["catch"](0);
|
|
637
|
-
console.error('Error fetching practitioners: ', _context.t0.message);
|
|
638
|
-
throw _context.t0;
|
|
639
|
-
case 14:
|
|
640
|
-
case "end":
|
|
641
|
-
return _context.stop();
|
|
642
|
-
}
|
|
643
|
-
}, _callee, this, [[0, 10]]);
|
|
644
|
-
}));
|
|
645
|
-
function fetchPractitioners() {
|
|
646
|
-
return _fetchPractitioners.apply(this, arguments);
|
|
647
|
-
}
|
|
648
|
-
return fetchPractitioners;
|
|
649
|
-
}();
|
|
650
|
-
return SFPractitionerClient;
|
|
651
|
-
}();
|
|
652
|
-
function toPractitioner(raw) {
|
|
653
|
-
return {
|
|
654
|
-
id: raw.Id,
|
|
655
|
-
firstName: raw.FirstName__c,
|
|
656
|
-
lastName: raw.LastName__c,
|
|
657
|
-
email: raw.Email__c,
|
|
658
|
-
staffId: raw.StaffID__c
|
|
659
|
-
};
|
|
660
|
-
}
|
|
661
|
-
|
|
662
612
|
var SF_API_VERSION = 'v57.0';
|
|
663
|
-
var SFApiClient = /*#__PURE__*/function () {
|
|
664
|
-
function SFApiClient(baseUrl) {
|
|
665
|
-
this.instance = undefined;
|
|
666
|
-
this.axiosInstance = axios.create();
|
|
667
|
-
this.baseUrl = baseUrl;
|
|
668
|
-
this.axiosInstance.defaults.baseURL = baseUrl != null ? baseUrl : 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com';
|
|
669
|
-
this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl);
|
|
670
|
-
this.timesheetClient = new SFTimesheetClient(this.axiosInstance);
|
|
671
|
-
this.practitionerClient = new SFPractitionerClient(this.axiosInstance);
|
|
672
|
-
}
|
|
673
|
-
var _proto = SFApiClient.prototype;
|
|
674
|
-
_proto.init = /*#__PURE__*/function () {
|
|
675
|
-
var _init = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(sfClientId, sfClientSecret) {
|
|
676
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
677
|
-
while (1) switch (_context.prev = _context.next) {
|
|
678
|
-
case 0:
|
|
679
|
-
_context.next = 2;
|
|
680
|
-
return this.authenticator.initializeAuth(sfClientId, sfClientSecret);
|
|
681
|
-
case 2:
|
|
682
|
-
case "end":
|
|
683
|
-
return _context.stop();
|
|
684
|
-
}
|
|
685
|
-
}, _callee, this);
|
|
686
|
-
}));
|
|
687
|
-
function init(_x, _x2) {
|
|
688
|
-
return _init.apply(this, arguments);
|
|
689
|
-
}
|
|
690
|
-
return init;
|
|
691
|
-
}();
|
|
692
|
-
_proto.setInstance = function setInstance(instance) {
|
|
693
|
-
this.instance = instance;
|
|
694
|
-
};
|
|
695
|
-
_proto.getInstance = function getInstance() {
|
|
696
|
-
return this.instance;
|
|
697
|
-
};
|
|
698
|
-
_proto.fetchWorkOrders = /*#__PURE__*/function () {
|
|
699
|
-
var _fetchWorkOrders = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(assignedStaffId) {
|
|
700
|
-
var url, query;
|
|
701
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
702
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
703
|
-
case 0:
|
|
704
|
-
_context2.prev = 0;
|
|
705
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
706
|
-
query = assignedStaffId ? "SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '" + assignedStaffId + "'" : "SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c";
|
|
707
|
-
_context2.next = 5;
|
|
708
|
-
return this.axiosInstance.get(url, {
|
|
709
|
-
params: {
|
|
710
|
-
q: query
|
|
711
|
-
}
|
|
712
|
-
}).then(function (_ref) {
|
|
713
|
-
var records = _ref.data.records;
|
|
714
|
-
return records.map(function (record) {
|
|
715
|
-
return {
|
|
716
|
-
id: record.Id,
|
|
717
|
-
establishmentId: record.HospitalID__c,
|
|
718
|
-
establishmentName: record.HospitalName__c,
|
|
719
|
-
role: record.ProfessionalDesignation__c
|
|
720
|
-
};
|
|
721
|
-
});
|
|
722
|
-
});
|
|
723
|
-
case 5:
|
|
724
|
-
return _context2.abrupt("return", _context2.sent);
|
|
725
|
-
case 8:
|
|
726
|
-
_context2.prev = 8;
|
|
727
|
-
_context2.t0 = _context2["catch"](0);
|
|
728
|
-
console.error('Error fetching work orders: ', _context2.t0.message);
|
|
729
|
-
throw _context2.t0;
|
|
730
|
-
case 12:
|
|
731
|
-
case "end":
|
|
732
|
-
return _context2.stop();
|
|
733
|
-
}
|
|
734
|
-
}, _callee2, this, [[0, 8]]);
|
|
735
|
-
}));
|
|
736
|
-
function fetchWorkOrders(_x3) {
|
|
737
|
-
return _fetchWorkOrders.apply(this, arguments);
|
|
738
|
-
}
|
|
739
|
-
return fetchWorkOrders;
|
|
740
|
-
}();
|
|
741
|
-
_proto.fetchRoles = /*#__PURE__*/function () {
|
|
742
|
-
var _fetchRoles = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
743
|
-
var url, query;
|
|
744
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
745
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
746
|
-
case 0:
|
|
747
|
-
_context3.prev = 0;
|
|
748
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
749
|
-
query = "SELECT Label, Value FROM PicklistValueInfo WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c' AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' AND isActive = true";
|
|
750
|
-
return _context3.abrupt("return", this.axiosInstance.get(url, {
|
|
751
|
-
params: {
|
|
752
|
-
q: query
|
|
753
|
-
}
|
|
754
|
-
}).then(function (_ref2) {
|
|
755
|
-
var records = _ref2.data.records;
|
|
756
|
-
return records.map(function (record) {
|
|
757
|
-
return {
|
|
758
|
-
label: record.Label,
|
|
759
|
-
value: record.Value
|
|
760
|
-
};
|
|
761
|
-
});
|
|
762
|
-
}));
|
|
763
|
-
case 6:
|
|
764
|
-
_context3.prev = 6;
|
|
765
|
-
_context3.t0 = _context3["catch"](0);
|
|
766
|
-
console.error('Error fetching roles: ', _context3.t0.message);
|
|
767
|
-
throw _context3.t0;
|
|
768
|
-
case 10:
|
|
769
|
-
case "end":
|
|
770
|
-
return _context3.stop();
|
|
771
|
-
}
|
|
772
|
-
}, _callee3, this, [[0, 6]]);
|
|
773
|
-
}));
|
|
774
|
-
function fetchRoles() {
|
|
775
|
-
return _fetchRoles.apply(this, arguments);
|
|
776
|
-
}
|
|
777
|
-
return fetchRoles;
|
|
778
|
-
}();
|
|
779
|
-
return SFApiClient;
|
|
780
|
-
}();
|
|
781
613
|
|
|
782
|
-
exports.SFApiClient = SFApiClient;
|
|
783
614
|
exports.SFAuthenticator = SFAuthenticator;
|
|
784
615
|
exports.SFTimesheetClient = SFTimesheetClient;
|
|
785
616
|
exports.SF_API_VERSION = SF_API_VERSION;
|
|
786
|
-
//# sourceMappingURL=hermes.cjs.development.js.map
|
|
617
|
+
//# sourceMappingURL=pha-hermes.cjs.development.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pha-hermes.cjs.development.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Date__c: timesheet.date, \r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n date: raw.Date__c,\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport default 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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\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","_callee","clientId","clientSecret","token","wrap","_callee$","_context","prev","next","postToken","sent","headers","common","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_callee2$","_context2","FormData","refreshToken","append","Error","post","getHeaders","data","abrupt","_x3","_x4","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","timesheetId","_yield$this$axiosInst2","_callee3$","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","timesheetHourIds","_callee5$","_context5","Promise","all","_ref2","_callee4","id","_callee4$","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("axios")),r=t(require("form-data"));function n(t,e,r,n,o,i,a){try{var s=t[i](a),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,i){var a=t.apply(e,r);function s(t){n(a,o,i,s,c,"next",t)}function c(t){n(a,o,i,s,c,"throw",t)}s(void 0)}))}}function i(){i=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},a="function"==typeof Symbol?Symbol:{},s=a.iterator||"@@iterator",c=a.asyncIterator||"@@asyncIterator",u=a.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var i=Object.create((e&&e.prototype instanceof y?e:y).prototype),a=new S(n||[]);return o(i,"_invoke",{value:E(t,r,a)}),i}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",d="executing",v="completed",_={};function y(){}function m(){}function g(){}var w={};h(w,s,(function(){return this}));var x=Object.getPrototypeOf,H=x&&x(x(j([])));H&&H!==r&&n.call(H,s)&&(w=H);var b=g.prototype=y.prototype=Object.create(w);function k(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function T(t,e){function r(o,i,a,s){var c=l(t[o],t,i);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,a,s)}),(function(t){r("throw",t,a,s)})):e.resolve(h).then((function(t){u.value=t,a(u)}),(function(t){return r("throw",t,a,s)}))}s(c.arg)}var i;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return i=i?i.then(o,o):o()}})}function E(e,r,n){var o=p;return function(i,a){if(o===d)throw Error("Generator is already running");if(o===v){if("throw"===i)throw a;return{value:t,done:!0}}for(n.method=i,n.arg=a;;){var s=n.delegate;if(s){var c=L(s,n);if(c){if(c===_)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=v,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=d;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?v:"suspendedYield",u.arg===_)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=v,n.method="throw",n.arg=u.arg)}}}function L(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,L(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),_;var i=l(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,_;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,_):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,_)}function I(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(I,this),this.reset(!0)}function j(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return i.next=i}}throw new TypeError(typeof e+" is not iterable")}return m.prototype=g,o(b,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:m,configurable:!0}),m.displayName=h(g,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===m||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,h(t,u,"GeneratorFunction")),t.prototype=Object.create(b),t},e.awrap=function(t){return{__await:t}},k(T.prototype),h(T.prototype,c,(function(){return this})),e.AsyncIterator=T,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new T(f(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},k(b),h(b,u,"Generator"),h(b,s,(function(){return this})),h(b,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=j,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return s.type="throw",s.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],s=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var c=n.call(a,"catchLoc"),u=n.call(a,"finallyLoc");if(c&&u){if(this.prev<a.catchLoc)return o(a.catchLoc,!0);if(this.prev<a.finallyLoc)return o(a.finallyLoc)}else if(c){if(this.prev<a.catchLoc)return o(a.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return o(a.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,_):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),_},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),O(r),_}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:j(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),_}},e}var a=function(){function t(t,r){this.axiosTokenInstance=e.create(),this.token=void 0,this.refreshToken=void 0,this.axiosTokenInstance.defaults.baseURL=null!=r?r:"https://do0000000d247eaa--phealth.sandbox.my.salesforce.com",this.authenticatedAxiosInstance=t}var n=t.prototype;return n.initializeAuth=function(){var t=o(i().mark((function t(e,r){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.postToken(e,r);case 2:this.authenticatedAxiosInstance.defaults.headers.common.Authorization="Bearer "+t.sent;case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.postToken=function(){var t=o(i().mark((function t(e,n){var o,a,s;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a=new r,!this.refreshToken){t.next=6;break}a.append("refresh_token",this.refreshToken),a.append("grant_type","refresh_token"),t.next=13;break;case 6:if(!e||!n){t.next=12;break}a.append("client_id",e),a.append("client_secret",n),a.append("grant_type","client_credentials"),t.next=13;break;case 12:throw new Error("Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided");case 13:return t.next=15,this.axiosTokenInstance.post("/services/oauth2/token",a,{headers:a.getHeaders()});case 15:if(this.token=null==(s=t.sent)||null==(o=s.data)?void 0:o.access_token,this.token){t.next=19;break}throw new Error("Authentication failed, could not get the access token");case 19:return t.abrupt("return",this.token);case 20:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),t}(),s=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.updateTimesheetHour=function(){var t=o(i().mark((function t(e,r){var n,o;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n="/services/data/"+u+"/sobjects/TimeSheetHour__c/"+e,t.next=4,this.axiosInstance.patch(n,{Date__c:r.date,Callback__c:r.callbackHours,HoursEBAdjusted__c:r.regularHours,Misc__c:r.miscHours,OT1__c:r.overtime1Hours,OT2__c:r.overtime2Hours,OnCall__c:r.onCallHours,Misc1__c:r.misc1HoursA,Misc_1_Hours__c:r.misc1HoursB,Misc_2_Hours__c:r.misc2Hours,Misc_3_Hours__c:r.misc3Hours,Misc_4_Hours__c:r.misc4Hours,Stat1__c:r.stat1Hours,Stat2__c:r.stat2Hours,In_Charge__c:r.inChargeHours,Shift_Travel_Stipend__c:r.shiftTravelPerDiemHours});case 4:if([200,204,304].includes((o=t.sent).status)){t.next=7;break}throw new Error("got error status code "+o.status);case 7:t.next=12;break;case 9:t.prev=9,t.t0=t.catch(0),console.error("Error Updating Timesheet Hour: ",t.t0.message);case 12:case"end":return t.stop()}}),t,this,[[0,9]])})));return function(e,r){return t.apply(this,arguments)}}(),e.getTimesheetId=function(){var t=o(i().mark((function t(e){var r,n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+u+"/query",n="SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '"+e+"' LIMIT 1",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:return t.abrupt("return",t.sent.data.records[0].Id);case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHoursIds=function(){var t=o(i().mark((function t(e){var r,n;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetId(e);case 2:return r="/services/data/"+u+"/query",n="SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '"+t.sent+"'",t.next=7,this.axiosInstance.get(r,{params:{q:n}});case 7:return t.abrupt("return",t.sent.data.records.map((function(t){return t.Id})));case 10:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHours=function(){var t=o(i().mark((function t(e){var r=this;return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetHoursIds(e);case 2:return t.abrupt("return",Promise.all(t.sent.map(function(){var t=o(i().mark((function t(e){return i().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",r.axiosInstance.get("/services/data/"+u+"/sobjects/TimeSheetHour__c/"+e).then((function(t){return t.data})).then(c));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())));case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}();function c(t){return{date:t.Date__c,callbackHours:t.Callback__c,regularHours:t.HoursEBAdjusted__c,miscHours:t.Misc__c,overtime1Hours:t.OT1__c,overtime2Hours:t.OT2__c,onCallHours:t.OnCall__c,misc1HoursA:t.Misc1__c,misc1HoursB:t.Misc_1_Hours__c,misc2Hours:t.Misc_2_Hours__c,misc3Hours:t.Misc_3_Hours__c,misc4Hours:t.Misc_4_Hours__c,stat1Hours:t.Stat1__c,stat2Hours:t.Stat2__c,inChargeHours:t.In_Charge__c,shiftTravelPerDiemHours:t.Shift_Travel_Stipend__c}}var u="v57.0";exports.SFAuthenticator=a,exports.SFTimesheetClient=s,exports.SF_API_VERSION=u;
|
|
2
|
+
//# sourceMappingURL=pha-hermes.cjs.production.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pha-hermes.cjs.production.min.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Date__c: timesheet.date, \r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n date: raw.Date__c,\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport default 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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","this","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee","clientId","clientSecret","wrap","_context","prev","next","postToken","headers","common","sent","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_context2","FormData","refreshToken","append","Error","post","getHeaders","token","data","abrupt","_x3","_x4","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","get","params","q","records","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","_context5","Promise","all","_ref2","_callee4","id","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw"],"mappings":"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"}
|
|
@@ -431,6 +431,7 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
431
431
|
url = "/services/data/" + SF_API_VERSION + "/sobjects/TimeSheetHour__c/" + timesheetHourId;
|
|
432
432
|
_context.next = 4;
|
|
433
433
|
return this.axiosInstance.patch(url, {
|
|
434
|
+
Date__c: timesheet.date,
|
|
434
435
|
Callback__c: timesheet.callbackHours,
|
|
435
436
|
HoursEBAdjusted__c: timesheet.regularHours,
|
|
436
437
|
Misc__c: timesheet.miscHours,
|
|
@@ -583,6 +584,7 @@ var SFTimesheetClient = /*#__PURE__*/function () {
|
|
|
583
584
|
}();
|
|
584
585
|
function toTimesheetDayEntry(raw) {
|
|
585
586
|
return {
|
|
587
|
+
date: raw.Date__c,
|
|
586
588
|
callbackHours: raw.Callback__c,
|
|
587
589
|
regularHours: raw.HoursEBAdjusted__c,
|
|
588
590
|
miscHours: raw.Misc__c,
|
|
@@ -601,177 +603,7 @@ function toTimesheetDayEntry(raw) {
|
|
|
601
603
|
};
|
|
602
604
|
}
|
|
603
605
|
|
|
604
|
-
var SFPractitionerClient = /*#__PURE__*/function () {
|
|
605
|
-
function SFPractitionerClient(axiosInstance) {
|
|
606
|
-
this.axiosInstance = axiosInstance;
|
|
607
|
-
}
|
|
608
|
-
var _proto = SFPractitionerClient.prototype;
|
|
609
|
-
_proto.fetchPractitioners = /*#__PURE__*/function () {
|
|
610
|
-
var _fetchPractitioners = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
611
|
-
var url, query, _yield$this$axiosInst, records;
|
|
612
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
613
|
-
while (1) switch (_context.prev = _context.next) {
|
|
614
|
-
case 0:
|
|
615
|
-
_context.prev = 0;
|
|
616
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
617
|
-
query = "\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n ";
|
|
618
|
-
_context.next = 5;
|
|
619
|
-
return this.axiosInstance.get(url, {
|
|
620
|
-
params: {
|
|
621
|
-
q: query
|
|
622
|
-
}
|
|
623
|
-
});
|
|
624
|
-
case 5:
|
|
625
|
-
_yield$this$axiosInst = _context.sent;
|
|
626
|
-
records = _yield$this$axiosInst.data.records;
|
|
627
|
-
return _context.abrupt("return", records.map(toPractitioner));
|
|
628
|
-
case 10:
|
|
629
|
-
_context.prev = 10;
|
|
630
|
-
_context.t0 = _context["catch"](0);
|
|
631
|
-
console.error('Error fetching practitioners: ', _context.t0.message);
|
|
632
|
-
throw _context.t0;
|
|
633
|
-
case 14:
|
|
634
|
-
case "end":
|
|
635
|
-
return _context.stop();
|
|
636
|
-
}
|
|
637
|
-
}, _callee, this, [[0, 10]]);
|
|
638
|
-
}));
|
|
639
|
-
function fetchPractitioners() {
|
|
640
|
-
return _fetchPractitioners.apply(this, arguments);
|
|
641
|
-
}
|
|
642
|
-
return fetchPractitioners;
|
|
643
|
-
}();
|
|
644
|
-
return SFPractitionerClient;
|
|
645
|
-
}();
|
|
646
|
-
function toPractitioner(raw) {
|
|
647
|
-
return {
|
|
648
|
-
id: raw.Id,
|
|
649
|
-
firstName: raw.FirstName__c,
|
|
650
|
-
lastName: raw.LastName__c,
|
|
651
|
-
email: raw.Email__c,
|
|
652
|
-
staffId: raw.StaffID__c
|
|
653
|
-
};
|
|
654
|
-
}
|
|
655
|
-
|
|
656
606
|
var SF_API_VERSION = 'v57.0';
|
|
657
|
-
var SFApiClient = /*#__PURE__*/function () {
|
|
658
|
-
function SFApiClient(baseUrl) {
|
|
659
|
-
this.instance = undefined;
|
|
660
|
-
this.axiosInstance = axios.create();
|
|
661
|
-
this.baseUrl = baseUrl;
|
|
662
|
-
this.axiosInstance.defaults.baseURL = baseUrl != null ? baseUrl : 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com';
|
|
663
|
-
this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl);
|
|
664
|
-
this.timesheetClient = new SFTimesheetClient(this.axiosInstance);
|
|
665
|
-
this.practitionerClient = new SFPractitionerClient(this.axiosInstance);
|
|
666
|
-
}
|
|
667
|
-
var _proto = SFApiClient.prototype;
|
|
668
|
-
_proto.init = /*#__PURE__*/function () {
|
|
669
|
-
var _init = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(sfClientId, sfClientSecret) {
|
|
670
|
-
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
671
|
-
while (1) switch (_context.prev = _context.next) {
|
|
672
|
-
case 0:
|
|
673
|
-
_context.next = 2;
|
|
674
|
-
return this.authenticator.initializeAuth(sfClientId, sfClientSecret);
|
|
675
|
-
case 2:
|
|
676
|
-
case "end":
|
|
677
|
-
return _context.stop();
|
|
678
|
-
}
|
|
679
|
-
}, _callee, this);
|
|
680
|
-
}));
|
|
681
|
-
function init(_x, _x2) {
|
|
682
|
-
return _init.apply(this, arguments);
|
|
683
|
-
}
|
|
684
|
-
return init;
|
|
685
|
-
}();
|
|
686
|
-
_proto.setInstance = function setInstance(instance) {
|
|
687
|
-
this.instance = instance;
|
|
688
|
-
};
|
|
689
|
-
_proto.getInstance = function getInstance() {
|
|
690
|
-
return this.instance;
|
|
691
|
-
};
|
|
692
|
-
_proto.fetchWorkOrders = /*#__PURE__*/function () {
|
|
693
|
-
var _fetchWorkOrders = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(assignedStaffId) {
|
|
694
|
-
var url, query;
|
|
695
|
-
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
696
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
697
|
-
case 0:
|
|
698
|
-
_context2.prev = 0;
|
|
699
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
700
|
-
query = assignedStaffId ? "SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '" + assignedStaffId + "'" : "SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c";
|
|
701
|
-
_context2.next = 5;
|
|
702
|
-
return this.axiosInstance.get(url, {
|
|
703
|
-
params: {
|
|
704
|
-
q: query
|
|
705
|
-
}
|
|
706
|
-
}).then(function (_ref) {
|
|
707
|
-
var records = _ref.data.records;
|
|
708
|
-
return records.map(function (record) {
|
|
709
|
-
return {
|
|
710
|
-
id: record.Id,
|
|
711
|
-
establishmentId: record.HospitalID__c,
|
|
712
|
-
establishmentName: record.HospitalName__c,
|
|
713
|
-
role: record.ProfessionalDesignation__c
|
|
714
|
-
};
|
|
715
|
-
});
|
|
716
|
-
});
|
|
717
|
-
case 5:
|
|
718
|
-
return _context2.abrupt("return", _context2.sent);
|
|
719
|
-
case 8:
|
|
720
|
-
_context2.prev = 8;
|
|
721
|
-
_context2.t0 = _context2["catch"](0);
|
|
722
|
-
console.error('Error fetching work orders: ', _context2.t0.message);
|
|
723
|
-
throw _context2.t0;
|
|
724
|
-
case 12:
|
|
725
|
-
case "end":
|
|
726
|
-
return _context2.stop();
|
|
727
|
-
}
|
|
728
|
-
}, _callee2, this, [[0, 8]]);
|
|
729
|
-
}));
|
|
730
|
-
function fetchWorkOrders(_x3) {
|
|
731
|
-
return _fetchWorkOrders.apply(this, arguments);
|
|
732
|
-
}
|
|
733
|
-
return fetchWorkOrders;
|
|
734
|
-
}();
|
|
735
|
-
_proto.fetchRoles = /*#__PURE__*/function () {
|
|
736
|
-
var _fetchRoles = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
737
|
-
var url, query;
|
|
738
|
-
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
739
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
740
|
-
case 0:
|
|
741
|
-
_context3.prev = 0;
|
|
742
|
-
url = "/services/data/" + SF_API_VERSION + "/query";
|
|
743
|
-
query = "SELECT Label, Value FROM PicklistValueInfo WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c' AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' AND isActive = true";
|
|
744
|
-
return _context3.abrupt("return", this.axiosInstance.get(url, {
|
|
745
|
-
params: {
|
|
746
|
-
q: query
|
|
747
|
-
}
|
|
748
|
-
}).then(function (_ref2) {
|
|
749
|
-
var records = _ref2.data.records;
|
|
750
|
-
return records.map(function (record) {
|
|
751
|
-
return {
|
|
752
|
-
label: record.Label,
|
|
753
|
-
value: record.Value
|
|
754
|
-
};
|
|
755
|
-
});
|
|
756
|
-
}));
|
|
757
|
-
case 6:
|
|
758
|
-
_context3.prev = 6;
|
|
759
|
-
_context3.t0 = _context3["catch"](0);
|
|
760
|
-
console.error('Error fetching roles: ', _context3.t0.message);
|
|
761
|
-
throw _context3.t0;
|
|
762
|
-
case 10:
|
|
763
|
-
case "end":
|
|
764
|
-
return _context3.stop();
|
|
765
|
-
}
|
|
766
|
-
}, _callee3, this, [[0, 6]]);
|
|
767
|
-
}));
|
|
768
|
-
function fetchRoles() {
|
|
769
|
-
return _fetchRoles.apply(this, arguments);
|
|
770
|
-
}
|
|
771
|
-
return fetchRoles;
|
|
772
|
-
}();
|
|
773
|
-
return SFApiClient;
|
|
774
|
-
}();
|
|
775
607
|
|
|
776
|
-
export {
|
|
777
|
-
//# sourceMappingURL=hermes.esm.js.map
|
|
608
|
+
export { SFAuthenticator, SFTimesheetClient, SF_API_VERSION };
|
|
609
|
+
//# sourceMappingURL=pha-hermes.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pha-hermes.esm.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Date__c: timesheet.date, \r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n date: raw.Date__c,\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport default 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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\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","_callee","clientId","clientSecret","token","wrap","_callee$","_context","prev","next","postToken","sent","headers","common","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_callee2$","_context2","FormData","refreshToken","append","Error","post","getHeaders","data","abrupt","_x3","_x4","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","timesheetId","_yield$this$axiosInst2","_callee3$","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","timesheetHourIds","_callee5$","_context5","Promise","all","_ref2","_callee4","id","_callee4$","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pha-hermes",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.3",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
6
6
|
"files": [
|
|
@@ -11,8 +11,7 @@
|
|
|
11
11
|
"node": ">=10",
|
|
12
12
|
"npm": ">=6.14.13"
|
|
13
13
|
},
|
|
14
|
-
"
|
|
15
|
-
"module": "dist/hermes.esm.js",
|
|
14
|
+
"module": "dist/pha-hermes.esm.js",
|
|
16
15
|
"scripts": {
|
|
17
16
|
"build": "tsdx build",
|
|
18
17
|
"link:watch": "npm link && tsdx watch"
|
package/src/api/apiClient.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { SFPractitionerClient } from './practitioner/practitionerClient'
|
|
|
5
5
|
import { Role, Workorder } from '../models'
|
|
6
6
|
export const SF_API_VERSION: string = 'v57.0'
|
|
7
7
|
|
|
8
|
-
export class SFApiClient {
|
|
8
|
+
export default class SFApiClient {
|
|
9
9
|
private instance: SFApiClient | undefined = undefined
|
|
10
10
|
private axiosInstance: AxiosInstance = axios.create()
|
|
11
11
|
private authenticator: SFAuthenticator
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.cjs.development.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models/practitioner'\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\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 axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\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","_callee","clientId","clientSecret","token","wrap","_callee$","_context","prev","next","postToken","sent","headers","common","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_callee2$","_context2","FormData","refreshToken","append","Error","post","getHeaders","data","abrupt","_x3","_x4","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","timesheetId","_yield$this$axiosInst2","_callee3$","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","timesheetHourIds","_callee5$","_context5","Promise","all","_ref2","_callee4","id","_callee4$","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","firstName","FirstName__c","lastName","LastName__c","email","Email__c","staffId","StaffID__c","SFApiClient","authenticator","timesheetClient","practitionerClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchWorkOrders","_fetchWorkOrders","assignedStaffId","record","establishmentId","HospitalID__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","fetchRoles","_fetchRoles","label","Label","value","Value"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=t(require("axios")),r=t(require("form-data"));function n(t,e,r,n,o,a,i){try{var s=t[a](i),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,o)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(o,a){var i=t.apply(e,r);function s(t){n(i,o,a,s,c,"next",t)}function c(t){n(i,o,a,s,c,"throw",t)}s(void 0)}))}}function a(){a=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value},i="function"==typeof Symbol?Symbol:{},s=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function h(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},"")}catch(t){h=function(t,e,r){return t[e]=r}}function f(t,e,r,n){var a=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new S(n||[]);return o(a,"_invoke",{value:I(t,r,i)}),a}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var p="suspendedStart",_="executing",d="completed",v={};function m(){}function y(){}function g(){}var w={};h(w,s,(function(){return this}));var x=Object.getPrototypeOf,b=x&&x(x(P([])));b&&b!==r&&n.call(b,s)&&(w=b);var E=g.prototype=m.prototype=Object.create(w);function H(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(o,a,i,s){var c=l(t[o],t,a);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==typeof h&&n.call(h,"__await")?e.resolve(h.__await).then((function(t){r("next",t,i,s)}),(function(t){r("throw",t,i,s)})):e.resolve(h).then((function(t){u.value=t,i(u)}),(function(t){return r("throw",t,i,s)}))}s(c.arg)}var a;o(this,"_invoke",{value:function(t,n){function o(){return new e((function(e,o){r(t,n,e,o)}))}return a=a?a.then(o,o):o()}})}function I(e,r,n){var o=p;return function(a,i){if(o===_)throw Error("Generator is already running");if(o===d){if("throw"===a)throw i;return{value:t,done:!0}}for(n.method=a,n.arg=i;;){var s=n.delegate;if(s){var c=T(s,n);if(c){if(c===v)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===p)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=_;var u=l(e,r,n);if("normal"===u.type){if(o=n.done?d:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(o=d,n.method="throw",n.arg=u.arg)}}}function T(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,T(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var a=l(o,e.iterator,r.arg);if("throw"===a.type)return r.method="throw",r.arg=a.arg,r.delegate=null,v;var i=a.arg;return i?i.done?(r[e.resultName]=i.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,v):i:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,v)}function L(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function O(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(L,this),this.reset(!0)}function P(e){if(e||""===e){var r=e[s];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function r(){for(;++o<e.length;)if(n.call(e,o))return r.value=e[o],r.done=!1,r;return r.value=t,r.done=!0,r};return a.next=a}}throw new TypeError(typeof e+" is not iterable")}return y.prototype=g,o(E,"constructor",{value:g,configurable:!0}),o(g,"constructor",{value:y,configurable:!0}),y.displayName=h(g,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===y||"GeneratorFunction"===(e.displayName||e.name))},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,g):(t.__proto__=g,h(t,u,"GeneratorFunction")),t.prototype=Object.create(E),t},e.awrap=function(t){return{__await:t}},H(k.prototype),h(k.prototype,c,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,o,a){void 0===a&&(a=Promise);var i=new k(f(t,r,n,o),a);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},H(E),h(E,u,"Generator"),h(E,s,(function(){return this})),h(E,"toString",(function(){return"[object Generator]"})),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function t(){for(;r.length;){var n=r.pop();if(n in e)return t.value=n,t.done=!1,t}return t.done=!0,t}},e.values=P,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(O),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var r=this;function o(n,o){return s.type="throw",s.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],s=i.completion;if("root"===i.tryLoc)return o("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return o(i.catchLoc,!0);if(this.prev<i.finallyLoc)return o(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return o(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return o(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,v):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),O(r),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;O(r)}return o}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:P(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}var i=function(){function t(t,r){this.axiosTokenInstance=e.create(),this.token=void 0,this.refreshToken=void 0,this.axiosTokenInstance.defaults.baseURL=null!=r?r:"https://do0000000d247eaa--phealth.sandbox.my.salesforce.com",this.authenticatedAxiosInstance=t}var n=t.prototype;return n.initializeAuth=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.postToken(e,r);case 2:this.authenticatedAxiosInstance.defaults.headers.common.Authorization="Bearer "+t.sent;case 4:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),n.postToken=function(){var t=o(a().mark((function t(e,n){var o,i,s;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(i=new r,!this.refreshToken){t.next=6;break}i.append("refresh_token",this.refreshToken),i.append("grant_type","refresh_token"),t.next=13;break;case 6:if(!e||!n){t.next=12;break}i.append("client_id",e),i.append("client_secret",n),i.append("grant_type","client_credentials"),t.next=13;break;case 12:throw new Error("Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided");case 13:return t.next=15,this.axiosTokenInstance.post("/services/oauth2/token",i,{headers:i.getHeaders()});case 15:if(this.token=null==(s=t.sent)||null==(o=s.data)?void 0:o.access_token,this.token){t.next=19;break}throw new Error("Authentication failed, could not get the access token");case 19:return t.abrupt("return",this.token);case 20:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),t}(),s=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.updateTimesheetHour=function(){var t=o(a().mark((function t(e,r){var n,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n="/services/data/"+f+"/sobjects/TimeSheetHour__c/"+e,t.next=4,this.axiosInstance.patch(n,{Callback__c:r.callbackHours,HoursEBAdjusted__c:r.regularHours,Misc__c:r.miscHours,OT1__c:r.overtime1Hours,OT2__c:r.overtime2Hours,OnCall__c:r.onCallHours,Misc1__c:r.misc1HoursA,Misc_1_Hours__c:r.misc1HoursB,Misc_2_Hours__c:r.misc2Hours,Misc_3_Hours__c:r.misc3Hours,Misc_4_Hours__c:r.misc4Hours,Stat1__c:r.stat1Hours,Stat2__c:r.stat2Hours,In_Charge__c:r.inChargeHours,Shift_Travel_Stipend__c:r.shiftTravelPerDiemHours});case 4:if([200,204,304].includes((o=t.sent).status)){t.next=7;break}throw new Error("got error status code "+o.status);case 7:t.next=12;break;case 9:t.prev=9,t.t0=t.catch(0),console.error("Error Updating Timesheet Hour: ",t.t0.message);case 12:case"end":return t.stop()}}),t,this,[[0,9]])})));return function(e,r){return t.apply(this,arguments)}}(),e.getTimesheetId=function(){var t=o(a().mark((function t(e){var r,n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+f+"/query",n="SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '"+e+"' LIMIT 1",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:return t.abrupt("return",t.sent.data.records[0].Id);case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHoursIds=function(){var t=o(a().mark((function t(e){var r,n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetId(e);case 2:return r="/services/data/"+f+"/query",n="SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '"+t.sent+"'",t.next=7,this.axiosInstance.get(r,{params:{q:n}});case 7:return t.abrupt("return",t.sent.data.records.map((function(t){return t.Id})));case 10:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHours=function(){var t=o(a().mark((function t(e){var r=this;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetHoursIds(e);case 2:return t.abrupt("return",Promise.all(t.sent.map(function(){var t=o(a().mark((function t(e){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",r.axiosInstance.get("/services/data/"+f+"/sobjects/TimeSheetHour__c/"+e).then((function(t){return t.data})).then(c));case 1:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())));case 4:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}();function c(t){return{callbackHours:t.Callback__c,regularHours:t.HoursEBAdjusted__c,miscHours:t.Misc__c,overtime1Hours:t.OT1__c,overtime2Hours:t.OT2__c,onCallHours:t.OnCall__c,misc1HoursA:t.Misc1__c,misc1HoursB:t.Misc_1_Hours__c,misc2Hours:t.Misc_2_Hours__c,misc3Hours:t.Misc_3_Hours__c,misc4Hours:t.Misc_4_Hours__c,stat1Hours:t.Stat1__c,stat2Hours:t.Stat2__c,inChargeHours:t.In_Charge__c,shiftTravelPerDiemHours:t.Shift_Travel_Stipend__c}}var u=function(){function t(t){this.axiosInstance=t}return t.prototype.fetchPractitioners=function(){var t=o(a().mark((function t(){var e;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,e="/services/data/"+f+"/query",t.next=5,this.axiosInstance.get(e,{params:{q:"\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n "}});case 5:return t.abrupt("return",t.sent.data.records.map(h));case 10:throw t.prev=10,t.t0=t.catch(0),console.error("Error fetching practitioners: ",t.t0.message),t.t0;case 14:case"end":return t.stop()}}),t,this,[[0,10]])})));return function(){return t.apply(this,arguments)}}(),t}();function h(t){return{id:t.Id,firstName:t.FirstName__c,lastName:t.LastName__c,email:t.Email__c,staffId:t.StaffID__c}}var f="v57.0";exports.SFApiClient=function(){function t(t){this.instance=void 0,this.axiosInstance=e.create(),this.baseUrl=t,this.axiosInstance.defaults.baseURL=null!=t?t:"https://do0000000d247eaa--phealth.sandbox.my.salesforce.com",this.authenticator=new i(this.axiosInstance,this.baseUrl),this.timesheetClient=new s(this.axiosInstance),this.practitionerClient=new u(this.axiosInstance)}var r=t.prototype;return r.init=function(){var t=o(a().mark((function t(e,r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.authenticator.initializeAuth(e,r);case 2:case"end":return t.stop()}}),t,this)})));return function(e,r){return t.apply(this,arguments)}}(),r.setInstance=function(t){this.instance=t},r.getInstance=function(){return this.instance},r.fetchWorkOrders=function(){var t=o(a().mark((function t(e){var r,n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r="/services/data/"+f+"/query",n=e?"SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '"+e+"'":"SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c",t.next=5,this.axiosInstance.get(r,{params:{q:n}}).then((function(t){return t.data.records.map((function(t){return{id:t.Id,establishmentId:t.HospitalID__c,establishmentName:t.HospitalName__c,role:t.ProfessionalDesignation__c}}))}));case 5:return t.abrupt("return",t.sent);case 8:throw t.prev=8,t.t0=t.catch(0),console.error("Error fetching work orders: ",t.t0.message),t.t0;case 12:case"end":return t.stop()}}),t,this,[[0,8]])})));return function(e){return t.apply(this,arguments)}}(),r.fetchRoles=function(){var t=o(a().mark((function t(){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.abrupt("return",this.axiosInstance.get("/services/data/"+f+"/query",{params:{q:"SELECT Label, Value FROM PicklistValueInfo WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c' AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' AND isActive = true"}}).then((function(t){return t.data.records.map((function(t){return{label:t.Label,value:t.Value}}))})));case 6:throw t.prev=6,t.t0=t.catch(0),console.error("Error fetching roles: ",t.t0.message),t.t0;case 10:case"end":return t.stop()}}),t,this,[[0,6]])})));return function(){return t.apply(this,arguments)}}(),t}(),exports.SFAuthenticator=i,exports.SFTimesheetClient=s,exports.SF_API_VERSION=f;
|
|
2
|
-
//# sourceMappingURL=hermes.cjs.production.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.cjs.production.min.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models/practitioner'\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\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 axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","this","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee","clientId","clientSecret","wrap","_context","prev","next","postToken","headers","common","sent","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_context2","FormData","refreshToken","append","Error","post","getHeaders","token","data","abrupt","_x3","_x4","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","get","params","q","records","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","_context5","Promise","all","_ref2","_callee4","id","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","firstName","FirstName__c","lastName","LastName__c","email","Email__c","staffId","StaffID__c","SFApiClient","authenticator","timesheetClient","practitionerClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchWorkOrders","_fetchWorkOrders","assignedStaffId","record","establishmentId","HospitalID__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","fetchRoles","_fetchRoles","label","Label","value","Value"],"mappings":"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"}
|
package/dist/hermes.esm.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.esm.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\r\nimport FormData from 'form-data'\r\n\r\nexport class SFAuthenticator {\r\n axiosTokenInstance: AxiosInstance = axios.create()\r\n authenticatedAxiosInstance: AxiosInstance\r\n token: string | undefined = undefined\r\n private refreshToken: string | undefined = undefined\r\n\r\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\r\n this.axiosTokenInstance.defaults.baseURL =\r\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\r\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\r\n }\r\n\r\n async initializeAuth(clientId: string, clientSecret: string) {\r\n const token = await this.postToken(clientId, clientSecret)\r\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\r\n }\r\n\r\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\r\n const tokenFormRequestBody = new FormData()\r\n if (this.refreshToken) {\r\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\r\n tokenFormRequestBody.append('grant_type', 'refresh_token')\r\n } else if (clientId && clientSecret) {\r\n tokenFormRequestBody.append('client_id', clientId)\r\n tokenFormRequestBody.append('client_secret', clientSecret)\r\n tokenFormRequestBody.append('grant_type', 'client_credentials')\r\n } else {\r\n throw new Error(\r\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\r\n )\r\n }\r\n\r\n const response = await this.axiosTokenInstance.post(\r\n '/services/oauth2/token',\r\n tokenFormRequestBody,\r\n {\r\n headers: tokenFormRequestBody.getHeaders()\r\n }\r\n )\r\n\r\n this.token = response?.data?.['access_token']\r\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\r\n return this.token\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\r\nimport { TimesheetDayEntry } from '../../models'\r\nimport { SF_API_VERSION } from '../apiClient'\r\n\r\nexport class SFTimesheetClient {\r\n private axiosInstance: AxiosInstance\r\n\r\n constructor(axiosInstance: AxiosInstance) {\r\n this.axiosInstance = axiosInstance\r\n }\r\n\r\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\r\n try {\r\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\r\n const response = await this.axiosInstance.patch(url, {\r\n Callback__c: timesheet.callbackHours,\r\n HoursEBAdjusted__c: timesheet.regularHours,\r\n Misc__c: timesheet.miscHours,\r\n OT1__c: timesheet.overtime1Hours,\r\n OT2__c: timesheet.overtime2Hours,\r\n OnCall__c: timesheet.onCallHours,\r\n Misc1__c: timesheet.misc1HoursA,\r\n Misc_1_Hours__c: timesheet.misc1HoursB,\r\n Misc_2_Hours__c: timesheet.misc2Hours,\r\n Misc_3_Hours__c: timesheet.misc3Hours,\r\n Misc_4_Hours__c: timesheet.misc4Hours,\r\n Stat1__c: timesheet.stat1Hours,\r\n Stat2__c: timesheet.stat2Hours,\r\n In_Charge__c: timesheet.inChargeHours,\r\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\r\n })\r\n\r\n if (![200, 204, 304].includes(response.status))\r\n throw new Error(`got error status code ${response.status}`)\r\n } catch (error) {\r\n console.error('Error Updating Timesheet Hour: ', error.message)\r\n }\r\n }\r\n\r\n async getTimesheetId(workorderId: string): Promise<string> {\r\n // First we find the correct timesheet id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM Timesheet__c WHERE WorkOrder__c = '${workorderId}' LIMIT 1`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records[0].Id\r\n }\r\n\r\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\r\n const timesheetId = await this.getTimesheetId(workorderId)\r\n // First we find the correct timesheet hours id\r\n const url = `/services/data/${SF_API_VERSION}/query`\r\n const query = `SELECT Id FROM TimesheetHour__c WHERE Timesheet__c = '${timesheetId}'`\r\n const {\r\n data: { records }\r\n } = await this.axiosInstance.get(url, {\r\n params: { q: query }\r\n })\r\n return records.map(({ Id }) => Id)\r\n }\r\n\r\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\r\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\r\n return Promise.all(\r\n timesheetHourIds.map(async id =>\r\n this.axiosInstance\r\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\r\n .then(res => res.data)\r\n .then(toTimesheetDayEntry)\r\n )\r\n )\r\n }\r\n}\r\n\r\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\r\n return {\r\n callbackHours: raw.Callback__c,\r\n regularHours: raw.HoursEBAdjusted__c,\r\n miscHours: raw.Misc__c,\r\n overtime1Hours: raw.OT1__c,\r\n overtime2Hours: raw.OT2__c,\r\n onCallHours: raw.OnCall__c,\r\n misc1HoursA: raw.Misc1__c,\r\n misc1HoursB: raw.Misc_1_Hours__c,\r\n misc2Hours: raw.Misc_2_Hours__c,\r\n misc3Hours: raw.Misc_3_Hours__c,\r\n misc4Hours: raw.Misc_4_Hours__c,\r\n stat1Hours: raw.Stat1__c,\r\n stat2Hours: raw.Stat2__c,\r\n inChargeHours: raw.In_Charge__c,\r\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c\r\n }\r\n}\r\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models/practitioner'\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\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 axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role, Workorder } from '../models'\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 practitionerClient: SFPractitionerClient\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.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n }\n\n async init(sfClientId: string, sfClientSecret: string) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchWorkOrders(assignedStaffId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = assignedStaffId\n ? `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c FROM WorkOrder__c WHERE Personnel__c = '${assignedStaffId}'`\n : `SELECT Id, HospitalID__c, HospitalName__c, ProfessionalDesignation__c 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 establishmentId: record.HospitalID__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\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((record): Role => ({ label: record.Label, value: record.Value }))\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","_callee","clientId","clientSecret","token","wrap","_callee$","_context","prev","next","postToken","sent","headers","common","stop","_x","_x2","apply","arguments","_postToken","_callee2","_response$data","tokenFormRequestBody","response","_callee2$","_context2","FormData","refreshToken","append","Error","post","getHeaders","data","abrupt","_x3","_x4","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","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","status","t0","console","error","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","Id","getTimesheetHoursIds","_getTimesheetHoursIds","_callee3","timesheetId","_yield$this$axiosInst2","_callee3$","_context3","map","_ref","getTimesheetHours","_getTimesheetHours","_callee5","_this","timesheetHourIds","_callee5$","_context5","Promise","all","_ref2","_callee4","id","_callee4$","_context4","then","res","toTimesheetDayEntry","_x6","_x5","raw","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","firstName","FirstName__c","lastName","LastName__c","email","Email__c","staffId","StaffID__c","SFApiClient","authenticator","timesheetClient","practitionerClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchWorkOrders","_fetchWorkOrders","assignedStaffId","record","establishmentId","HospitalID__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","fetchRoles","_fetchRoles","label","Label","value","Value"],"mappings":"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"}
|