--- /dev/null
+/* Copyright (c) 2019 AT&T Intellectual Property. #\r
+# #\r
+# Licensed under the Apache License, Version 2.0 (the "License"); #\r
+# you may not use this file except in compliance with the License. #\r
+# You may obtain a copy of the License at #\r
+# #\r
+# http://www.apache.org/licenses/LICENSE-2.0 #\r
+# #\r
+# Unless required by applicable law or agreed to in writing, software #\r
+# distributed under the License is distributed on an "AS IS" BASIS, #\r
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #\r
+# See the License for the specific language governing permissions and #\r
+# limitations under the License. #\r
+##############################################################################*/\r
+\r
+\r
+const { authenticate } = require('@feathersjs/authentication').hooks;\r
+const { iff } = require('feathers-hooks-common');\r
+const { permissions, limitFields } = require('../../hooks/permissions/permissions');\r
+const convertToJSON = require('../../hooks/convertToJSON.js');\r
+const convertToYAML = require('../../hooks/convertToYAML.js');\r
+const testDefinitionIsDeployed = require('../../hooks/testDefinitionIsDeployed.js');\r
+const {skipRemainingHooks} = require('feathers-hooks-common');\r
+\r
+\r
+module.exports = {\r
+ before: {\r
+ all: [authenticate('jwt'), permissions('testInstances')],\r
+ find: [],\r
+ get: [],\r
+ create: [iff(testDefinitionIsDeployed(), convertToJSON()).else(function(context) {\r
+ \r
+ throw new Error('Test Definition Must have a deployed BPMN.');\r
+ \r
+ }\r
+ )],\r
+ update: [convertToJSON()],\r
+ patch: [],\r
+ remove: [\r
+ ]\r
+ },\r
+\r
+ after: {\r
+ all: [],\r
+ find: [convertToYAML()],\r
+ get: [ convertToYAML()],\r
+ create: [],\r
+ update: [],\r
+ patch: [],\r
+ remove: []\r
+ },\r
+\r
+ error: {\r
+ all: [],\r
+ find: [],\r
+ get: [],\r
+ create: [],\r
+ update: [],\r
+ patch: [],\r
+ remove: []\r
+ }\r
+};\r