/**
  * @param Request $request
  * @return \Illuminate\Http\JsonResponse
  */
 public function store(Request $request)
 {
     $data = Input::all();
     $response = $this->manager->save($data);
     if ($response instanceof Entity) {
         return response()->json($response, 200);
     } else {
         if ($response instanceof MessageBag) {
             return response()->json($response, 400);
         }
     }
     return response()->json(['error' => 'Server error. Try Again'], 500);
 }
 /**
  * @return \Illuminate\Database\Eloquent\Collection|static[]
  */
 public function save($data)
 {
     $response = parent::save($data);
     if ($response instanceof Entity) {
         $response->custom_fields()->delete();
         $custom_fields = [];
         foreach ($this->data['custom_fields'] as $field) {
             $field['field'] = isset($field['name']) ? $field['name'] : '';
             if (!empty($field['field'])) {
                 $field['slug'] = str_slug($field['field']);
                 array_push($custom_fields, new CustomFieldEntity($field));
             }
         }
         $response->custom_fields()->saveMany($custom_fields);
     }
     return $response;
 }