@markwharton/eh-payroll 3.2.1 → 3.3.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/client.d.ts CHANGED
@@ -145,6 +145,13 @@ export declare class PayrollClient {
145
145
  * @param options - Optional filters
146
146
  */
147
147
  getRosterShifts(fromDate: string, toDate: string, options?: PayrollRosterShiftOptions): Promise<Result<PayrollRosterShift[]>>;
148
+ /**
149
+ * Get a single kiosk by ID
150
+ *
151
+ * @param kioskId - Kiosk identifier
152
+ * @see https://api.keypay.com.au/australia/reference/manager/manager-kiosk--get-api-v2-business-by-business-id-manager-kiosk-by-id.html
153
+ */
154
+ getKiosk(kioskId: number): Promise<Result<PayrollKiosk>>;
148
155
  /**
149
156
  * Get all kiosks for the business
150
157
  */
package/dist/client.js CHANGED
@@ -480,6 +480,21 @@ export class PayrollClient {
480
480
  // ============================================================================
481
481
  // Time & Attendance (Kiosk)
482
482
  // ============================================================================
483
+ /**
484
+ * Get a single kiosk by ID
485
+ *
486
+ * @param kioskId - Kiosk identifier
487
+ * @see https://api.keypay.com.au/australia/reference/manager/manager-kiosk--get-api-v2-business-by-business-id-manager-kiosk-by-id.html
488
+ */
489
+ async getKiosk(kioskId) {
490
+ return this.cached(`kiosk:${kioskId}:detail`, this.cacheTtl.kiosksTtl, async () => {
491
+ // KeyPay serves single kiosk at manager/kiosk/{id}, not kiosk/{id}
492
+ const url = this.businessUrl(`manager/${ENTITIES.PayrollKiosk.path}/${kioskId}`);
493
+ return this.fetchAndParse(url, async (r) => {
494
+ return pickFields(await r.json(), ENTITIES.PayrollKiosk.fields);
495
+ });
496
+ });
497
+ }
483
498
  /**
484
499
  * Get all kiosks for the business
485
500
  */
package/dist/types.js CHANGED
@@ -116,21 +116,20 @@ export const ENTITIES = {
116
116
  PayrollEmployeeLeaveRequest: { fields: PAYROLL_LEAVE_REQUEST_FIELDS, path: 'employee/{employeeId}/leaverequest', apiRef: 'leave-requests/au-hours-leave-request--get-leave-requests' },
117
117
  PayrollLocation: { fields: PAYROLL_LOCATION_FIELDS, path: 'location', apiRef: 'location/au-location--get-locations' },
118
118
  PayrollRosterShift: { fields: PAYROLL_ROSTER_SHIFT_FIELDS, path: 'rostershift', apiRef: 'roster-shifts/au-roster-shift--get' },
119
- PayrollKiosk: { fields: PAYROLL_KIOSK_FIELDS, path: 'kiosk', apiRef: 'time-and-attendance/kiosk--get-all' },
119
+ PayrollKiosk: { fields: PAYROLL_KIOSK_FIELDS, path: 'kiosk', apiRef: 'time-and-attendance/kiosk--get-all', apiRefById: 'manager/manager-kiosk--get-api-v2-business-by-business-id-manager-kiosk-by-id' },
120
120
  PayrollKioskEmployee: { fields: PAYROLL_KIOSK_EMPLOYEE_FIELDS, path: 'kiosk/{kioskId}/staff', apiRef: 'time-and-attendance/generic-time-and-attendance--get-staff' },
121
121
  PayrollEmployeeGroup: { fields: PAYROLL_EMPLOYEE_GROUP_FIELDS, path: 'employeegroup', apiRef: 'employee-groups/au-employee-group--get-groups' },
122
122
  PayrollStandardHours: { path: 'employee/{employeeId}/standardhours', apiRef: 'employee/au-employee-standard-hours--get' },
123
+ EHEmployee: { fields: PAYROLL_EMPLOYEE_FIELDS, path: 'employee/unstructured', apiRef: 'employee/au-employee--get-employees', apiRefById: 'employee/au-employee--get-employee-by-id' },
124
+ EHLeaveRequest: { fields: PAYROLL_LEAVE_REQUEST_FIELDS, path: 'leaverequest', apiRef: 'leave-requests/au-business-hours-leave-request--list-leave-requests' },
125
+ EHEmployeeLeaveRequest: { fields: PAYROLL_LEAVE_REQUEST_FIELDS, path: 'employee/{employeeId}/leaverequest', apiRef: 'leave-requests/au-hours-leave-request--get-leave-requests' },
126
+ EHLocation: { fields: PAYROLL_LOCATION_FIELDS, path: 'location', apiRef: 'location/au-location--get-locations' },
127
+ EHRosterShift: { fields: PAYROLL_ROSTER_SHIFT_FIELDS, path: 'rostershift', apiRef: 'roster-shifts/au-roster-shift--get' },
128
+ EHKiosk: { fields: PAYROLL_KIOSK_FIELDS, path: 'kiosk', apiRef: 'time-and-attendance/kiosk--get-all', apiRefById: 'manager/manager-kiosk--get-api-v2-business-by-business-id-manager-kiosk-by-id' },
129
+ EHKioskEmployee: { fields: PAYROLL_KIOSK_EMPLOYEE_FIELDS, path: 'kiosk/{kioskId}/staff', apiRef: 'time-and-attendance/generic-time-and-attendance--get-staff' },
130
+ EHEmployeeGroup: { fields: PAYROLL_EMPLOYEE_GROUP_FIELDS, path: 'employeegroup', apiRef: 'employee-groups/au-employee-group--get-groups' },
131
+ EHStandardHours: { path: 'employee/{employeeId}/standardhours', apiRef: 'employee/au-employee-standard-hours--get' },
123
132
  };
124
- // Backward compatibility aliases for ENTITIES keys
125
- ENTITIES.EHEmployee = ENTITIES.PayrollEmployee;
126
- ENTITIES.EHLeaveRequest = ENTITIES.PayrollLeaveRequest;
127
- ENTITIES.EHEmployeeLeaveRequest = ENTITIES.PayrollEmployeeLeaveRequest;
128
- ENTITIES.EHLocation = ENTITIES.PayrollLocation;
129
- ENTITIES.EHRosterShift = ENTITIES.PayrollRosterShift;
130
- ENTITIES.EHKiosk = ENTITIES.PayrollKiosk;
131
- ENTITIES.EHKioskEmployee = ENTITIES.PayrollKioskEmployee;
132
- ENTITIES.EHEmployeeGroup = ENTITIES.PayrollEmployeeGroup;
133
- ENTITIES.EHStandardHours = ENTITIES.PayrollStandardHours;
134
133
  /**
135
134
  * Access tier for each data method.
136
135
  *
@@ -141,6 +140,7 @@ ENTITIES.EHStandardHours = ENTITIES.PayrollStandardHours;
141
140
  export const METHOD_TIERS = {
142
141
  getLocations: 'standard',
143
142
  getEmployeeGroups: 'standard',
143
+ getKiosk: 'standard',
144
144
  getKiosks: 'standard',
145
145
  getKioskStaff: 'standard',
146
146
  getRosterShifts: 'standard',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@markwharton/eh-payroll",
3
- "version": "3.2.1",
3
+ "version": "3.3.0",
4
4
  "description": "Employment Hero Payroll API client",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",