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

76 lines
1.7 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,
2020-07-13 13:06:52 -05:00
req.info.context
)
2020-07-13 17:13:08 -05:00
.then(response => {
response.results.forEach(item => {
2017-06-21 02:54:13 -03:00
item.query = JSON.parse(item.query);
});
return { response: response };
2017-06-21 02:54:13 -03:00
});
}
handleGet(req) {
2020-07-13 17:13:08 -05:00
return super.handleGet(req).then(data => {
data.response.query = JSON.parse(data.response.query);
2017-06-21 02:54:13 -03:00
return data;
});
2017-06-21 02:54:13 -03:00
}
mountRoutes() {
this.route('GET', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => {
return this.handleFind(req);
});
this.route(
'GET',
'/push_audiences/:objectId',
middleware.promiseEnforceMasterKeyAccess,
2020-07-13 17:13:08 -05:00
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,
2020-07-13 17:13:08 -05:00
req => {
return this.handleUpdate(req);
}
);
this.route(
'DELETE',
'/push_audiences/:objectId',
middleware.promiseEnforceMasterKeyAccess,
2020-07-13 17:13:08 -05:00
req => {
return this.handleDelete(req);
}
);
2017-06-21 02:54:13 -03:00
}
}
export default AudiencesRouter;