Skip to content
Snippets Groups Projects
Commit 3f9ea37d authored by Remco Tukker's avatar Remco Tukker
Browse files

clean up interfaces a bit further

parent dc7076eb
Branches
Tags
1 merge request!25Feature/comp 182 improved nren selection
...@@ -22,9 +22,9 @@ BUDGET_RESPONSE_SCHEMA = { ...@@ -22,9 +22,9 @@ BUDGET_RESPONSE_SCHEMA = {
'nren': {'type': 'string'}, 'nren': {'type': 'string'},
'nren_country': {'type': 'string'}, 'nren_country': {'type': 'string'},
'budget': {'type': 'number'}, 'budget': {'type': 'number'},
'budget_year': {'type': 'integer'}, 'year': {'type': 'integer'},
}, },
'required': ['nren', 'nren_country', 'budget', 'budget_year'], 'required': ['nren', 'nren_country', 'budget', 'year'],
'additionalProperties': False 'additionalProperties': False
} }
}, },
...@@ -53,11 +53,11 @@ def budget_view() -> Any: ...@@ -53,11 +53,11 @@ def budget_view() -> Any:
'nren': entry.nren.name, 'nren': entry.nren.name,
'nren_country': entry.nren.country, 'nren_country': entry.nren.country,
'budget': float(entry.budget), 'budget': float(entry.budget),
'budget_year': entry.year, 'year': entry.year,
} }
entries = sorted( entries = sorted(
[_extract_data(entry) for entry in db.session.scalars(select(BudgetEntry))], [_extract_data(entry) for entry in db.session.scalars(select(BudgetEntry))],
key=lambda d: (d['budget_year'], d['nren']) key=lambda d: (d['year'], d['nren'])
) )
return jsonify(entries) return jsonify(entries)
...@@ -3,27 +3,57 @@ export interface Nren { ...@@ -3,27 +3,57 @@ export interface Nren {
country: string country: string
} }
export interface Budget { export interface FilterSelection {
budget: string, selectedNrens: string[]
budget_year: number, selectedYears: number[]
}
export interface NrenAndYearDatapoint {
nren: string, nren: string,
nren_country: string nren_country: string,
year: number
}
export interface Budget extends NrenAndYearDatapoint {
budget: string
} }
export interface FundingSource { export interface FundingSource extends NrenAndYearDatapoint {
client_institutions: number, client_institutions: number,
commercial: number, commercial: number,
european_funding: number, european_funding: number,
gov_public_bodies: number, gov_public_bodies: number,
other: number, other: number
nren: string,
nren_country: string,
year: number
} }
export interface FilterSelection { export interface ChargingStructure extends NrenAndYearDatapoint {
selectedNrens: string[] fee_type: (string | null)
selectedYears: number[] }
export interface NrenStaff extends NrenAndYearDatapoint {
permanent_fte: number,
subcontracted_fte: number,
technical_fte: number,
non_technical_fte: number
}
export interface Organisation extends NrenAndYearDatapoint {
name: string,
role?: string
}
export interface ECProject extends NrenAndYearDatapoint {
project: string
}
export interface Policy extends NrenAndYearDatapoint {
acceptable_use: string,
connectivity: string,
data_protection: string,
environmental: string,
equal_opportunity: string,
privacy_notice: string,
strategic_plan: string
} }
export interface BasicDataset { export interface BasicDataset {
...@@ -38,7 +68,6 @@ export interface BasicDataset { ...@@ -38,7 +68,6 @@ export interface BasicDataset {
} }
export interface FundingSourceDataset { export interface FundingSourceDataset {
labels: string[], labels: string[],
datasets: { datasets: {
label: string, label: string,
...@@ -54,13 +83,6 @@ export interface FundingSourceDataset { ...@@ -54,13 +83,6 @@ export interface FundingSourceDataset {
}[] }[]
} }
export interface ChargingStructure {
nren: string,
nren_country: string,
year: number,
fee_type: (string | null),
}
export interface ChargingStructureDataset { export interface ChargingStructureDataset {
labels: string[], labels: string[],
datasets: { datasets: {
...@@ -74,16 +96,6 @@ export interface ChargingStructureDataset { ...@@ -74,16 +96,6 @@ export interface ChargingStructureDataset {
}[] }[]
} }
export interface NrenStaff {
nren: string,
nren_country: string,
year: number,
permanent_fte: number,
subcontracted_fte: number,
technical_fte: number,
non_technical_fte: number
}
export interface NrenStaffDataset { export interface NrenStaffDataset {
labels: string[], labels: string[],
...@@ -100,32 +112,3 @@ export interface NrenStaffDataset { ...@@ -100,32 +112,3 @@ export interface NrenStaffDataset {
hidden: boolean hidden: boolean
}[] }[]
} }
export interface Organisation {
nren: string,
nren_country: string,
year: number,
name: string,
role?: string
}
export interface ECProject {
nren: string,
nren_country: string,
year: number,
project: string,
}
export interface Policy {
nren: string,
nren_country: string,
year: number,
acceptable_use: string,
connectivity: string,
data_protection: string,
environmental: string,
equal_opportunity: string,
privacy_notice: string,
strategic_plan: string
}
...@@ -117,14 +117,14 @@ export const createFundingSourceDataset = (fundingSourcesData: FundingSource[]) ...@@ -117,14 +117,14 @@ export const createFundingSourceDataset = (fundingSourcesData: FundingSource[])
function createBudgetDataLookup(budgetEntries: Budget[]) { function createBudgetDataLookup(budgetEntries: Budget[]) {
const dataLookup = new Map<string, number>(); const dataLookup = new Map<string, number>();
budgetEntries.forEach((item: Budget) => { budgetEntries.forEach((item: Budget) => {
const lookupKey = `${item.nren}/${item.budget_year}`; const lookupKey = `${item.nren}/${item.year}`;
dataLookup.set(lookupKey, Number(item.budget)); dataLookup.set(lookupKey, Number(item.budget));
}) })
return dataLookup; return dataLookup;
} }
export function createBudgetDataset(budgetEntries: Budget[]): BasicDataset { export function createBudgetDataset(budgetEntries: Budget[]): BasicDataset {
const labelsYear = [...new Set(budgetEntries.map((item) => item.budget_year))].sort(); const labelsYear = [...new Set(budgetEntries.map((item) => item.year))].sort();
const labelsNREN = [...new Set(budgetEntries.map((item) => item.nren))].sort(); const labelsNREN = [...new Set(budgetEntries.map((item) => item.nren))].sort();
const dataLookup = createBudgetDataLookup(budgetEntries); const dataLookup = createBudgetDataLookup(budgetEntries);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment