[16971] | 1 | const argv = require("yargs/yargs")(process.argv.slice(2)) |
---|
| 2 | .boolean("c").alias("c", "clear-index").describe("c", "Clear Algolia index before upload") |
---|
| 3 | .alias("f", "index-file").nargs("f", 1).describe("f", "Index file to upload to Algolia") |
---|
| 4 | .alias("a", "app-id").nargs("a", 1).describe("a", "Algolia application ID") |
---|
| 5 | .alias("k", "admin-api-key").nargs("k", 1).describe("k", "Algolia admin API key") |
---|
| 6 | .alias("n", "index-name").nargs("n", 1).describe("n", "Algolia index name") |
---|
| 7 | .demandOption(["f", "a", "k", "n"]) |
---|
| 8 | .help("h") |
---|
| 9 | .alias("h", "help") |
---|
| 10 | .argv; |
---|
| 11 | |
---|
| 12 | const algoliaSearch = require("algoliasearch"); |
---|
| 13 | const client = algoliaSearch(argv["app-id"], argv["admin-api-key"]); |
---|
| 14 | const algoliaIndex = client.initIndex(argv["index-name"]); |
---|
| 15 | const jsonfile = require("jsonfile"); |
---|
| 16 | |
---|
| 17 | const saveObjects = () => { |
---|
| 18 | jsonfile.readFile(argv["index-file"], function (err, indices) { |
---|
| 19 | if (err) { |
---|
| 20 | console.error(err); |
---|
| 21 | } else { |
---|
| 22 | algoliaIndex.saveObjects(indices).then(() => { |
---|
| 23 | console.log("Uploaded data to index %s", argv["index-name"]); |
---|
| 24 | }) |
---|
| 25 | .catch(err => { |
---|
| 26 | console.log(err); |
---|
| 27 | }); |
---|
| 28 | } |
---|
| 29 | }) |
---|
| 30 | }; |
---|
| 31 | |
---|
| 32 | if (argv["clear-index"]) { |
---|
| 33 | algoliaIndex.clearObjects().then(() => { |
---|
| 34 | console.log("Cleared data from index %s", argv["index-name"]); |
---|
| 35 | saveObjects(); |
---|
| 36 | }); |
---|
| 37 | } else { |
---|
| 38 | saveObjects(); |
---|
| 39 | } |
---|