X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=it%2Fotf.git;a=blobdiff_plain;f=otf-frontend%2Fserver%2Fsrc%2Ffeathers%2Fservices%2Ftest-instances%2Ftest-instances.hooks.js;fp=otf-frontend%2Fserver%2Fsrc%2Ffeathers%2Fservices%2Ftest-instances%2Ftest-instances.hooks.js;h=ade8335f5acb16ee31543d6f237f553c312cdb1e;hp=0000000000000000000000000000000000000000;hb=14f6f95c84a4a1fa8774190db4a03fd0214ec55f;hpb=f49bd1efeaaddd4891c1f329b18d8cfb28b3e75b diff --git a/otf-frontend/server/src/feathers/services/test-instances/test-instances.hooks.js b/otf-frontend/server/src/feathers/services/test-instances/test-instances.hooks.js new file mode 100644 index 0000000..ade8335 --- /dev/null +++ b/otf-frontend/server/src/feathers/services/test-instances/test-instances.hooks.js @@ -0,0 +1,62 @@ +/* Copyright (c) 2019 AT&T Intellectual Property. # +# # +# Licensed under the Apache License, Version 2.0 (the "License"); # +# you may not use this file except in compliance with the License. # +# You may obtain a copy of the License at # +# # +# http://www.apache.org/licenses/LICENSE-2.0 # +# # +# Unless required by applicable law or agreed to in writing, software # +# distributed under the License is distributed on an "AS IS" BASIS, # +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # +# See the License for the specific language governing permissions and # +# limitations under the License. # +##############################################################################*/ + + +const { authenticate } = require('@feathersjs/authentication').hooks; +const { iff } = require('feathers-hooks-common'); +const { permissions, limitFields } = require('../../hooks/permissions/permissions'); +const convertToJSON = require('../../hooks/convertToJSON.js'); +const convertToYAML = require('../../hooks/convertToYAML.js'); +const testDefinitionIsDeployed = require('../../hooks/testDefinitionIsDeployed.js'); +const {skipRemainingHooks} = require('feathers-hooks-common'); + + +module.exports = { + before: { + all: [authenticate('jwt'), permissions('testInstances')], + find: [], + get: [], + create: [iff(testDefinitionIsDeployed(), convertToJSON()).else(function(context) { + + throw new Error('Test Definition Must have a deployed BPMN.'); + + } + )], + update: [convertToJSON()], + patch: [], + remove: [ + ] + }, + + after: { + all: [], + find: [convertToYAML()], + get: [ convertToYAML()], + create: [], + update: [], + patch: [], + remove: [] + }, + + error: { + all: [], + find: [], + get: [], + create: [], + update: [], + patch: [], + remove: [] + } +};