From dd47e2358db8f46242bf76f63272d51cef492670 Mon Sep 17 00:00:00 2001
From: Bogdan Cochior <bogdan.cochior@thinslices.com>
Date: Mon, 2 Jul 2018 16:26:50 +0300
Subject: [PATCH] refactor(owners): refactor adding owners to fragment

---
 .../src/services/Fragment.js                  | 24 +++++++++----------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/packages/component-helper-service/src/services/Fragment.js b/packages/component-helper-service/src/services/Fragment.js
index 61e251769..6e418ee90 100644
--- a/packages/component-helper-service/src/services/Fragment.js
+++ b/packages/component-helper-service/src/services/Fragment.js
@@ -1,16 +1,5 @@
 const get = require('lodash/get')
 
-const setFragmentOwners = (fragment = {}, author = {}) => {
-  const { owners = [] } = fragment
-  if (author.isSubmitting) {
-    const authorAlreadyOwner = owners.includes(author.id)
-    if (!authorAlreadyOwner) {
-      return [author.id, ...owners]
-    }
-  }
-  return owners
-}
-
 class Fragment {
   constructor({ fragment }) {
     this.fragment = fragment
@@ -20,6 +9,17 @@ class Fragment {
     this.fragment = newFragment
   }
 
+  static setFragmentOwners(fragment = {}, author = {}) {
+    const { owners = [] } = fragment
+    if (author.isSubmitting) {
+      const authorAlreadyOwner = owners.includes(author.id)
+      if (!authorAlreadyOwner) {
+        return [author.id, ...owners]
+      }
+    }
+    return owners
+  }
+
   async getFragmentData({ handlingEditor = {} }) {
     const { fragment: { metadata = {}, recommendations = [], id } } = this
     const heRecommendation = recommendations.find(
@@ -54,7 +54,7 @@ class Fragment {
       isCorresponding,
     }
     fragment.authors.push(author)
-    fragment.owners = setFragmentOwners(fragment, author)
+    fragment.owners = this.constructor.setFragmentOwners(fragment, author)
     await fragment.save()
 
     return author
-- 
GitLab