--- /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 {permissions, limitFields } = require('../../hooks/permissions/permissions.js');\r
+const convertToYAML = require('../../hooks/convertToYAML.js');\r
+const convertJY = require('../../hooks/convertToYAMLRecursive');\r
+const deleteVersion = require('../../hooks/delete-version.js');\r
+const deleteDefinition = require('../../hooks/delete-definition.js');\r
+\r
+module.exports = {\r
+ before: {\r
+ all: [authenticate('jwt'), permissions('testDefinitions')],\r
+ find: [],\r
+ get: [],\r
+ create: [\r
+ function (context) {\r
+ context.data.creatorId = context.params.user._id;\r
+ return context;\r
+ },\r
+ convertJY('json')\r
+ ],\r
+ update: [convertJY('json')],\r
+ patch: [deleteVersion(), convertJY('json')],\r
+ remove: [\r
+ deleteDefinition()\r
+ ]\r
+ },\r
+\r
+ after: {\r
+ all: [],\r
+ find: [convertToYAML()],\r
+ get: [convertToYAML()],\r
+ create: [convertToYAML()],\r
+ update: [convertToYAML()],\r
+ patch: [convertToYAML()],\r
+ remove: []\r
+ },\r
+\r
+ error: {\r
+ all: [],\r
+ find: [],\r
+ get: [],\r
+ create: [],\r
+ update: [],\r
+ patch: [],\r
+ remove: []\r
+ }\r
+};\r