Skip to content

Commit 58c4c3e

Browse files
committed
adding wit.getSamples & wit.backup
1 parent 25bd6e4 commit 58c4c3e

File tree

5 files changed

+52
-2
lines changed

5 files changed

+52
-2
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,4 @@ node_modules/
33
run.js
44
npm-debug.log
55
.nyc_output
6+
backup.zip

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "wit-api",
3-
"version": "0.0.5",
3+
"version": "0.0.6",
44
"description": "Implementation of wit api, provides methods to easily manage your wit app",
55
"main": "index.js",
66
"keywords": [

src/Sample.js

+47
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,47 @@
1+
const fs = require('fs')
2+
const req = require('request')
3+
14
const actions = function(id) {
25
return {
6+
get: {
7+
method: 'GET',
8+
uri: '/samples'
9+
},
310
add: {
411
method: 'POST',
512
uri: '/samples'
613
},
714
delete: {
815
method: 'DELETE',
916
uri: '/samples'
17+
},
18+
export: {
19+
method: 'GET',
20+
uri: 'export'
1021
}
1122
}
1223
}
1324

1425
module.exports = function (request) {
1526
return {
27+
get: function (limit = 10, offset = 0, entities = [], values = [], isNegative = false) {
28+
let payload = actions().get
29+
payload.qs = {
30+
limit,
31+
offset,
32+
entity_ids: entities,
33+
entity_values: values,
34+
negative: isNegative
35+
}
36+
return new Promise((resolve, reject) => {
37+
request(payload, (err, res) => {
38+
if (err) {
39+
return reject(err)
40+
}
41+
return resolve(res)
42+
})
43+
})
44+
},
1645
add: function (...args) {
1746
let payload = actions().add
1847
let body = Array.isArray(args[0]) ? args[0] : [{text: args[0], entities: args[1]}]
@@ -46,6 +75,24 @@ module.exports = function (request) {
4675
return resolve(res)
4776
})
4877
})
78+
},
79+
export: function (filePath = './backup.zip') {
80+
let payload = actions().export
81+
return new Promise((resolve, reject) => {
82+
request(payload, (err, res) => {
83+
if (err) {
84+
return reject(err)
85+
}
86+
req(res)
87+
.on('error', (err) => {
88+
return reject(err)
89+
})
90+
.on('response', (response) => {
91+
return resolve(response)
92+
})
93+
.pipe(fs.createWriteStream(filePath))
94+
})
95+
})
4996
}
5097
}
5198
}

src/Wit.js

+2
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ const Wit = function(token, timeout) {
4848
const trainer = sample(this.doRequest)
4949
this.train = trainer.add
5050
this.forget = trainer.delete
51+
this.getSamples = trainer.get
52+
this.backup = trainer.export
5153

5254
this.app = function(name, data) {
5355
return new App(name, this.doRequest, data)

test/test.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ describe('Wit', function () {
421421
}).catch(e => {
422422
expect(e).to.be.an(Error)
423423
expect(e).to.have.property('code')
424-
expect(e.code).to.be('unknown')
424+
expect(e.code).to.be('no-auth')
425425
expect(e.message).not.to.be.empty()
426426
})
427427
})

0 commit comments

Comments
 (0)