diff --git a/.secrets.baseline b/.secrets.baseline index d3ef77762f5b265ef889ac52eb82c0c51f4bb108..98da8f09266a811eeab2c2b78d06eb1d5d8d197d 100644 --- a/.secrets.baseline +++ b/.secrets.baseline @@ -2552,6 +2552,22 @@ "type": "Base64 High Entropy String" } ], + "gradle.properties": [ + { + "hashed_secret": "93220646d2e029229894cf6f9e5d170c8fc59dbb", + "is_secret": true, + "is_verified": false, + "line_number": 5, + "type": "Base64 High Entropy String" + }, + { + "hashed_secret": "93220646d2e029229894cf6f9e5d170c8fc59dbb", + "is_secret": true, + "is_verified": false, + "line_number": 5, + "type": "Hex High Entropy String" + } + ], "scripts/harvest.sh": [ { "hashed_secret": "9b4ea0964706f977148ec989e7373d9622613547", diff --git a/backend/src/main/java/fr/inra/urgi/faidare/api/faidare/v1/XRefDocumentController.java b/backend/src/main/java/fr/inra/urgi/faidare/api/faidare/v1/XRefDocumentController.java index 14b8f046089a6df7d267700a8c00f784c94081b0..09c5c25d93cce30a19f6ddc52586ca990c60863c 100644 --- a/backend/src/main/java/fr/inra/urgi/faidare/api/faidare/v1/XRefDocumentController.java +++ b/backend/src/main/java/fr/inra/urgi/faidare/api/faidare/v1/XRefDocumentController.java @@ -31,12 +31,12 @@ public class XRefDocumentController { @ApiOperation("Find xref documents") @GetMapping(value = "/faidare/v1/xref/documentbyfulltextid") public PaginatedList<XRefDocumentVO> documentByFullTextId( - @RequestParam(required = false, value = "entry_type") String entryType, - @RequestParam(required = false) List<String> linkedRessourcesID + @RequestParam(required = false, value = "entryType") String entryType, + @RequestParam(required = false) List<String> linkedResourcesID ) { XRefDocumentSearchCriteria criteria = new XRefDocumentSearchCriteria(); criteria.setEntryType(entryType); - criteria.setLinkedRessourcesID(linkedRessourcesID); + criteria.setLinkedResourcesID(linkedResourcesID); return repository.find(criteria); } diff --git a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/DocumentFields.java b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/DocumentFields.java index af7420a01082796fdd1d467fdec2cca8d3efdccf..5a43e4d68a5522e54a328ae8fae803297da68eef 100644 --- a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/DocumentFields.java +++ b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/DocumentFields.java @@ -5,7 +5,7 @@ package fr.inra.urgi.faidare.domain.xref; */ public enum DocumentFields { - ENTRY_TYPE("entry_type"), LINKEDRESSOURCESID("linkedRessourcesID"); + ENTRY_TYPE("entryType"), LINKED_RESOURCES_ID("linkedResourcesID"); private String field; diff --git a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentSearchCriteria.java b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentSearchCriteria.java index 7ca7b26afe0f212fa6c997315c92214409f74b88..44c426279fca61d852c183b81bf52d8974215bdb 100644 --- a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentSearchCriteria.java +++ b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentSearchCriteria.java @@ -12,11 +12,11 @@ import java.util.List; @CriteriaForDocument(XRefDocumentVO.class) public class XRefDocumentSearchCriteria extends PaginationCriteriaImpl { - @DocumentPath("entry_type") + @DocumentPath("entryType") private String entryType; - @DocumentPath("linkedRessourcesID") - private List<String> linkedRessourcesID; + @DocumentPath("linkedResourcesID") // pragma: allowlist secret + private List<String> linkedResourcesID; public String getEntryType() { return entryType; @@ -26,11 +26,11 @@ public class XRefDocumentSearchCriteria extends PaginationCriteriaImpl { this.entryType = entryType; } - public List<String> getLinkedRessourcesID() { - return linkedRessourcesID; + public List<String> getLinkedResourcesID() { + return linkedResourcesID; } - public void setLinkedRessourcesID(List<String> linkedRessourcesID) { - this.linkedRessourcesID = linkedRessourcesID; + public void setLinkedResourcesID(List<String> linkedResourcesID) { + this.linkedResourcesID = linkedResourcesID; } } diff --git a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentVO.java b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentVO.java index b6ae340faf0b51cffd5914df39958e687bd09ca5..0cc7e84fbcf7822596b938d142e8e48fc1649ed0 100644 --- a/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentVO.java +++ b/backend/src/main/java/fr/inra/urgi/faidare/domain/xref/XRefDocumentVO.java @@ -11,23 +11,20 @@ import java.util.List; * * @author fphilippe */ -@Document(type = "transplant") +@Document(type = "xref") public class XRefDocumentVO { - @JsonProperty("group_id") + @JsonProperty("groupId") private String groupId; - @JsonProperty("entry_type") + @JsonProperty("entryType") private String entryType; - @JsonProperty("database_name") + @JsonProperty("databaseName") private String databaseName; - @JsonProperty("db_id") - private String dbId; - - @JsonProperty("db_version") - private String dbVersion; + @JsonProperty("identifier") + private String identifier; @JsonProperty("name") private String name; @@ -41,58 +38,7 @@ public class XRefDocumentVO { @JsonProperty("species") private String species; - @JsonProperty("xref") - private String xref; - - @JsonProperty("feature_type") - private String featureType; - - @JsonProperty("sequence_id") - private String sequenceId; - - @JsonProperty("sequence_version") - private String sequence_version; - - @JsonProperty("start_position") - private String startPosition; - - @JsonProperty("end_position") - private String endPosition; - - @JsonProperty("map") - private String map; - - @JsonProperty("map_position") - private String mapPosition; - - @JsonProperty("authority") - private String authority; - - @JsonProperty("trait") - private String trait; - - @JsonProperty("trait_id") - private String traitId; - - @JsonProperty("environment") - private String environment; - - @JsonProperty("environment_id") - private String environmentId; - - @JsonProperty("statistic") - private String statistic; - - @JsonProperty("unit") - private String unit; - - @JsonProperty("genotype") - private String genotype; - - @JsonProperty("experiment_type") - private String experimentType; - - private List<String> linkedRessourcesID; + private List<String> linkedResourcesID; public String getGroupId() { return groupId; @@ -118,20 +64,12 @@ public class XRefDocumentVO { this.databaseName = databaseName; } - public String getDbId() { - return dbId; + public String getIdentifier() { + return identifier; } - public void setDbId(String dbId) { - this.dbId = dbId; - } - - public String getDbVersion() { - return dbVersion; - } - - public void setDbVersion(String dbVersion) { - this.dbVersion = dbVersion; + public void setIdentifier(String identifier) { + this.identifier = identifier; } public String getName() { @@ -166,148 +104,12 @@ public class XRefDocumentVO { this.species = species; } - public String getXref() { - return xref; - } - - public void setXref(String xref) { - this.xref = xref; - } - - public String getFeatureType() { - return featureType; - } - - public void setFeatureType(String featureType) { - this.featureType = featureType; - } - - public String getSequenceId() { - return sequenceId; - } - - public void setSequenceId(String sequenceId) { - this.sequenceId = sequenceId; - } - - public String getSequence_version() { - return sequence_version; - } - - public void setSequence_version(String sequence_version) { - this.sequence_version = sequence_version; - } - - public String getStartPosition() { - return startPosition; - } - - public void setStartPosition(String startPosition) { - this.startPosition = startPosition; - } - - public String getEndPosition() { - return endPosition; - } - - public void setEndPosition(String endPosition) { - this.endPosition = endPosition; - } - - public String getMap() { - return map; - } - - public void setMap(String map) { - this.map = map; - } - - public String getMapPosition() { - return mapPosition; - } - - public void setMapPosition(String mapPosition) { - this.mapPosition = mapPosition; - } - - public String getAuthority() { - return authority; - } - - public void setAuthority(String authority) { - this.authority = authority; - } - - public String getTrait() { - return trait; - } - - public void setTrait(String trait) { - this.trait = trait; - } - - public String getTraitId() { - return traitId; - } - - public void setTraitId(String traitId) { - this.traitId = traitId; - } - - public String getEnvironment() { - return environment; - } - - public void setEnvironment(String environment) { - this.environment = environment; - } - - public String getEnvironmentId() { - return environmentId; - } - - public void setEnvironmentId(String environmentId) { - this.environmentId = environmentId; - } - - public String getStatistic() { - return statistic; - } - - public void setStatistic(String statistic) { - this.statistic = statistic; - } - - public String getUnit() { - return unit; - } - - public void setUnit(String unit) { - this.unit = unit; - } - - public String getGenotype() { - return genotype; - } - - public void setGenotype(String genotype) { - this.genotype = genotype; - } - - public String getExperimentType() { - return experimentType; - } - - public void setExperimentType(String experimentType) { - this.experimentType = experimentType; - } - - public List<String> getLinkedRessourcesID() { - return linkedRessourcesID; + public List<String> getLinkedResourcesID() { + return linkedResourcesID; } - public void setLinkedRessourcesID(List<String> linkedRessourcesID) { - this.linkedRessourcesID = linkedRessourcesID; + public void setLinkedResourcesID(List<String> linkedResourcesID) { + this.linkedResourcesID = linkedResourcesID; } } diff --git a/backend/src/test/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryTest.java b/backend/src/test/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryTest.java index 8d488134985ba82d9197472b2b0a349873dd0343..19b8fde5434ab4106718a6da9fa863687679d364 100644 --- a/backend/src/test/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryTest.java +++ b/backend/src/test/java/fr/inra/urgi/faidare/repository/es/XRefDocumentRepositoryTest.java @@ -61,13 +61,13 @@ class XRefDocumentRepositoryTest { @Test void should_Find_By_Linked_Id() { - String id = "ID2"; - List<String> linkedRessourcesID = Collections.singletonList(id); + String id = "ID2"; + List<String> linkedResourcesID = Collections.singletonList(id); XRefDocumentSearchCriteria criteria = new XRefDocumentSearchCriteria(); - criteria.setLinkedRessourcesID(linkedRessourcesID); + criteria.setLinkedResourcesID(linkedResourcesID); PaginatedList<XRefDocumentVO> documents = repository.find(criteria); assertThat(documents).isNotNull().hasSize(2) - .flatExtracting("linkedRessourcesID") + .flatExtracting("linkedResourcesID") .contains(id); } diff --git a/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/fixture/urgi_xref_test-group0.json b/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/fixture/urgi_xref_test-group0.json index 05809a8ce030a613e8cb4cc1d2649afe33e08063..a91de2ba3d914716f9b07eec2bef2d7e549b6b36 100644 --- a/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/fixture/urgi_xref_test-group0.json +++ b/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/fixture/urgi_xref_test-group0.json @@ -1,46 +1,28 @@ [ { - "linkedRessourcesID": [ + "linkedResourcesID": [ "ID2" ], - "group_id": "0", - "entry_type": "Accession", - "database_name": "GnpIS", - "db_id": "ID1", - "db_version": "ACCESSION_https://doi.org/10.15454/KFQTFL_1", + "groupId": "0", + "entryType": "Accession", + "databaseName": "GnpIS", + "identifier": "ID1", "name": "355", "description": "Lorem ipsum....", "url": "https://urgi.versailles.inra.fr/gnpis-core/#accessionCard/id=aHR0cHM6Ly9kb2kub3JnLzEwLjE1NDU0L0tGUVRGTA==", - "species": "Quercus petraea", - "xref": "", - "feature_type": "", - "sequence_id": "", - "sequence_version": "", - "start_position": "", - "end_position": "", - "map": "", - "map_position": "", - "authority": "INRA-UMR1202-BIOGECO (Biodiversité Gènes et Communauté)", - "trait": "", - "trait_id": "", - "environment": "", - "environment_id": "", - "statistic": "", - "unit": "", - "genotype": "", - "experiment_type": "" + "species": "Quercus petraea" }, { - "linkedRessourcesID": [ + "linkedResourcesID": [ "ID3" ], - "entry_type": "Site" + "entryType": "Site" }, { - "linkedRessourcesID": [ + "linkedResourcesID": [ "ID2", "ID3" ], - "entry_type": "Site" + "entryType": "Site" } ] diff --git a/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/transplant_mapping.json b/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/xref_mapping.json similarity index 62% rename from backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/transplant_mapping.json rename to backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/xref_mapping.json index 5aec114caea1a5828d00461d3ce98b73ce4921e0..afe94b2fccdcf593c1e6afb0e098ce5a4fbc1703 100644 --- a/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/transplant_mapping.json +++ b/backend/src/test/resources/fr/inra/urgi/faidare/repository/es/setup/index/xref_mapping.json @@ -1,11 +1,11 @@ { - "transplant": { + "xref": { "dynamic": "true", "properties": { - "entry_type": { + "entryType": { "type": "keyword" }, - "linkedRessourcesID": { + "linkedResourcesID": { "type": "keyword" } } diff --git a/frontend/src/app/gnpis.service.ts b/frontend/src/app/gnpis.service.ts index 32e43a0ae23c348f0a8e19bd8f0881e4d1972a3e..1dc8d672c41dc9d947338222ef92cca2ad5d9d66 100644 --- a/frontend/src/app/gnpis.service.ts +++ b/frontend/src/app/gnpis.service.ts @@ -24,7 +24,7 @@ export const BASE_URL = 'faidare/v1'; providedIn: 'root' }) export class GnpisService { - static URGI_SOURCE_URI = 'https://urgi.versailles.inra.fr'; + static URGI_SOURCE_URI = 'https://urgi.versailles.inrae.fr'; sourceByURI$ = new ReplaySubject<Record<string, DataDiscoverySource>>(1); sources$ = new ReplaySubject<DataDiscoverySource[]>(1); @@ -136,7 +136,7 @@ export class GnpisService { } xref(xrefId: string): Observable<XrefResponse> { - return this.http.get<XrefResponse>(`${BASE_URL}/xref/documentbyfulltextid?linkedRessourcesID=${xrefId}`); + return this.http.get<XrefResponse>(`${BASE_URL}/xref/documentbyfulltextid?linkedResourcesID=${xrefId}`); } // TODO Change the service's response to return an object with the number of results and handle here if the number is over the limit diff --git a/frontend/src/app/models/xref.model.ts b/frontend/src/app/models/xref.model.ts index c204f787c40384df66d385d62c03eaa5bfdfa4ee..011b222b42b7b2ca79ae2cb739859f0482dfe326 100644 --- a/frontend/src/app/models/xref.model.ts +++ b/frontend/src/app/models/xref.model.ts @@ -2,9 +2,9 @@ export interface XrefModel { url: string; description: string; - database_name: string; - entry_type: string; - db_version: string; + databaseName: string; + entryType: string; + identifier: string; name: string; } diff --git a/frontend/src/app/xrefs/xrefs.component.html b/frontend/src/app/xrefs/xrefs.component.html index a6bdbff8e7b0e37d2e6b26d0fbfe7df44369a036..e0b4ded030e60a3d7f2e697cf2c066563a0b6f21 100644 --- a/frontend/src/app/xrefs/xrefs.component.html +++ b/frontend/src/app/xrefs/xrefs.component.html @@ -13,8 +13,8 @@ <ng-template let-crossRef> <tr> <td><a [href]="crossRef.url" target="_blank">{{ crossRef.name }}</a></td> - <td>{{ crossRef.database_name }}</td> - <td>{{ crossRef.entry_type }}</td> + <td>{{ crossRef.databaseName }}</td> + <td>{{ crossRef.entryType }}</td> <td>{{ crossRef.description | slice:0:120 }}...</td> </tr> </ng-template> diff --git a/frontend/src/app/xrefs/xrefs.component.spec.ts b/frontend/src/app/xrefs/xrefs.component.spec.ts index f09708ac219d67fcabfdd62ae1f5e20a92fd7f1b..470dfda4520885db2aa1b0f9aac2fd392c392eb1 100644 --- a/frontend/src/app/xrefs/xrefs.component.spec.ts +++ b/frontend/src/app/xrefs/xrefs.component.spec.ts @@ -35,9 +35,9 @@ describe('XrefsComponent', () => { url: 'https://urgi.versailles.inra.fr/association/association/viewer.do#results/analysisIds=1808038', description: 'Col-Fa-b*_MLM+Q+K is a GWASd anté paneCol-Fa-b*_MLM+Q+K is aGAS anlysis involving CC_Qualité' + 'djs dsqdsq djsqpodsjqodsqdsqkpdqpdWOLOLOLOOOOOOOsqpkdsqkdsqkdsqdsdsqdsqdsqddsqffjùsodfusjùfsfsd', - database_name: 'GnpIS', - entry_type: 'GWAS analysis', - db_version: 'GWAS_ANALYSIS_1808038_1', + databaseName: 'GnpIS', + entryType: 'GWAS analysis', + identifier: 'GWAS_ANALYSIS_1808038_1', name: 'Col-Fa-b*_MLM+Q+K' }]; @@ -64,8 +64,8 @@ describe('XrefsComponent', () => { expect(tester.cardHeader).toContainText('Cross References'); expect(tester.columns[0]).toContainText(xref[0].name); - expect(tester.columns[1]).toContainText(xref[0].database_name); - expect(tester.columns[2]).toContainText(xref[0].entry_type); + expect(tester.columns[1]).toContainText(xref[0].databaseName); + expect(tester.columns[2]).toContainText(xref[0].entryType); expect(tester.columns[3].textContent.length).toBeLessThanOrEqual(124); }));