Skip to content

Commit fc7eef3

Browse files
committed
Addition of example exporting all purchases to a CSV
1 parent 638dc18 commit fc7eef3

File tree

1 file changed

+41
-3
lines changed

1 file changed

+41
-3
lines changed

examples/export_purchases_csv.js

Lines changed: 41 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,42 @@
1-
// Copyright (c) 2021 MC-Market (Mick Capital Pty. Ltd.)
2-
// MIT License (https://github.com/MC-Market-org/js-api-wrapper/blob/main/LICENSE)
1+
// Copyright (c) 2021 Harry [Majored] [[email protected]]
2+
// MIT License (https://github.com/Majored/mcm-js-api-wrapper/blob/main/LICENSE)
33

4-
// TODO
4+
const { Wrapper, Token, TokenType } = require("mcm-js-api-wrapper");
5+
const fs = require("fs")
6+
7+
let token = new Token(TokenType.PRIVATE, "Find @ https://www.mc-market.org/account/api");
8+
let wrapper = new Wrapper();
9+
10+
async function main() {
11+
await run().catch(error => console.log(error.toString()));
12+
}
13+
14+
async function run() {
15+
await wrapper.init(token);
16+
17+
let ownedResources = await wrapper.resources().listOwnedAll();
18+
let fileData = "Resource ID,Purchase ID,Member ID,Renewal,Price,Currency,Date\n";
19+
20+
for (const rIndex in ownedResources) {
21+
let resourceId = ownedResources[rIndex]["resource_id"];
22+
let purchases = await wrapper.resources().purchases().listAll(resourceId);
23+
24+
for (const pIndex in purchases) {
25+
let purchaseId = purchases[pIndex]["purchase_id"];
26+
let memberId = purchases[pIndex]["purchaser_id"];
27+
let renewal = purchases[pIndex]["renewal"];
28+
let price = purchases[pIndex]["price"];
29+
let currency = purchases[pIndex]["currency"];
30+
let date = purchases[pIndex]["purchase_date"];
31+
32+
fileData += `${resourceId},${purchaseId},${memberId},${renewal},${price},${currency},${date}\n`;
33+
}
34+
35+
console.log(`Fetched all purchases for ${resourceId}.`);
36+
}
37+
38+
await fs.promises.writeFile("./purchases.json", fileData, {encoding: 'utf8'});
39+
console.log("Done!");
40+
}
41+
42+
main();

0 commit comments

Comments
 (0)