From a7a43b22dfeea06e86f324e91f348c3cede09c05 Mon Sep 17 00:00:00 2001
From: Jure Triglav <juretriglav@gmail.com>
Date: Mon, 14 Jan 2019 11:24:39 +1300
Subject: [PATCH] chore: remove runtime dependency on server

---
 packages/base-model/package.json           |  5 ++++-
 packages/base-model/src/NotFoundError.js   | 13 +++++++++++++
 packages/base-model/src/index.js           |  2 +-
 packages/components/FormGroup/package.json |  4 ++--
 4 files changed, 20 insertions(+), 4 deletions(-)
 create mode 100644 packages/base-model/src/NotFoundError.js

diff --git a/packages/base-model/package.json b/packages/base-model/package.json
index 2ffbf7e7a..abf0aede6 100644
--- a/packages/base-model/package.json
+++ b/packages/base-model/package.json
@@ -11,12 +11,15 @@
   "dependencies": {
     "@pubsweet/db-manager": "^2.2.0",
     "@pubsweet/logger": "^0.2.9",
-    "pubsweet-server": "^11.0.0",
+    "http-status-codes": "^1.3.0",
     "knex": "^0.16.3",
     "lodash": "^4.17.11",
     "objection": "^1.2.3",
     "uuid": "^3.3.2"
   },
+  "devDependencies": {
+    "pubsweet-server": "^11.0.0"
+  },
   "peerDependencies": {
     "config": "^3.0.1"
   },
diff --git a/packages/base-model/src/NotFoundError.js b/packages/base-model/src/NotFoundError.js
new file mode 100644
index 000000000..2d7c2f962
--- /dev/null
+++ b/packages/base-model/src/NotFoundError.js
@@ -0,0 +1,13 @@
+const STATUS = require('http-status-codes')
+
+class NotFoundError extends Error {
+  constructor(message, status) {
+    super(message)
+    Error.captureStackTrace(this, 'NotFoundError')
+    this.name = 'NotFoundError'
+    this.message = message || 'Not found'
+    this.status = status || STATUS.NOT_FOUND
+  }
+}
+
+module.exports = NotFoundError
diff --git a/packages/base-model/src/index.js b/packages/base-model/src/index.js
index 0fecd5079..dab87ca63 100644
--- a/packages/base-model/src/index.js
+++ b/packages/base-model/src/index.js
@@ -1,7 +1,7 @@
 const uuid = require('uuid')
 const { Model, transaction } = require('objection')
 const logger = require('@pubsweet/logger')
-const { NotFoundError } = require('pubsweet-server/src/errors')
+const NotFoundError = require('./NotFoundError')
 const db = require('@pubsweet/db-manager/src/db')
 const { merge } = require('lodash')
 const config = require('config')
diff --git a/packages/components/FormGroup/package.json b/packages/components/FormGroup/package.json
index 8596c2b41..13aedd286 100644
--- a/packages/components/FormGroup/package.json
+++ b/packages/components/FormGroup/package.json
@@ -7,10 +7,10 @@
   "license": "MIT",
   "dependencies": {
     "joi-browser": "^13.4.0",
-    "prop-types": "^15.5.10",
-    "pubsweet-server": "^11.0.0"
+    "prop-types": "^15.5.10"
   },
   "peerDependencies": {
+    "pubsweet-server": ">=11.0.0",
     "pubsweet-client": ">=1.0.0",
     "react": ">=16"
   },
-- 
GitLab