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 {
|
2017-09-05 17:51:11 -04:00
|
|
|
className() {
|
|
|
|
|
return '_Audience';
|
|
|
|
|
}
|
|
|
|
|
|
2017-06-21 02:54:13 -03:00
|
|
|
handleFind(req) {
|
2020-10-25 15:06:58 -05:00
|
|
|
const body = Object.assign(req.body, ClassesRouter.JSONFromQuery(req.query));
|
2017-09-05 17:51:11 -04:00
|
|
|
const options = ClassesRouter.optionsFromBody(body);
|
2017-06-21 02:54:13 -03:00
|
|
|
|
2018-09-01 13:58:06 -04:00
|
|
|
return rest
|
|
|
|
|
.find(
|
|
|
|
|
req.config,
|
|
|
|
|
req.auth,
|
|
|
|
|
'_Audience',
|
|
|
|
|
body.where,
|
|
|
|
|
options,
|
2020-07-11 02:17:27 +05:30
|
|
|
req.info.clientSDK,
|
2020-07-13 13:06:52 -05:00
|
|
|
req.info.context
|
2018-09-01 13:58:06 -04:00
|
|
|
)
|
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);
|
|
|
|
|
});
|
|
|
|
|
|
2018-09-01 13:58:06 -04:00
|
|
|
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 => {
|
2018-09-01 13:58:06 -04:00
|
|
|
data.response.query = JSON.parse(data.response.query);
|
2017-06-21 02:54:13 -03:00
|
|
|
|
2018-09-01 13:58:06 -04:00
|
|
|
return data;
|
|
|
|
|
});
|
2017-06-21 02:54:13 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
mountRoutes() {
|
2020-10-25 15:06:58 -05:00
|
|
|
this.route('GET', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => {
|
|
|
|
|
return this.handleFind(req);
|
|
|
|
|
});
|
2018-09-01 13:58:06 -04:00
|
|
|
this.route(
|
|
|
|
|
'GET',
|
|
|
|
|
'/push_audiences/:objectId',
|
|
|
|
|
middleware.promiseEnforceMasterKeyAccess,
|
2020-07-13 17:13:08 -05:00
|
|
|
req => {
|
2018-09-01 13:58:06 -04:00
|
|
|
return this.handleGet(req);
|
|
|
|
|
}
|
|
|
|
|
);
|
2020-10-25 15:06:58 -05:00
|
|
|
this.route('POST', '/push_audiences', middleware.promiseEnforceMasterKeyAccess, req => {
|
|
|
|
|
return this.handleCreate(req);
|
|
|
|
|
});
|
2018-09-01 13:58:06 -04:00
|
|
|
this.route(
|
|
|
|
|
'PUT',
|
|
|
|
|
'/push_audiences/:objectId',
|
|
|
|
|
middleware.promiseEnforceMasterKeyAccess,
|
2020-07-13 17:13:08 -05:00
|
|
|
req => {
|
2018-09-01 13:58:06 -04:00
|
|
|
return this.handleUpdate(req);
|
|
|
|
|
}
|
|
|
|
|
);
|
|
|
|
|
this.route(
|
|
|
|
|
'DELETE',
|
|
|
|
|
'/push_audiences/:objectId',
|
|
|
|
|
middleware.promiseEnforceMasterKeyAccess,
|
2020-07-13 17:13:08 -05:00
|
|
|
req => {
|
2018-09-01 13:58:06 -04:00
|
|
|
return this.handleDelete(req);
|
|
|
|
|
}
|
|
|
|
|
);
|
2017-06-21 02:54:13 -03:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default AudiencesRouter;
|