Changed rest params in subs
This commit is contained in:
parent
b8ab47e867
commit
5b3d86e6a5
2 changed files with 20 additions and 29 deletions
|
|
@ -22,6 +22,11 @@ const uptime = new Date();
|
||||||
|
|
||||||
const restivusError = (code, message) => ({ status: 'error', statusCode: code, body: message });
|
const restivusError = (code, message) => ({ status: 'error', statusCode: code, body: message });
|
||||||
|
|
||||||
|
|
||||||
|
function failMsg(msg) {
|
||||||
|
return restivusError(500, `Unexpected error in REST call: ${msg}`);
|
||||||
|
}
|
||||||
|
|
||||||
function fail(e) {
|
function fail(e) {
|
||||||
return restivusError(500, `Unexpected error in REST call: ${e}`);
|
return restivusError(500, `Unexpected error in REST call: ${e}`);
|
||||||
}
|
}
|
||||||
|
|
@ -289,7 +294,7 @@ if (!Meteor.settings.private.internalApiToken) {
|
||||||
if (failed) return failed;
|
if (failed) return failed;
|
||||||
|
|
||||||
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
||||||
if (!user) return failed;
|
if (!user) return failMsg('User not found');
|
||||||
|
|
||||||
const newSubs = {};
|
const newSubs = {};
|
||||||
newSubs.location = {};
|
newSubs.location = {};
|
||||||
|
|
@ -323,7 +328,7 @@ if (!Meteor.settings.private.internalApiToken) {
|
||||||
if (failed) return failed;
|
if (failed) return failed;
|
||||||
|
|
||||||
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
||||||
if (!user) return failed;
|
if (!user) return failMsg('User not found');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Subscriptions.remove({ owner: user._id, _id: new Meteor.Collection.ObjectID(subsId) });
|
Subscriptions.remove({ owner: user._id, _id: new Meteor.Collection.ObjectID(subsId) });
|
||||||
|
|
@ -335,9 +340,9 @@ if (!Meteor.settings.private.internalApiToken) {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
apiV1.addRoute('mobile/subscriptions/all', { authRequired: false }, {
|
apiV1.addRoute('mobile/subscriptions/all/:token/:mobileToken', { authRequired: false }, {
|
||||||
get: function get() {
|
get: function get() {
|
||||||
const { token, mobileToken } = this.bodyParams;
|
const { token, mobileToken } = this.urlParams;
|
||||||
try {
|
try {
|
||||||
check(token, String);
|
check(token, String);
|
||||||
check(mobileToken, String);
|
check(mobileToken, String);
|
||||||
|
|
@ -349,14 +354,14 @@ if (!Meteor.settings.private.internalApiToken) {
|
||||||
if (failed) return failed;
|
if (failed) return failed;
|
||||||
|
|
||||||
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
||||||
if (!user) return failed;
|
if (!user) return failMsg('User not found');
|
||||||
|
|
||||||
const result = Subscriptions.find({ owner: user._id });
|
const result = Subscriptions.find({ owner: user._id });
|
||||||
|
|
||||||
return jsend.success({ subscriptions: result.fetch(), count: result.count() });
|
return jsend.success({ subscriptions: result.fetch(), count: result.count() });
|
||||||
},
|
},
|
||||||
delete: function delAll() {
|
delete: function delAll() {
|
||||||
const { token, mobileToken } = this.bodyParams;
|
const { token, mobileToken } = this.urlParams;
|
||||||
try {
|
try {
|
||||||
check(token, String);
|
check(token, String);
|
||||||
check(mobileToken, String);
|
check(mobileToken, String);
|
||||||
|
|
@ -365,12 +370,13 @@ if (!Meteor.settings.private.internalApiToken) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const failed = checkAuthToken(token);
|
const failed = checkAuthToken(token);
|
||||||
if (failed) return failed;
|
if (failed) return failed('Auth api check failed');
|
||||||
|
|
||||||
if (Meteor.users.find({ fireBaseToken: mobileToken }).count() !== 1) return failed;
|
if (Meteor.users.find({ fireBaseToken: mobileToken }).count() !== 1) return fail;
|
||||||
|
|
||||||
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
const user = Meteor.users.findOne({ fireBaseToken: mobileToken });
|
||||||
if (!user) return failed;
|
if (!user) return failMsg('User not found');
|
||||||
|
|
||||||
const toRemove = Subscriptions.find({ owner: user._id }).count();
|
const toRemove = Subscriptions.find({ owner: user._id }).count();
|
||||||
Subscriptions.remove({ owner: user._id });
|
Subscriptions.remove({ owner: user._id });
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -186,11 +186,7 @@ describe('basic api v1 returns', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should get all mobile user subscriptions', async (done) => {
|
it('should get all mobile user subscriptions', async (done) => {
|
||||||
HTTP.get(url('api/v1/mobile/subscriptions/all'), {
|
HTTP.get(url(`api/v1/mobile/subscriptions/all/${token}/${mobileToken}`), {
|
||||||
data: {
|
|
||||||
token,
|
|
||||||
mobileToken
|
|
||||||
}
|
|
||||||
}, (error, result) => {
|
}, (error, result) => {
|
||||||
chai.expect(error, null);
|
chai.expect(error, null);
|
||||||
chai.expect(result.statusCode).equal(200);
|
chai.expect(result.statusCode).equal(200);
|
||||||
|
|
@ -239,11 +235,7 @@ describe('basic api v1 returns', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should not get mobile user subscriptions with wrong token', async (done) => {
|
it('should not get mobile user subscriptions with wrong token', async (done) => {
|
||||||
HTTP.get(url('api/v1/mobile/subscriptions/all'), {
|
HTTP.get(url(`api/v1/mobile/subscriptions/all/wrongOne/${mobileToken}`), {
|
||||||
data: {
|
|
||||||
token: 'wrongOne',
|
|
||||||
mobileToken
|
|
||||||
}
|
|
||||||
}, (error, result) => {
|
}, (error, result) => {
|
||||||
chai.expect(error, null);
|
chai.expect(error, null);
|
||||||
chai.expect(result.statusCode).equal(401);
|
chai.expect(result.statusCode).equal(401);
|
||||||
|
|
@ -252,13 +244,10 @@ describe('basic api v1 returns', () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should get all mobile user subscriptions', async (done) => {
|
it('should get all mobile user subscriptions', async (done) => {
|
||||||
HTTP.get(url('api/v1/mobile/subscriptions/all'), {
|
HTTP.get(url(`api/v1/mobile/subscriptions/all/${token}/${mobileToken}`), {
|
||||||
data: {
|
|
||||||
token,
|
|
||||||
mobileToken
|
|
||||||
}
|
|
||||||
}, (error, result) => {
|
}, (error, result) => {
|
||||||
chai.expect(error, null);
|
chai.expect(error, null);
|
||||||
|
console.log(result);
|
||||||
chai.expect(result.statusCode).equal(200);
|
chai.expect(result.statusCode).equal(200);
|
||||||
const jsendResult = result.data;
|
const jsendResult = result.data;
|
||||||
chai.expect(jsendResult.status).equal('success');
|
chai.expect(jsendResult.status).equal('success');
|
||||||
|
|
@ -272,11 +261,7 @@ describe('basic api v1 returns', () => {
|
||||||
it('should del all mobile user subscriptions', async (done) => {
|
it('should del all mobile user subscriptions', async (done) => {
|
||||||
// Add subs
|
// Add subs
|
||||||
addSubs(() => {
|
addSubs(() => {
|
||||||
HTTP.del(url('api/v1/mobile/subscriptions/all'), {
|
HTTP.del(url(`api/v1/mobile/subscriptions/all/${token}/${mobileToken}`), {
|
||||||
data: {
|
|
||||||
token,
|
|
||||||
mobileToken
|
|
||||||
}
|
|
||||||
}, (error, result) => {
|
}, (error, result) => {
|
||||||
chai.expect(error, null);
|
chai.expect(error, null);
|
||||||
chai.expect(result.statusCode).equal(200);
|
chai.expect(result.statusCode).equal(200);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue