@sap/xsodata
Version:
Expose data from a HANA database as OData V2 service with help of .xsodata files.
39 lines (31 loc) • 1.58 kB
JavaScript
;
const oDataUriParser = require('./oDataUriParser');
const resourceKind = oDataUriParser.URI_KIND_Resource;
const metaDataKind = oDataUriParser.URI_KIND_MetaData;
const serviceKind = oDataUriParser.URI_KIND_Service;
const batchKind = oDataUriParser.URI_KIND_Batch;
const checkModificationForbidden = require('./checks/checkModificationForbidden');
const checkAllowedVerbs = require('./checks/checkAllowedMethod');
const checkGenKeyRestrictions = require('./checks/checkGenKeyRestrictions');
const checkAllowedMethodsForResourcePath = require('./checks/checkAllowedMethodsForResourcePath');
const checkAllowedMethodForBatch = require('./checks/checkAllowedMethodForBatch');
const checkPostPutDeleteChecks = require('./checks/checkPostPutDeleteChecks');
const checkSystemQueryOptions = require('./checks/checkSystemQueryOptions');
const checkFilterOnAggregatedColumn = require('./checks/checkFilterOnAggregatedColumn');
const checkFilterOrderByOnGenKeyColumn = require('./checks/checkFilterOrderByOnGenKeyColumn');
const checks = (module.exports = {});
checks[resourceKind] = [
checkAllowedMethodsForResourcePath,
checkPostPutDeleteChecks,
checkModificationForbidden,
checkGenKeyRestrictions,
checkSystemQueryOptions,
checkFilterOnAggregatedColumn,
checkFilterOrderByOnGenKeyColumn,
];
checks[metaDataKind] = [checkAllowedVerbs('get'), checkSystemQueryOptions];
checks[serviceKind] = [
checkAllowedVerbs('get', 'head'),
checkSystemQueryOptions,
];
checks[batchKind] = [checkAllowedMethodForBatch, checkSystemQueryOptions];