Skip to content
This repository has been archived by the owner on Feb 6, 2024. It is now read-only.

Commit

Permalink
feat: update reports acknowledgements
Browse files Browse the repository at this point in the history
  • Loading branch information
justinemmanuelmercado committed Jun 12, 2020
1 parent e121c1a commit ea96dc0
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
40 changes: 40 additions & 0 deletions src/sections/reports.ts
Original file line number Diff line number Diff line change
Expand Up @@ -308,9 +308,49 @@ const GetReportScheduleCountResponse = Codec.interface({
}),
})

interface UpdateReportAcknowledgementsParameters {
ReportIdList: string[]
Acknowledged?: boolean
}

const UpdateReportAcknowledgements = Codec.interface({
Count: optional(number),
ReportInfo: optional(oneOf([array(ReportInfo), ReportInfo, exactly('')])),
})

type UpdateReportAcknowledgements = GetInterface<typeof UpdateReportAcknowledgements>

const UpdateReportAcknowledgementsResponse = Codec.interface({
UpdateReportAcknowledgementsResponse: Codec.interface({
UpdateReportAcknowledgementsResult: UpdateReportAcknowledgements,
}),
})
export class Reports {
constructor(private httpClient: HttpClient) {}

async updateReportAcknowledgements(
parameters: UpdateReportAcknowledgementsParameters,
): Promise<[UpdateReportAcknowledgements, RequestMeta]> {
const [response, meta] = await this.httpClient.request('POST', {
resource: Resource.Reports,
version: REPORTS_API_VERSION,
action: 'UpdateReportAcknowledgements',
parameters: {
'ReportIdList.Id': parameters.ReportIdList,
},
})

return UpdateReportAcknowledgementsResponse.decode(response).caseOf({
Right: (x) => [
x.UpdateReportAcknowledgementsResponse.UpdateReportAcknowledgementsResult,
meta,
],
Left: (error) => {
throw new ParsingError(error)
},
})
}

async getReportScheduleCount(
parameters: GetReportScheduleCountParameters = {},
): Promise<[GetReportScheduleCount, RequestMeta]> {
Expand Down
23 changes: 23 additions & 0 deletions test/unit/__snapshots__/reports.test.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -408,3 +408,26 @@ Array [
},
]
`;

exports[`reports updateReportAcknowledgements returns count and info of updated reports 1`] = `
Array [
Object {
"Count": 1,
"ReportInfo": Object {
"Acknowledged": true,
"AcknowledgedDate": 2009-02-20T02:10:41.000Z,
"AvailableDate": 2009-01-06T03:48:36.000Z,
"ReportId": "841997483",
"ReportRequestId": "2234038326",
"ReportType": "_GET_MERCHANT_LISTINGS_DATA_",
},
},
Object {
"quotaMax": 1000,
"quotaRemaining": 999,
"quotaResetOn": 2020-04-06T10:22:23.582Z,
"requestId": "0",
"timestamp": 2020-05-06T09:22:23.582Z,
},
]
`;

0 comments on commit ea96dc0

Please sign in to comment.