pha-hermes 1.13.0 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/liphe1.0/auth/authClient.d.ts +13 -0
- package/dist/api/liphe1.0/practitioner/practitionerClient.d.ts +13 -0
- package/dist/api/lipheApiClient.d.ts +13 -0
- package/dist/api/timesheet/timesheetClient.d.ts +24 -4
- package/dist/api/workorder/workorderClient.d.ts +5 -1
- package/dist/index.d.ts +3 -0
- package/dist/pha-hermes.cjs.development.js +340 -155
- package/dist/pha-hermes.cjs.development.js.map +1 -1
- package/dist/pha-hermes.cjs.production.min.js +1 -1
- package/dist/pha-hermes.cjs.production.min.js.map +1 -1
- package/dist/pha-hermes.esm.js +338 -156
- package/dist/pha-hermes.esm.js.map +1 -1
- package/package.json +1 -1
- package/src/api/liphe1.0/auth/authClient.ts +76 -0
- package/src/api/liphe1.0/practitioner/practitionerClient.ts +49 -0
- package/src/api/lipheApiClient.ts +38 -0
- package/src/api/timesheet/timesheetClient.ts +54 -50
- package/src/api/workorder/workorderClient.ts +24 -6
- package/src/index.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pha-hermes.cjs.development.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/workorder/workorderClient.ts","../src/api/payperiod/payperiodClient.ts","../src/api/apiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\nimport FormData from 'form-data'\n\nexport class SFAuthenticator {\n axiosTokenInstance: AxiosInstance = axios.create()\n authenticatedAxiosInstance: AxiosInstance\n token: string | undefined = undefined\n private refreshToken: string | undefined = undefined\n private tokenRefreshPromise: Promise<string> | null = null\n\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\n this.axiosTokenInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\n }\n\n async initializeAuth(\n clientId: string,\n clientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n const token = await this.postToken(clientId, clientSecret)\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\n\n this.authenticatedAxiosInstance.interceptors.response.use(\n response => response,\n async error => {\n const originalRequest = error.config\n originalRequest._retryCount = originalRequest._retryCount || 0\n\n // If the error is 401 and we haven't exceeded max retries\n if (error.response?.status === 401 && originalRequest._retryCount < 3) {\n originalRequest._retryCount++\n\n try {\n // Use existing token refresh if one is in progress\n if (!this.tokenRefreshPromise) {\n const newClientCredentials = await onTokenRefresh?.()\n const newClientId = newClientCredentials?.clientId || clientId\n const newClientSecret =\n newClientCredentials?.clientSecret || clientSecret\n this.tokenRefreshPromise = this.postToken(newClientId, newClientSecret)\n }\n\n const newToken = await this.tokenRefreshPromise\n // Clear the refresh promise after it completes\n this.tokenRefreshPromise = null\n\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${newToken}`\n originalRequest.headers['Authorization'] = `Bearer ${newToken}`\n\n originalRequest.timeout = 5000\n\n return await Promise.race([\n this.authenticatedAxiosInstance(originalRequest),\n new Promise((_, reject) =>\n setTimeout(\n () => reject(new Error('Retry request timeout')),\n originalRequest.timeout\n )\n )\n ])\n } catch (refreshError) {\n // Clear the refresh promise if it fails\n this.tokenRefreshPromise = null\n return Promise.reject(refreshError)\n }\n }\n return Promise.reject(error)\n }\n )\n }\n\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\n const tokenFormRequestBody = new FormData()\n if (this.refreshToken) {\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\n tokenFormRequestBody.append('grant_type', 'refresh_token')\n } else if (clientId && clientSecret) {\n tokenFormRequestBody.append('client_id', clientId)\n tokenFormRequestBody.append('client_secret', clientSecret)\n tokenFormRequestBody.append('grant_type', 'client_credentials')\n } else {\n throw new Error(\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\n )\n }\n\n const response = await this.axiosTokenInstance.post(\n '/services/oauth2/token',\n tokenFormRequestBody,\n {\n headers: tokenFormRequestBody.getHeaders()\n }\n )\n\n this.token = response?.data?.['access_token']\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\n return this.token\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { TimesheetDayEntry } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\nimport FormData from 'form-data'\nexport class SFTimesheetClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\n try {\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\n const response = await this.axiosInstance.patch(url, {\n Date__c: timesheet.date,\n Callback__c: timesheet.callbackHours,\n HoursEBAdjusted__c: timesheet.regularHours,\n Misc__c: timesheet.miscHours,\n OT1__c: timesheet.overtime1Hours,\n OT2__c: timesheet.overtime2Hours,\n OnCall__c: timesheet.onCallHours,\n Misc1__c: timesheet.misc1HoursA,\n Misc_1_Hours__c: timesheet.misc1HoursB,\n Misc_2_Hours__c: timesheet.misc2Hours,\n Misc_3_Hours__c: timesheet.misc3Hours,\n Misc_4_Hours__c: timesheet.misc4Hours,\n Stat1__c: timesheet.stat1Hours,\n Stat2__c: timesheet.stat2Hours,\n In_Charge__c: timesheet.inChargeHours,\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\n })\n\n if (![200, 204, 304].includes(response.status))\n throw new Error(`got error status code ${response.status}`)\n } catch (error) {\n console.error('Error Updating Timesheet Hour: ', error.message)\n }\n }\n\n async getTimesheetId(workorderId: string): Promise<string> {\n // Find all timesheet Ids that belong to this WO\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderId}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(record => record.Id)\n }\n\n async getTimesheetsForPractitioner(personnelID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '${personnelID}')`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let timesheets = []\n\n for (const timesheet of data.data.records) {\n timesheets.push({\n workorderId: timesheet.WorkOrder__c,\n id: timesheet.Id,\n updatedAt: timesheet.LastModifiedDate\n })\n }\n\n return timesheets\n }\n\n async getTimesheetHoursIds(workorderId: string): Promise<string[]> {\n const timesheetIds = await this.getTimesheetId(workorderId)\n const timesheetId = timesheetIds[0]\n // First we find the correct timesheet hours id\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'`\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(({ Id }) => Id)\n }\n\n async getTimesheetHoursId(workorderId: string, timesheetDate: Date): Promise<string[]> {\n const timesheetIds = await this.getTimesheetId(workorderId)\n const formattedDate = timesheetDate.toISOString().split('T')[0]\n const allHourIds: string[] = []\n const url = `/services/data/${SF_API_VERSION}/query`\n\n for (const timesheetId of timesheetIds) {\n const query = `\n SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'\n AND Date__c = ${formattedDate}\n `\n try {\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n const ids = records.map(record => record.Id)\n allHourIds.push(...ids)\n } catch (err) {\n console.error(`Failed to fetch`, err)\n return []\n }\n }\n\n return allHourIds\n }\n\n async getTimesheetHours(workorderId: string): Promise<TimesheetDayEntry[]> {\n const timesheetHourIds = await this.getTimesheetHoursIds(workorderId)\n return Promise.all(\n timesheetHourIds.map(async id =>\n this.axiosInstance\n .get(`/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${id}`)\n .then(res => res.data)\n .then(toTimesheetDayEntry)\n )\n )\n }\n\n async getPayPeriods(): Promise<any> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriods = []\n\n for (const payPeriod of data.data.records) {\n payPeriods.push({\n name: payPeriod.Name,\n startDate: payPeriod.StartDate__c,\n endDate: payPeriod.EndDate__c\n })\n }\n\n return payPeriods\n }\n\n async uploadImageToTimesheet(\n file: Buffer,\n filename: string,\n timesheetId: string\n ): Promise<void> {\n try {\n const form = new FormData()\n form.append(\n 'entity_content',\n JSON.stringify({\n Title: filename,\n PathOnClient: filename\n }),\n { contentType: 'application/json' }\n )\n\n form.append('VersionData', file, {\n filename,\n contentType: 'application/octet-stream'\n })\n const uploadRes = await this.axiosInstance.post(\n `/services/data/${SF_API_VERSION}/sobjects/ContentVersion`,\n form,\n { headers: form.getHeaders() }\n )\n\n const versionId = uploadRes.data.id\n\n //get ContentDocumentId\n const { data } = await this.axiosInstance.get(\n `/services/data/${SF_API_VERSION}/query`,\n {\n params: {\n q: `SELECT ContentDocumentId FROM ContentVersion WHERE Id = '${versionId}'`\n }\n }\n )\n const contentDocumentId = data.records[0].ContentDocumentId\n\n await this.axiosInstance.post(\n `/services/data/${SF_API_VERSION}/sobjects/ContentDocumentLink`,\n {\n ContentDocumentId: contentDocumentId,\n LinkedEntityId: timesheetId,\n ShareType: 'V',\n Visibility: 'AllUsers'\n }\n )\n } catch (err) {\n console.error('Salesforce error response:', err?.response?.data)\n console.error('Error uploading and linking image:', err?.message)\n }\n }\n}\n\nfunction toTimesheetDayEntry(raw: any): TimesheetDayEntry {\n return {\n id: raw.Id,\n date: raw.Date__c,\n callbackHours: raw.Callback__c,\n regularHours: raw.HoursEBAdjusted__c,\n miscHours: raw.Misc__c,\n overtime1Hours: raw.OT1__c,\n overtime2Hours: raw.OT2__c,\n onCallHours: raw.OnCall__c,\n misc1HoursA: raw.Misc1__c,\n misc1HoursB: raw.Misc_1_Hours__c,\n misc2Hours: raw.Misc_2_Hours__c,\n misc3Hours: raw.Misc_3_Hours__c,\n misc4Hours: raw.Misc_4_Hours__c,\n stat1Hours: raw.Stat1__c,\n stat2Hours: raw.Stat2__c,\n inChargeHours: raw.In_Charge__c,\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c,\n lastModified: raw.LastModifiedDate\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFPractitionerClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async fetchPractitioners(): Promise<Practitioner[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n return records.map(toPractitioner)\n } catch (error) {\n console.error('Error fetching practitioners: ', error.message)\n throw error\n }\n }\n\n async fetchPractitionerByEmail(email: string): Promise<Practitioner | null> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '${email}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n if (records.length === 0) {\n return null\n }\n return toPractitioner(records[0])\n } catch (error) {\n console.error('Error fetching practitioner by email:', error)\n throw error\n }\n }\n}\n\nfunction toPractitioner(raw: any): Practitioner {\n return {\n id: raw.Id,\n firstName: raw.FirstName__c,\n lastName: raw.LastName__c,\n email: raw.Email__c,\n staffId: raw.StaffID__c\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\nimport { Workorder } from '../../models'\n\nexport class SFWorkorderClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n\n async getWorkordersForPractitioner(practitionerId?: string): Promise<Workorder[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = practitionerId\n ? `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c WHERE Personnel__c = '${practitionerId}'`\n : `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c`\n return await this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Workorder => ({\n id: record.Id,\n name: record.Name,\n establishmentId: record.HospitalID__c,\n region: record.Region__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c,\n practitionerId: record.Personnel__c,\n startDate: new Date(record.startdate__c),\n endDate: new Date(record.EndDate__c),\n createdAt: new Date(record.CreatedDate),\n updatedAt: new Date(record.LastModifiedDate)\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\n }\n}","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport interface Period {\n payPeriodId: string\n startDate: Date\n endDate: Date\n timesheetId?: string\n workorderId?: string\n}\n\nexport class SFPayPeriodClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async getPayPeriodAndTimesheetIdsForWorkorder(workorderID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderID}'`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodIds = []\n\n for (const payPeriods of data.data.records) {\n payPeriodIds.push({\n timesheetId: payPeriods.Id,\n payPeriodId: payPeriods.PayPeriod__c\n })\n }\n\n return payPeriodIds\n }\n\n async getPayPeriodDatesForPayPeriodIds(payPeriodIDs: string[]): Promise<Period[]> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN ${listOfIdsForQuery(payPeriodIDs)}`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodDates = []\n\n for (const payPeriod of data.data.records) {\n payPeriodDates.push({\n payPeriodId: payPeriod.Id,\n startDate: new Date(payPeriod.StartDate__c),\n endDate: new Date(payPeriod.EndDate__c)\n })\n }\n\n return payPeriodDates\n }\n}\n\nconst listOfIdsForQuery = (payPeriodIDs: string[]) => `('${payPeriodIDs.join('\\', \\'')}')`\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role } from '../models'\nimport { SFWorkorderClient } from './workorder/workorderClient'\nimport { SFPayPeriodClient } from './payperiod/payperiodClient'\n\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport class SFApiClient {\n private instance: SFApiClient | undefined = undefined\n private axiosInstance: AxiosInstance = axios.create()\n private authenticator: SFAuthenticator\n private baseUrl: string\n timesheetClient: SFTimesheetClient\n workorderClient: SFWorkorderClient\n practitionerClient: SFPractitionerClient\n payPeriodClient: SFPayPeriodClient\n\n constructor(baseUrl?: string) {\n this.baseUrl = baseUrl\n this.axiosInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl)\n this.timesheetClient = new SFTimesheetClient(this.axiosInstance)\n this.workorderClient = new SFWorkorderClient(this.axiosInstance)\n this.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n this.payPeriodClient = new SFPayPeriodClient(this.axiosInstance)\n }\n\n async init(\n sfClientId: string,\n sfClientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret, onTokenRefresh)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchRoles(): Promise<Role[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Label, Value FROM PicklistValueInfo \\\n WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c'\\\n AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' \\\n AND isActive = true`\n return this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Role => ({\n label: record.Label,\n value: record.Value\n })\n )\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","clientId","clientSecret","onTokenRefresh","_this","token","wrap","_callee2$","_context2","prev","next","postToken","sent","headers","common","interceptors","response","use","_ref","_callee","error","_error$response","originalRequest","newClientCredentials","newClientId","newClientSecret","newToken","_callee$","_context","config","_retryCount","status","tokenRefreshPromise","timeout","Promise","race","_","reject","setTimeout","Error","abrupt","t0","stop","_x4","apply","arguments","_x","_x2","_x3","_postToken","_callee3","_response$data","tokenFormRequestBody","_callee3$","_context3","FormData","refreshToken","append","post","getHeaders","data","_x5","_x6","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","Date__c","date","Callback__c","callbackHours","HoursEBAdjusted__c","regularHours","Misc__c","miscHours","OT1__c","overtime1Hours","OT2__c","overtime2Hours","OnCall__c","onCallHours","Misc1__c","misc1HoursA","Misc_1_Hours__c","misc1HoursB","Misc_2_Hours__c","misc2Hours","Misc_3_Hours__c","misc3Hours","Misc_4_Hours__c","misc4Hours","Stat1__c","stat1Hours","Stat2__c","stat2Hours","In_Charge__c","inChargeHours","Shift_Travel_Stipend__c","shiftTravelPerDiemHours","includes","console","message","getTimesheetId","_getTimesheetId","workorderId","query","_yield$this$axiosInst","records","get","params","q","map","record","Id","getTimesheetsForPractitioner","_getTimesheetsForPractitioner","personnelID","timesheets","_iterator","_step","_createForOfIteratorHelperLoose","done","value","push","WorkOrder__c","id","updatedAt","LastModifiedDate","getTimesheetHoursIds","_getTimesheetHoursIds","_callee4","timesheetIds","timesheetId","_yield$this$axiosInst2","_callee4$","_context4","getTimesheetHoursId","_getTimesheetHoursId","_callee5","timesheetDate","formattedDate","allHourIds","_iterator2","_step2","_yield$this$axiosInst3","ids","_callee5$","_context5","toISOString","split","_x7","getTimesheetHours","_getTimesheetHours","_callee7","timesheetHourIds","_callee7$","_context7","all","_ref2","_callee6","_callee6$","_context6","then","res","toTimesheetDayEntry","_x9","_x8","getPayPeriods","_getPayPeriods","_callee8","payPeriods","_iterator3","_step3","payPeriod","_callee8$","_context8","name","Name","startDate","StartDate__c","endDate","EndDate__c","uploadImageToTimesheet","_uploadImageToTimesheet","_callee9","file","filename","form","uploadRes","versionId","_yield$this$axiosInst4","contentDocumentId","_err$response","_callee9$","_context9","JSON","stringify","Title","PathOnClient","contentType","ContentDocumentId","LinkedEntityId","ShareType","Visibility","_x10","_x11","_x12","raw","lastModified","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","fetchPractitionerByEmail","_fetchPractitionerByEmail","email","length","firstName","FirstName__c","lastName","LastName__c","Email__c","staffId","StaffID__c","SFWorkorderClient","getWorkordersForPractitioner","_getWorkordersForPractitioner","practitionerId","establishmentId","HospitalID__c","region","Region__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","Personnel__c","Date","startdate__c","createdAt","CreatedDate","SFPayPeriodClient","getPayPeriodAndTimesheetIdsForWorkorder","_getPayPeriodAndTimesheetIdsForWorkorder","workorderID","payPeriodIds","payPeriodId","PayPeriod__c","getPayPeriodDatesForPayPeriodIds","_getPayPeriodDatesForPayPeriodIds","payPeriodIDs","payPeriodDates","listOfIdsForQuery","join","SFApiClient","authenticator","timesheetClient","workorderClient","practitionerClient","payPeriodClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchRoles","_fetchRoles","label","Label","Value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pha-hermes.cjs.development.js","sources":["../src/api/auth/auth.ts","../src/api/timesheet/timesheetClient.ts","../src/api/practitioner/practitionerClient.ts","../src/api/workorder/workorderClient.ts","../src/api/payperiod/payperiodClient.ts","../src/api/apiClient.ts","../src/api/liphe1.0/auth/authClient.ts","../src/api/liphe1.0/practitioner/practitionerClient.ts","../src/api/lipheApiClient.ts"],"sourcesContent":["import axios, { AxiosInstance } from 'axios'\nimport FormData from 'form-data'\n\nexport class SFAuthenticator {\n axiosTokenInstance: AxiosInstance = axios.create()\n authenticatedAxiosInstance: AxiosInstance\n token: string | undefined = undefined\n private refreshToken: string | undefined = undefined\n private tokenRefreshPromise: Promise<string> | null = null\n\n constructor(authenticatedAxiosInstance: AxiosInstance, baseUrl?: string) {\n this.axiosTokenInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\n }\n\n async initializeAuth(\n clientId: string,\n clientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n const token = await this.postToken(clientId, clientSecret)\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] = `Bearer ${token}`\n\n this.authenticatedAxiosInstance.interceptors.response.use(\n response => response,\n async error => {\n const originalRequest = error.config\n originalRequest._retryCount = originalRequest._retryCount || 0\n\n // If the error is 401 and we haven't exceeded max retries\n if (error.response?.status === 401 && originalRequest._retryCount < 3) {\n originalRequest._retryCount++\n\n try {\n // Use existing token refresh if one is in progress\n if (!this.tokenRefreshPromise) {\n const newClientCredentials = await onTokenRefresh?.()\n const newClientId = newClientCredentials?.clientId || clientId\n const newClientSecret =\n newClientCredentials?.clientSecret || clientSecret\n this.tokenRefreshPromise = this.postToken(newClientId, newClientSecret)\n }\n\n const newToken = await this.tokenRefreshPromise\n // Clear the refresh promise after it completes\n this.tokenRefreshPromise = null\n\n this.authenticatedAxiosInstance.defaults.headers.common['Authorization'] =\n `Bearer ${newToken}`\n originalRequest.headers['Authorization'] = `Bearer ${newToken}`\n\n originalRequest.timeout = 5000\n\n return await Promise.race([\n this.authenticatedAxiosInstance(originalRequest),\n new Promise((_, reject) =>\n setTimeout(\n () => reject(new Error('Retry request timeout')),\n originalRequest.timeout\n )\n )\n ])\n } catch (refreshError) {\n // Clear the refresh promise if it fails\n this.tokenRefreshPromise = null\n return Promise.reject(refreshError)\n }\n }\n return Promise.reject(error)\n }\n )\n }\n\n async postToken(clientId?: string, clientSecret?: string): Promise<string> {\n const tokenFormRequestBody = new FormData()\n if (this.refreshToken) {\n tokenFormRequestBody.append('refresh_token', this.refreshToken)\n tokenFormRequestBody.append('grant_type', 'refresh_token')\n } else if (clientId && clientSecret) {\n tokenFormRequestBody.append('client_id', clientId)\n tokenFormRequestBody.append('client_secret', clientSecret)\n tokenFormRequestBody.append('grant_type', 'client_credentials')\n } else {\n throw new Error(\n 'Authentication failed, either the RefreshToken, or ClientId and ClientSecret need to be provided'\n )\n }\n\n const response = await this.axiosTokenInstance.post(\n '/services/oauth2/token',\n tokenFormRequestBody,\n {\n headers: tokenFormRequestBody.getHeaders()\n }\n )\n\n this.token = response?.data?.['access_token']\n if (!this.token) throw new Error('Authentication failed, could not get the access token')\n return this.token\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { TimesheetDayEntry } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\nimport FormData from 'form-data'\n\ninterface SFTimesheetHourField {\n Id: string\n Date__c: Date\n Callback__c: number\n HoursEBAdjusted__c: number\n Misc__c: number\n OT1__c: number\n OT2__c: number\n OnCall__c: number\n Misc1__c: number\n Misc_1_Hours__c: number\n Misc_2_Hours__c: number\n Misc_3_Hours__c: number\n Misc_4_Hours__c: number\n Stat1__c: number\n Stat2__c: number\n In_Charge__c: number\n Shift_Travel_Stipend__c: number\n LastModifiedDate: Date\n}\ntype SFTimesheetHourFieldKeys = (keyof SFTimesheetHourField)[]\n\nexport class SFTimesheetClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async updateTimesheetHour(timesheetHourId: string, timesheet: TimesheetDayEntry) {\n try {\n const url = `/services/data/${SF_API_VERSION}/sobjects/TimeSheetHour__c/${timesheetHourId}`\n const response = await this.axiosInstance.patch(url, {\n Date__c: timesheet.date,\n Callback__c: timesheet.callbackHours,\n HoursEBAdjusted__c: timesheet.regularHours,\n Misc__c: timesheet.miscHours,\n OT1__c: timesheet.overtime1Hours,\n OT2__c: timesheet.overtime2Hours,\n OnCall__c: timesheet.onCallHours,\n Misc1__c: timesheet.misc1HoursA,\n Misc_1_Hours__c: timesheet.misc1HoursB,\n Misc_2_Hours__c: timesheet.misc2Hours,\n Misc_3_Hours__c: timesheet.misc3Hours,\n Misc_4_Hours__c: timesheet.misc4Hours,\n Stat1__c: timesheet.stat1Hours,\n Stat2__c: timesheet.stat2Hours,\n In_Charge__c: timesheet.inChargeHours,\n Shift_Travel_Stipend__c: timesheet.shiftTravelPerDiemHours\n })\n\n if (![200, 204, 304].includes(response.status))\n throw new Error(`got error status code ${response.status}`)\n } catch (error) {\n console.error('Error Updating Timesheet Hour: ', error.message)\n }\n }\n\n async getTimesheetIds(workorderId: string, periodStartDate?: Date, periodEndDate?: Date): Promise<string[]> {\n // Find all timesheet Ids that belong to this WO\n const url = `/services/data/${SF_API_VERSION}/query`\n let query = `SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderId}'`\n try {\n if (periodStartDate && periodEndDate) {\n query += `\n AND PayPeriodStartDate__c <= ${new Date(periodStartDate).toISOString().substring(0, 10)}\n AND PayPeriodEndDate__c >= ${new Date(periodEndDate).toISOString().substring(0, 10)}\n `\n }\n }\n catch (error) {\n console.error('Invalid period dates', error)\n }\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n return records.map(record => record.Id)\n }\n\n async getTimesheetsForPractitioner(personnelID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '${personnelID}')`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let timesheets = []\n\n for (const timesheet of data.data.records) {\n timesheets.push({\n workorderId: timesheet.WorkOrder__c,\n id: timesheet.Id,\n updatedAt: timesheet.LastModifiedDate\n })\n }\n\n return timesheets\n }\n\n async getTimesheetHours(workorderId: string, fields?: SFTimesheetHourFieldKeys[], periodStartDate?: Date, periodEndDate?: Date): Promise<TimesheetDayEntry[]> {\n const timesheetIds = await this.getTimesheetIds(workorderId, periodStartDate, periodEndDate)\n\n const allHours: SFTimesheetHourField[] = []\n const url = `/services/data/${SF_API_VERSION}/query`\n for (const timesheetId of timesheetIds) {\n let query = `\n SELECT ${fields?.join(',') || 'FIELDS(STANDARD)'}\n FROM TimesheetHour__c\n WHERE Timesheet__c = '${timesheetId}'`\n try {\n if (fields?.length) {\n query += `\n AND Date__c >= ${new Date(periodStartDate).toISOString().substring(0, 10)}\n AND Date__c <= ${new Date(periodEndDate).toISOString().substring(0, 10)}`\n }\n\n const {\n data: { records }\n } = await this.axiosInstance.get<{ records: SFTimesheetHourField[] }>(url, {\n params: { q: query }\n })\n allHours.push(...records)\n } catch (err) {\n console.error(`Failed to fetch`, err)\n }\n }\n return allHours.map(toTimesheetDayEntry)\n }\n\n async getPayPeriods(): Promise<any> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriods = []\n\n for (const payPeriod of data.data.records) {\n payPeriods.push({\n name: payPeriod.Name,\n startDate: payPeriod.StartDate__c,\n endDate: payPeriod.EndDate__c\n })\n }\n\n return payPeriods\n }\n\n async uploadImageToTimesheet(\n file: Buffer,\n filename: string,\n timesheetId: string\n ): Promise<void> {\n try {\n const form = new FormData()\n form.append(\n 'entity_content',\n JSON.stringify({\n Title: filename,\n PathOnClient: filename\n }),\n { contentType: 'application/json' }\n )\n\n form.append('VersionData', file, {\n filename,\n contentType: 'application/octet-stream'\n })\n const uploadRes = await this.axiosInstance.post(\n `/services/data/${SF_API_VERSION}/sobjects/ContentVersion`,\n form,\n { headers: form.getHeaders() }\n )\n\n const versionId = uploadRes.data.id\n\n //get ContentDocumentId\n const { data } = await this.axiosInstance.get(\n `/services/data/${SF_API_VERSION}/query`,\n {\n params: {\n q: `SELECT ContentDocumentId FROM ContentVersion WHERE Id = '${versionId}'`\n }\n }\n )\n const contentDocumentId = data.records[0].ContentDocumentId\n\n await this.axiosInstance.post(\n `/services/data/${SF_API_VERSION}/sobjects/ContentDocumentLink`,\n {\n ContentDocumentId: contentDocumentId,\n LinkedEntityId: timesheetId,\n ShareType: 'V',\n Visibility: 'AllUsers'\n }\n )\n } catch (err) {\n console.error('Salesforce error response:', err?.response?.data)\n console.error('Error uploading and linking image:', err?.message)\n }\n }\n}\n\nfunction toTimesheetDayEntry(raw: SFTimesheetHourField): TimesheetDayEntry {\n return {\n id: raw.Id,\n date: raw.Date__c,\n callbackHours: raw.Callback__c,\n regularHours: raw.HoursEBAdjusted__c,\n miscHours: raw.Misc__c,\n overtime1Hours: raw.OT1__c,\n overtime2Hours: raw.OT2__c,\n onCallHours: raw.OnCall__c,\n misc1HoursA: raw.Misc1__c,\n misc1HoursB: raw.Misc_1_Hours__c,\n misc2Hours: raw.Misc_2_Hours__c,\n misc3Hours: raw.Misc_3_Hours__c,\n misc4Hours: raw.Misc_4_Hours__c,\n stat1Hours: raw.Stat1__c,\n stat2Hours: raw.Stat2__c,\n inChargeHours: raw.In_Charge__c,\n shiftTravelPerDiemHours: raw.Shift_Travel_Stipend__c,\n lastModified: raw.LastModifiedDate\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { Practitioner } from '../../models'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport class SFPractitionerClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async fetchPractitioners(): Promise<Practitioner[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n\n return records.map(toPractitioner)\n } catch (error) {\n console.error('Error fetching practitioners: ', error.message)\n throw error\n }\n }\n\n async fetchPractitionerByEmail(email: string): Promise<Practitioner | null> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '${email}'\n `\n const {\n data: { records }\n } = await this.axiosInstance.get(url, {\n params: { q: query }\n })\n if (records.length === 0) {\n return null\n }\n return toPractitioner(records[0])\n } catch (error) {\n console.error('Error fetching practitioner by email:', error)\n throw error\n }\n }\n}\n\nfunction toPractitioner(raw: any): Practitioner {\n return {\n id: raw.Id,\n firstName: raw.FirstName__c,\n lastName: raw.LastName__c,\n email: raw.Email__c,\n staffId: raw.StaffID__c\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\nimport { Workorder } from '../../models'\n\nexport class SFWorkorderClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async getWorkordersForPractitioner(\n practitionerId?: string,\n options?: { startDate?: Date; endDate?: Date; provinces?: string[] }\n ): Promise<Workorder[]> {\n try {\n const filters: string[] = []\n if (practitionerId) {\n filters.push(`Personnel__c = '${practitionerId}'`)\n }\n if (options?.startDate) {\n const isoStart = options.startDate.toISOString().split('T')[0]\n filters.push(`EndDate__c >= ${isoStart}`)\n }\n if (options?.endDate) {\n const isoEnd = options.endDate.toISOString().split('T')[0]\n filters.push(`startdate__c <= ${isoEnd}`)\n }\n\n if (options?.provinces?.length) {\n const provincesList = options?.provinces?.map(p => `'${p}'`).join(', ')\n filters.push(`Region__c IN (${provincesList})`)\n }\n const whereClause = filters.length ? `WHERE ${filters.join(' AND ')}` : ''\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c ${whereClause}`\n return await this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Workorder => ({\n id: record.Id,\n name: record.Name,\n establishmentId: record.HospitalID__c,\n region: record.Region__c,\n establishmentName: record.HospitalName__c,\n role: record.ProfessionalDesignation__c,\n practitionerId: record.Personnel__c,\n startDate: new Date(record.startdate__c),\n endDate: new Date(record.EndDate__c),\n createdAt: new Date(record.CreatedDate),\n updatedAt: new Date(record.LastModifiedDate)\n })\n )\n )\n } catch (error) {\n console.error('Error fetching work orders: ', error.message)\n throw error\n }\n }\n}\n","import { AxiosInstance } from 'axios'\nimport { SF_API_VERSION } from '../apiClient'\n\nexport interface Period {\n payPeriodId: string\n startDate: Date\n endDate: Date\n timesheetId?: string\n workorderId?: string\n}\n\nexport class SFPayPeriodClient {\n private axiosInstance: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axiosInstance = axiosInstance\n }\n\n async getPayPeriodAndTimesheetIdsForWorkorder(workorderID: string) {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '${workorderID}'`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodIds = []\n\n for (const payPeriods of data.data.records) {\n payPeriodIds.push({\n timesheetId: payPeriods.Id,\n payPeriodId: payPeriods.PayPeriod__c\n })\n }\n\n return payPeriodIds\n }\n\n async getPayPeriodDatesForPayPeriodIds(payPeriodIDs: string[]): Promise<Period[]> {\n const url = `/services/data/${SF_API_VERSION}/query`\n\n const query = `SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN ${listOfIdsForQuery(payPeriodIDs)}`\n\n const data = await this.axiosInstance.get(url, { params: { q: query } })\n\n let payPeriodDates = []\n\n for (const payPeriod of data.data.records) {\n payPeriodDates.push({\n payPeriodId: payPeriod.Id,\n startDate: new Date(payPeriod.StartDate__c),\n endDate: new Date(payPeriod.EndDate__c)\n })\n }\n\n return payPeriodDates\n }\n}\n\nconst listOfIdsForQuery = (payPeriodIDs: string[]) => `('${payPeriodIDs.join('\\', \\'')}')`\n","import axios, { AxiosInstance } from 'axios'\nimport { SFAuthenticator } from './auth/auth'\nimport { SFTimesheetClient } from './timesheet/timesheetClient'\nimport { SFPractitionerClient } from './practitioner/practitionerClient'\nimport { Role } from '../models'\nimport { SFWorkorderClient } from './workorder/workorderClient'\nimport { SFPayPeriodClient } from './payperiod/payperiodClient'\n\nexport const SF_API_VERSION: string = 'v57.0'\n\nexport class SFApiClient {\n private instance: SFApiClient | undefined = undefined\n private axiosInstance: AxiosInstance = axios.create()\n private authenticator: SFAuthenticator\n private baseUrl: string\n timesheetClient: SFTimesheetClient\n workorderClient: SFWorkorderClient\n practitionerClient: SFPractitionerClient\n payPeriodClient: SFPayPeriodClient\n\n constructor(baseUrl?: string) {\n this.baseUrl = baseUrl\n this.axiosInstance.defaults.baseURL =\n baseUrl ?? 'https://do0000000d247eaa--phealth.sandbox.my.salesforce.com'\n this.authenticator = new SFAuthenticator(this.axiosInstance, this.baseUrl)\n this.timesheetClient = new SFTimesheetClient(this.axiosInstance)\n this.workorderClient = new SFWorkorderClient(this.axiosInstance)\n this.practitionerClient = new SFPractitionerClient(this.axiosInstance)\n this.payPeriodClient = new SFPayPeriodClient(this.axiosInstance)\n }\n\n async init(\n sfClientId: string,\n sfClientSecret: string,\n onTokenRefresh?: () => Promise<{ clientId: string; clientSecret: string }>\n ) {\n // creates authenticator and adds token to axios instance\n await this.authenticator.initializeAuth(sfClientId, sfClientSecret, onTokenRefresh)\n }\n\n setInstance(instance: SFApiClient) {\n this.instance = instance\n }\n getInstance(): SFApiClient {\n return this.instance\n }\n\n async fetchRoles(): Promise<Role[]> {\n try {\n const url = `/services/data/${SF_API_VERSION}/query`\n const query = `SELECT Label, Value FROM PicklistValueInfo \\\n WHERE EntityParticle.EntityDefinition.QualifiedApiName = 'WorkOrder__c'\\\n AND EntityParticle.QualifiedApiName = 'ProfessionalDesignation__c' \\\n AND isActive = true`\n return this.axiosInstance\n .get(url, {\n params: { q: query }\n })\n .then(({ data: { records } }) =>\n records.map(\n (record): Role => ({\n label: record.Label,\n value: record.Value\n })\n )\n )\n } catch (error) {\n console.error('Error fetching roles: ', error.message)\n throw error\n }\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport FormData from 'form-data'\n\nexport class LipheAuthenticator {\n axiosTokenInstance: AxiosInstance = axios.create()\n authenticatedAxiosInstance: AxiosInstance\n token: string | undefined = undefined\n private tokenRefreshPromise: Promise<string> | null = null\n private email: string\n private password: string\n private type: string\n\n constructor(\n authenticatedAxiosInstance: AxiosInstance,\n baseUrl: string,\n email: string,\n password: string,\n type: string = 'user'\n ) {\n this.authenticatedAxiosInstance = authenticatedAxiosInstance\n this.email = email\n this.password = password\n this.type = type\n this.axiosTokenInstance.defaults.baseURL = baseUrl\n }\n\n async initializeAuth() {\n const token = await this.login()\n\n this.authenticatedAxiosInstance.defaults.headers.common['X-Auth-Token'] = token\n\n this.authenticatedAxiosInstance.interceptors.response.use(\n response => response,\n async error => {\n const originalRequest = error.config\n originalRequest._retryCount = originalRequest._retryCount || 0\n\n if (error.response?.status === 401 && originalRequest._retryCount < 1) {\n originalRequest._retryCount++\n try {\n if (!this.tokenRefreshPromise) {\n this.tokenRefreshPromise = this.login()\n }\n const newToken = await this.tokenRefreshPromise\n this.tokenRefreshPromise = null\n\n this.authenticatedAxiosInstance.defaults.headers.common['X-Auth-Token'] =\n newToken\n\n return await this.authenticatedAxiosInstance(originalRequest)\n } catch (refreshError) {\n this.tokenRefreshPromise = null\n return Promise.reject(refreshError)\n }\n }\n return Promise.reject(error)\n }\n )\n }\n private async login(): Promise<string> {\n const form = new FormData()\n form.append('email', this.email)\n form.append('password', this.password)\n form.append('type', this.type)\n\n const response = await this.axiosTokenInstance.post('/v2/signin', form, {\n headers: form.getHeaders()\n })\n const token = response?.data?.data?.token\n if (!token) {\n throw new Error('Authentication failed: no token return')\n }\n this.token = token\n return token\n }\n}\n","import type { AxiosInstance } from 'axios'\n\nexport interface LiphePractitioner {\n id: number\n firstname: string\n lastname: string\n email: string\n communicationMode?: number\n}\n\nexport class LiphePractitionerClient {\n private axios: AxiosInstance\n\n constructor(axiosInstance: AxiosInstance) {\n this.axios = axiosInstance\n }\n async fetchAllPractitioners(agencyId: number = 1): Promise<LiphePractitioner[]> {\n let practitioners: LiphePractitioner[] = []\n let page = 1\n let nextPage = true\n\n while (nextPage) {\n const response = await this.axios.get('/v2/employees', {\n params: {\n agency_id: agencyId,\n page\n }\n })\n const data = response?.data?.data\n if (!data?.data || !Array.isArray(data.data)) {\n throw new Error('Unexpected responses.')\n }\n const pagePractitioners = data.data.map(\n (p: any): LiphePractitioner => ({\n id: p.id,\n firstname: p.firstname,\n lastname: p.lastname,\n email: p.email,\n communicationMode: p.communicationMode\n })\n )\n\n practitioners.push(...pagePractitioners)\n nextPage = Boolean(data.next_page_url)\n page++\n }\n return practitioners\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { LipheAuthenticator } from './liphe1.0/auth/authClient'\nimport { LiphePractitionerClient } from './liphe1.0/practitioner/practitionerClient'\n\nexport class LipheApiClient {\n private instance: LipheApiClient | undefined = undefined\n private axiosInstance: AxiosInstance = axios.create()\n private authenticator: LipheAuthenticator\n public practitionerClient: LiphePractitionerClient\n\n constructor(baseUrl: string, email: string, password: string, type: string = 'user') {\n this.axiosInstance.defaults.baseURL = baseUrl\n\n this.authenticator = new LipheAuthenticator(\n this.axiosInstance,\n baseUrl,\n email,\n password,\n type\n )\n this.practitionerClient = new LiphePractitionerClient(this.axiosInstance)\n }\n async init() {\n await this.authenticator.initializeAuth()\n }\n\n setInstance(instance: LipheApiClient) {\n this.instance = instance\n }\n\n getInstance(): LipheApiClient {\n return this.instance\n }\n\n getAxiosInstance(): AxiosInstance {\n return this.axiosInstance\n }\n}\n"],"names":["SFAuthenticator","authenticatedAxiosInstance","baseUrl","axios","create","undefined","axiosTokenInstance","defaults","baseURL","_proto","prototype","initializeAuth","_initializeAuth","_asyncToGenerator","_regeneratorRuntime","mark","_callee2","clientId","clientSecret","onTokenRefresh","_this","token","wrap","_callee2$","_context2","prev","next","postToken","sent","headers","common","interceptors","response","use","_ref","_callee","error","_error$response","originalRequest","newClientCredentials","newClientId","newClientSecret","newToken","_callee$","_context","config","_retryCount","status","tokenRefreshPromise","timeout","Promise","race","_","reject","setTimeout","Error","abrupt","t0","stop","_x4","apply","arguments","_x","_x2","_x3","_postToken","_callee3","_response$data","tokenFormRequestBody","_callee3$","_context3","FormData","refreshToken","append","post","getHeaders","data","_x5","_x6","SFTimesheetClient","axiosInstance","updateTimesheetHour","_updateTimesheetHour","timesheetHourId","timesheet","url","SF_API_VERSION","patch","Date__c","date","Callback__c","callbackHours","HoursEBAdjusted__c","regularHours","Misc__c","miscHours","OT1__c","overtime1Hours","OT2__c","overtime2Hours","OnCall__c","onCallHours","Misc1__c","misc1HoursA","Misc_1_Hours__c","misc1HoursB","Misc_2_Hours__c","misc2Hours","Misc_3_Hours__c","misc3Hours","Misc_4_Hours__c","misc4Hours","Stat1__c","stat1Hours","Stat2__c","stat2Hours","In_Charge__c","inChargeHours","Shift_Travel_Stipend__c","shiftTravelPerDiemHours","includes","console","message","getTimesheetIds","_getTimesheetIds","workorderId","periodStartDate","periodEndDate","query","_yield$this$axiosInst","records","Date","toISOString","substring","get","params","q","map","record","Id","getTimesheetsForPractitioner","_getTimesheetsForPractitioner","personnelID","timesheets","_iterator","_step","_createForOfIteratorHelperLoose","done","value","push","WorkOrder__c","id","updatedAt","LastModifiedDate","getTimesheetHours","_getTimesheetHours","_callee4","fields","timesheetIds","allHours","_iterator2","_step2","timesheetId","_yield$this$axiosInst2","_callee4$","_context4","join","length","toTimesheetDayEntry","_x7","_x8","_x9","_x10","getPayPeriods","_getPayPeriods","_callee5","payPeriods","_iterator3","_step3","payPeriod","_callee5$","_context5","name","Name","startDate","StartDate__c","endDate","EndDate__c","uploadImageToTimesheet","_uploadImageToTimesheet","_callee6","file","filename","form","uploadRes","versionId","_yield$this$axiosInst3","contentDocumentId","_err$response","_callee6$","_context6","JSON","stringify","Title","PathOnClient","contentType","ContentDocumentId","LinkedEntityId","ShareType","Visibility","_x11","_x12","_x13","raw","lastModified","SFPractitionerClient","fetchPractitioners","_fetchPractitioners","toPractitioner","fetchPractitionerByEmail","_fetchPractitionerByEmail","email","firstName","FirstName__c","lastName","LastName__c","Email__c","staffId","StaffID__c","SFWorkorderClient","getWorkordersForPractitioner","_getWorkordersForPractitioner","practitionerId","options","_options$provinces","filters","isoStart","isoEnd","_options$provinces2","provincesList","whereClause","split","provinces","p","then","establishmentId","HospitalID__c","region","Region__c","establishmentName","HospitalName__c","role","ProfessionalDesignation__c","Personnel__c","startdate__c","createdAt","CreatedDate","SFPayPeriodClient","getPayPeriodAndTimesheetIdsForWorkorder","_getPayPeriodAndTimesheetIdsForWorkorder","workorderID","payPeriodIds","payPeriodId","PayPeriod__c","getPayPeriodDatesForPayPeriodIds","_getPayPeriodDatesForPayPeriodIds","payPeriodIDs","payPeriodDates","listOfIdsForQuery","SFApiClient","authenticator","timesheetClient","workorderClient","practitionerClient","payPeriodClient","init","_init","sfClientId","sfClientSecret","setInstance","instance","getInstance","fetchRoles","_fetchRoles","label","Label","Value","LipheAuthenticator","password","type","login","_login","LiphePractitionerClient","fetchAllPractitioners","_fetchAllPractitioners","agencyId","practitioners","page","nextPage","agency_id","Array","isArray","pagePractitioners","firstname","lastname","communicationMode","Boolean","next_page_url","LipheApiClient","getAxiosInstance"],"mappings":"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"}
|
|
@@ -1,2 +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){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function a(t,e,r,n,a,o,i){try{var s=t[o](i),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){a(i,n,o,s,c,"next",t)}function c(t){a(i,n,o,s,c,"throw",t)}s(void 0)}))}}function i(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var a=0;return function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){s=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.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 o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new S(n||[]);return a(o,"_invoke",{value:H(t,r,i)}),o}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=f;var l="suspendedStart",d="executing",_="completed",v={};function m(){}function y(){}function g(){}var x={};h(x,i,(function(){return this}));var w=Object.getPrototypeOf,E=w&&w(w(L([])));E&&E!==r&&n.call(E,i)&&(x=E);var I=g.prototype=m.prototype=Object.create(x);function b(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function k(t,e){function r(a,o,i,s){var c=p(t[a],t,o);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 o;a(this,"_invoke",{value:function(t,n){function a(){return new e((function(e,a){r(t,n,e,a)}))}return o=o?o.then(a,a):a()}})}function H(e,r,n){var a=l;return function(o,i){if(a===d)throw Error("Generator is already running");if(a===_){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,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(a===l)throw a=_,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var u=p(e,r,n);if("normal"===u.type){if(a=n.done?_:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=_,n.method="throw",n.arg=u.arg)}}}function T(e,r){var n=r.method,a=e.iterator[n];if(a===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 o=p(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.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 D(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 P(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(D,this),this.reset(!0)}function L(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,o=function r(){for(;++a<e.length;)if(n.call(e,a))return r.value=e[a],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return y.prototype=g,a(I,"constructor",{value:g,configurable:!0}),a(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(I),t},e.awrap=function(t){return{__await:t}},b(k.prototype),h(k.prototype,c,(function(){return this})),e.AsyncIterator=k,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new k(f(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},b(I),h(I,u,"Generator"),h(I,i,(function(){return this})),h(I,"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=L,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(P),!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 a(n,a){return s.type="throw",s.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return a("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 a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.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),P(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 a=n.arg;P(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:L(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}var c=function(){function t(t,r){this.axiosTokenInstance=e.create(),this.token=void 0,this.refreshToken=void 0,this.tokenRefreshPromise=null,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(s().mark((function t(e,r,n){var a=this;return s().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,this.authenticatedAxiosInstance.interceptors.response.use((function(t){return t}),function(){var t=o(s().mark((function t(o){var i,c,u,h;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((c=o.config)._retryCount=c._retryCount||0,!(401===(null==(i=o.response)?void 0:i.status)&&c._retryCount<3)){t.next=28;break}if(c._retryCount++,t.prev=4,a.tokenRefreshPromise){t.next=12;break}return t.next=8,null==n?void 0:n();case 8:a.tokenRefreshPromise=a.postToken((null==(u=t.sent)?void 0:u.clientId)||e,(null==u?void 0:u.clientSecret)||r);case 12:return t.next=14,a.tokenRefreshPromise;case 14:return h=t.sent,a.tokenRefreshPromise=null,a.authenticatedAxiosInstance.defaults.headers.common.Authorization="Bearer "+h,c.headers.Authorization="Bearer "+h,c.timeout=5e3,t.next=21,Promise.race([a.authenticatedAxiosInstance(c),new Promise((function(t,e){return setTimeout((function(){return e(new Error("Retry request timeout"))}),c.timeout)}))]);case 21:return t.abrupt("return",t.sent);case 24:return t.prev=24,t.t0=t.catch(4),a.tokenRefreshPromise=null,t.abrupt("return",Promise.reject(t.t0));case 28:return t.abrupt("return",Promise.reject(o));case 29:case"end":return t.stop()}}),t,null,[[4,24]])})));return function(e){return t.apply(this,arguments)}}());case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),n.postToken=function(){var t=o(s().mark((function t(e,n){var a,o,i;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(o=new r,!this.refreshToken){t.next=6;break}o.append("refresh_token",this.refreshToken),o.append("grant_type","refresh_token"),t.next=13;break;case 6:if(!e||!n){t.next=12;break}o.append("client_id",e),o.append("client_secret",n),o.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",o,{headers:o.getHeaders()});case 15:if(this.token=null==(i=t.sent)||null==(a=i.data)?void 0:a.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}(),u=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.updateTimesheetHour=function(){var t=o(s().mark((function t(e,r){var n,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n="/services/data/"+v+"/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((a=t.sent).status)){t.next=7;break}throw new Error("got error status code "+a.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(s().mark((function t(e){var r,n;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '"+e+"'\n ",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:return t.abrupt("return",t.sent.data.records.map((function(t){return t.Id})));case 7:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetsForPractitioner=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '"+e+"')",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({workorderId:(u=c.value).WorkOrder__c,id:u.Id,updatedAt:u.LastModifiedDate});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHoursIds=function(){var t=o(s().mark((function t(e){var r,n;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetId(e);case 2:return r="/services/data/"+v+"/query",n="SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '"+t.sent[0]+"'",t.next=8,this.axiosInstance.get(r,{params:{q:n}});case 8:return t.abrupt("return",t.sent.data.records.map((function(t){return t.Id})));case 11:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHoursId=function(){var t=o(s().mark((function t(e,r){var n,a,o,c,u,h,f,p;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetId(e);case 2:n=t.sent,a=r.toISOString().split("T")[0],o=[],c="/services/data/"+v+"/query",u=i(n);case 7:if((h=u()).done){t.next=25;break}return f="\n SELECT Id\n FROM TimesheetHour__c\n WHERE Timesheet__c = '"+h.value+"'\n AND Date__c = "+a+"\n ",t.prev=10,t.next=13,this.axiosInstance.get(c,{params:{q:f}});case 13:p=t.sent.data.records.map((function(t){return t.Id})),o.push.apply(o,p),t.next=23;break;case 19:return t.prev=19,t.t0=t.catch(10),console.error("Failed to fetch",t.t0),t.abrupt("return",[]);case 23:t.next=7;break;case 25:return t.abrupt("return",o);case 26:case"end":return t.stop()}}),t,this,[[10,19]])})));return function(e,r){return t.apply(this,arguments)}}(),e.getTimesheetHours=function(){var t=o(s().mark((function t(e){var r=this;return s().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(s().mark((function t(e){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",r.axiosInstance.get("/services/data/"+v+"/sobjects/TimeSheetHour__c/"+e).then((function(t){return t.data})).then(h));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)}}(),e.getPayPeriods=function(){var t=o(s().mark((function t(){var e,r,n,a,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e="/services/data/"+v+"/query",t.next=4,this.axiosInstance.get(e,{params:{q:"SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c"}});case 4:for(r=[],n=i(t.sent.data.records);!(a=n()).done;)r.push({name:(o=a.value).Name,startDate:o.StartDate__c,endDate:o.EndDate__c});return t.abrupt("return",r);case 8:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.uploadImageToTimesheet=function(){var t=o(s().mark((function t(e,n,a){var o,i,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,(o=new r).append("entity_content",JSON.stringify({Title:n,PathOnClient:n}),{contentType:"application/json"}),o.append("VersionData",e,{filename:n,contentType:"application/octet-stream"}),t.next=6,this.axiosInstance.post("/services/data/"+v+"/sobjects/ContentVersion",o,{headers:o.getHeaders()});case 6:return i=t.sent.data.id,t.next=10,this.axiosInstance.get("/services/data/"+v+"/query",{params:{q:"SELECT ContentDocumentId FROM ContentVersion WHERE Id = '"+i+"'"}});case 10:return c=t.sent.data.records[0].ContentDocumentId,t.next=15,this.axiosInstance.post("/services/data/"+v+"/sobjects/ContentDocumentLink",{ContentDocumentId:c,LinkedEntityId:a,ShareType:"V",Visibility:"AllUsers"});case 15:t.next=21;break;case 17:t.prev=17,t.t0=t.catch(0),console.error("Salesforce error response:",null==t.t0||null==(u=t.t0.response)?void 0:u.data),console.error("Error uploading and linking image:",null==t.t0?void 0:t.t0.message);case 21:case"end":return t.stop()}}),t,this,[[0,17]])})));return function(e,r,n){return t.apply(this,arguments)}}(),t}();function h(t){return{id:t.Id,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,lastModified:t.LastModifiedDate}}var f=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.fetchPractitioners=function(){var t=o(s().mark((function t(){var e;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,e="/services/data/"+v+"/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(p));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)}}(),e.fetchPractitionerByEmail=function(){var t=o(s().mark((function t(e){var r,n,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r="/services/data/"+v+"/query",n="\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '"+e+"'\n ",t.next=5,this.axiosInstance.get(r,{params:{q:n}});case 5:if(0!==(a=t.sent.data.records).length){t.next=9;break}return t.abrupt("return",null);case 9:return t.abrupt("return",p(a[0]));case 12:throw t.prev=12,t.t0=t.catch(0),console.error("Error fetching practitioner by email:",t.t0),t.t0;case 16:case"end":return t.stop()}}),t,this,[[0,12]])})));return function(e){return t.apply(this,arguments)}}(),t}();function p(t){return{id:t.Id,firstName:t.FirstName__c,lastName:t.LastName__c,email:t.Email__c,staffId:t.StaffID__c}}var l=function(){function t(t){this.axiosInstance=t}return t.prototype.getWorkordersForPractitioner=function(){var t=o(s().mark((function t(e){var r,n;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r="/services/data/"+v+"/query",n=e?"SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c WHERE Personnel__c = '"+e+"'":"SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate 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,name:t.Name,establishmentId:t.HospitalID__c,region:t.Region__c,establishmentName:t.HospitalName__c,role:t.ProfessionalDesignation__c,practitionerId:t.Personnel__c,startDate:new Date(t.startdate__c),endDate:new Date(t.EndDate__c),createdAt:new Date(t.CreatedDate),updatedAt:new Date(t.LastModifiedDate)}}))}));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)}}(),t}(),d=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.getPayPeriodAndTimesheetIdsForWorkorder=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '"+e+"'",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({timesheetId:(u=c.value).Id,payPeriodId:u.PayPeriod__c});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getPayPeriodDatesForPayPeriodIds=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN "+_(e),t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({payPeriodId:(u=c.value).Id,startDate:new Date(u.StartDate__c),endDate:new Date(u.EndDate__c)});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(),_=function(t){return"('"+t.join("', '")+"')"},v="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 c(this.axiosInstance,this.baseUrl),this.timesheetClient=new u(this.axiosInstance),this.workorderClient=new l(this.axiosInstance),this.practitionerClient=new f(this.axiosInstance),this.payPeriodClient=new d(this.axiosInstance)}var r=t.prototype;return r.init=function(){var t=o(s().mark((function t(e,r,n){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.authenticator.initializeAuth(e,r,n);case 2:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.setInstance=function(t){this.instance=t},r.getInstance=function(){return this.instance},r.fetchRoles=function(){var t=o(s().mark((function t(){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.abrupt("return",this.axiosInstance.get("/services/data/"+v+"/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=c,exports.SFPractitionerClient=f,exports.SFTimesheetClient=u;
|
|
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){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function a(t,e,r,n,a,o,i){try{var s=t[o](i),c=s.value}catch(t){return void r(t)}s.done?e(c):Promise.resolve(c).then(n,a)}function o(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function s(t){a(i,n,o,s,c,"next",t)}function c(t){a(i,n,o,s,c,"throw",t)}s(void 0)}))}}function i(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(r)return(r=r.call(t)).next.bind(r);if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var a=0;return function(){return a>=t.length?{done:!0}:{done:!1,value:t[a++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function s(){s=function(){return e};var t,e={},r=Object.prototype,n=r.hasOwnProperty,a=Object.defineProperty||function(t,e,r){t[e]=r.value},o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",c=o.asyncIterator||"@@asyncIterator",u=o.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 l(t,e,r,n){var o=Object.create((e&&e.prototype instanceof m?e:m).prototype),i=new A(n||[]);return a(o,"_invoke",{value:D(t,r,i)}),o}function p(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}e.wrap=l;var f="suspendedStart",d="executing",_="completed",v={};function m(){}function y(){}function x(){}var g={};h(g,i,(function(){return this}));var w=Object.getPrototypeOf,I=w&&w(w(H([])));I&&I!==r&&n.call(I,i)&&(g=I);var k=x.prototype=m.prototype=Object.create(g);function b(t){["next","throw","return"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function r(a,o,i,s){var c=p(t[a],t,o);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 o;a(this,"_invoke",{value:function(t,n){function a(){return new e((function(e,a){r(t,n,e,a)}))}return o=o?o.then(a,a):a()}})}function D(e,r,n){var a=f;return function(o,i){if(a===d)throw Error("Generator is already running");if(a===_){if("throw"===o)throw i;return{value:t,done:!0}}for(n.method=o,n.arg=i;;){var s=n.delegate;if(s){var c=P(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(a===f)throw a=_,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);a=d;var u=p(e,r,n);if("normal"===u.type){if(a=n.done?_:"suspendedYield",u.arg===v)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(a=_,n.method="throw",n.arg=u.arg)}}}function P(e,r){var n=r.method,a=e.iterator[n];if(a===t)return r.delegate=null,"throw"===n&&e.iterator.return&&(r.method="return",r.arg=t,P(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),v;var o=p(a,e.iterator,r.arg);if("throw"===o.type)return r.method="throw",r.arg=o.arg,r.delegate=null,v;var i=o.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 S(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 T(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function A(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(S,this),this.reset(!0)}function H(e){if(e||""===e){var r=e[i];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var a=-1,o=function r(){for(;++a<e.length;)if(n.call(e,a))return r.value=e[a],r.done=!1,r;return r.value=t,r.done=!0,r};return o.next=o}}throw new TypeError(typeof e+" is not iterable")}return y.prototype=x,a(k,"constructor",{value:x,configurable:!0}),a(x,"constructor",{value:y,configurable:!0}),y.displayName=h(x,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,x):(t.__proto__=x,h(t,u,"GeneratorFunction")),t.prototype=Object.create(k),t},e.awrap=function(t){return{__await:t}},b(E.prototype),h(E.prototype,c,(function(){return this})),e.AsyncIterator=E,e.async=function(t,r,n,a,o){void 0===o&&(o=Promise);var i=new E(l(t,r,n,a),o);return e.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},b(k),h(k,u,"Generator"),h(k,i,(function(){return this})),h(k,"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=H,A.prototype={constructor:A,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(T),!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 a(n,a){return s.type="throw",s.arg=e,r.next=n,a&&(r.method="next",r.arg=t),!!a}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],s=i.completion;if("root"===i.tryLoc)return a("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 a(i.catchLoc,!0);if(this.prev<i.finallyLoc)return a(i.finallyLoc)}else if(c){if(this.prev<i.catchLoc)return a(i.catchLoc,!0)}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return a(i.finallyLoc)}}}},abrupt:function(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var o=a;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var i=o?o.completion:{};return i.type=t,i.arg=e,o?(this.method="next",this.next=o.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),T(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 a=n.arg;T(r)}return a}}throw Error("illegal catch attempt")},delegateYield:function(e,r,n){return this.delegate={iterator:H(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),v}},e}var c=function(){function t(t,r){this.axiosTokenInstance=e.create(),this.token=void 0,this.refreshToken=void 0,this.tokenRefreshPromise=null,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(s().mark((function t(e,r,n){var a=this;return s().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,this.authenticatedAxiosInstance.interceptors.response.use((function(t){return t}),function(){var t=o(s().mark((function t(o){var i,c,u,h;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((c=o.config)._retryCount=c._retryCount||0,!(401===(null==(i=o.response)?void 0:i.status)&&c._retryCount<3)){t.next=28;break}if(c._retryCount++,t.prev=4,a.tokenRefreshPromise){t.next=12;break}return t.next=8,null==n?void 0:n();case 8:a.tokenRefreshPromise=a.postToken((null==(u=t.sent)?void 0:u.clientId)||e,(null==u?void 0:u.clientSecret)||r);case 12:return t.next=14,a.tokenRefreshPromise;case 14:return h=t.sent,a.tokenRefreshPromise=null,a.authenticatedAxiosInstance.defaults.headers.common.Authorization="Bearer "+h,c.headers.Authorization="Bearer "+h,c.timeout=5e3,t.next=21,Promise.race([a.authenticatedAxiosInstance(c),new Promise((function(t,e){return setTimeout((function(){return e(new Error("Retry request timeout"))}),c.timeout)}))]);case 21:return t.abrupt("return",t.sent);case 24:return t.prev=24,t.t0=t.catch(4),a.tokenRefreshPromise=null,t.abrupt("return",Promise.reject(t.t0));case 28:return t.abrupt("return",Promise.reject(o));case 29:case"end":return t.stop()}}),t,null,[[4,24]])})));return function(e){return t.apply(this,arguments)}}());case 5:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),n.postToken=function(){var t=o(s().mark((function t(e,n){var a,o,i;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(o=new r,!this.refreshToken){t.next=6;break}o.append("refresh_token",this.refreshToken),o.append("grant_type","refresh_token"),t.next=13;break;case 6:if(!e||!n){t.next=12;break}o.append("client_id",e),o.append("client_secret",n),o.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",o,{headers:o.getHeaders()});case 15:if(this.token=null==(i=t.sent)||null==(a=i.data)?void 0:a.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}(),u=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.updateTimesheetHour=function(){var t=o(s().mark((function t(e,r){var n,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,n="/services/data/"+v+"/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((a=t.sent).status)){t.next=7;break}throw new Error("got error status code "+a.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.getTimesheetIds=function(){var t=o(s().mark((function t(e,r,n){var a,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:a="/services/data/"+v+"/query",o="SELECT Id\n FROM Timesheet__c\n WHERE WorkOrder__c = '"+e+"'";try{r&&n&&(o+="\n AND PayPeriodStartDate__c <= "+new Date(r).toISOString().substring(0,10)+"\n AND PayPeriodEndDate__c >= "+new Date(n).toISOString().substring(0,10)+"\n ")}catch(t){console.error("Invalid period dates",t)}return t.next=5,this.axiosInstance.get(a,{params:{q:o}});case 5:return t.abrupt("return",t.sent.data.records.map((function(t){return t.Id})));case 8:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),e.getTimesheetsForPractitioner=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT FIELDS(STANDARD), WorkOrder__c\n FROM TimeSheet__c\n WHERE WorkOrder__c IN (SELECT Id\n FROM WorkOrder__c\n WHERE Personnel__c = '"+e+"')",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({workorderId:(u=c.value).WorkOrder__c,id:u.Id,updatedAt:u.LastModifiedDate});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getTimesheetHours=function(){var t=o(s().mark((function t(e,r,n,a){var o,c,u,l,p,f;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.getTimesheetIds(e,n,a);case 2:o=[],c="/services/data/"+v+"/query",u=i(t.sent);case 6:if((l=u()).done){t.next=23;break}return p=l.value,f="\n SELECT "+((null==r?void 0:r.join(","))||"FIELDS(STANDARD)")+"\n FROM TimesheetHour__c\n WHERE Timesheet__c = '"+p+"'",t.prev=9,null!=r&&r.length&&(f+="\n AND Date__c >= "+new Date(n).toISOString().substring(0,10)+"\n AND Date__c <= "+new Date(a).toISOString().substring(0,10)),t.next=13,this.axiosInstance.get(c,{params:{q:f}});case 13:o.push.apply(o,t.sent.data.records),t.next=21;break;case 18:t.prev=18,t.t0=t.catch(9),console.error("Failed to fetch",t.t0);case 21:t.next=6;break;case 23:return t.abrupt("return",o.map(h));case 24:case"end":return t.stop()}}),t,this,[[9,18]])})));return function(e,r,n,a){return t.apply(this,arguments)}}(),e.getPayPeriods=function(){var t=o(s().mark((function t(){var e,r,n,a,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e="/services/data/"+v+"/query",t.next=4,this.axiosInstance.get(e,{params:{q:"SELECT Name,\n StartDate__c,\n EndDate__c\n FROM PayPeriod__c"}});case 4:for(r=[],n=i(t.sent.data.records);!(a=n()).done;)r.push({name:(o=a.value).Name,startDate:o.StartDate__c,endDate:o.EndDate__c});return t.abrupt("return",r);case 8:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),e.uploadImageToTimesheet=function(){var t=o(s().mark((function t(e,n,a){var o,i,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,(o=new r).append("entity_content",JSON.stringify({Title:n,PathOnClient:n}),{contentType:"application/json"}),o.append("VersionData",e,{filename:n,contentType:"application/octet-stream"}),t.next=6,this.axiosInstance.post("/services/data/"+v+"/sobjects/ContentVersion",o,{headers:o.getHeaders()});case 6:return i=t.sent.data.id,t.next=10,this.axiosInstance.get("/services/data/"+v+"/query",{params:{q:"SELECT ContentDocumentId FROM ContentVersion WHERE Id = '"+i+"'"}});case 10:return c=t.sent.data.records[0].ContentDocumentId,t.next=15,this.axiosInstance.post("/services/data/"+v+"/sobjects/ContentDocumentLink",{ContentDocumentId:c,LinkedEntityId:a,ShareType:"V",Visibility:"AllUsers"});case 15:t.next=21;break;case 17:t.prev=17,t.t0=t.catch(0),console.error("Salesforce error response:",null==t.t0||null==(u=t.t0.response)?void 0:u.data),console.error("Error uploading and linking image:",null==t.t0?void 0:t.t0.message);case 21:case"end":return t.stop()}}),t,this,[[0,17]])})));return function(e,r,n){return t.apply(this,arguments)}}(),t}();function h(t){return{id:t.Id,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,lastModified:t.LastModifiedDate}}var l=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.fetchPractitioners=function(){var t=o(s().mark((function t(){var e;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,e="/services/data/"+v+"/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(p));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)}}(),e.fetchPractitionerByEmail=function(){var t=o(s().mark((function t(e){var r,n,a;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,r="/services/data/"+v+"/query",n="\n SELECT Id, FirstName__c, LastName__c, Email__c, StaffID__c\n FROM Personnel__c\n WHERE Status__c = 'Active' AND Email__c = '"+e+"'\n ",t.next=5,this.axiosInstance.get(r,{params:{q:n}});case 5:if(0!==(a=t.sent.data.records).length){t.next=9;break}return t.abrupt("return",null);case 9:return t.abrupt("return",p(a[0]));case 12:throw t.prev=12,t.t0=t.catch(0),console.error("Error fetching practitioner by email:",t.t0),t.t0;case 16:case"end":return t.stop()}}),t,this,[[0,12]])})));return function(e){return t.apply(this,arguments)}}(),t}();function p(t){return{id:t.Id,firstName:t.FirstName__c,lastName:t.LastName__c,email:t.Email__c,staffId:t.StaffID__c}}var f=function(){function t(t){this.axiosInstance=t}return t.prototype.getWorkordersForPractitioner=function(){var t=o(s().mark((function t(e,r){var n,a,o,i,c,u,h,l,p;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,a=[],e&&a.push("Personnel__c = '"+e+"'"),null!=r&&r.startDate&&(o=r.startDate.toISOString().split("T")[0],a.push("EndDate__c >= "+o)),null!=r&&r.endDate&&(i=r.endDate.toISOString().split("T")[0],a.push("startdate__c <= "+i)),null!=r&&null!=(n=r.provinces)&&n.length&&(u=null==r||null==(c=r.provinces)?void 0:c.map((function(t){return"'"+t+"'"})).join(", "),a.push("Region__c IN ("+u+")")),h=a.length?"WHERE "+a.join(" AND "):"",l="/services/data/"+v+"/query",p="SELECT Id, Region__c, Name, HospitalID__c, HospitalName__c, ProfessionalDesignation__c, Personnel__c, startdate__c, EndDate__c, CreatedDate, LastModifiedDate FROM WorkOrder__c "+h,t.next=11,this.axiosInstance.get(l,{params:{q:p}}).then((function(t){return t.data.records.map((function(t){return{id:t.Id,name:t.Name,establishmentId:t.HospitalID__c,region:t.Region__c,establishmentName:t.HospitalName__c,role:t.ProfessionalDesignation__c,practitionerId:t.Personnel__c,startDate:new Date(t.startdate__c),endDate:new Date(t.EndDate__c),createdAt:new Date(t.CreatedDate),updatedAt:new Date(t.LastModifiedDate)}}))}));case 11:return t.abrupt("return",t.sent);case 14:throw t.prev=14,t.t0=t.catch(0),console.error("Error fetching work orders: ",t.t0.message),t.t0;case 18:case"end":return t.stop()}}),t,this,[[0,14]])})));return function(e,r){return t.apply(this,arguments)}}(),t}(),d=function(){function t(t){this.axiosInstance=t}var e=t.prototype;return e.getPayPeriodAndTimesheetIdsForWorkorder=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT PayPeriod__c, ID\n FROM Timesheet__c\n WHERE WorkOrder__c = '"+e+"'",t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({timesheetId:(u=c.value).Id,payPeriodId:u.PayPeriod__c});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),e.getPayPeriodDatesForPayPeriodIds=function(){var t=o(s().mark((function t(e){var r,n,a,o,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r="/services/data/"+v+"/query",n="SELECT ID, StartDate__c, EndDate__c\n FROM PayPeriod__c\n WHERE id IN "+_(e),t.next=4,this.axiosInstance.get(r,{params:{q:n}});case 4:for(a=[],o=i(t.sent.data.records);!(c=o()).done;)a.push({payPeriodId:(u=c.value).Id,startDate:new Date(u.StartDate__c),endDate:new Date(u.EndDate__c)});return t.abrupt("return",a);case 8:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}(),_=function(t){return"('"+t.join("', '")+"')"},v="v57.0",m=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 c(this.axiosInstance,this.baseUrl),this.timesheetClient=new u(this.axiosInstance),this.workorderClient=new f(this.axiosInstance),this.practitionerClient=new l(this.axiosInstance),this.payPeriodClient=new d(this.axiosInstance)}var r=t.prototype;return r.init=function(){var t=o(s().mark((function t(e,r,n){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.authenticator.initializeAuth(e,r,n);case 2:case"end":return t.stop()}}),t,this)})));return function(e,r,n){return t.apply(this,arguments)}}(),r.setInstance=function(t){this.instance=t},r.getInstance=function(){return this.instance},r.fetchRoles=function(){var t=o(s().mark((function t(){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.abrupt("return",this.axiosInstance.get("/services/data/"+v+"/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}(),y=function(){function t(t,r,n,a,o){void 0===o&&(o="user"),this.axiosTokenInstance=e.create(),this.token=void 0,this.tokenRefreshPromise=null,this.authenticatedAxiosInstance=t,this.email=n,this.password=a,this.type=o,this.axiosTokenInstance.defaults.baseURL=r}var n=t.prototype;return n.initializeAuth=function(){var t=o(s().mark((function t(){var e=this;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.login();case 2:this.authenticatedAxiosInstance.defaults.headers.common["X-Auth-Token"]=t.sent,this.authenticatedAxiosInstance.interceptors.response.use((function(t){return t}),function(){var t=o(s().mark((function t(r){var n,a,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((a=r.config)._retryCount=a._retryCount||0,!(401===(null==(n=r.response)?void 0:n.status)&&a._retryCount<1)){t.next=20;break}return a._retryCount++,t.prev=4,e.tokenRefreshPromise||(e.tokenRefreshPromise=e.login()),t.next=8,e.tokenRefreshPromise;case 8:return o=t.sent,e.tokenRefreshPromise=null,e.authenticatedAxiosInstance.defaults.headers.common["X-Auth-Token"]=o,t.next=13,e.authenticatedAxiosInstance(a);case 13:return t.abrupt("return",t.sent);case 16:return t.prev=16,t.t0=t.catch(4),e.tokenRefreshPromise=null,t.abrupt("return",Promise.reject(t.t0));case 20:return t.abrupt("return",Promise.reject(r));case 21:case"end":return t.stop()}}),t,null,[[4,16]])})));return function(e){return t.apply(this,arguments)}}());case 5:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),n.login=function(){var t=o(s().mark((function t(){var e,n,a,o;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return(n=new r).append("email",this.email),n.append("password",this.password),n.append("type",this.type),t.next=6,this.axiosTokenInstance.post("/v2/signin",n,{headers:n.getHeaders()});case 6:if(o=null==(a=t.sent)||null==(e=a.data)||null==(e=e.data)?void 0:e.token){t.next=10;break}throw new Error("Authentication failed: no token return");case 10:return this.token=o,t.abrupt("return",o);case 12:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),t}(),x=function(){function t(t){this.axios=t}return t.prototype.fetchAllPractitioners=function(){var t=o(s().mark((function t(e){var r,n,a,o,i,c,u;return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:void 0===e&&(e=1),r=[],n=1,a=!0;case 4:if(!a){t.next=17;break}return t.next=7,this.axios.get("/v2/employees",{params:{agency_id:e,page:n}});case 7:if(null!=(c=null==(i=t.sent)||null==(o=i.data)?void 0:o.data)&&c.data&&Array.isArray(c.data)){t.next=11;break}throw new Error("Unexpected responses.");case 11:u=c.data.map((function(t){return{id:t.id,firstname:t.firstname,lastname:t.lastname,email:t.email,communicationMode:t.communicationMode}})),r.push.apply(r,u),a=Boolean(c.next_page_url),n++,t.next=4;break;case 17:return t.abrupt("return",r);case 18:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}(),t}();exports.LipheApiClient=function(){function t(t,r,n,a){void 0===a&&(a="user"),this.instance=void 0,this.axiosInstance=e.create(),this.axiosInstance.defaults.baseURL=t,this.authenticator=new y(this.axiosInstance,t,r,n,a),this.practitionerClient=new x(this.axiosInstance)}var r=t.prototype;return r.init=function(){var t=o(s().mark((function t(){return s().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,this.authenticator.initializeAuth();case 2:case"end":return t.stop()}}),t,this)})));return function(){return t.apply(this,arguments)}}(),r.setInstance=function(t){this.instance=t},r.getInstance=function(){return this.instance},r.getAxiosInstance=function(){return this.axiosInstance},t}(),exports.LipheAuthenticator=y,exports.LiphePractitionerClient=x,exports.SFApiClient=m,exports.SFAuthenticator=c,exports.SFPractitionerClient=l,exports.SFTimesheetClient=u;
|
|
2
2
|
//# sourceMappingURL=pha-hermes.cjs.production.min.js.map
|