diff --git a/src/breeding-insight/dao/StudyDAO.ts b/src/breeding-insight/dao/StudyDAO.ts index 69ebdccf..009bb250 100644 --- a/src/breeding-insight/dao/StudyDAO.ts +++ b/src/breeding-insight/dao/StudyDAO.ts @@ -18,52 +18,56 @@ import {BiResponse, Response} from "@/breeding-insight/model/BiResponse"; import * as api from "@/util/api"; import {PaginationQuery} from "@/breeding-insight/model/PaginationQuery"; -import { Result, Err, Success, ResultGenerator } from "@/breeding-insight/model/Result"; -import {BrAPIDAOUtil} from "@/breeding-insight/dao/BrAPIDAOUtil"; +import {Result, Err, Success, ResultGenerator} from "@/breeding-insight/model/Result"; + +const BRAPI_FETCH_PAGE_SIZE = Number(process.env.VUE_APP_BRAPI_FETCH_PAGE_SIZE); export class StudyDAO { - static async getAllForTrial(programId: string, trialDbId: string): Promise> { - // Use GET endpoint to get all Studies for a single Trial by external reference. - const { data } = await api.call({ - url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, - method: 'get', - params: { - trialDbId: trialDbId, - pageSize: 1000000 } - }) as Response; + static async getAllForTrial(programId: string, trialDbId: string): Promise> { + // Use GET endpoint to get all Studies for a single Trial by external reference. + const {data} = await api.call({ + url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, + method: 'get', + params: { + trialDbId: trialDbId, + pageSize: BRAPI_FETCH_PAGE_SIZE + } + }) as Response; + + return ResultGenerator.success(new BiResponse(data)); + } - return ResultGenerator.success(new BiResponse(data)); - } + static async getAll(programId: string, paginationQuery: PaginationQuery, full: boolean): Promise> { + try { + const {data} = await api.call({ + url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, + method: 'get', + params: { + full, + pageSize: BRAPI_FETCH_PAGE_SIZE + } + }) as Response; - static async getAll(programId: string, paginationQuery: PaginationQuery, full : boolean): Promise> { - try { - // TODO: update pageSize setting when we can do backend brapi sorting - const { data } = await api.call({ - url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, - method: 'get', - params: { full, pageSize: 1000000 } - }) as Response; + return ResultGenerator.success(new BiResponse(data)); + + } catch (error) { + return ResultGenerator.err(error); + } + } - return ResultGenerator.success(new BiResponse(data)); - - } catch (error) { - return ResultGenerator.err(error); - } - } + static async getById(programId: string, studyId: string): Promise> { + try { + const {data} = await api.call({ + url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, + method: 'get', + params: {studyDbId: studyId} + }) as Response; - static async getById(programId: string, studyId: string): Promise> { - try { - const { data } = await api.call({ - url: `${process.env.VUE_APP_BI_API_V1_PATH}/programs/${programId}/brapi/v2/studies`, - method: 'get', - params: { studyDbId: studyId } - }) as Response; + return ResultGenerator.success(new BiResponse(data)); - return ResultGenerator.success(new BiResponse(data)); - - } catch (error) { - return ResultGenerator.err(error); + } catch (error) { + return ResultGenerator.err(error); + } } - } } diff --git a/vue.config.js b/vue.config.js index eed14c1f..44677347 100644 --- a/vue.config.js +++ b/vue.config.js @@ -27,6 +27,7 @@ process.env.VUE_APP_OPENID_LOGOUT_URL = process.env.VUE_APP_OPENID_LOGOUT_URL || process.env.VUE_APP_BI_API_V1_PATH = process.env.VUE_APP_BI_API_ROOT + "/v1"; process.env.VUE_APP_LOG_LEVEL = process.env.VUE_APP_LOG_LEVEL || 'error'; process.env.VUE_APP_BI_REFERENCE_SOURCE = process.env.VUE_APP_BI_REFERENCE_SOURCE || 'breedinginsight.org'; +process.env.VUE_APP_BRAPI_FETCH_PAGE_SIZE = process.env.CACHE_BRAPI_FETCH_PAGE_SIZE || '65000'; process.env.VUE_APP_BRAPI_VENDOR_SUBMISSION_ENABLED = ('true' === process.env.VUE_APP_BRAPI_VENDOR_SUBMISSION_ENABLED); process.env.VUE_APP_ALTERNATE_AUTHENTICATION_ENABLED = ('true' === process.env.VUE_APP_ALTERNATE_AUTHENTICATION_ENABLED);