Hydrate our first data source

This commit is contained in:
dannyrb authored and James A. Petts committed 2020-05-15 14:01:25 +02:00
1 parent c3ee59c60e
commit 20dd83e702
6 files changed
+49 -57

No files matched your search

+2 -2
View File
@@ -1,6 +1,6 @@
import { api } from 'dicomweb-client';
import { mapParams, search, processResults } from './qido.js';
import IWebApi from './IWebApi.js';
import IWebApiDataSource from './IWebApiDataSource.js';
/**
*
@@ -22,7 +22,7 @@ function createDicomWebApi(dicomWebConfig) {
const dicomWebClient = new api.DICOMwebClient(config);
return IWebApi({
return IWebApiDataSource.create({
query: {
studies: {
mapParams: mapParams.bind(),
-47
View File
@@ -1,47 +0,0 @@
import {dicomMetadataStore} from '@ohif/core';
/**
* Factory function that creates a new "Web API" data source.
* A "Web API" data source is any source that fetches data over
* HTTP. This function serves as an "adapter" to wrap those calls
* so that all "Web API" data sources have the same interface and can
* be used interchangeably.
*
* It's worth noting that a single implementation of this interface
* can define different underlying sources for "read" and "write" operations.
*/
function createWebApiDataSource({ query, retrieve, retrieveMetadata }) {
const defaultQuery = {
studies: {
/**
* @param {string} params.patientName
* @param {string} params.mrn
* @param {object} params.studyDate
* @param {string} params.description
* @param {string} params.modality
* @param {string} params.accession
* @param {string} params.sortBy
* @param {string} params.sortDirection -
* @param {number} params.page
* @param {number} params.resultsPerPage
*/
mapParams: params => params,
requestResults: () => {},
processResults: results => results,
},
series: {},
instances: {},
};
const defaultRetrieve = {};
return {
query,
retrieve: {},
retrieveMetadata: retrieveMetadata.bind(null, dicomMetadataStore);
// then go get all series level metadata.
// Store this in the DICOM MetadataStore.
};
}
export { createWebApiDataSource };
@@ -8,7 +8,7 @@
* It's worth noting that a single implementation of this interface
* can define different underlying sources for "read" and "write" operations.
*/
function createWebApiDataSource({ query, retrieve }) {
function create({ query, retrieve, retrieveMetadata }) {
const defaultQuery = {
studies: {
/**
@@ -36,7 +36,14 @@ function createWebApiDataSource({ query, retrieve }) {
return {
query,
retrieve: {},
// retrieveMetadata: retrieveMetadata.bind(null, dicomMetadataStore);
// then go get all series level metadata.
// Store this in the DICOM MetadataStore.
};
}
export { createWebApiDataSource };
const IWebApiDataSource = {
create,
};
export default IWebApiDataSource;
+1 -1
View File
@@ -29,7 +29,7 @@ import {
UIViewportDialogService,
} from './services';
import * as IWebApiDataSource from './DataSources/IWebApiDataSource';
import IWebApiDataSource from './DataSources/IWebApiDataSource';
const OHIF = {
MODULE_TYPES,