diff --git a/server/app/lib/link_adaptors/phenotype.rb b/server/app/lib/link_adaptors/phenotype.rb new file mode 100644 index 000000000..aafe600bf --- /dev/null +++ b/server/app/lib/link_adaptors/phenotype.rb @@ -0,0 +1,11 @@ +module LinkAdaptors + class Phenotype < Base + def display_name + obj.name + end + + def base_path + "/phenotypes/#{obj.id}" + end + end +end diff --git a/server/app/models/frontend_router.rb b/server/app/models/frontend_router.rb index b88634229..c3c6896d7 100644 --- a/server/app/models/frontend_router.rb +++ b/server/app/models/frontend_router.rb @@ -24,8 +24,16 @@ def url def query_info case id_type when /genes?/ - [ - Feature.where(feature_instance_type: "Features::Gene"), :feature_instance_id, + [ + Feature.where(feature_instance_type: "Features::Gene"), :id, + ] + when /fusions?/ + [ + Feature.where(feature_instance_type: "Features::Fusion"), :id, + ] + when /factors?/ + [ + Feature.where(feature_instance_type: "Features::Factor"), :id, ] when /features?/ [ Feature, :id, ] @@ -38,7 +46,7 @@ def query_info when /entrez_id/ [ Features::Gene, :entrez_id ] when /entrez_name/ - [ + [ Feature.where(feature_instance_type: "Features::Gene"), :name, -> { _1.upcase } ] when /variant_groups?/ @@ -47,10 +55,18 @@ def query_info [ Revision, :id ] when /diseases?/ [ Disease, :id ] + when /doid/ + [ Disease.where(deprecated: false), :doid, ] when /drugs?/ [ Therapy, :id ] when /therapies?/ [ Therapy, :id ] + when /ncit_id/ + [ Therapy.where(deprecated: false), :ncit_id, ] + when /phenotypes?/ + [ Phenotype, :id ] + when /hpo_id/ + [ Phenotype, :hpo_id ] when /assertions?/ [ Assertion, :id ] when /sources?/ @@ -62,8 +78,8 @@ def query_info when "AID" [ Assertion, :id ] when "GID" - [ - Feature.where(feature_instance_type: "Features::Gene"), :feature_instance_id, + [ + Feature.where(feature_instance_type: "Features::Gene"), :id, ] when "FID" [ Feature, :id ]