SpeciesFileGroup/taxonworks

View on GitHub
app/javascript/vue/routes/endpoints/BiologicalAssociation.js

Summary

Maintainability
A
0 mins
Test Coverage
import baseCRUD from './base'
import AjaxCall from '@/helpers/ajaxCall'

const controller = 'biological_associations'
const permitParams = {
  biological_association: {
    biological_relationship_id: Number,
    biological_association_subject_id: Number,
    biological_association_subject_type: String,
    biological_association_object_id: Number,
    biological_association_object_type: String,
    subject_global_id: Number,
    object_global_id: Number,
    origin_citation_attributes: {
      id: Number,
      _destroy: Boolean,
      source_id: Number,
      pages: String
    },
    citations_attributes: {
      id: Number,
      is_original: Boolean,
      _destroy: Boolean,
      source_id: Number,
      pages: String,
      citation_object_id: Number,
      citation_object_type: String
    }
  }
}

export const BiologicalAssociation = {
  ...baseCRUD(controller, permitParams),

  filter: (params) => AjaxCall('post', `/${controller}/filter.json`, params),

  graph: (params) =>
    AjaxCall('post', `/tasks/${controller}/graph/data`, params),

  batchRotate: (params) =>
    AjaxCall('post', `/${controller}/batch_rotate`, params),

  batchUpdate: (params) =>
    AjaxCall('patch', `/${controller}/batch_update`, params)
}