openaire-library/utils/properties/env-properties.ts

176 lines
5.7 KiB
TypeScript

export type Environment = "development" | "test" | "beta" | "production";
export type Dashboard = "explore" | "connect" | "monitor" | "aggregator" | "eosc" | "developers" | "faircore4eosc";
export type PortalType = "explore" | "connect" | "community" | "monitor" | "funder" | "ri" | "project" | "organization" | "aggregator" | "eosc" | "faircore4eosc" | "irish";
export interface EnvProperties {
environment?: Environment;
adminToolsPortalType?: PortalType;
dashboard?: Dashboard;
isDashboard?: boolean;
domain?: string;
enablePiwikTrack?: boolean;
useCache?: boolean;
useLongCache?: boolean;
showAddThis?: boolean;
showContent?: boolean;
enableEoscDataTransfer?:boolean;
statisticsFrameAPIURL?: string; //delete?
statisticsFrameNewAPIURL?: string;
bipFrameAPIURL?: string;
useNewStatistisTool?: boolean; //delete?
useOldStatisticsSchema?: boolean;
monitorStatsFrameUrl?:string;
disableFrameLoad?:boolean
statisticsAPIURL?: string;
impactFactorsAPIURL?: string; //???
enermapsURL?: string;
claimsAPIURL?: string;
searchAPIURLLAst?: string;
searchResourcesAPIURL?: string;
openCitationsAPIURL?: string;
csvAPIURL?: string;
searchCrossrefAPIURL?: string;
searchDataciteAPIURL?: string;
searchOrcidURL?: string;
orcidURL?: string;
orcidAPIURL?: string;
orcidTokenURL?: string;
orcidClientId?: string;
doiURL?: string;
pmcURL?: string;
pmidURL?: string;
handleURL?: string;
cordisURL?: string;
openDoarURL?: string;
r3DataURL?: string;
swhURL?: string;
fairSharingURL?: string,
eoscMarketplaceURL?: string,
sherpaURL?: string;
sherpaURLSuffix?: string;
zenodo?: string;
zenodoCommunities?: string;
helpdesk?: string;
helpdeskEmail?: string;
utilsService?: string;
vocabulariesAPI?: string;
piwikBaseUrl?: string;
piwikSiteId?: string;
loginUrl?: string;
registryUrl?: string;
logoutUrl?: string;
userInfoUrl?: string;
clientManagementUrl?: string,
developersApiUrl?: string,
cookieDomain?: string;
feedbackmail?: string;
feedbackmailForMissingEntities?: string;
cacheUrl?: string;
deleteCacheUrl?: string;
deleteBrowserCacheUrl?: string;
monitorServiceAPIURL?: string;
adminToolsAPIURL?: string;
adminToolsCommunity?: string;
useHelpTexts?:boolean;
contextsAPI?: string;
communityAPI?: string;
communitiesAPI?: string;
datasourcesAPI?: string;
miningBackendURL?: string;
csvLimit?: number;
pagingLimit?: number;
resultsPerPage?: number;
baseLink?: string;
baseOpenaireLink?: string;
afterLoginRedirectLink?: string;
searchLinkToResult?: string;
searchLinkToPublication?: string;
searchLinkToProject?: string;
searchLinkToDataProvider?: string;
searchLinkToService?: string;
searchLinkToDataset?: string;
searchLinkToSoftwareLanding?: string;
searchLinkToOrp?: string;
searchLinkToOrganization?: string;
//Search pages
searchLinkToAll?: string;
searchLinkToCommunities?: string;
searchLinkToStakeholders?: string;
searchLinkToPublications?: string;
searchLinkToDataProviders?: string;
searchLinkToServices?: string;
searchLinkToProjects?: string;
searchLinkToDatasets?: string;
searchLinkToSoftware?: string;
searchLinkToOrps?: string;
searchLinkToOrganizations?: string;
searchLinkToCompatibleDataProviders?: string;
searchLinkToEntityRegistriesDataProviders?: string;
searchLinkToJournals?: string;
searchLinkToResults?: string;
//Advanced Search for pages
searchLinkToAdvancedPublications?: string;
searchLinkToAdvancedProjects?: string;
searchLinkToAdvancedDatasets?: string;
searchLinkToAdvancedSoftware?: string;
searchLinkToAdvancedOrps?: string;
searchLinkToAdvancedDataProviders?: string;
searchLinkToAdvancedServices?: string;
searchLinkToAdvancedOrganizations?: string;
searchLinkToAdvancedResults?: string;
errorLink?: string
lastIndexInformationLink?: string;
showLastIndexInformationLink?: boolean;
widgetLink?: string;
claimsInformationLink?: string;
depositLearnHowPage?: string;
depositSearchPage?: string;
shareInZenodoPage?: string;
// recaptcha site key
reCaptchaSiteKey?: string;
// contact us recipients
admins?: string[];
lastIndexUpdate?: string; //delete?
indexInfoAPI?: string;
altMetricsAPIURL?: string;
b2noteAPIURL?: string; //delete?
adminPortalURL?: string;
sushiliteURL?: string;
notificationsAPIURL?: string;
myOrcidLinksPage?: string;
footerGrantText?: string;
egiNotebookLink?: string;
connectPortalUrl?;
eoscDataTransferAPI?;
eoscDataTransferLoginUrl?;
eoscDataTransferDestinations?;
hasMachineCache?: boolean;
}
export function checkPropertyValues(properties:EnvProperties){
let keys = Object.keys(properties);
let Warn = 0;
// console.debug( "Environment: " +properties.environment )
for(let attribute of keys){
// console.debug(attribute + ": " +properties[attribute] + " " )
if (properties.environment == "production" && typeof properties[attribute] == 'string' && (properties[attribute].indexOf("beta.") != -1 || properties[attribute].indexOf("uoa.di.gr") != -1)) {
console.warn("shouldn't be prod? " + attribute + ": " + properties[attribute]);
Warn++;
}
if (properties.environment != "production" && typeof properties[attribute] == 'string' && properties[attribute].indexOf("https://services.") != -1) {
console.warn("should be prod? " + attribute + ": " + properties[attribute]);
Warn++;
}
if (properties.environment != "development" && typeof properties[attribute] == 'string' && properties[attribute].indexOf("uoa.di.gr") != -1) {
console.warn("should be in dev? " + attribute + ": " + properties[attribute]);
Warn++;
}
}
/*if(Warn > 0){
alert("check properties: " + Warn)
}*/
}