Files
kami-parse-server/src/Routers/AudiencesRouter.js

45 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-06-21 02:54:13 -03:00
import ClassesRouter from './ClassesRouter';
import rest from '../rest';
import * as middleware from '../middlewares';
export class AudiencesRouter extends ClassesRouter {
className() {
return '_Audience';
}
2017-06-21 02:54:13 -03:00
handleFind(req) {
const body = Object.assign(req.body, ClassesRouter.JSONFromQuery(req.query));
const options = ClassesRouter.optionsFromBody(body);
2017-06-21 02:54:13 -03:00
return rest.find(req.config, req.auth, '_Audience', body.where, options, req.info.clientSDK)
.then((response) => {
response.results.forEach((item) => {
item.query = JSON.parse(item.query);
});
return {response: response};
});
}
handleGet(req) {
return super.handleGet(req)
.then((data) => {
data.response.query = JSON.parse(data.response.query);
return data;
});
}
mountRoutes() {
this.route('GET','/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => { return this.handleFind(req); });
this.route('GET','/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, req => { return this.handleGet(req); });
this.route('POST','/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => { return this.handleCreate(req); });
this.route('PUT','/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, req => { return this.handleUpdate(req); });
this.route('DELETE','/push_audiences/:objectId', middleware.promiseEnforceMasterKeyAccess, req => { return this.handleDelete(req); });
}
}
export default AudiencesRouter;