Skip to content
This repository was archived by the owner on May 28, 2024. It is now read-only.

Commit e2a93df

Browse files
authored
Merge pull request #64 from deskbookers/develop
Dev -> Master
2 parents 571d212 + 578df4a commit e2a93df

File tree

5 files changed

+26
-11
lines changed

5 files changed

+26
-11
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,5 +96,5 @@ for (let workplace of workplaces) {
9696
* reports
9797
* [`reports.bookings.enquire({venueId, type, start, end, task})`](docs/reports.md#bookingsenquirevenueid-type-start-end-task)
9898
* [`reports.bookings.retrieve({venueId, type, jobId})`](docs/reports.md#bookingsretrievevenueid-type-jobid)
99-
* [`bookingReferrers.enquire({start, end, autoResolve})`](docs/reports.md#bookingreferrersenquirestart-end-autoresolve)
99+
* [`bookingReferrers.enquire({start, end, autoResolve, onProgress})`](docs/reports.md#bookingreferrersenquirestart-end-autoresolve-onprogress)
100100
* [`bookingReferrers.retrieve({jobId})`](docs/reports.md#bookingreferrersretrievejobid)

docs/reports.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,21 +52,25 @@ const data = await deskbookers.reports.bookings.retrieve({
5252

5353
## Booking referrers
5454

55-
### `bookingReferrers.enquire({start, end, autoRetrieve})`
55+
### `bookingReferrers.enquire({start, end, autoRetrieve, onProgress})`
5656

5757
Get booking referrers report for a given date range.
5858

5959
#### Params
6060

61-
| Name | Type | Required | Description |
62-
| ------------ | ------ | -------- | ---------------------------------------- |
63-
| start | string | No | Only consider data after this start date |
64-
| end | string | No | Only consider data untul this end date |
65-
| autoRetrieve | bool | No | Auto retrieve the result of the report and return everything as a promise (enabled by default) |
61+
| Name | Type | Required | Description |
62+
| ------------ | -------- | -------- | ------------------------------------------------ |
63+
| start | string | No | Only consider data after this start date |
64+
| end | string | No | Only consider data untul this end date |
65+
| onProgress | callback | No | Get updates about latest state of the report job |
66+
| autoRetrieve | bool | No | Auto retrieve the result of the report and return everything as a promise (enabled by default) |
6667

6768
```js
6869
const data = await deskbookers.reports.bookingReferrers.enquire({
69-
start: '2017-09-01'
70+
start: '2017-09-01',
71+
onProgress: ({ jobInfo, logs }) => {
72+
console.log(jobInfo.progress)
73+
}
7074
})
7175
console.log(data.url) // URL to download the report
7276
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "deskbookers",
3-
"version": "5.5.0",
3+
"version": "5.5.1",
44
"description": "Deskbookers API JavaScript SDK",
55
"main": "dist/index.js",
66
"scripts": {

src/resources/reports/BookingReferrers.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ export default class BookingReferrers extends Resource {
1717
* @param {date} start
1818
* @param {date} end
1919
* @param {bool} autoRetrieve
20+
* @param {callback} onProgress
2021
* @return {Promise<Object>} Promise resolving with object with info about the end result
2122
*/
22-
async enquire ({ start, end, autoRetrieve = true } = {}) {
23+
async enquire ({ start, end, autoRetrieve = true, onProgress = null } = {}) {
2324
let jobInfo = await this.request({
2425
method: 'POST',
2526
path: this.endpoint,
@@ -34,6 +35,11 @@ export default class BookingReferrers extends Resource {
3435
do {
3536
await wait(AUTO_RETRIEVE_TIMEOUT)
3637
job = await this.retrieve({ jobId: get(job, 'jobInfo.id') })
38+
39+
if (onProgress) {
40+
onProgress(job)
41+
}
42+
3743
} while (!isFinalState(get(job, 'jobInfo.state')))
3844
}
3945

test/reports.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,15 @@ test('enquire an auto resolving booking referrers report', async t => {
6565
const deskbookers = await client(true)
6666
t.truthy(deskbookers.session)
6767

68+
let progress = 0
6869
const data = await deskbookers.reports.bookingReferrers.enquire({
6970
start: '2017-09-01',
70-
end: '2017-09-02'
71+
end: '2017-09-02',
72+
onProgress: (job) => {
73+
progress++
74+
}
7175
})
76+
t.truthy(progress)
7277
t.truthy(data.url)
7378
t.truthy(data.jobInfo)
7479
t.truthy(data.jobInfo.id)

0 commit comments

Comments
 (0)