recombee-api-client 4.1.5 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +1 -1
- package/lib/api-client.js +15 -12
- package/lib/errors/index.js +1 -1
- package/lib/index.d.ts +132 -179
- package/lib/requests/add-bookmark.js +1 -1
- package/lib/requests/add-cart-addition.js +1 -1
- package/lib/requests/add-detail-view.js +1 -1
- package/lib/requests/add-item-property.js +1 -1
- package/lib/requests/add-item.js +1 -1
- package/lib/requests/add-purchase.js +1 -1
- package/lib/requests/add-rating.js +1 -1
- package/lib/requests/add-series.js +12 -2
- package/lib/requests/add-user-property.js +1 -1
- package/lib/requests/add-user.js +1 -1
- package/lib/requests/delete-bookmark.js +1 -1
- package/lib/requests/delete-cart-addition.js +1 -1
- package/lib/requests/delete-detail-view.js +1 -1
- package/lib/requests/delete-item.js +1 -1
- package/lib/requests/delete-purchase.js +1 -1
- package/lib/requests/delete-rating.js +1 -1
- package/lib/requests/delete-series.js +12 -2
- package/lib/requests/delete-user.js +1 -1
- package/lib/requests/delete-view-portion.js +1 -1
- package/lib/requests/get-item-property-info.js +1 -1
- package/lib/requests/get-item-values.js +1 -1
- package/lib/requests/get-user-values.js +1 -1
- package/lib/requests/index.js +1 -6
- package/lib/requests/insert-to-series.js +2 -2
- package/lib/requests/list-items.js +2 -2
- package/lib/requests/list-users.js +2 -2
- package/lib/requests/recommend-item-segments-to-item-segment.js +2 -2
- package/lib/requests/recommend-item-segments-to-item.js +2 -2
- package/lib/requests/recommend-item-segments-to-user.js +2 -2
- package/lib/requests/recommend-items-to-item-segment.js +214 -0
- package/lib/requests/recommend-items-to-item.js +2 -2
- package/lib/requests/recommend-items-to-user.js +2 -2
- package/lib/requests/recommend-next-items.js +4 -3
- package/lib/requests/recommend-users-to-item.js +2 -2
- package/lib/requests/recommend-users-to-user.js +2 -2
- package/lib/requests/remove-from-series.js +4 -7
- package/lib/requests/request.js +1 -1
- package/lib/requests/search-items.js +2 -2
- package/lib/requests/set-view-portion.js +1 -1
- package/lib/requests/update-more-items.js +1 -1
- package/package.json +8 -5
- package/test/add-bookmark-batch_test.js +2 -4
- package/test/add-bookmark-callback_test.js +0 -15
- package/test/add-bookmark-test.js +0 -17
- package/test/add-cart-addition-batch_test.js +2 -4
- package/test/add-cart-addition-callback_test.js +0 -15
- package/test/add-cart-addition-test.js +0 -17
- package/test/add-detail-view-batch_test.js +2 -4
- package/test/add-detail-view-callback_test.js +0 -15
- package/test/add-detail-view-test.js +0 -17
- package/test/add-purchase-batch_test.js +2 -4
- package/test/add-purchase-callback_test.js +0 -15
- package/test/add-purchase-test.js +0 -17
- package/test/add-rating-batch_test.js +2 -4
- package/test/add-rating-callback_test.js +0 -15
- package/test/add-rating-test.js +0 -17
- package/test/list-items-batch_test.js +1 -1
- package/test/list-items-callback_test.js +1 -1
- package/test/list-items-test.js +1 -1
- package/test/list-users-batch_test.js +1 -1
- package/test/list-users-callback_test.js +1 -1
- package/test/list-users-test.js +1 -1
- package/test/{list-groups-batch_test.js → recommend-items-to-item-segment-batch_test.js} +4 -5
- package/test/{list-groups-callback_test.js → recommend-items-to-item-segment-callback_test.js} +8 -7
- package/test/{remove-from-group-test.js → recommend-items-to-item-segment-test.js} +5 -14
- package/test/remove-from-series-batch_test.js +4 -6
- package/test/remove-from-series-callback_test.js +2 -17
- package/test/remove-from-series-test.js +2 -19
- package/test/set-environment.js +89 -86
- package/test/set-view-portion-batch_test.js +0 -2
- package/test/set-view-portion-callback_test.js +0 -15
- package/test/set-view-portion-test.js +0 -17
- package/lib/requests/add-group.js +0 -42
- package/lib/requests/delete-group.js +0 -43
- package/lib/requests/insert-to-group.js +0 -58
- package/lib/requests/list-group-items.js +0 -42
- package/lib/requests/list-groups.js +0 -40
- package/lib/requests/remove-from-group.js +0 -48
- package/test/add-group-batch_test.js +0 -39
- package/test/add-group-callback_test.js +0 -72
- package/test/add-group-test.js +0 -68
- package/test/delete-group-batch_test.js +0 -39
- package/test/delete-group-callback_test.js +0 -74
- package/test/delete-group-test.js +0 -76
- package/test/insert-to-group-batch_test.js +0 -53
- package/test/insert-to-group-callback_test.js +0 -86
- package/test/insert-to-group-test.js +0 -68
- package/test/list-group-items-batch_test.js +0 -36
- package/test/list-group-items-callback_test.js +0 -38
- package/test/list-group-items-test.js +0 -34
- package/test/list-groups-test.js +0 -32
- package/test/remove-from-group-batch_test.js +0 -35
- package/test/remove-from-group-callback_test.js +0 -50
package/test/set-environment.js
CHANGED
|
@@ -1,113 +1,116 @@
|
|
|
1
|
-
'use strict'
|
|
1
|
+
'use strict';
|
|
2
2
|
|
|
3
3
|
var recombee = require('./../index.js');
|
|
4
4
|
var rqs = recombee.requests;
|
|
5
5
|
var errs = recombee.errors;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// Read credentials from environment variables
|
|
8
|
+
const DB_ID = process.env.DB_ID;
|
|
9
|
+
const PRIVATE_TOKEN = process.env.PRIVATE_TOKEN;
|
|
10
|
+
|
|
11
|
+
if (!DB_ID || !PRIVATE_TOKEN) {
|
|
12
|
+
throw new Error('Environment variables DB_ID and PRIVATE_TOKEN must be set.');
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
var client = new recombee.ApiClient(DB_ID, PRIVATE_TOKEN, { region: 'eu-west' });
|
|
8
16
|
|
|
9
17
|
var _setEnvironmentData = (() => {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
]);
|
|
25
|
-
|
|
26
|
-
return client.send(requests);
|
|
18
|
+
let requests = new rqs.Batch([
|
|
19
|
+
new rqs.AddItem('entity_id'),
|
|
20
|
+
new rqs.AddUser('entity_id'),
|
|
21
|
+
new rqs.AddSeries('entity_id'),
|
|
22
|
+
new rqs.InsertToSeries('entity_id', 'item', 'entity_id', 1),
|
|
23
|
+
new rqs.AddItemProperty('int_property', 'int'),
|
|
24
|
+
new rqs.AddItemProperty('str_property', 'string'),
|
|
25
|
+
new rqs.SetItemValues('entity_id', { 'int_property': 42, 'str_property': 'hello' }),
|
|
26
|
+
new rqs.AddUserProperty('int_property', 'int'),
|
|
27
|
+
new rqs.AddUserProperty('str_property', 'string'),
|
|
28
|
+
new rqs.SetUserValues('entity_id', { 'int_property': 42, 'str_property': 'hello' })
|
|
29
|
+
]);
|
|
30
|
+
|
|
31
|
+
return client.send(requests);
|
|
27
32
|
});
|
|
28
33
|
|
|
29
34
|
var _delay = ((t, v) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
35
|
+
return new Promise(function (resolve) {
|
|
36
|
+
setTimeout(resolve.bind(null, v), t);
|
|
37
|
+
});
|
|
33
38
|
});
|
|
34
39
|
|
|
35
40
|
var _checkDbErased = (() => {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
return client.send(new rqs.ListItems())
|
|
42
|
+
.then((resp) => {
|
|
43
|
+
return _setEnvironmentData();
|
|
44
|
+
})
|
|
45
|
+
.catch((err) => {
|
|
46
|
+
if (err instanceof errs.ResponseError && err.statusCode === 422) {
|
|
47
|
+
// Wait until DB is erased
|
|
48
|
+
return _delay(2000).then(() => {
|
|
49
|
+
return _checkDbErased();
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
throw err;
|
|
53
|
+
});
|
|
49
54
|
});
|
|
50
55
|
|
|
51
56
|
var setEnvironment = (() => {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
57
|
+
return _checkDbErased() // Ensure DB is in a clean state before resetting
|
|
58
|
+
.then(() => {
|
|
59
|
+
return client.send(new rqs.ResetDatabase());
|
|
60
|
+
})
|
|
61
|
+
.then((resp) => {
|
|
62
|
+
return _checkDbErased(); // Ensure DB is ready after resetting
|
|
63
|
+
});
|
|
56
64
|
});
|
|
57
65
|
|
|
58
66
|
var setInteractions = (() => {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return client.send(requests);
|
|
67
|
+
let requests = new rqs.Batch([
|
|
68
|
+
new rqs.AddUser('user'),
|
|
69
|
+
new rqs.AddItem('item'),
|
|
70
|
+
new rqs.AddDetailView('user', 'item', { 'timestamp': 0 }),
|
|
71
|
+
new rqs.AddPurchase('user', 'item', { 'timestamp': 0 }),
|
|
72
|
+
new rqs.AddRating('user', 'item', -1, { 'timestamp': 0 }),
|
|
73
|
+
new rqs.AddCartAddition('user', 'item', { 'timestamp': 0 }),
|
|
74
|
+
new rqs.AddBookmark('user', 'item', { 'timestamp': 0 }),
|
|
75
|
+
new rqs.SetViewPortion('user', 'item', 1, { 'timestamp': 0 })
|
|
76
|
+
]);
|
|
77
|
+
|
|
78
|
+
return client.send(requests);
|
|
72
79
|
});
|
|
73
80
|
|
|
74
81
|
var setRecommEntities = (() => {
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
})
|
|
105
|
-
.then(() => {
|
|
106
|
-
return client.send(new rqs.Batch(purchases));
|
|
107
|
-
});
|
|
82
|
+
const NUM = 100;
|
|
83
|
+
const PROBABILITY_PURCHASED = 0.1;
|
|
84
|
+
|
|
85
|
+
let users = Array.from({ length: NUM }, (_, i) => `user-${i}`);
|
|
86
|
+
let items = Array.from({ length: NUM }, (_, i) => `item-${i}`);
|
|
87
|
+
|
|
88
|
+
let purchases = [];
|
|
89
|
+
|
|
90
|
+
users.forEach((user) => {
|
|
91
|
+
let p = items.filter(() => Math.random() < PROBABILITY_PURCHASED);
|
|
92
|
+
p.forEach((item) => { purchases.push(new rqs.AddPurchase(user, item)); });
|
|
93
|
+
});
|
|
94
|
+
|
|
95
|
+
return client.send(new rqs.Batch(users.map((u) => new rqs.AddUser(u))))
|
|
96
|
+
.then(() => {
|
|
97
|
+
return client.send(new rqs.Batch([
|
|
98
|
+
new rqs.AddItemProperty('answer', 'int'),
|
|
99
|
+
new rqs.AddItemProperty('id2', 'string'),
|
|
100
|
+
new rqs.AddItemProperty('empty', 'string')
|
|
101
|
+
]));
|
|
102
|
+
})
|
|
103
|
+
.then(() => {
|
|
104
|
+
return client.send(new rqs.Batch(items.map((itemId) => {
|
|
105
|
+
return new rqs.SetItemValues(itemId, { 'answer': 42, 'id2': itemId }, { 'cascadeCreate': true });
|
|
106
|
+
})));
|
|
107
|
+
})
|
|
108
|
+
.then(() => {
|
|
109
|
+
return client.send(new rqs.Batch(purchases));
|
|
110
|
+
});
|
|
108
111
|
});
|
|
109
112
|
|
|
110
113
|
exports.client = client;
|
|
111
114
|
exports.setEnvironment = setEnvironment;
|
|
112
115
|
exports.setInteractions = setInteractions;
|
|
113
|
-
exports.setRecommEntities = setRecommEntities;
|
|
116
|
+
exports.setRecommEntities = setRecommEntities;
|
|
@@ -25,7 +25,6 @@ describe('SetViewPortion', function(){
|
|
|
25
25
|
new rqs.SetViewPortion('entity_id','entity_id',0),
|
|
26
26
|
new rqs.SetViewPortion('entity_id','nonex_id',1),
|
|
27
27
|
new rqs.SetViewPortion('nonex_id','entity_id',0.5),
|
|
28
|
-
new rqs.SetViewPortion('entity_id','entity_id',0,{'timestamp': -15}),
|
|
29
28
|
new rqs.SetViewPortion('entity_id','entity_id',-2),
|
|
30
29
|
new rqs.SetViewPortion('entity_id','entity_id',0.7,{'sessionId': 'a****'})
|
|
31
30
|
];
|
|
@@ -38,7 +37,6 @@ describe('SetViewPortion', function(){
|
|
|
38
37
|
chai.equal(responses[3].code, 404);
|
|
39
38
|
chai.equal(responses[4].code, 400);
|
|
40
39
|
chai.equal(responses[5].code, 400);
|
|
41
|
-
chai.equal(responses[6].code, 400);
|
|
42
40
|
done();
|
|
43
41
|
});
|
|
44
42
|
});
|
|
@@ -76,21 +76,6 @@ describe('SetViewPortion', function(){
|
|
|
76
76
|
}));
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
-
it ('fails with invalid time', (done) => {
|
|
80
|
-
let req, req2, resp;
|
|
81
|
-
req = new rqs.SetViewPortion('entity_id','entity_id',0,{'timestamp': -15});
|
|
82
|
-
env.client.send(req,((err,res) => {
|
|
83
|
-
if(err) {
|
|
84
|
-
chai.equal(err.name, 'ResponseError');
|
|
85
|
-
chai.equal(err.statusCode, 400);
|
|
86
|
-
done();
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
chai.fail();
|
|
90
|
-
}
|
|
91
|
-
}));
|
|
92
|
-
});
|
|
93
|
-
|
|
94
79
|
it ('fails with invalid portion', (done) => {
|
|
95
80
|
let req, req2, resp;
|
|
96
81
|
req = new rqs.SetViewPortion('entity_id','entity_id',-2);
|
|
@@ -72,23 +72,6 @@ describe('SetViewPortion', function(){
|
|
|
72
72
|
});
|
|
73
73
|
});
|
|
74
74
|
|
|
75
|
-
it ('fails with invalid time', (done) => {
|
|
76
|
-
let req, req2, resp;
|
|
77
|
-
req = new rqs.SetViewPortion('entity_id','entity_id',0,{'timestamp': -15});
|
|
78
|
-
env.client.send(req)
|
|
79
|
-
.then((res) => {
|
|
80
|
-
chai.fail();
|
|
81
|
-
done();
|
|
82
|
-
})
|
|
83
|
-
.catch((err) => {
|
|
84
|
-
if (err instanceof recombee.errors.ResponseError) {
|
|
85
|
-
chai.equal(err.statusCode, 400);
|
|
86
|
-
done();
|
|
87
|
-
}
|
|
88
|
-
throw err;
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
|
|
92
75
|
it ('fails with invalid portion', (done) => {
|
|
93
76
|
let req, req2, resp;
|
|
94
77
|
req = new rqs.SetViewPortion('entity_id','entity_id',-2);
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new group in the database.
|
|
10
|
-
*/
|
|
11
|
-
class AddGroup extends rqs.Request {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Construct the request
|
|
15
|
-
* @param {string} groupId - ID of the group to be created.
|
|
16
|
-
*/
|
|
17
|
-
constructor(groupId) {
|
|
18
|
-
super('PUT', `/groups/${groupId}`, 1000, false);
|
|
19
|
-
this.groupId = groupId;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Get body parameters
|
|
24
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
25
|
-
*/
|
|
26
|
-
bodyParameters() {
|
|
27
|
-
let params = {};
|
|
28
|
-
|
|
29
|
-
return params;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Get query parameters
|
|
34
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
35
|
-
*/
|
|
36
|
-
queryParameters() {
|
|
37
|
-
let params = {};
|
|
38
|
-
return params;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
exports.AddGroup = AddGroup
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Deletes the group of the given `groupId` from the database.
|
|
10
|
-
* Deleting a group will only delete the assignment of items to it, not the items themselves!
|
|
11
|
-
*/
|
|
12
|
-
class DeleteGroup extends rqs.Request {
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Construct the request
|
|
16
|
-
* @param {string} groupId - ID of the group to be deleted.
|
|
17
|
-
*/
|
|
18
|
-
constructor(groupId) {
|
|
19
|
-
super('DELETE', `/groups/${groupId}`, 1000, false);
|
|
20
|
-
this.groupId = groupId;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* Get body parameters
|
|
25
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
26
|
-
*/
|
|
27
|
-
bodyParameters() {
|
|
28
|
-
let params = {};
|
|
29
|
-
|
|
30
|
-
return params;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Get query parameters
|
|
35
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
36
|
-
*/
|
|
37
|
-
queryParameters() {
|
|
38
|
-
let params = {};
|
|
39
|
-
return params;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
exports.DeleteGroup = DeleteGroup
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Inserts an existing item/group into a group of the given `groupId`.
|
|
10
|
-
*/
|
|
11
|
-
class InsertToGroup extends rqs.Request {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Construct the request
|
|
15
|
-
* @param {string} groupId - ID of the group to be inserted into.
|
|
16
|
-
* @param {string} itemType - `item` iff the regular item from the catalog is to be inserted, `group` iff group is inserted as the item.
|
|
17
|
-
* @param {string} itemId - ID of the item iff `itemType` is `item`. ID of the group iff `itemType` is `group`.
|
|
18
|
-
* @param {Object} optional - Optional parameters given as an object with structure name of the parameter: value
|
|
19
|
-
* - Allowed parameters:
|
|
20
|
-
* - *cascadeCreate*
|
|
21
|
-
* - Type: boolean
|
|
22
|
-
* - Description: Indicates that any non-existing entity specified within the request should be created (as if corresponding PUT requests were invoked). This concerns both the `groupId` and the `groupId`. If `cascadeCreate` is set to true, the behavior also depends on the `itemType`. Either items or group may be created if not present in the database.
|
|
23
|
-
*/
|
|
24
|
-
constructor(groupId, itemType, itemId, optional) {
|
|
25
|
-
super('POST', `/groups/${groupId}/items/`, 1000, false);
|
|
26
|
-
this.groupId = groupId;
|
|
27
|
-
this.itemType = itemType;
|
|
28
|
-
this.itemId = itemId;
|
|
29
|
-
optional = optional || {};
|
|
30
|
-
this.cascadeCreate = optional.cascadeCreate;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Get body parameters
|
|
35
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
36
|
-
*/
|
|
37
|
-
bodyParameters() {
|
|
38
|
-
let params = {};
|
|
39
|
-
params.itemType = this.itemType;
|
|
40
|
-
params.itemId = this.itemId;
|
|
41
|
-
|
|
42
|
-
if(this.cascadeCreate !== undefined)
|
|
43
|
-
params.cascadeCreate = this.cascadeCreate;
|
|
44
|
-
|
|
45
|
-
return params;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Get query parameters
|
|
50
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
51
|
-
*/
|
|
52
|
-
queryParameters() {
|
|
53
|
-
let params = {};
|
|
54
|
-
return params;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
exports.InsertToGroup = InsertToGroup
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* List all the items present in the given group.
|
|
10
|
-
*/
|
|
11
|
-
class ListGroupItems extends rqs.Request {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Construct the request
|
|
15
|
-
* @param {string} groupId - ID of the group whose items are to be listed.
|
|
16
|
-
*/
|
|
17
|
-
constructor(groupId) {
|
|
18
|
-
super('GET', `/groups/${groupId}/items/`, 100000, false);
|
|
19
|
-
this.groupId = groupId;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Get body parameters
|
|
24
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
25
|
-
*/
|
|
26
|
-
bodyParameters() {
|
|
27
|
-
let params = {};
|
|
28
|
-
|
|
29
|
-
return params;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Get query parameters
|
|
34
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
35
|
-
*/
|
|
36
|
-
queryParameters() {
|
|
37
|
-
let params = {};
|
|
38
|
-
return params;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
exports.ListGroupItems = ListGroupItems
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Gets the list of all the groups currently present in the database.
|
|
10
|
-
*/
|
|
11
|
-
class ListGroups extends rqs.Request {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Construct the request
|
|
15
|
-
*/
|
|
16
|
-
constructor() {
|
|
17
|
-
super('GET', '/groups/list/', 100000, false);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Get body parameters
|
|
22
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
23
|
-
*/
|
|
24
|
-
bodyParameters() {
|
|
25
|
-
let params = {};
|
|
26
|
-
|
|
27
|
-
return params;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Get query parameters
|
|
32
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
33
|
-
*/
|
|
34
|
-
queryParameters() {
|
|
35
|
-
let params = {};
|
|
36
|
-
return params;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
exports.ListGroups = ListGroups
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict';
|
|
6
|
-
const rqs = require("./request");
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Removes an existing group item from the group.
|
|
10
|
-
*/
|
|
11
|
-
class RemoveFromGroup extends rqs.Request {
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Construct the request
|
|
15
|
-
* @param {string} groupId - ID of the group from which a group item is to be removed.
|
|
16
|
-
* @param {string} itemType - Type of the item to be removed.
|
|
17
|
-
* @param {string} itemId - ID of the item iff `itemType` is `item`. ID of the group iff `itemType` is `group`.
|
|
18
|
-
*/
|
|
19
|
-
constructor(groupId, itemType, itemId) {
|
|
20
|
-
super('DELETE', `/groups/${groupId}/items/`, 1000, false);
|
|
21
|
-
this.groupId = groupId;
|
|
22
|
-
this.itemType = itemType;
|
|
23
|
-
this.itemId = itemId;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Get body parameters
|
|
28
|
-
* @return {Object} The values of body parameters (name of parameter: value of the parameter)
|
|
29
|
-
*/
|
|
30
|
-
bodyParameters() {
|
|
31
|
-
let params = {};
|
|
32
|
-
|
|
33
|
-
return params;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Get query parameters
|
|
38
|
-
* @return {Object} The values of query parameters (name of parameter: value of the parameter)
|
|
39
|
-
*/
|
|
40
|
-
queryParameters() {
|
|
41
|
-
let params = {};
|
|
42
|
-
params.itemType = this.itemType;
|
|
43
|
-
params.itemId = this.itemId;
|
|
44
|
-
return params;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
exports.RemoveFromGroup = RemoveFromGroup
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict'
|
|
6
|
-
var chai = require('chai').assert;
|
|
7
|
-
var recombee = require('./../index.js');
|
|
8
|
-
var rqs = recombee.requests;
|
|
9
|
-
|
|
10
|
-
var env = require('./set-environment.js');
|
|
11
|
-
|
|
12
|
-
describe('AddGroup', function(){
|
|
13
|
-
this.timeout(150000);
|
|
14
|
-
|
|
15
|
-
before(function(done){
|
|
16
|
-
|
|
17
|
-
env.setEnvironment()
|
|
18
|
-
.then(()=> {
|
|
19
|
-
setTimeout(done, 20000);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
it ('works in batch', (done) => {
|
|
23
|
-
let requests = [
|
|
24
|
-
new rqs.AddGroup('valid_id'),
|
|
25
|
-
new rqs.AddGroup('***not_valid$$$'),
|
|
26
|
-
new rqs.AddGroup('valid_id2'),
|
|
27
|
-
new rqs.AddGroup('valid_id2')
|
|
28
|
-
];
|
|
29
|
-
|
|
30
|
-
env.client.send(new rqs.Batch(requests))
|
|
31
|
-
.then((responses) => {
|
|
32
|
-
chai.equal(responses[0].code, 201);
|
|
33
|
-
chai.equal(responses[1].code, 400);
|
|
34
|
-
chai.equal(responses[2].code, 201);
|
|
35
|
-
chai.equal(responses[3].code, 409);
|
|
36
|
-
done();
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
});
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
This file is auto-generated, do not edit
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
'use strict'
|
|
6
|
-
var chai = require('chai').assert;
|
|
7
|
-
var recombee = require('./../index.js');
|
|
8
|
-
var rqs = recombee.requests;
|
|
9
|
-
|
|
10
|
-
var env = require('./set-environment.js');
|
|
11
|
-
|
|
12
|
-
describe('AddGroup', function(){
|
|
13
|
-
this.timeout(150000);
|
|
14
|
-
|
|
15
|
-
before(function(done){
|
|
16
|
-
|
|
17
|
-
env.setEnvironment()
|
|
18
|
-
.then(()=> {
|
|
19
|
-
setTimeout(done, 20000);
|
|
20
|
-
});
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it ('does not fail with valid entity id', (done) => {
|
|
24
|
-
let req, req2, resp;
|
|
25
|
-
req = new rqs.AddGroup('valid_id');
|
|
26
|
-
env.client.send(req,((err,res) => {
|
|
27
|
-
if(err) {
|
|
28
|
-
chai.fail();
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
done();
|
|
32
|
-
}
|
|
33
|
-
}));
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it ('fails with invalid entity id', (done) => {
|
|
37
|
-
let req, req2, resp;
|
|
38
|
-
req = new rqs.AddGroup('***not_valid$$$');
|
|
39
|
-
env.client.send(req,((err,res) => {
|
|
40
|
-
if(err) {
|
|
41
|
-
chai.equal(err.name, 'ResponseError');
|
|
42
|
-
chai.equal(err.statusCode, 400);
|
|
43
|
-
done();
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
chai.fail();
|
|
47
|
-
}
|
|
48
|
-
}));
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
it ('really stores entity to the system', (done) => {
|
|
52
|
-
let req, req2, resp;
|
|
53
|
-
req = new rqs.AddGroup('valid_id2');
|
|
54
|
-
env.client.send(req,((err,res) => {
|
|
55
|
-
if(err) {
|
|
56
|
-
chai.fail();
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
env.client.send(req,((err,res) => {
|
|
60
|
-
if(err) {
|
|
61
|
-
chai.equal(err.name, 'ResponseError');
|
|
62
|
-
chai.equal(err.statusCode, 409);
|
|
63
|
-
done();
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
chai.fail();
|
|
67
|
-
}
|
|
68
|
-
}));
|
|
69
|
-
}
|
|
70
|
-
}));
|
|
71
|
-
});
|
|
72
|
-
});
|