diff --git a/apps/hpc-ftsadmin/src/app/utils/map-functions.ts b/apps/hpc-ftsadmin/src/app/utils/map-functions.ts index e018761e8..f3a039054 100644 --- a/apps/hpc-ftsadmin/src/app/utils/map-functions.ts +++ b/apps/hpc-ftsadmin/src/app/utils/map-functions.ts @@ -41,7 +41,7 @@ export const parseError = ( } return s.components[component].errors.unknown; }); - + if (error === 'duplicate' && errorValue) { return translatedError.replace( `${ diff --git a/libs/hpc-dummy/src/lib/data-types.ts b/libs/hpc-dummy/src/lib/data-types.ts index a3ae7285c..2c28ededd 100644 --- a/libs/hpc-dummy/src/lib/data-types.ts +++ b/libs/hpc-dummy/src/lib/data-types.ts @@ -1,7 +1,18 @@ import * as t from 'io-ts'; -import { access, forms } from '@unocha/hpc-data'; - +import { + access, + forms, + flows, + categories, + emergencies, + globalClusters, + locations, + organizations, + plans, + projects, + usageYears, +} from '@unocha/hpc-data'; /** * TODO: make into union of different assignee types */ @@ -106,101 +117,6 @@ const USER = t.type({ export type User = t.TypeOf; -const FLOW_REF_DIRECTION = t.keyof({ - source: null, - destination: null, -}); - -const FLOW_CATEGORY = t.type({ - name: t.string, - group: t.string, -}); - -const FLOW_ORGANIZATION = t.type({ - name: t.string, - objectID: t.number, - refDirection: FLOW_REF_DIRECTION, -}); - -const FLOW_LOCATION_OR_PLAN = t.type({ - name: t.string, -}); - -const FLOW_USAGE_YEAR = t.type({ - year: t.string, - refDirection: FLOW_REF_DIRECTION, -}); - -const FLOW_REPORT_DETAIL = t.intersection([ - t.type({ - id: t.number, - organizationID: t.number, - source: t.string, - }), - t.partial({ - date: t.string, - channel: t.union([t.string, t.null]), - refCode: t.union([t.string, t.null]), - sourceID: t.union([t.string, t.null]), - }), -]); - -const TRANSFERRED_ENTITY = t.type({ - key: t.string, - valueId: t.number, -}); - -const INFERRED_ENTITY = t.type({ - key: t.string, - valueId: t.number, - reason: t.string, -}); - -const FLOW_EXTERNAL_REFERENCE = t.intersection([ - t.type({ - id: t.number, - systemID: t.string, - flowID: t.number, - externalRecordID: t.string, - externalRecordDate: t.string, - }), - t.partial({ - versionID: t.number, - importInformation: t.partial({ - inferred: t.union([t.array(INFERRED_ENTITY), t.null]), - transferred: t.union([t.array(TRANSFERRED_ENTITY), t.null]), - }), - }), -]); - -const FLOW = t.intersection([ - t.type({ - id: t.number, - versionID: t.number, - amountUSD: t.string, - updatedAt: t.string, - activeStatus: t.boolean, - restricted: t.boolean, - }), - t.partial({ - childIDs: t.union([t.array(t.number), t.null]), - parentIDs: t.union([t.array(t.number), t.null]), - categories: t.union([t.array(FLOW_CATEGORY), t.null]), - organizations: t.union([t.array(FLOW_ORGANIZATION), t.null]), - plans: t.union([t.array(FLOW_LOCATION_OR_PLAN), t.null]), - locations: t.union([t.array(FLOW_LOCATION_OR_PLAN), t.null]), - usageYears: t.union([t.array(FLOW_USAGE_YEAR), t.null]), - reportDetails: t.union([t.array(FLOW_REPORT_DETAIL), t.null]), - externalReference: t.union([FLOW_EXTERNAL_REFERENCE, t.null]), - origAmount: t.union([t.string, t.null]), - origCurrency: t.union([t.string, t.null]), - parkedParentSource: t.type({ - organization: t.array(t.number), - OrgName: t.array(t.string), - }), - }), -]); - const OPERATION = t.type({ id: t.number, name: t.string, @@ -223,15 +139,35 @@ const FORM = t.type( 'FORM' ); +const FLOW = flows.FLOW; +const CATEGORY = categories.CATEGORY; +const KEYWORD = categories.KEYWORD; +const EMERGENCY = emergencies.EMERGENCY; +const GLOBAL_CLUSTER = globalClusters.GLOBAL_CLUSTER; +const LOCATION = locations.LOCATION; +const ORGANIZATION = organizations.ORGANIZATION; +const PLAN = plans.PLAN; +const PROJECT = projects.PROJECT; +const USAGE_YEAR = usageYears.USAGE_YEAR; + export const DUMMY_DATA = t.type( { access: ACCESS, users: t.array(USER), + categories: t.array(CATEGORY), currentUser: t.union([t.null, t.number]), + emergencies: t.array(EMERGENCY), flows: t.array(FLOW), + globalClusters: t.array(GLOBAL_CLUSTER), + keywords: t.array(KEYWORD), + locations: t.array(LOCATION), operations: t.array(OPERATION), operationClusters: t.array(OPERATION_CLUSTER), + organizations: t.array(ORGANIZATION), + plans: t.array(PLAN), + projects: t.array(PROJECT), reportingWindows: t.array(REPORTING_WINDOW), + usageYears: t.array(USAGE_YEAR), forms: t.array(FORM), }, 'DUMMY_DATA' diff --git a/libs/hpc-dummy/src/lib/data.ts b/libs/hpc-dummy/src/lib/data.ts index 286eac924..297b9d1f9 100644 --- a/libs/hpc-dummy/src/lib/data.ts +++ b/libs/hpc-dummy/src/lib/data.ts @@ -55,314 +55,3179 @@ export const INITIAL_DATA: DummyData = { }, ], currentUser: null, - flows: [ + categories: [ { id: 1, + name: 'Natural disaster', + description: null, + parentID: null, + group: 'emergencyType', + createdAt: '2015-11-12T23:03:39.887Z', + updatedAt: '2015-11-12T23:03:39.887Z', + code: null, + includeTotals: null, + }, + + { + id: 12, + name: 'Cancelled', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2016-07-18T16:12:02.201Z', + updatedAt: '2016-07-18T16:12:02.201Z', + code: null, + includeTotals: null, + }, + { + id: 9, + name: 'Superseded', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2015-12-23T00:18:00.009Z', + updatedAt: '2015-12-23T00:18:00.009Z', + code: null, + includeTotals: null, + }, + { + id: 13, + name: 'Deleted', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2016-07-18T16:12:02.221Z', + updatedAt: '2016-07-18T16:12:02.221Z', + code: null, + includeTotals: null, + }, + { + id: 14, + name: 'Restricted', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2016-07-18T16:12:02.236Z', + updatedAt: '2016-07-18T16:12:02.236Z', + code: null, + includeTotals: null, + }, + { + id: 45, + name: 'Pending review', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2016-12-13T12:35:42.929Z', + updatedAt: '2016-12-13T12:35:42.929Z', + code: null, + includeTotals: null, + }, + { + id: 87, + name: 'Rejected', + description: null, + parentID: null, + group: 'inactiveReason', + createdAt: '2017-01-13T14:20:34.337Z', + updatedAt: '2017-01-13T14:20:34.337Z', + code: null, + includeTotals: null, + }, + { + id: 47, + name: 'Commitment', + description: null, + parentID: null, + group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.002Z', + updatedAt: '2017-01-13T14:20:32.002Z', + code: null, + includeTotals: null, + }, + { + id: 48, + name: 'Paid', + description: null, + parentID: null, + group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.042Z', + updatedAt: '2017-01-13T14:20:32.042Z', + code: null, + includeTotals: null, + }, + { + id: 46, + name: 'Pledge', + description: null, + parentID: null, + group: 'flowStatus', + createdAt: '2017-01-13T14:20:31.933Z', + updatedAt: '2017-01-13T14:20:31.933Z', + code: null, + includeTotals: null, + }, + { + id: 49, + name: 'In kind', + description: null, + parentID: null, + group: 'contributionType', + createdAt: '2017-01-13 15:20:32.131Z', + updatedAt: '2017-01-13:15:20:32.131Z', + code: null, + includeTotals: null, + }, + { + id: 50, + name: 'Financial', + description: null, + parentID: null, + group: 'contributionType', + createdAt: '2017-01-13 15:20:32.131Z', + updatedAt: '2017-01-13:15:20:32.131Z', + code: null, + includeTotals: null, + }, + { + id: 1802, + name: 'Local and National Non-State Actors', + description: null, + parentID: null, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:12.799Z', + updatedAt: '2022-12-15T15:17:12.799Z', + code: null, + includeTotals: null, + }, + { + id: 1803, + name: 'National and Sub-National State Actors', + description: null, + parentID: null, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:12.838Z', + updatedAt: '2022-12-15T15:17:12.838Z', + code: null, + includeTotals: null, + }, + { + id: 1804, + name: 'International Actors', + description: null, + parentID: null, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:12.844Z', + updatedAt: '2022-12-15T15:17:12.844Z', + code: null, + includeTotals: null, + }, + { + id: 1805, + name: 'Uncategorized Actors', + description: null, + parentID: null, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:12.855Z', + updatedAt: '2022-12-15T15:17:12.855Z', + code: null, + includeTotals: null, + }, + { + id: 118, + name: 'NGOs', + description: null, + parentID: null, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + code: null, + includeTotals: null, + }, + { + id: 119, + name: 'Private Organizations', + description: null, + parentID: null, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.405Z', + updatedAt: '2022-12-15T15:17:12.870Z', + code: null, + includeTotals: null, + }, + { + id: 117, + name: 'Red Cross/Red Crescent Organizations', + description: + 'International & national elements of the Red Cross and Red Crescent Movement', + parentID: null, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.325Z', + updatedAt: '2022-12-15T15:17:12.873Z', + code: null, + includeTotals: null, + }, + { + id: 116, + name: 'Multilateral Organizations', + description: null, + parentID: null, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.282Z', + updatedAt: '2022-12-15T15:17:12.882Z', + code: null, + includeTotals: null, + }, + { + id: 121, + name: 'Pooled Funds', + description: null, + parentID: null, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.481Z', + updatedAt: '2022-12-15T15:17:12.887Z', + code: null, + includeTotals: null, + }, + { + id: 132, + name: 'National Governments', + description: null, + parentID: 114, + group: 'organizationType', + createdAt: '2017-01-13T22:18:02.738Z', + updatedAt: '2022-12-15T15:17:12.892Z', + code: null, + includeTotals: null, + }, + { + id: 1806, + name: 'National Governments', + description: null, + parentID: 1803, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:12.895Z', + updatedAt: '2022-12-15T15:17:12.895Z', + code: null, + includeTotals: null, + }, + { + id: 1401, + name: 'Local Governments', + description: null, + parentID: 114, + group: 'organizationType', + createdAt: '2017-12-09T00:03:39.666Z', + updatedAt: '2022-12-15T15:17:13.182Z', + code: null, + includeTotals: null, + }, + { + id: 1807, + name: 'Local Governments', + description: null, + parentID: 1803, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:13.185Z', + updatedAt: '2022-12-15T15:17:13.185Z', + code: null, + includeTotals: null, + }, + { + id: 1808, + name: 'International NGOs', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:13.208Z', + updatedAt: '2022-12-15T15:17:13.208Z', + code: null, + includeTotals: null, + }, + { + id: 1809, + name: 'Internationally Affiliated Organizations', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:14.951Z', + updatedAt: '2022-12-15T15:17:14.951Z', + code: null, + includeTotals: null, + }, + { + id: 1810, + name: 'National NGOs/CSOs', + description: null, + parentID: 1802, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:15.037Z', + updatedAt: '2022-12-15T15:17:15.037Z', + code: null, + includeTotals: null, + }, + { + id: 1811, + name: 'Local NGOs/CSOs', + description: null, + parentID: 1802, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:25.729Z', + updatedAt: '2022-12-15T15:17:25.729Z', + code: null, + includeTotals: null, + }, + { + id: 1812, + name: 'Uncategorized NGOs', + description: null, + parentID: 1805, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:27.728Z', + updatedAt: '2022-12-15T15:17:27.728Z', + code: null, + includeTotals: null, + }, + { + id: 1813, + name: 'International Private Organizations', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:27.743Z', + updatedAt: '2022-12-15T15:17:27.743Z', + code: null, + includeTotals: null, + }, + { + id: 1814, + name: 'Local/National Private Organizations', + description: null, + parentID: 1802, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.035Z', + updatedAt: '2022-12-15T15:17:28.035Z', + code: null, + includeTotals: null, + }, + { + id: 1815, + name: 'Uncategorized Private Organizations', + description: null, + parentID: 1805, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.158Z', + updatedAt: '2022-12-15T15:17:28.158Z', + code: null, + includeTotals: null, + }, + { + id: 1816, + name: 'International Red Cross/Red Crescent Movement', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.167Z', + updatedAt: '2022-12-15T15:17:28.167Z', + code: null, + includeTotals: null, + }, + { + id: 1405, + name: 'Red Cross/Red Crescent National Societies', + description: null, + parentID: 117, + group: 'organizationType', + createdAt: '2017-12-09T00:03:39.666Z', + updatedAt: '2022-12-15T15:17:28.176Z', + code: null, + includeTotals: null, + }, + { + id: 1817, + name: 'Red Cross/Red Crescent National Societies', + description: null, + parentID: 1802, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.179Z', + updatedAt: '2022-12-15T15:17:28.179Z', + code: null, + includeTotals: null, + }, + { + id: 1818, + name: 'Global UN Pooled Funds', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.203Z', + updatedAt: '2022-12-15T15:17:28.203Z', + code: null, + includeTotals: null, + }, + { + id: 1819, + name: 'Regional UN Pooled Funds', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.212Z', + updatedAt: '2022-12-15T15:17:28.212Z', + code: null, + includeTotals: null, + }, + { + id: 1820, + name: 'Country-based UN Pooled Funds', + description: null, + parentID: 1802, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.220Z', + updatedAt: '2022-12-15T15:17:28.220Z', + code: null, + includeTotals: null, + }, + { + id: 1821, + name: 'UN Agencies', + description: null, + parentID: 116, + group: 'organizationType', + createdAt: '2022-12-15T15:17:28.228Z', + updatedAt: '2022-12-15T15:17:28.228Z', + code: null, + includeTotals: null, + }, + { + id: 1822, + name: 'UN Agencies', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.230Z', + updatedAt: '2022-12-15T15:17:28.230Z', + code: null, + includeTotals: null, + }, + { + id: 1823, + name: 'Other Multilateral Organizations', + description: null, + parentID: 116, + group: 'organizationType', + createdAt: '2022-12-15T15:17:28.232Z', + updatedAt: '2022-12-15T15:17:28.232Z', + code: null, + includeTotals: null, + }, + { + id: 1824, + name: 'Other Multilateral Organizations', + description: null, + parentID: 1804, + group: 'organizationLevel', + createdAt: '2022-12-15T15:17:28.234Z', + updatedAt: '2022-12-15T15:17:28.234Z', + code: null, + includeTotals: null, + }, + + { + id: 1308, + name: 'External user input', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-03-06T23:11:38.995Z', + updatedAt: '2017-03-06T23:11:38.995Z', + code: null, + includeTotals: null, + }, + { + id: 133, + name: 'Standard', + description: null, + parentID: null, + group: 'flowType', + createdAt: '2017-01-13T22:18:02.759Z', + updatedAt: '2017-01-13T22:18:02.759Z', + code: null, + includeTotals: null, + }, + { + id: 136, + name: 'Pass through', + description: null, + parentID: null, + group: 'flowType', + createdAt: '2017-01-13T22:18:02.824Z', + updatedAt: '2017-01-13T22:18:02.824Z', + code: null, + includeTotals: null, + }, + { + id: 137, + name: 'Carryover', + description: null, + parentID: null, + group: 'flowType', + createdAt: '2017-01-13T22:18:02.844Z', + updatedAt: '2017-01-13T22:18:02.844Z', + code: null, + includeTotals: null, + }, + { + id: 139, + name: 'Fax', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.886Z', + updatedAt: '2017-01-13T22:18:02.886Z', + code: null, + includeTotals: null, + }, + { + id: 142, + name: 'From EDRIS', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.943Z', + updatedAt: '2017-01-13T22:18:02.943Z', + code: null, + includeTotals: null, + }, + { + id: 144, + name: 'From OCT', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.980Z', + updatedAt: '2017-01-13T22:18:02.980Z', + code: null, + includeTotals: null, + }, + { + id: 147, + name: 'Web site', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:03.047Z', + updatedAt: '2017-01-13T22:18:03.047Z', + code: null, + includeTotals: null, + }, + { + id: 149, + name: 'Other', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:03.084Z', + updatedAt: '2017-01-13T22:18:03.084Z', + code: null, + includeTotals: null, + }, + { + id: 138, + name: 'Email', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.866Z', + updatedAt: '2017-01-13T22:18:02.866Z', + code: null, + includeTotals: null, + }, + { + id: 140, + name: 'Phone', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.905Z', + updatedAt: '2017-01-13T22:18:02.905Z', + code: null, + includeTotals: null, + }, + { + id: 141, + name: 'Conference', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.922Z', + updatedAt: '2017-01-13T22:18:02.922Z', + code: null, + includeTotals: null, + }, + { + id: 143, + name: 'From CERF', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.960Z', + updatedAt: '2017-01-13T22:18:02.960Z', + code: null, + includeTotals: null, + }, + { + id: 145, + name: 'FTS Web', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:02.999Z', + updatedAt: '2017-01-13T22:18:02.999Z', + code: null, + includeTotals: null, + }, + { + id: 146, + name: 'API', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:03.027Z', + updatedAt: '2017-01-13T22:18:03.027Z', + code: null, + includeTotals: null, + }, + { + id: 148, + name: 'GMS', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2017-01-13T22:18:03.066Z', + updatedAt: '2017-01-13T22:18:03.066Z', + code: null, + includeTotals: null, + }, + { + id: 156, + name: 'Traditional aid', + description: null, + parentID: null, + group: 'method', + createdAt: '2017-01-13T22:18:03.323Z', + updatedAt: '2017-01-13T22:18:03.323Z', + code: null, + includeTotals: null, + }, + { + id: 159, + name: 'Vouchers', + description: null, + parentID: 157, + group: 'method', + createdAt: '2017-01-13T22:18:03.397Z', + updatedAt: '2017-01-13T22:18:03.397Z', + code: null, + includeTotals: null, + }, + { + id: 160, + name: 'Mobile phone payments', + description: null, + parentID: 157, + group: 'method', + createdAt: '2017-01-13T22:18:03.415Z', + updatedAt: '2017-01-13T22:18:03.415Z', + code: null, + includeTotals: null, + }, + { + id: 1252, + name: 'Parked', + description: null, + parentID: null, + group: 'flowType', + createdAt: '2017-01-14T15:29:06.232Z', + updatedAt: '2017-01-14T15:29:06.232Z', + code: null, + includeTotals: null, + }, + { + id: 1500, + name: 'Unearmarked', + description: null, + parentID: null, + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.496Z', + updatedAt: '2019-01-21T22:46:10.496Z', + code: null, + includeTotals: null, + }, + { + id: 1501, + name: 'Softly earmarked', + description: null, + parentID: null, + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.498Z', + updatedAt: '2019-01-21T22:46:10.498Z', + code: null, + includeTotals: null, + }, + { + id: 1502, + name: 'Earmarked', + description: null, + parentID: null, + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.499Z', + updatedAt: '2019-01-21T22:46:10.499Z', + code: null, + includeTotals: null, + }, + { + id: 1503, + name: 'Tightly earmarked', + description: null, + parentID: null, + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.501Z', + updatedAt: '2019-01-21T22:46:10.501Z', + code: null, + includeTotals: null, + }, + { + id: 1600, + name: 'IATI', + description: null, + parentID: null, + group: 'reportChannel', + createdAt: '2019-04-08T17:36:25.587Z', + updatedAt: '2019-04-08T17:36:25.587Z', + code: null, + includeTotals: null, + }, + ], + emergencies: [ + { + id: 513, + name: 'AFGHANISTAN - Floods - June 2010', + description: + 'The floods took place in the Northeastern Region of Afghanistan in June 2010. Nine (9) people died and more than 50 villages affected.', + date: '2010-06-02T00:00:00.000Z', + glideId: 'FL-2010-000127-AFG', + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:09.851Z', + updatedAt: '2017-01-14T00:52:09.851Z', + }, + { + id: 509, + name: 'AFGHANISTAN - Floods and Avalanches - Feb 2010', + description: + 'At least 20 people have died in floods and avalanches, including flash floods, triggered by heaviest rain and snow in Afghanistan for 50 years.', + date: '2010-02-02T00:00:00.000Z', + glideId: 'FL-2010-000021-AFG', + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:09.833Z', + updatedAt: '2017-01-14T00:52:09.833Z', + }, + { + id: 409, + name: 'AFGHANISTAN - Avalanches and Heavy Snowfalls - January 2008', + description: + 'AFGHANISTAN - Avalanches and Heavy Snowfalls - January 2008', + date: '2008-01-17T00:00:00.000Z', + glideId: 'AV-2008-000003-AFG', + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:09.434Z', + updatedAt: '2017-01-14T00:52:09.434Z', + }, + { + id: 362, + name: 'AFGHANISTAN - Floods - November 2006', + description: 'AFGHANISTAN - Floods - November 2006', + date: '2006-11-13T00:00:00.000Z', + glideId: 'FF-2006-000163-AFG', + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:09.267Z', + updatedAt: '2017-01-14T00:52:09.267Z', + }, + { + id: 340, + name: 'Afghanistan Drought 2006', + description: '', + date: '2006-01-01T00:00:00.000Z', + glideId: null, + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:09.154Z', + updatedAt: '2017-01-14T00:52:09.154Z', + }, + { + id: 286, + name: 'AFGHANISTAN - Flood - June 2005', + description: 'AFGHANISTAN - Flood - June 2005', + date: '2005-06-20T00:00:00.000Z', + glideId: 'FL-2005-000094-AFG', + levelThree: false, + active: true, + restricted: false, + createdAt: '2017-01-14T00:52:08.895Z', + updatedAt: '2017-01-14T00:52:08.895Z', + }, + ], + flows: [ + { + id: 316064, + updatedAt: '2024-07-25T14:40:22.039Z', + amountUSD: '1772311', versionID: 1, - amountUSD: '20200000', - updatedAt: '2022-02-17T16:15:44.590Z', + activeStatus: true, + restricted: false, + exchangeRate: null, + flowDate: '2023-01-01T00:00:00.000Z', + newMoney: true, + decisionDate: '2023-01-01T00:00:00.000Z', + categories: [ + { + id: 47, + name: 'Commitment', + group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.002Z', + updatedAt: '2017-01-13T14:20:32.002Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 47, + updatedAt: '2024-07-25T14:40:22.092Z', + }, + }, + { + id: 50, + name: 'Financial', + group: 'contributionType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2024-07-25T14:40:22.100Z', + }, + }, + { + id: 133, + name: 'Standard', + group: 'flowType', + createdAt: '2017-01-13T22:18:02.759Z', + updatedAt: '2017-01-13T22:18:02.759Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 133, + updatedAt: '2024-07-25T14:40:22.084Z', + }, + }, + { + id: 156, + name: 'Traditional aid', + group: 'method', + createdAt: '2017-01-13T22:18:03.323Z', + updatedAt: '2017-01-13T22:18:03.323Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 156, + updatedAt: '2024-07-25T14:40:22.106Z', + }, + }, + { + id: 158, + name: 'Cash', + group: 'method', + createdAt: '2017-01-13T22:18:03.370Z', + updatedAt: '2017-01-13T22:18:03.370Z', + description: '', + parentID: 157, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 158, + updatedAt: '2024-07-25T14:40:22.113Z', + }, + }, + { + id: 1502, + name: 'Earmarked', + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.499Z', + updatedAt: '2019-01-21T22:46:10.499Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 1502, + updatedAt: '2024-07-25T14:40:22.130Z', + }, + }, + { + id: 1704, + name: 'USAID/BHA', + group: 'keywords', + createdAt: '2021-01-29T18:52:15.172Z', + updatedAt: '2021-01-29T18:52:15.172Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316064, + versionID: 1, + objectType: 'flow', + categoryID: 1704, + updatedAt: '2024-07-25T14:40:22.121Z', + }, + }, + ], + organizations: [ + { + id: 2933, + name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', + }, + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', + }, + ], + destinationOrganizations: [ + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', + }, + ], + sourceOrganizations: [ + { + id: 2933, + name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', + }, + ], + plans: [], + usageYears: [ + { + year: '2023', + direction: 'source', + }, + { + year: '2025', + direction: 'destination', + }, + ], + childIDs: [], + parentIDs: [], origAmount: null, origCurrency: null, + locations: [ + { + id: 237, + name: 'United States', + direction: 'source', + }, + { + id: 248, + name: 'Yemen', + direction: 'destination', + }, + ], + externalReferences: [], + reportDetails: [ + { + id: 622268, + flowID: 316064, + versionID: 1, + contactInfo: 'adecja@usaid.gov', + refCode: '720BHA23IO00066', + organizationID: 2933, + channel: 'Email', + source: 'Primary', + date: '2023-07-14T00:00:00.000Z', + verified: true, + updatedAt: '2024-07-25T14:40:22.137Z', + createdAt: '2023-02-17T09:17:56.656Z', + sourceID: null, + }, + { + id: 622269, + flowID: 316064, + versionID: 1, + contactInfo: 'Kimani DeShields/kwiliams@iom.int', + refCode: null, + organizationID: 2986, + channel: 'Email', + source: 'Primary', + date: '2024-07-25T00:00:00.000Z', + verified: true, + updatedAt: '2024-07-25T14:40:22.153Z', + createdAt: '2024-07-25T14:29:36.079Z', + sourceID: null, + }, + ], + parkedParentSource: null, + }, + { + id: 316063, + updatedAt: '2024-07-25T14:37:46.524Z', + amountUSD: '1082742', + versionID: 1, activeStatus: true, restricted: false, - childIDs: [2, 3], - parentIDs: null, + exchangeRate: null, + flowDate: '2023-01-01T00:00:00.000Z', + newMoney: true, + decisionDate: '2023-01-01T00:00:00.000Z', categories: [ { - name: 'Paid', + id: 47, + name: 'Commitment', group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.002Z', + updatedAt: '2017-01-13T14:20:32.002Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 47, + updatedAt: '2024-07-25T14:37:46.572Z', + }, }, { + id: 50, name: 'Financial', group: 'contributionType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2024-07-25T14:37:46.577Z', + }, }, { + id: 133, + name: 'Standard', + group: 'flowType', + createdAt: '2017-01-13T22:18:02.759Z', + updatedAt: '2017-01-13T22:18:02.759Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 133, + updatedAt: '2024-07-25T14:37:46.565Z', + }, + }, + { + id: 156, name: 'Traditional aid', group: 'method', + createdAt: '2017-01-13T22:18:03.323Z', + updatedAt: '2017-01-13T22:18:03.323Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 156, + updatedAt: '2024-07-25T14:37:46.583Z', + }, }, { - name: 'Parked', - group: 'flowType', + id: 158, + name: 'Cash', + group: 'method', + createdAt: '2017-01-13T22:18:03.370Z', + updatedAt: '2017-01-13T22:18:03.370Z', + description: '', + parentID: 157, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 158, + updatedAt: '2024-07-25T14:37:46.589Z', + }, }, { + id: 1502, name: 'Earmarked', group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.499Z', + updatedAt: '2019-01-21T22:46:10.499Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 1502, + updatedAt: '2024-07-25T14:37:46.601Z', + }, }, { + id: 1704, name: 'USAID/BHA', group: 'keywords', + createdAt: '2021-01-29T18:52:15.172Z', + updatedAt: '2021-01-29T18:52:15.172Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 316063, + versionID: 1, + objectType: 'flow', + categoryID: 1704, + updatedAt: '2024-07-25T14:37:46.594Z', + }, + }, + ], + organizations: [ + { + id: 2933, + name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', + }, + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', + }, + ], + destinationOrganizations: [ + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', + }, + ], + sourceOrganizations: [ + { + id: 2933, + name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', + }, + ], + plans: [ + { + id: 1193, + name: 'Yemen Humanitarian Response Plan 2024', + direction: 'destination', + }, + ], + usageYears: [ + { + year: '2023', + direction: 'source', + }, + { + year: '2024', + direction: 'destination', + }, + ], + childIDs: [], + parentIDs: [], + origAmount: null, + origCurrency: null, + locations: [ + { + id: 237, + name: 'United States', + direction: 'source', + }, + { + id: 248, + name: 'Yemen', + direction: 'destination', + }, + ], + externalReferences: [], + reportDetails: [ + { + id: 622266, + flowID: 316063, + versionID: 1, + contactInfo: 'adecja@usaid.gov', + refCode: '720BHA23IO00066', + organizationID: 2933, + channel: 'Email', + source: 'Primary', + date: '2023-07-14T00:00:00.000Z', + verified: true, + updatedAt: '2024-07-25T14:37:46.607Z', + createdAt: '2023-02-17T09:17:56.656Z', + sourceID: null, + }, + { + id: 622267, + flowID: 316063, + versionID: 1, + contactInfo: 'Kimani DeShields/kwiliams@iom.int', + refCode: null, + organizationID: 2986, + channel: 'Email', + source: 'Primary', + date: '2024-07-24T00:00:00.000Z', + verified: true, + updatedAt: '2024-07-25T14:37:46.616Z', + createdAt: '2024-07-25T14:37:46.616Z', + sourceID: null, + }, + ], + parkedParentSource: null, + }, + { + id: 284430, + updatedAt: '2024-07-25T14:36:43.748Z', + amountUSD: '1090502', + versionID: 1, + activeStatus: true, + restricted: false, + exchangeRate: null, + flowDate: '2023-01-01T00:00:00.000Z', + newMoney: true, + decisionDate: '2023-01-01T00:00:00.000Z', + categories: [ + { + id: 47, + name: 'Commitment', + group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.002Z', + updatedAt: '2017-01-13T14:20:32.002Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 47, + updatedAt: '2023-07-24T07:16:19.142Z', + }, + }, + { + id: 50, + name: 'Financial', + group: 'contributionType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, + }, + { + id: 133, + name: 'Standard', + group: 'flowType', + createdAt: '2017-01-13T22:18:02.759Z', + updatedAt: '2017-01-13T22:18:02.759Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 133, + updatedAt: '2023-07-24T07:16:19.132Z', + }, + }, + { + id: 156, + name: 'Traditional aid', + group: 'method', + createdAt: '2017-01-13T22:18:03.323Z', + updatedAt: '2017-01-13T22:18:03.323Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 156, + updatedAt: '2023-07-24T07:16:19.157Z', + }, + }, + { + id: 158, + name: 'Cash', + group: 'method', + createdAt: '2017-01-13T22:18:03.370Z', + updatedAt: '2017-01-13T22:18:03.370Z', + description: '', + parentID: 157, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 158, + updatedAt: '2023-07-24T07:16:19.165Z', + }, + }, + { + id: 1502, + name: 'Earmarked', + group: 'earmarkingType', + createdAt: '2019-01-21T22:46:10.499Z', + updatedAt: '2019-01-21T22:46:10.499Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 1502, + updatedAt: '2023-07-24T07:16:19.180Z', + }, }, { - name: 'West Bank and Gaza', + id: 1704, + name: 'USAID/BHA', group: 'keywords', + createdAt: '2021-01-29T18:52:15.172Z', + updatedAt: '2021-01-29T18:52:15.172Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 1704, + updatedAt: '2023-07-24T07:16:19.172Z', + }, }, ], organizations: [ { - objectID: 1, - refDirection: 'destination', - name: 'World Food Programme', + id: 2933, + name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', + }, + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', + }, + ], + destinationOrganizations: [ + { + id: 2986, + name: 'International Organization for Migration', + direction: 'destination', + abbreviation: 'IOM', }, + ], + sourceOrganizations: [ { - objectID: 2933, - refDirection: 'source', + id: 2933, name: 'United States of America, Government of', + direction: 'source', + abbreviation: 'USA', }, ], - plans: [], - locations: [ + plans: [ { - name: 'Occupied Palestinian territory', + id: 1116, + name: 'Yemen Humanitarian Response Plan 2023', + direction: 'destination', }, ], usageYears: [ { - year: '2021', - refDirection: 'destination', + year: '2023', + direction: 'destination', }, { - year: '2021', - refDirection: 'source', + year: '2023', + direction: 'source', }, ], + childIDs: [], + parentIDs: [], + origAmount: null, + origCurrency: null, + locations: [ + { + id: 237, + name: 'United States', + direction: 'source', + }, + { + id: 248, + name: 'Yemen', + direction: 'destination', + }, + ], + externalReferences: [], reportDetails: [ { - id: 1, - refCode: - '10042194\tNo\t72029421IO00001\tUSA-C-02015-01\tPS01.01.011.URT1', - organizationID: 1, + id: 622265, + flowID: 284430, + versionID: 1, + contactInfo: 'adecja@usaid.gov', + refCode: '720BHA23IO00066', + organizationID: 2933, + channel: 'Email', source: 'Primary', + date: '2023-07-14T00:00:00.000Z', + verified: true, + updatedAt: '2024-07-25T14:36:43.800Z', + createdAt: '2023-02-17T09:17:56.656Z', sourceID: null, - date: '2022-02-01T00:00:00.000Z', - channel: 'Email', }, ], + parkedParentSource: null, }, { - id: 2, + id: 305776, versionID: 1, - amountUSD: '6685723', - updatedAt: '2022-02-15T16:15:44.482Z', + amountUSD: '550800', + updatedAt: '2024-04-17T02:26:23.447Z', origAmount: null, + exchangeRate: null, + flowDate: '2024-04-17T00:00:00.000Z', + newMoney: true, + decisionDate: '2024-04-17T00:00:00.000Z', origCurrency: null, - activeStatus: true, + activeStatus: false, restricted: false, childIDs: null, - parentIDs: [1], + parentIDs: [305774], categories: [ { - name: 'Paid', + id: 45, + name: 'Pending review', + group: 'inactiveReason', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, + }, + { + id: 47, + name: 'Commitment', group: 'flowStatus', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, }, { + id: 50, name: 'Financial', group: 'contributionType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, }, { + id: 133, name: 'Standard', group: 'flowType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, }, { + id: 156, name: 'Traditional aid', group: 'method', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, }, { - name: 'Earmarked', + id: 1500, + name: 'Unearmarked', group: 'earmarkingType', + createdAt: '2017-01-13T14:20:32.131Z', + updatedAt: '2017-01-13T14:20:32.131Z', + description: '', + parentID: null, + code: '', + includeTotals: false, + categoryRef: { + objectID: 284430, + versionID: 1, + objectType: 'flow', + categoryID: 50, + updatedAt: '2023-07-24T07:16:19.150Z', + }, }, + ], + organizations: [ + { + id: 4762, + direction: 'source', + name: 'Central Emergency Response Fund', + abbreviation: 'CERF', + }, + { + id: 2915, + direction: 'destination', + name: "United Nations Children's Fund", + abbreviation: 'UNICEF', + }, + ], + plans: [], + locations: [{ id: 152, name: 'Mozambique', direction: 'destination' }], + usageYears: [ + { + year: '2024', + direction: 'source', + }, + { + year: '2024', + direction: 'destination', + }, + ], + reportDetails: [ + { + id: 594108, + refCode: '24-RR-CEF-017', + organizationID: 4762, + source: 'Primary', + sourceID: '4973:24-RR-CEF-017:Health', + date: '2024-04-17T00:00:00.000Z', + channel: 'From CERF', + versionID: 1, + verified: true, + createdAt: '2024-04-16T00:00:00.000Z', + updatedAt: '2024-04-16T00:00:00.000Z', + }, + ], + externalReferences: [], + parkedParentSource: null, + }, + ], + globalClusters: [ + { + id: 26512, + hrinfoId: null, + type: 'custom', + name: 'Agriculture', + code: 'AGR', + homepage: null, + defaultIconId: 'other_clusters_agriculture_icon', + parentId: 6, + displayFTSSummariesFromYear: 2012, + createdAt: '2017-11-17T00:06:32.440Z', + updatedAt: '2021-08-24T11:51:10.748Z', + }, + { + id: 1, + hrinfoId: 1, + type: 'global', + name: 'Camp Coordination / Management', + code: 'CCM', + homepage: 'http://www.globalcccmcluster.org', + defaultIconId: 'clusters_camp_coordination_and_camp_management_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.465Z', + updatedAt: '2021-08-24T11:51:20.534Z', + }, + { + id: 26480, + hrinfoId: null, + type: 'custom', + name: 'Coordination and support services', + code: 'CSS', + homepage: null, + defaultIconId: 'other_clusters_coordination_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2017-01-14T02:13:20.198Z', + updatedAt: '2021-08-24T11:51:24.794Z', + }, + { + id: 26513, + hrinfoId: null, + type: 'custom', + name: 'COVID-19', + code: 'COV19', + homepage: null, + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2020-03-24T12:00:00.000Z', + updatedAt: '2021-08-24T11:51:28.429Z', + }, + { + id: 2, + hrinfoId: 2, + type: 'global', + name: 'Early Recovery', + code: 'ERY', + homepage: + 'https://www.humanitarianresponse.info/en/coordination/clusters/launching-soon', + defaultIconId: 'clusters_recovery_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.473Z', + updatedAt: '2021-08-24T11:51:32.528Z', + }, + { + id: 3, + hrinfoId: 3, + type: 'global', + name: 'Education', + code: 'EDU', + homepage: 'http://educationcluster.net/', + defaultIconId: 'clusters_education_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.478Z', + updatedAt: '2021-08-24T11:51:36.239Z', + }, + { + id: 4, + hrinfoId: 4, + type: 'global', + name: 'Emergency Shelter and NFI', + code: 'SHL', + homepage: 'https://www.sheltercluster.org', + defaultIconId: 'clusters_shelter_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.481Z', + updatedAt: '2021-08-24T11:51:39.902Z', + }, + { + id: 5, + hrinfoId: 5, + type: 'global', + name: 'Emergency Telecommunications', + code: 'TEL', + homepage: 'www.ETCluster.org', + defaultIconId: 'clusters_emergency_telecommunications_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.485Z', + updatedAt: '2021-08-24T11:52:01.065Z', + }, + { + id: 6, + hrinfoId: 6, + type: 'global', + name: 'Food Security', + code: 'FSC', + homepage: 'http://www.foodsecuritycluster.net', + defaultIconId: 'disaster_flood_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.489Z', + updatedAt: '2021-08-24T11:52:08.350Z', + }, + { + id: 7, + hrinfoId: 7, + type: 'global', + name: 'Health', + code: 'HEA', + homepage: 'http://www.who.int/hac/global_health_cluster/en/', + defaultIconId: 'clusters_health_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.494Z', + updatedAt: '2021-08-24T11:52:13.708Z', + }, + { + id: 8, + hrinfoId: 8, + type: 'global', + name: 'Logistics', + code: 'LOG', + homepage: 'http://www.logcluster.org', + defaultIconId: 'clusters_logistics_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.499Z', + updatedAt: '2021-08-24T11:52:18.249Z', + }, + { + id: 26479, + hrinfoId: null, + type: 'custom', + name: 'Multi-sector', + code: 'MS', + homepage: null, + defaultIconId: 'other_clusters_multi-sector_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2017-01-14T02:13:20.198Z', + updatedAt: '2021-08-24T11:52:24.427Z', + }, + { + id: 9, + hrinfoId: 9, + type: 'global', + name: 'Nutrition', + code: 'NUT', + homepage: 'http://nutritioncluster.net', + defaultIconId: 'clusters_nutrition_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.504Z', + updatedAt: '2021-08-24T11:52:27.907Z', + }, + { + id: 26481, + hrinfoId: null, + type: 'custom', + name: 'Other', + code: 'OTH', + homepage: null, + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2017-01-14T02:13:20.198Z', + updatedAt: '2021-08-24T11:52:31.779Z', + }, + { + id: 10, + hrinfoId: 10, + type: 'global', + name: 'Protection', + code: 'PRO', + homepage: 'http://www.globalprotectioncluster.org', + defaultIconId: 'clusters_protection_icon', + parentId: null, + displayFTSSummariesFromYear: 2020, + createdAt: '2015-09-10T20:26:37.507Z', + updatedAt: '2021-08-10T14:35:25.912Z', + }, + { + id: 12, + hrinfoId: 5403, + type: 'aor', + name: 'Protection - Child Protection', + code: 'PRO-CPN', + homepage: 'http://www.cpwg.net/', + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: 2020, + createdAt: '2015-09-10T20:26:37.515Z', + updatedAt: '2021-08-10T14:35:21.625Z', + }, + { + id: 13, + hrinfoId: 5404, + type: 'aor', + name: 'Protection - Gender-Based Violence', + code: 'PRO-GBV', + homepage: 'http://www.gbvaor.net/', + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: 2020, + createdAt: '2015-09-10T20:26:37.519Z', + updatedAt: '2021-08-10T14:35:17.766Z', + }, + { + id: 14, + hrinfoId: 5405, + type: 'aor', + name: 'Protection - Housing, Land and Property', + code: 'PRO-HLP', + homepage: + 'http://www.globalprotectioncluster.org/en/areas-of-responsibility/housing-land-and-property.html', + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: null, + createdAt: '2015-09-10T20:26:37.524Z', + updatedAt: '2021-04-26T14:42:40.052Z', + }, + { + id: 26546, + hrinfoId: null, + type: 'aor', + name: 'Protection - Human Trafficking & Smuggling', + code: 'PRO-HTS', + homepage: null, + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: null, + createdAt: '2021-02-15T15:48:42.661Z', + updatedAt: '2021-04-26T14:43:09.171Z', + }, + { + id: 15, + hrinfoId: 5406, + type: 'aor', + name: 'Protection - Mine Action', + code: 'PRO-MIN', + homepage: + 'http://www.globalprotectioncluster.org/en/areas-of-responsibility/mine-action.html', + defaultIconId: null, + parentId: null, + displayFTSSummariesFromYear: 2020, + createdAt: '2015-09-10T20:26:37.529Z', + updatedAt: '2021-08-10T14:35:13.095Z', + }, + { + id: 11, + hrinfoId: 11, + type: 'global', + name: 'Water Sanitation Hygiene', + code: 'WSH', + homepage: 'http://washcluster.net/', + defaultIconId: 'clusters_water_sanitation_and_hygiene_icon', + parentId: null, + displayFTSSummariesFromYear: 2012, + createdAt: '2015-09-10T20:26:37.511Z', + updatedAt: '2021-08-24T11:52:35.295Z', + }, + ], + keywords: [ + { + id: 1158, + name: 'Asia 2002', + description: null, + parentID: null, + code: null, + group: 'keywords', + includeTotals: null, + createdAt: '2017-01-14T02:49:28.386Z', + updatedAt: '2017-01-14T02:49:28.386Z', + refCount: '2', + }, + { + id: 137, + name: 'Carryover', + description: null, + parentID: null, + code: null, + group: 'flowType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.844Z', + updatedAt: '2017-01-13T22:18:02.844Z', + refCount: '5', + }, + ], + locations: [ + { + id: 209, + externalId: '389', + name: 'Spain', + adminLevel: 0, + latitude: 40.309787496783, + longitude: -3.578125378279, + iso3: 'ESP', + pcode: null, + validOn: null, + status: 'active', + itosSync: true, + createdAt: '2015-09-10T20:25:11.133Z', + updatedAt: '2023-01-15T00:05:07.209Z', + parentId: null, + children: [], + }, + ], + operations: [ + { + id: 0, + name: 'Operation with no reporting window', + }, + { + id: 1, + name: 'Operation with a reporting window, and cluster and operation assignments', + }, + { + id: 2, + name: 'Operation with multiple reporting windows', + }, + { + id: 3, + name: 'Operation with a reporting window, and cluster assignments', + }, + { + id: 4, + name: 'Operation with a reporting window, and operation assignments', + }, + ], + operationClusters: [ + { + id: 10, + operationId: 1, + abbreviation: 'CCM', + name: 'Camp Coordination & Management', + }, + { + id: 11, + operationId: 1, + abbreviation: 'EDU', + name: 'Education', + }, + { + id: 12, + operationId: 1, + abbreviation: 'HEA', + name: 'Health', + }, + { + id: 13, + operationId: 1, + abbreviation: 'PRO', + name: 'Protection', + }, + { + id: 14, + operationId: 3, + abbreviation: 'PRO', + name: 'Protection', + }, + ], + organizations: [ + { + id: 9093, + name: 'Association pour le Secours et le Développement', + nativeName: '', + abbreviation: 'ASD', + url: null, + parentID: null, + comments: + 'Développement coordonne ses programmes autour de 6 domaines d’activités : • Nutrition, santé, pratiques de soins • Sécurité alimentaire et moyens d’existence • Eau, assainissement et hygiène • Plaidoyer et sensibilisation • Abris • Education', + verified: true, + notes: null, + active: true, + collectiveInd: false, + newOrganizationId: null, + createdAt: '2017-10-29T20:45:26.233Z', + updatedAt: '2019-05-14T12:19:16.995Z', + deletedAt: null, + categories: [ { - name: 'USAID/BHA', - group: 'keywords', + id: 118, + name: 'NGOs', + description: null, + parentID: null, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + categoryRef: { + objectID: 9093, + versionID: 1, + objectType: 'organization', + categoryID: 118, + createdAt: '2017-10-29T20:45:26.445Z', + updatedAt: '2017-10-29T20:45:26.445Z', + }, }, { - name: 'West Bank and Gaza', - group: 'keywords', + id: 1810, + name: 'National NGOs/CSOs', + description: null, + parentID: 1802, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:15.037Z', + updatedAt: '2022-12-15T15:17:15.037Z', + categoryRef: { + objectID: 9093, + versionID: 1, + objectType: 'organization', + categoryID: 1810, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, - ], - organizations: [ { - objectID: 1, - refDirection: 'destination', - name: 'World Food Programme', + id: 1802, + name: 'Local and National Non-State Actors', + description: null, + parentID: null, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:12.799Z', + updatedAt: '2022-12-15T15:17:12.799Z', + categoryRef: { + objectID: 9093, + versionID: 1, + objectType: 'organization', + categoryID: 1802, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, { - objectID: 1, - refDirection: 'source', - name: 'World Food Programme', + id: 130, + name: 'National NGOs/CSOs', + description: null, + parentID: 118, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.688Z', + updatedAt: '2022-12-15T15:17:15.025Z', + categoryRef: { + objectID: 9093, + versionID: 1, + objectType: 'organization', + categoryID: 130, + createdAt: '2019-05-14T12:18:30.858Z', + updatedAt: '2019-05-14T12:18:30.858Z', + }, }, ], - plans: [ + }, + { + id: 11214, + name: '1001 Ideas Para Mi País', + nativeName: null, + abbreviation: '1001 Ideas', + url: 'https://1001ideas.co/', + parentID: null, + comments: + '600/5000\n1001 Ideas is an organization that positions itself as an innovation community focused on young people. These are spaces where young people, between 15-29 years old, can meet, learn and solve public and social problems through social entrepreneurship, social innovation, sustainable development, which allows them to be social agents of change. I am Co-Founder and Executive Director of the organization, my responsibilities are to design, execute and evaluate the plans, processes and activities in terms of strategy, sustainability, products / services and public relations of 1001 Ideas.', + verified: true, + notes: null, + active: true, + collectiveInd: false, + newOrganizationId: null, + createdAt: '2020-03-13T10:37:39.214Z', + updatedAt: '2023-07-19T12:27:26.974Z', + deletedAt: null, + categories: [ { - name: 'Occupied Palestinian territory 2021', + id: 118, + name: 'NGOs', + description: null, + parentID: null, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + categoryRef: { + objectID: 11214, + versionID: 1, + objectType: 'organization', + categoryID: 118, + createdAt: '2020-03-13T10:37:41.363Z', + updatedAt: '2020-03-13T10:37:41.363Z', + }, }, - ], - locations: [ { - name: 'Occupied Palestinian territory', + id: 130, + name: 'National NGOs/CSOs', + description: null, + parentID: 118, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.688Z', + updatedAt: '2022-12-15T15:17:15.025Z', + categoryRef: { + objectID: 11214, + versionID: 1, + objectType: 'organization', + categoryID: 130, + createdAt: '2020-03-13T10:37:41.368Z', + updatedAt: '2020-03-13T10:37:41.368Z', + }, }, - ], - usageYears: [ { - year: '2021', - refDirection: 'destination', + id: 1802, + name: 'Local and National Non-State Actors', + description: null, + parentID: null, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:12.799Z', + updatedAt: '2022-12-15T15:17:12.799Z', + categoryRef: { + objectID: 11214, + versionID: 1, + objectType: 'organization', + categoryID: 1802, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, { - year: '2021', - refDirection: 'source', + id: 1810, + name: 'National NGOs/CSOs', + description: null, + parentID: 1802, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:15.037Z', + updatedAt: '2022-12-15T15:17:15.037Z', + categoryRef: { + objectID: 11214, + versionID: 1, + objectType: 'organization', + categoryID: 1810, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, ], - reportDetails: [ + locations: [ { - id: 2, - refCode: - '10042194\tNo\t72029421IO00001\tUSA-C-02015-01\tPS01.01.011.URT1', - organizationID: 1, - source: 'Primary', - sourceID: null, - date: '2022-02-01T00:00:00.000Z', - channel: 'Email', + id: 242, + externalId: '422', + name: 'Venezuela, Bolivarian Republic of', + adminLevel: 0, + latitude: 7.115201972148, + longitude: -66.183670771628, + iso3: 'VEN', + pcode: 'VE', + validOn: null, + status: 'active', + itosSync: true, + createdAt: '2015-09-10T20:25:11.299Z', + updatedAt: '2023-04-30T00:05:06.847Z', + parentId: null, }, ], + parent: null, }, { - id: 3, - versionID: 1, - amountUSD: '13514277', - updatedAt: '2022-02-16T16:14:31.838Z', - origAmount: null, - origCurrency: null, - activeStatus: true, - restricted: false, - childIDs: null, - parentIDs: [1], + id: 10992, + name: '100% Diversidad y Derechos', + nativeName: null, + abbreviation: '100% DyD', + url: 'https://100porciento.wordpress.com/', + parentID: null, + comments: + 'About us\nThose of us who make up the 100% Diversity and Rights group, come together to claim our own diversities, and appealing to build from them, we find ourselves in the idea, commitment and willingness to promote and defend the recognition and respect for the free sexual orientation and identity of gender of all.\n\nEquality refers to the existence of the diverse, and implies that this not only can not be to the detriment of those who embody it, but that it is characteristic of people as social subjects. Without sexual, gender, ethnic, religious, political or ideological diversity, of nationality, among many others, there is no possible society, or not at least, a society that incorporates the progress in equality achieved by the struggles that make it truly democratic .\n\nIt is not just about wanting or believing in something, we have the conviction that we claim only what corresponds. We join this and every struggle for the recognition, respect and enforceability of the rights of all people, of our rights and those of our fellow men - whoever we are; 100%, all rights for everyone.', + verified: true, + notes: null, + active: true, + collectiveInd: false, + newOrganizationId: null, + createdAt: '2020-01-21T09:18:23.730Z', + updatedAt: '2020-01-21T09:18:23.730Z', + deletedAt: null, categories: [ { - name: 'Paid', - group: 'flowStatus', + id: 118, + name: 'NGOs', + description: null, + parentID: null, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + categoryRef: { + objectID: 10992, + versionID: 1, + objectType: 'organization', + categoryID: 118, + createdAt: '2020-01-21T09:18:23.776Z', + updatedAt: '2020-01-21T09:18:23.776Z', + }, }, { - name: 'Financial', - group: 'contributionType', + id: 130, + name: 'National NGOs/CSOs', + description: null, + parentID: 118, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.688Z', + updatedAt: '2022-12-15T15:17:15.025Z', + categoryRef: { + objectID: 10992, + versionID: 1, + objectType: 'organization', + categoryID: 130, + createdAt: '2020-01-21T09:18:23.782Z', + updatedAt: '2020-01-21T09:18:23.782Z', + }, }, { - name: 'Standard', - group: 'flowType', + id: 1802, + name: 'Local and National Non-State Actors', + description: null, + parentID: null, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:12.799Z', + updatedAt: '2022-12-15T15:17:12.799Z', + categoryRef: { + objectID: 10992, + versionID: 1, + objectType: 'organization', + categoryID: 1802, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, { - name: 'Traditional aid', - group: 'method', + id: 1810, + name: 'National NGOs/CSOs', + description: null, + parentID: 1802, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:15.037Z', + updatedAt: '2022-12-15T15:17:15.037Z', + categoryRef: { + objectID: 10992, + versionID: 1, + objectType: 'organization', + categoryID: 1810, + createdAt: '2022-12-15T15:17:25.240Z', + updatedAt: '2022-12-15T15:17:25.240Z', + }, }, + ], + locations: [ { - name: 'Earmarked', - group: 'earmarkingType', + id: 11, + externalId: '191', + name: 'Argentina', + adminLevel: 0, + latitude: -34.985672343326, + longitude: -65.122258918217, + iso3: 'ARG', + pcode: null, + validOn: null, + status: 'active', + itosSync: true, + createdAt: '2015-09-10T20:25:09.284Z', + updatedAt: '2023-09-30T00:05:06.206Z', + parentId: null, }, + ], + parent: null, + }, + { + id: 12930, + name: '100% ESTRÓGENO', + nativeName: '100% ESTROGENO', + abbreviation: '100E', + url: 'https://100estrogeno.org', + parentID: null, + comments: + "WOMEN'S HUMAN RIGHTS, WOMEN'S CIVIC AND POLITICAL RIGHTS. PROJECT MANAGER\n", + verified: true, + notes: null, + active: true, + collectiveInd: false, + newOrganizationId: null, + createdAt: '2023-01-05T16:38:01.701Z', + updatedAt: '2023-01-06T10:11:49.964Z', + deletedAt: null, + categories: [ { - name: 'USAID/BHA', - group: 'keywords', + id: 118, + name: 'NGOs', + description: null, + parentID: null, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + categoryRef: { + objectID: 12930, + versionID: 1, + objectType: 'organization', + categoryID: 118, + createdAt: '2023-01-05T16:38:01.750Z', + updatedAt: '2023-01-05T16:38:01.750Z', + }, }, { - name: 'West Bank and Gaza', - group: 'keywords', + id: 131, + name: 'Local NGOs/CSOs', + description: null, + parentID: 118, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.709Z', + updatedAt: '2022-12-15T15:17:25.706Z', + categoryRef: { + objectID: 12930, + versionID: 1, + objectType: 'organization', + categoryID: 131, + createdAt: '2023-01-05T16:38:01.748Z', + updatedAt: '2023-01-05T16:38:01.748Z', + }, }, - ], - organizations: [ { - objectID: 1, - refDirection: 'destination', - name: 'World Food Programme', + id: 1802, + name: 'Local and National Non-State Actors', + description: null, + parentID: null, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:12.799Z', + updatedAt: '2022-12-15T15:17:12.799Z', + categoryRef: { + objectID: 12930, + versionID: 1, + objectType: 'organization', + categoryID: 1802, + createdAt: '2023-01-05T16:38:01.753Z', + updatedAt: '2023-01-05T16:38:01.753Z', + }, }, { - objectID: 1, - refDirection: 'source', - name: 'World Food Programme', + id: 1811, + name: 'Local NGOs/CSOs', + description: null, + parentID: 1802, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:25.729Z', + updatedAt: '2022-12-15T15:17:25.729Z', + categoryRef: { + objectID: 12930, + versionID: 1, + objectType: 'organization', + categoryID: 1811, + createdAt: '2023-01-05T16:38:01.750Z', + updatedAt: '2023-01-05T16:38:01.750Z', + }, }, ], - plans: [ + locations: [ { - name: 'Occupied Palestinian territory 2021', + id: 242, + externalId: '422', + name: 'Venezuela, Bolivarian Republic of', + adminLevel: 0, + latitude: 7.115201972148, + longitude: -66.183670771628, + iso3: 'VEN', + pcode: 'VE', + validOn: null, + status: 'active', + itosSync: true, + createdAt: '2015-09-10T20:25:11.299Z', + updatedAt: '2023-04-30T00:05:06.847Z', + parentId: null, }, ], - locations: [ + parent: null, + }, + { + id: 418, + name: '11.11.11 - Koepel van de Vlaamse Noord-Zuidbeweging vzw', + nativeName: '11.11.11 - Koepel van de Vlaamse Noord-Zuidbeweging vzw', + abbreviation: '11.11.11 - Koepel van de Vlaamse Noord-Zuidbeweging vzw', + url: null, + parentID: null, + comments: null, + verified: true, + notes: null, + active: true, + collectiveInd: false, + newOrganizationId: null, + createdAt: '2017-01-14T00:53:49.398Z', + updatedAt: '2020-12-09T16:50:22.226Z', + deletedAt: null, + categories: [ { - name: 'Occupied Palestinian territory', + id: 118, + name: 'NGOs', + description: null, + parentID: null, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.367Z', + updatedAt: '2022-12-15T15:17:12.866Z', + categoryRef: { + objectID: 418, + versionID: 1, + objectType: 'organization', + categoryID: 118, + createdAt: '2017-01-14T00:56:42.346Z', + updatedAt: '2017-01-14T00:56:42.346Z', + }, + }, + { + id: 127, + name: 'International NGOs', + description: null, + parentID: 118, + code: null, + group: 'organizationType', + includeTotals: null, + createdAt: '2017-01-13T22:18:02.629Z', + updatedAt: '2022-12-15T15:17:13.203Z', + categoryRef: { + objectID: 418, + versionID: 1, + objectType: 'organization', + categoryID: 127, + createdAt: '2020-12-09T16:50:22.250Z', + updatedAt: '2020-12-09T16:50:22.250Z', + }, }, - ], - usageYears: [ { - year: '2021', - refDirection: 'destination', + id: 1804, + name: 'International Actors', + description: null, + parentID: null, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:12.844Z', + updatedAt: '2022-12-15T15:17:12.844Z', + categoryRef: { + objectID: 418, + versionID: 1, + objectType: 'organization', + categoryID: 1804, + createdAt: '2022-12-15T15:17:14.664Z', + updatedAt: '2022-12-15T15:17:14.664Z', + }, }, { - year: '2021', - refDirection: 'source', + id: 1808, + name: 'International NGOs', + description: null, + parentID: 1804, + code: null, + group: 'organizationLevel', + includeTotals: null, + createdAt: '2022-12-15T15:17:13.208Z', + updatedAt: '2022-12-15T15:17:13.208Z', + categoryRef: { + objectID: 418, + versionID: 1, + objectType: 'organization', + categoryID: 1808, + createdAt: '2022-12-15T15:17:14.664Z', + updatedAt: '2022-12-15T15:17:14.664Z', + }, }, ], - reportDetails: [ + locations: [ { - id: 3, - refCode: - '10042194\tNo\t72029421IO00001\tUSA-C-02015-01\tPS01.01.011.URT1', - organizationID: 1, - source: 'Primary', - sourceID: null, - date: '2022-02-01T00:00:00.000Z', - channel: 'Email', + id: 22, + externalId: '202', + name: 'Belgium', + adminLevel: 0, + latitude: 50.642060108016, + longitude: 4.658786235628, + iso3: 'BEL', + pcode: null, + validOn: null, + status: 'active', + itosSync: true, + createdAt: '2015-09-10T20:25:09.436Z', + updatedAt: '2023-04-15T00:05:07.890Z', + parentId: null, }, ], + parent: null, }, ], - operations: [ + plans: [ { - id: 0, - name: 'Operation with no reporting window', + id: 1117, + restricted: false, + revisionState: 'none', + createdAt: '2023-05-18T09:14:13.164Z', + updatedAt: '2023-05-18T09:14:13.164Z', + planVersionId: 4581, + planId: 1117, + name: 'Afghanistan Humanitarian Response Plan 2023', + startDate: '2023-01-01', + endDate: '2023-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG23', + customLocationCode: null, + currentReportingPeriodId: 2611, + lastPublishedReportingPeriodId: 2610, + clusterSelectionType: 'multi', + currentVersion: false, + latestVersion: true, + latestTaggedVersion: false, + versionTags: [], }, { - id: 1, - name: 'Operation with a reporting window, and cluster and operation assignments', + id: 1118, + restricted: false, + revisionState: 'none', + createdAt: '2023-03-22T07:55:33.041Z', + updatedAt: '2023-03-22T07:56:31.621Z', + planVersionId: 4505, + planId: 1118, + name: 'Afghanistan Situation Regional Refugee Response Plan 2023', + startDate: '2023-01-01', + endDate: '2023-12-31', + comments: null, + isForHPCProjects: true, + code: 'RAFG23', + customLocationCode: 'AFG', + currentReportingPeriodId: 2425, + lastPublishedReportingPeriodId: null, + clusterSelectionType: 'multi', + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], }, { - id: 2, - name: 'Operation with multiple reporting windows', + id: 1061, + restricted: false, + revisionState: 'none', + createdAt: '2022-11-17T15:10:10.885Z', + updatedAt: '2022-11-17T15:12:10.657Z', + planVersionId: 4279, + planId: 1061, + name: 'Afghanistan Situation Regional Refugee Response Plan 2022', + startDate: '2022-01-01', + endDate: '2022-12-31', + comments: null, + isForHPCProjects: true, + code: 'RAFG22', + customLocationCode: 'AFG', + currentReportingPeriodId: 1916, + lastPublishedReportingPeriodId: null, + clusterSelectionType: 'multi', + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.2'], }, { - id: 3, - name: 'Operation with a reporting window, and cluster assignments', + id: 1100, + restricted: false, + revisionState: 'none', + createdAt: '2023-01-11T09:58:10.749Z', + updatedAt: '2023-04-06T10:18:30.355Z', + planVersionId: 4355, + planId: 1100, + name: 'Afghanistan Humanitarian Response Plan 2022', + startDate: '2022-01-01', + endDate: '2022-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG22', + customLocationCode: null, + currentReportingPeriodId: 2305, + lastPublishedReportingPeriodId: 2305, + clusterSelectionType: 'multi', + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.16'], }, { - id: 4, - name: 'Operation with a reporting window, and operation assignments', + id: 1057, + restricted: false, + revisionState: 'none', + createdAt: '2021-09-13T15:21:07.390Z', + updatedAt: '2021-11-25T12:23:50.198Z', + planVersionId: 3295, + planId: 1057, + name: 'Afghanistan Flash Appeal 2021', + startDate: '2021-09-01', + endDate: '2021-12-31', + comments: null, + isForHPCProjects: true, + code: 'FAFG21', + customLocationCode: null, + currentReportingPeriodId: 1795, + lastPublishedReportingPeriodId: null, + clusterSelectionType: 'multi', + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0', '1.1', '1.2', '1.3', '1.4'], + }, + { + id: 1031, + restricted: false, + revisionState: 'none', + createdAt: '2022-01-17T12:07:34.469Z', + updatedAt: '2022-06-08T10:01:42.578Z', + planVersionId: 3682, + planId: 1031, + name: 'Afghanistan Humanitarian Response Plan 2021', + startDate: '2021-01-01', + endDate: '2021-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG21', + customLocationCode: null, + currentReportingPeriodId: 1616, + lastPublishedReportingPeriodId: 1616, + clusterSelectionType: 'multi', + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['3.4'], + }, + { + id: 929, + restricted: false, + revisionState: 'none', + createdAt: '2021-01-15T05:45:32.662Z', + updatedAt: '2021-01-15T05:45:32.662Z', + planVersionId: 2978, + planId: 929, + name: 'Afghanistan 2020', + startDate: '2020-01-01', + endDate: '2020-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG20', + customLocationCode: null, + currentReportingPeriodId: 1282, + lastPublishedReportingPeriodId: 1281, + clusterSelectionType: 'multi', + currentVersion: false, + latestVersion: true, + latestTaggedVersion: false, + versionTags: [], + }, + { + id: 672, + restricted: false, + revisionState: 'planDataOnly', + createdAt: '2019-12-09T10:05:41.234Z', + updatedAt: '2019-12-09T10:05:41.314Z', + planVersionId: 1704, + planId: 672, + name: 'Afghanistan 2019', + startDate: '2019-01-01', + endDate: '2019-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG19', + customLocationCode: null, + currentReportingPeriodId: 677, + lastPublishedReportingPeriodId: 677, + clusterSelectionType: null, + currentVersion: false, + latestVersion: true, + latestTaggedVersion: false, + versionTags: [], + }, + { + id: 645, + restricted: false, + revisionState: 'none', + createdAt: '2017-10-18T18:14:47.878Z', + updatedAt: '2022-05-13T13:44:54.926Z', + planVersionId: 524, + planId: 645, + name: 'Afghanistan 2018', + startDate: '2018-01-01', + endDate: '2018-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG18', + customLocationCode: null, + currentReportingPeriodId: 375, + lastPublishedReportingPeriodId: null, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0', '2.0'], + }, + { + id: 544, + restricted: false, + revisionState: 'none', + createdAt: '2017-01-14T00:52:56.049Z', + updatedAt: '2018-05-01T14:44:45.409Z', + planVersionId: 526, + planId: 544, + name: 'Afghanistan 2017', + startDate: '2017-01-01', + endDate: '2017-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG17', + customLocationCode: null, + currentReportingPeriodId: 170, + lastPublishedReportingPeriodId: 170, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], + }, + { + id: 525, + restricted: false, + revisionState: null, + createdAt: '2017-01-14T00:52:56.005Z', + updatedAt: '2017-02-22T17:18:26.096Z', + planVersionId: 504, + planId: 525, + name: 'Afghanistan Flash Appeal: One million people on the move (September - December 2016)', + startDate: '2016-09-01', + endDate: '2016-12-31', + comments: null, + isForHPCProjects: false, + code: 'FAFG16', + customLocationCode: null, + currentReportingPeriodId: null, + lastPublishedReportingPeriodId: null, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], + }, + { + id: 512, + restricted: false, + revisionState: null, + createdAt: '2017-01-14T00:52:55.964Z', + updatedAt: '2017-02-22T17:18:25.908Z', + planVersionId: 464, + planId: 512, + name: 'Afghanistan 2016', + startDate: '2016-01-01', + endDate: '2016-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG16', + customLocationCode: null, + currentReportingPeriodId: null, + lastPublishedReportingPeriodId: null, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], + }, + { + id: 462, + restricted: false, + revisionState: null, + createdAt: '2017-01-14T00:52:55.823Z', + updatedAt: '2017-02-22T17:18:25.039Z', + planVersionId: 1082, + planId: 462, + name: 'Afghanistan 2015', + startDate: '2015-01-01', + endDate: '2015-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG15', + customLocationCode: null, + currentReportingPeriodId: null, + lastPublishedReportingPeriodId: null, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], + }, + { + id: 426, + restricted: false, + revisionState: null, + createdAt: '2017-01-14T00:52:55.726Z', + updatedAt: '2017-02-22T17:18:24.205Z', + planVersionId: 997, + planId: 426, + name: 'Afghanistan 2014', + startDate: '2014-01-01', + endDate: '2014-12-31', + comments: null, + isForHPCProjects: false, + code: 'HAFG14', + customLocationCode: null, + currentReportingPeriodId: null, + lastPublishedReportingPeriodId: null, + clusterSelectionType: null, + currentVersion: true, + latestVersion: true, + latestTaggedVersion: true, + versionTags: ['1.0'], }, ], - operationClusters: [ + projects: [ { - id: 10, - operationId: 1, - abbreviation: 'CCM', - name: 'Camp Coordination & Management', + id: 1987, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.141Z', + code: 'apts626', + currentPublishedVersionId: 3974, + creatorParticipantId: null, + latestVersionId: 3974, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Return of Qualified Afghans (RQA)', + version: 2, + projectVersionCode: 'apts626', + visible: true, }, { - id: 11, - operationId: 1, - abbreviation: 'EDU', - name: 'Education', + id: 1988, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.153Z', + code: 'apts627', + currentPublishedVersionId: 3976, + creatorParticipantId: null, + latestVersionId: 3976, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Health and Nutrition in old refugee camps and urban communities with large Afghan refugees in Pakistan', + version: 2, + projectVersionCode: 'apts627', + visible: true, }, { - id: 12, - operationId: 1, - abbreviation: 'HEA', - name: 'Health', + id: 1989, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.185Z', + code: 'apts628', + currentPublishedVersionId: 3978, + creatorParticipantId: null, + latestVersionId: 3978, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Logistics and Field Coordination for Afghanistan operations', + version: 2, + projectVersionCode: 'apts628', + visible: true, }, { - id: 13, - operationId: 1, - abbreviation: 'PRO', - name: 'Protection', + id: 1991, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.306Z', + code: 'apts630', + currentPublishedVersionId: 3982, + creatorParticipantId: null, + latestVersionId: 3982, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Promotion of Safe Motherhood in Afghanistan', + version: 2, + projectVersionCode: 'apts630', + visible: true, }, { - id: 14, - operationId: 3, - abbreviation: 'PRO', - name: 'Protection', + id: 2001, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.819Z', + code: 'apts641', + currentPublishedVersionId: 4002, + creatorParticipantId: null, + latestVersionId: 4002, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Formal and non-formal education for Afghan Refugee children (boys and girls) at Roghani Camps 1 & 2, Chaman', + version: 2, + projectVersionCode: 'apts641', + visible: true, + }, + { + id: 2002, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.909Z', + code: 'apts645', + currentPublishedVersionId: 4004, + creatorParticipantId: null, + latestVersionId: 4004, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Support to 9 supplementary feeding centers & 3 therapeutic feeding centers in Afghanistan', + version: 2, + projectVersionCode: 'apts645', + visible: true, + }, + { + id: 2004, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:57.938Z', + code: 'apts647', + currentPublishedVersionId: 4008, + creatorParticipantId: null, + latestVersionId: 4008, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Support to Kabul central laboratory and 11 provincial laboratories in Afghanistan', + version: 2, + projectVersionCode: 'apts647', + visible: true, + }, + { + id: 2027, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.008Z', + code: 'apts673', + currentPublishedVersionId: 4054, + creatorParticipantId: null, + latestVersionId: 4054, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Engineering programme for Afghanistan-I', + version: 2, + projectVersionCode: 'apts673', + visible: true, + }, + { + id: 2028, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.019Z', + code: 'apts674', + currentPublishedVersionId: 4056, + creatorParticipantId: null, + latestVersionId: 4056, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Construction of 600 wells and 7 water supply systems in 12 target districts of Northern Afghanistan', + version: 2, + projectVersionCode: 'apts674', + visible: true, + }, + { + id: 2043, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.639Z', + code: 'apts690', + currentPublishedVersionId: 4086, + creatorParticipantId: null, + latestVersionId: 4086, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Basic Mental Health Care Project, in Ningarhar province, Afghanistan.', + version: 2, + projectVersionCode: 'apts690', + visible: true, + }, + { + id: 2045, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.686Z', + code: 'apts692', + currentPublishedVersionId: 4090, + creatorParticipantId: null, + latestVersionId: 4090, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Control of Vector-Borne Diseases in Afghanistan:·\tPrevention and Control of Malaria ·\tAlleviation of Suffering from Cutaneous Leishmaniasis', + version: 2, + projectVersionCode: 'apts692', + visible: true, + }, + { + id: 2046, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.740Z', + code: 'apts693', + currentPublishedVersionId: 4092, + creatorParticipantId: null, + latestVersionId: 4092, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Afghan Refugee Assistance and Administrative Support', + version: 2, + projectVersionCode: 'apts693', + visible: true, + }, + { + id: 2047, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.810Z', + code: 'apts694', + currentPublishedVersionId: 4094, + creatorParticipantId: null, + latestVersionId: 4094, + implementationStatus: 'Implementing', + pdf: null, + sourceProjectId: null, + name: 'Health Care Support Project (HCSP), Ningarhar Province Afghanistan.', + version: 2, + projectVersionCode: 'apts694', + visible: true, + }, + { + id: 2048, + createdAt: '2002-02-28T00:00:00.000Z', + updatedAt: '2017-02-06T20:16:59.822Z', + code: 'apts695', + currentPublishedVersionId: 4096, + creatorParticipantId: null, + latestVersionId: 4096, + implementationStatus: 'Planning', + pdf: null, + sourceProjectId: null, + name: 'Afghan Refugee Health and Education', + version: 2, + projectVersionCode: 'apts695', + visible: true, }, ], reportingWindows: [ @@ -470,6 +3335,272 @@ export const INITIAL_DATA: DummyData = { assignments: [], }, ], + usageYears: [ + { + id: 20, + year: '1999', + createdAt: '2016-02-23T15:03:30.774Z', + updatedAt: '2016-02-23T15:03:30.774Z', + }, + { + id: 21, + year: '2000', + createdAt: '2016-02-23T15:03:30.779Z', + updatedAt: '2016-02-23T15:03:30.779Z', + }, + { + id: 22, + year: '2001', + createdAt: '2016-02-23T15:03:30.783Z', + updatedAt: '2016-02-23T15:03:30.783Z', + }, + { + id: 23, + year: '2002', + createdAt: '2016-02-23T15:03:30.796Z', + updatedAt: '2016-02-23T15:03:30.796Z', + }, + { + id: 24, + year: '2003', + createdAt: '2016-02-23T15:03:30.804Z', + updatedAt: '2016-02-23T15:03:30.804Z', + }, + { + id: 25, + year: '2004', + createdAt: '2016-02-23T15:03:30.806Z', + updatedAt: '2016-02-23T15:03:30.806Z', + }, + { + id: 26, + year: '2005', + createdAt: '2016-02-23T15:03:30.808Z', + updatedAt: '2016-02-23T15:03:30.808Z', + }, + { + id: 27, + year: '2006', + createdAt: '2016-02-23T15:03:30.816Z', + updatedAt: '2016-02-23T15:03:30.816Z', + }, + { + id: 28, + year: '2007', + createdAt: '2016-02-23T15:03:30.827Z', + updatedAt: '2016-02-23T15:03:30.827Z', + }, + { + id: 29, + year: '2008', + createdAt: '2016-02-23T15:03:30.830Z', + updatedAt: '2016-02-23T15:03:30.830Z', + }, + { + id: 30, + year: '2009', + createdAt: '2016-02-23T15:03:30.832Z', + updatedAt: '2016-02-23T15:03:30.832Z', + }, + { + id: 31, + year: '2010', + createdAt: '2016-02-23T15:03:30.840Z', + updatedAt: '2016-02-23T15:03:30.840Z', + }, + { + id: 32, + year: '2011', + createdAt: '2016-02-23T15:03:30.852Z', + updatedAt: '2016-02-23T15:03:30.852Z', + }, + { + id: 33, + year: '2012', + createdAt: '2016-02-23T15:03:30.862Z', + updatedAt: '2016-02-23T15:03:30.862Z', + }, + { + id: 34, + year: '2014', + createdAt: '2016-02-23T15:03:30.870Z', + updatedAt: '2016-02-23T15:03:30.870Z', + }, + { + id: 35, + year: '2013', + createdAt: '2016-02-23T15:03:30.875Z', + updatedAt: '2016-02-23T15:03:30.875Z', + }, + { + id: 36, + year: '2016', + createdAt: '2016-02-23T15:03:30.879Z', + updatedAt: '2016-02-23T15:03:30.879Z', + }, + { + id: 37, + year: '2015', + createdAt: '2016-02-23T15:03:30.883Z', + updatedAt: '2016-02-23T15:03:30.883Z', + }, + { + id: 38, + year: '2017', + createdAt: '2016-02-23T15:03:30.890Z', + updatedAt: '2016-02-23T15:03:30.890Z', + }, + { + id: 39, + year: '2018', + createdAt: '2016-02-23T15:03:30.903Z', + updatedAt: '2016-02-23T15:03:30.903Z', + }, + { + id: 40, + year: '2019', + createdAt: '2016-02-23T15:03:30.909Z', + updatedAt: '2016-02-23T15:03:30.909Z', + }, + { + id: 41, + year: '2020', + createdAt: '2016-02-23T15:03:30.916Z', + updatedAt: '2016-02-23T15:03:30.916Z', + }, + { + id: 42, + year: '2021', + createdAt: '2016-02-23T15:03:30.923Z', + updatedAt: '2016-02-23T15:03:30.923Z', + }, + { + id: 43, + year: '2022', + createdAt: '2016-02-23T15:03:30.928Z', + updatedAt: '2016-02-23T15:03:30.928Z', + }, + { + id: 44, + year: '2023', + createdAt: '2016-02-23T15:03:30.941Z', + updatedAt: '2016-02-23T15:03:30.941Z', + }, + { + id: 45, + year: '2024', + createdAt: '2016-02-23T15:03:30.953Z', + updatedAt: '2016-02-23T15:03:30.953Z', + }, + { + id: 46, + year: '2025', + createdAt: '2016-02-23T15:03:30.955Z', + updatedAt: '2016-02-23T15:03:30.955Z', + }, + { + id: 47, + year: '2026', + createdAt: '2016-02-23T15:03:30.959Z', + updatedAt: '2016-02-23T15:03:30.959Z', + }, + { + id: 48, + year: '2027', + createdAt: '2016-02-23T15:03:30.975Z', + updatedAt: '2016-02-23T15:03:30.975Z', + }, + { + id: 49, + year: '2028', + createdAt: '2016-02-23T15:03:30.984Z', + updatedAt: '2016-02-23T15:03:30.984Z', + }, + { + id: 50, + year: '2029', + createdAt: '2016-02-23T15:03:30.990Z', + updatedAt: '2016-02-23T15:03:30.990Z', + }, + { + id: 51, + year: '2030', + createdAt: '2016-02-23T15:03:30.993Z', + updatedAt: '2016-02-23T15:03:30.993Z', + }, + { + id: 52, + year: '2031', + createdAt: '2016-02-23T15:03:31.000Z', + updatedAt: '2016-02-23T15:03:31.000Z', + }, + { + id: 53, + year: '2033', + createdAt: '2016-02-23T15:03:31.008Z', + updatedAt: '2016-02-23T15:03:31.008Z', + }, + { + id: 54, + year: '2034', + createdAt: '2016-02-23T15:03:31.016Z', + updatedAt: '2016-02-23T15:03:31.016Z', + }, + { + id: 55, + year: '2032', + createdAt: '2016-02-23T15:03:31.020Z', + updatedAt: '2016-02-23T15:03:31.020Z', + }, + { + id: 56, + year: '2035', + createdAt: '2016-02-23T15:03:31.025Z', + updatedAt: '2016-02-23T15:03:31.025Z', + }, + { + id: 57, + year: '2036', + createdAt: '2016-02-23T15:03:31.028Z', + updatedAt: '2016-02-23T15:03:31.028Z', + }, + { + id: 58, + year: '2037', + createdAt: '2016-02-23T15:03:31.043Z', + updatedAt: '2016-02-23T15:03:31.043Z', + }, + { + id: 59, + year: '2038', + createdAt: '2016-02-23T15:03:31.049Z', + updatedAt: '2016-02-23T15:03:31.049Z', + }, + { + id: 60, + year: '2039', + createdAt: '2016-02-23T15:03:31.057Z', + updatedAt: '2016-02-23T15:03:31.057Z', + }, + { + id: 61, + year: '2040', + createdAt: '2016-02-23T15:03:31.062Z', + updatedAt: '2016-02-23T15:03:31.062Z', + }, + { + id: 62, + year: '2042', + createdAt: '2016-02-23T15:03:31.070Z', + updatedAt: '2016-02-23T15:03:31.070Z', + }, + { + id: 63, + year: '2043', + createdAt: '2016-02-23T15:03:31.073Z', + updatedAt: '2016-02-23T15:03:31.073Z', + }, + ], forms: [ { id: 123, diff --git a/libs/hpc-dummy/src/lib/dummy.ts b/libs/hpc-dummy/src/lib/dummy.ts index 7817fdb73..ffe8c61e3 100644 --- a/libs/hpc-dummy/src/lib/dummy.ts +++ b/libs/hpc-dummy/src/lib/dummy.ts @@ -14,6 +14,7 @@ import { projects, globalClusters, usageYears, + flows, } from '@unocha/hpc-data'; import isEqual from 'lodash/isEqual'; @@ -484,112 +485,54 @@ export class Dummy { ), }, - /** TODO: Did not try to implement it proper data since I don't use it */ categories: { getCategories: dummyEndpoint( 'categories.getCategories', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 1158, - name: 'Asia 2002', - description: null, - parentID: null, - code: null, - group: 'keywords', - includeTotals: null, - createdAt: '2017-01-14T02:49:28.386Z', - updatedAt: '2017-01-14T02:49:28.386Z', - }, - { - id: 137, - name: 'Carryover', - description: null, - parentID: null, - code: null, - group: 'flowType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.844Z', - updatedAt: '2017-01-13T22:18:02.844Z', - }, - { - id: 48, - name: 'Paid', - description: null, - parentID: null, - code: null, - group: 'flowStatus', - includeTotals: null, - createdAt: '2017-01-13T14:20:32.042Z', - updatedAt: '2017-01-13T14:20:32.042Z', - }, - ]; + async ({ + query, + }: categories.GetCategoriesParams): Promise => { + return this.data.categories.filter( + (category) => category.group === query + ); } ), getKeywords: dummyEndpoint( 'categories.getKeywords', async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 1158, - name: 'Asia 2002', - description: null, - parentID: null, - code: null, - group: 'keywords', - includeTotals: null, - createdAt: '2017-01-14T02:49:28.386Z', - updatedAt: '2017-01-14T02:49:28.386Z', - refCount: '2', - }, - { - id: 137, - name: 'Carryover', - description: null, - parentID: null, - code: null, - group: 'flowType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.844Z', - updatedAt: '2017-01-13T22:18:02.844Z', - refCount: '5', - }, - ]; + return this.data.keywords; } ), deleteKeyword: dummyEndpoint( 'categories.deleteKeyword', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation + async ({ + id, + }: categories.DeleteKeywordParams): Promise => { + // TODO: Properly implement, on reload dummy data resets + this.data.keywords = this.data.keywords.filter( + (keyword) => keyword.id !== id + ); return undefined; } ), updateKeyword: dummyEndpoint( 'categories.updateKeyword', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return { - id: 1158, - name: 'Asia 2002', - description: null, - parentID: null, - code: null, - group: 'keywords', - includeTotals: null, - createdAt: '2017-01-14T02:49:28.386Z', - updatedAt: '2017-01-14T02:49:28.386Z', - }; + async (params: categories.Keyword): Promise => { + this.data.keywords = this.data.keywords.map((keyword) => { + if (keyword.id === params.id) { + return params; + } + return keyword; + }); + return params; } ), mergeKeywords: dummyEndpoint( 'categories.mergeKeywords', async (): Promise => { + /** + * TODO: Implement mocked logic for mergeKeywords + */ + return undefined; } ), @@ -597,86 +540,12 @@ export class Dummy { emergencies: { getAutocompleteEmergencies: dummyEndpoint( 'emergencies.getAutocompleteEmergencies', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 513, - name: 'AFGHANISTAN - Floods - June 2010', - description: - 'The floods took place in the Northeastern Region of Afghanistan in June 2010. Nine (9) people died and more than 50 villages affected.', - date: '2010-06-02T00:00:00.000Z', - glideId: 'FL-2010-000127-AFG', - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:09.851Z', - updatedAt: '2017-01-14T00:52:09.851Z', - }, - { - id: 509, - name: 'AFGHANISTAN - Floods and Avalanches - Feb 2010', - description: - 'At least 20 people have died in floods and avalanches, including flash floods, triggered by heaviest rain and snow in Afghanistan for 50 years.', - date: '2010-02-02T00:00:00.000Z', - glideId: 'FL-2010-000021-AFG', - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:09.833Z', - updatedAt: '2017-01-14T00:52:09.833Z', - }, - { - id: 409, - name: 'AFGHANISTAN - Avalanches and Heavy Snowfalls - January 2008', - description: - 'AFGHANISTAN - Avalanches and Heavy Snowfalls - January 2008', - date: '2008-01-17T00:00:00.000Z', - glideId: 'AV-2008-000003-AFG', - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:09.434Z', - updatedAt: '2017-01-14T00:52:09.434Z', - }, - { - id: 362, - name: 'AFGHANISTAN - Floods - November 2006', - description: 'AFGHANISTAN - Floods - November 2006', - date: '2006-11-13T00:00:00.000Z', - glideId: 'FF-2006-000163-AFG', - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:09.267Z', - updatedAt: '2017-01-14T00:52:09.267Z', - }, - { - id: 340, - name: 'Afghanistan Drought 2006', - description: '', - date: '2006-01-01T00:00:00.000Z', - glideId: null, - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:09.154Z', - updatedAt: '2017-01-14T00:52:09.154Z', - }, - { - id: 286, - name: 'AFGHANISTAN - Flood - June 2005', - description: 'AFGHANISTAN - Flood - June 2005', - date: '2005-06-20T00:00:00.000Z', - glideId: 'FL-2005-000094-AFG', - levelThree: false, - active: true, - restricted: false, - createdAt: '2017-01-14T00:52:08.895Z', - updatedAt: '2017-01-14T00:52:08.895Z', - }, - ]; + async ({ + query, + }: emergencies.GetEmergenciesAutocompleteParams): Promise => { + return this.data.emergencies.filter((emergency) => + emergency.name.toUpperCase().includes(query.toUpperCase()) + ); } ), }, @@ -687,13 +556,78 @@ export class Dummy { getFlow: dummyEndpoint('flows.getFlow', async () => { throw new errors.NotFoundError(); }), - searchFlows: dummyEndpoint('flows.searchFlows', async () => { - throw new errors.NotFoundError(); - }), + searchFlows: dummyEndpoint( + 'flows.searchFlows', + async (params: flows.SearchFlowsParams) => { + /** + * TODO: Implement mocked logic for filters + */ + + let flows = this.data.flows.filter( + (flow) => !flow.categories?.some((category) => category.id === 45) + ); + /** pending filter */ + if (params.pending) { + flows = this.data.flows.filter( + (flow) => + flow.categories?.some((category) => category.id === 45) + ); + } + const searchFlows = { + total: flows.length, + flows: flows, + prevPageCursor: 0, + nextPageCursor: 0, + hasNextPage: false, + hasPreviousPage: false, + pageSize: 10, + }; + return { searchFlows }; + } + ), bulkRejectPendingFlows: dummyEndpoint( 'flows.bulkRejectPendingFlows', - async () => { - throw new errors.NotFoundError(); + async ({ flows }: flows.BulkRejectPendingFlowsParams) => { + const ids = flows.map((flow) => flow.id); + const versionIds = flows.map((flow) => flow.versionID); + + this.data.flows = this.data.flows.map((flow) => { + if ( + ids.includes(flow.id) && + versionIds.includes(flow.versionID) + ) { + return { + ...flow, + categories: [ + // We remove 'Pending review' category (id: 45) + ...(flow.categories?.filter( + (category) => category.id !== 45 + ) ?? []), + + // We add 'Rejected' category (id: 87) + { + id: 87, + name: 'Rejected', + parentID: null, + group: 'inactiveReason', + createdAt: '2017-01-13T14:20:34.337Z', + updatedAt: '2017-01-13T14:20:34.337Z', + code: null, + includeTotals: null, + categoryRef: { + objectID: flow.id, + versionID: flow.versionID, + objectType: 'flow', + categoryID: 87, + updatedAt: new Date().toISOString(), + }, + }, + ], + }; + } + return flow; + }); + return flows; } ), getFlowsDownloadXLSX: dummyEndpoint( @@ -707,604 +641,204 @@ export class Dummy { getGlobalClusters: dummyEndpoint( 'globalClusters.getGlobalClusters', async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 26512, - hrinfoId: null, - type: 'custom', - name: 'Agriculture', - code: 'AGR', - homepage: null, - defaultIconId: 'other_clusters_agriculture_icon', - parentId: 6, - displayFTSSummariesFromYear: 2012, - createdAt: '2017-11-17T00:06:32.440Z', - updatedAt: '2021-08-24T11:51:10.748Z', - }, - { - id: 1, - hrinfoId: 1, - type: 'global', - name: 'Camp Coordination / Management', - code: 'CCM', - homepage: 'http://www.globalcccmcluster.org', - defaultIconId: - 'clusters_camp_coordination_and_camp_management_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.465Z', - updatedAt: '2021-08-24T11:51:20.534Z', - }, - { - id: 26480, - hrinfoId: null, - type: 'custom', - name: 'Coordination and support services', - code: 'CSS', - homepage: null, - defaultIconId: 'other_clusters_coordination_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2017-01-14T02:13:20.198Z', - updatedAt: '2021-08-24T11:51:24.794Z', - }, - { - id: 26513, - hrinfoId: null, - type: 'custom', - name: 'COVID-19', - code: 'COV19', - homepage: null, - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2020-03-24T12:00:00.000Z', - updatedAt: '2021-08-24T11:51:28.429Z', - }, - { - id: 2, - hrinfoId: 2, - type: 'global', - name: 'Early Recovery', - code: 'ERY', - homepage: - 'https://www.humanitarianresponse.info/en/coordination/clusters/launching-soon', - defaultIconId: 'clusters_recovery_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.473Z', - updatedAt: '2021-08-24T11:51:32.528Z', - }, - { - id: 3, - hrinfoId: 3, - type: 'global', - name: 'Education', - code: 'EDU', - homepage: 'http://educationcluster.net/', - defaultIconId: 'clusters_education_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.478Z', - updatedAt: '2021-08-24T11:51:36.239Z', - }, - { - id: 4, - hrinfoId: 4, - type: 'global', - name: 'Emergency Shelter and NFI', - code: 'SHL', - homepage: 'https://www.sheltercluster.org', - defaultIconId: 'clusters_shelter_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.481Z', - updatedAt: '2021-08-24T11:51:39.902Z', - }, - { - id: 5, - hrinfoId: 5, - type: 'global', - name: 'Emergency Telecommunications', - code: 'TEL', - homepage: 'www.ETCluster.org', - defaultIconId: 'clusters_emergency_telecommunications_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.485Z', - updatedAt: '2021-08-24T11:52:01.065Z', - }, - { - id: 6, - hrinfoId: 6, - type: 'global', - name: 'Food Security', - code: 'FSC', - homepage: 'http://www.foodsecuritycluster.net', - defaultIconId: 'disaster_flood_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.489Z', - updatedAt: '2021-08-24T11:52:08.350Z', - }, - { - id: 7, - hrinfoId: 7, - type: 'global', - name: 'Health', - code: 'HEA', - homepage: 'http://www.who.int/hac/global_health_cluster/en/', - defaultIconId: 'clusters_health_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.494Z', - updatedAt: '2021-08-24T11:52:13.708Z', - }, - { - id: 8, - hrinfoId: 8, - type: 'global', - name: 'Logistics', - code: 'LOG', - homepage: 'http://www.logcluster.org', - defaultIconId: 'clusters_logistics_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.499Z', - updatedAt: '2021-08-24T11:52:18.249Z', - }, - { - id: 26479, - hrinfoId: null, - type: 'custom', - name: 'Multi-sector', - code: 'MS', - homepage: null, - defaultIconId: 'other_clusters_multi-sector_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2017-01-14T02:13:20.198Z', - updatedAt: '2021-08-24T11:52:24.427Z', - }, - { - id: 9, - hrinfoId: 9, - type: 'global', - name: 'Nutrition', - code: 'NUT', - homepage: 'http://nutritioncluster.net', - defaultIconId: 'clusters_nutrition_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.504Z', - updatedAt: '2021-08-24T11:52:27.907Z', - }, - { - id: 26481, - hrinfoId: null, - type: 'custom', - name: 'Other', - code: 'OTH', - homepage: null, - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2017-01-14T02:13:20.198Z', - updatedAt: '2021-08-24T11:52:31.779Z', - }, - { - id: 10, - hrinfoId: 10, - type: 'global', - name: 'Protection', - code: 'PRO', - homepage: 'http://www.globalprotectioncluster.org', - defaultIconId: 'clusters_protection_icon', - parentId: null, - displayFTSSummariesFromYear: 2020, - createdAt: '2015-09-10T20:26:37.507Z', - updatedAt: '2021-08-10T14:35:25.912Z', - }, - { - id: 12, - hrinfoId: 5403, - type: 'aor', - name: 'Protection - Child Protection', - code: 'PRO-CPN', - homepage: 'http://www.cpwg.net/', - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: 2020, - createdAt: '2015-09-10T20:26:37.515Z', - updatedAt: '2021-08-10T14:35:21.625Z', - }, - { - id: 13, - hrinfoId: 5404, - type: 'aor', - name: 'Protection - Gender-Based Violence', - code: 'PRO-GBV', - homepage: 'http://www.gbvaor.net/', - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: 2020, - createdAt: '2015-09-10T20:26:37.519Z', - updatedAt: '2021-08-10T14:35:17.766Z', - }, - { - id: 14, - hrinfoId: 5405, - type: 'aor', - name: 'Protection - Housing, Land and Property', - code: 'PRO-HLP', - homepage: - 'http://www.globalprotectioncluster.org/en/areas-of-responsibility/housing-land-and-property.html', - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: null, - createdAt: '2015-09-10T20:26:37.524Z', - updatedAt: '2021-04-26T14:42:40.052Z', - }, - { - id: 26546, - hrinfoId: null, - type: 'aor', - name: 'Protection - Human Trafficking & Smuggling', - code: 'PRO-HTS', - homepage: null, - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: null, - createdAt: '2021-02-15T15:48:42.661Z', - updatedAt: '2021-04-26T14:43:09.171Z', - }, - { - id: 15, - hrinfoId: 5406, - type: 'aor', - name: 'Protection - Mine Action', - code: 'PRO-MIN', - homepage: - 'http://www.globalprotectioncluster.org/en/areas-of-responsibility/mine-action.html', - defaultIconId: null, - parentId: null, - displayFTSSummariesFromYear: 2020, - createdAt: '2015-09-10T20:26:37.529Z', - updatedAt: '2021-08-10T14:35:13.095Z', - }, - { - id: 11, - hrinfoId: 11, - type: 'global', - name: 'Water Sanitation Hygiene', - code: 'WSH', - homepage: 'http://washcluster.net/', - defaultIconId: 'clusters_water_sanitation_and_hygiene_icon', - parentId: null, - displayFTSSummariesFromYear: 2012, - createdAt: '2015-09-10T20:26:37.511Z', - updatedAt: '2021-08-24T11:52:35.295Z', - }, - ]; + return this.data.globalClusters; } ), }, locations: { getAutocompleteLocations: dummyEndpoint( 'locations.getAutocompleteLocations', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 209, - externalId: '389', - name: 'Spain', - adminLevel: 0, - latitude: 40.309787496783, - longitude: -3.578125378279, - iso3: 'ESP', - pcode: null, - validOn: null, - status: 'active', - itosSync: true, - createdAt: '2015-09-10T20:25:11.133Z', - updatedAt: '2023-01-15T00:05:07.209Z', - parentId: null, - children: [], - }, - ]; + async ({ + query, + }: locations.GetLocationsAutocompleteParams): Promise => { + return this.data.locations.filter((location) => + location.name.toUpperCase().includes(query.toUpperCase()) + ); } ), }, organizations: { getAutocompleteOrganizations: dummyEndpoint( 'organizations.getAutocompleteOrganizations', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 9093, - name: 'Association pour le Secours et le Développement', - nativeName: '', - abbreviation: 'ASD', - url: null, - parentID: null, - comments: - 'Développement coordonne ses programmes autour de 6 domaines d’activités : • Nutrition, santé, pratiques de soins • Sécurité alimentaire et moyens d’existence • Eau, assainissement et hygiène • Plaidoyer et sensibilisation • Abris • Education', - verified: true, - notes: null, - active: true, - collectiveInd: false, - newOrganizationId: null, - createdAt: '2017-10-29T20:45:26.233Z', - updatedAt: '2019-05-14T12:19:16.995Z', - deletedAt: null, - categories: [ - { - id: 118, - name: 'NGOs', - description: null, - parentID: null, - code: null, - group: 'organizationType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.367Z', - updatedAt: '2022-12-15T15:17:12.866Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 118, - createdAt: '2017-10-29T20:45:26.445Z', - updatedAt: '2017-10-29T20:45:26.445Z', - }, - }, - { - id: 1810, - name: 'National NGOs/CSOs', - description: null, - parentID: 1802, - code: null, - group: 'organizationLevel', - includeTotals: null, - createdAt: '2022-12-15T15:17:15.037Z', - updatedAt: '2022-12-15T15:17:15.037Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 1810, - createdAt: '2022-12-15T15:17:25.240Z', - updatedAt: '2022-12-15T15:17:25.240Z', - }, - }, - { - id: 1802, - name: 'Local and National Non-State Actors', - description: null, - parentID: null, - code: null, - group: 'organizationLevel', - includeTotals: null, - createdAt: '2022-12-15T15:17:12.799Z', - updatedAt: '2022-12-15T15:17:12.799Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 1802, - createdAt: '2022-12-15T15:17:25.240Z', - updatedAt: '2022-12-15T15:17:25.240Z', - }, - }, - { - id: 130, - name: 'National NGOs/CSOs', - description: null, - parentID: 118, - code: null, - group: 'organizationType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.688Z', - updatedAt: '2022-12-15T15:17:15.025Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 130, - createdAt: '2019-05-14T12:18:30.858Z', - updatedAt: '2019-05-14T12:18:30.858Z', - }, - }, - ], - }, - ]; + async ({ + query, + }: organizations.GetOrganizationsAutocompleteParams): Promise => { + return this.data.organizations.filter((organization) => + organization.name.toUpperCase().includes(query.toUpperCase()) + ); } ), searchOrganizations: dummyEndpoint( 'organizations.searchOrganizations', async (): Promise => { - return { - count: '1', - organizations: [ - { - id: 9093, - name: 'Association pour le Secours et le Développement', - nativeName: '', - abbreviation: 'ASD', - active: true, - categories: [ - { - name: 'NGOs', - group: 'organizationType', - parentID: null, - }, - ], - locations: [], + const parsedOrganizations = this.data.organizations.map( + (organization) => { + const { + id, + name, + nativeName, + abbreviation, + active, + categories, + locations, + } = organization; + return { + id, + name, + nativeName, + abbreviation, + active, + categories: + categories?.map((category) => { + const { name: categoryName, group, parentID } = category; + return { name: categoryName, group, parentID }; + }) ?? [], + locations: + locations?.map((location) => { + const { + id: locationID, + name: locationName, + parentId: parentID, + } = location; + return { id: locationID, name: locationName, parentID }; + }) ?? [], create: [], update: [], - }, - ], + }; + } + ); + + return { + count: this.data.organizations.length.toString(), + organizations: parsedOrganizations, }; } ), getOrganization: dummyEndpoint( 'organizations.getOrganization', - async (): Promise => { - return { - id: 9093, - name: 'Association pour le Secours et le Développement', - nativeName: '', - abbreviation: 'ASD', - url: null, - parentID: null, - comments: - 'Développement coordonne ses programmes autour de 6 domaines d’activités : • Nutrition, santé, pratiques de soins • Sécurité alimentaire et moyens d’existence • Eau, assainissement et hygiène • Plaidoyer et sensibilisation • Abris • Education', - verified: true, - notes: null, - active: true, - collectiveInd: false, - newOrganizationId: null, - createdAt: '2017-10-29T20:45:26.233Z', - updatedAt: '2019-05-14T12:19:16.995Z', - deletedAt: null, - categories: [ - { - id: 118, - name: 'NGOs', - description: null, - parentID: null, - code: null, - group: 'organizationType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.367Z', - updatedAt: '2022-12-15T15:17:12.866Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 118, - createdAt: '2017-10-29T20:45:26.445Z', - updatedAt: '2017-10-29T20:45:26.445Z', - }, - }, - { - id: 1810, - name: 'National NGOs/CSOs', - description: null, - parentID: 1802, - code: null, - group: 'organizationLevel', - includeTotals: null, - createdAt: '2022-12-15T15:17:15.037Z', - updatedAt: '2022-12-15T15:17:15.037Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 1810, - createdAt: '2022-12-15T15:17:25.240Z', - updatedAt: '2022-12-15T15:17:25.240Z', - }, - }, - { - id: 1802, - name: 'Local and National Non-State Actors', - description: null, - parentID: null, - code: null, - group: 'organizationLevel', - includeTotals: null, - createdAt: '2022-12-15T15:17:12.799Z', - updatedAt: '2022-12-15T15:17:12.799Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 1802, - createdAt: '2022-12-15T15:17:25.240Z', - updatedAt: '2022-12-15T15:17:25.240Z', - }, - }, - { - id: 130, - name: 'National NGOs/CSOs', - description: null, - parentID: 118, - code: null, - group: 'organizationType', - includeTotals: null, - createdAt: '2017-01-13T22:18:02.688Z', - updatedAt: '2022-12-15T15:17:15.025Z', - categoryRef: { - objectID: 9093, - versionID: 1, - objectType: 'organization', - categoryID: 130, - createdAt: '2019-05-14T12:18:30.858Z', - updatedAt: '2019-05-14T12:18:30.858Z', - }, - }, - ], - locations: [], - }; + async ({ + id, + }: organizations.GetOrganizationParams): Promise => { + const organization = this.data.organizations.find( + (organization) => organization.id === id + ); + if (!organization) { + throw new errors.NotFoundError(); + } + return organization; } ), createOrganization: dummyEndpoint( 'organizations.createOrganization', - async (): Promise => { - return { - id: 9093, - name: 'Association pour le Secours et le Développement', - nativeName: '', - abbreviation: 'ASD', - url: null, - parentID: null, - comments: - 'Développement coordonne ses programmes autour de 6 domaines d’activités : • Nutrition, santé, pratiques de soins • Sécurité alimentaire et moyens d’existence • Eau, assainissement et hygiène • Plaidoyer et sensibilisation • Abris • Education', - verified: true, - notes: null, + async ({ + organization, + }: organizations.CreateOrganizationParams): Promise => { + const id = Date.now(); + const date = new Date().toISOString(); + const organizationWithID: organizations.Organization = { + ...organization, + id, + nativeName: organization.nativeName ?? null, + url: organization.url ?? null, + parentID: organization.parentID ?? null, + comments: organization.comments ?? null, + verified: organization.verified ?? false, + notes: organization.notes ?? null, + locations: this.data.locations.filter( + (location) => organization.locations?.includes(location.id) + ), + categories: this.data.categories + .filter( + (category) => organization.categories?.includes(category.id) + ) + .map((category) => ({ + ...category, + categoryRef: { + objectID: id, + versionID: 1, + objectType: 'organization', + categoryID: category.id, + createdAt: date, + updatedAt: date, + }, + })), + createdAt: date, + updatedAt: date, + deletedAt: null, active: true, collectiveInd: false, newOrganizationId: null, - createdAt: '2017-10-29T20:45:26.233Z', - updatedAt: '2019-05-14T12:19:16.995Z', - deletedAt: null, - meta: { language: 'en' }, }; + this.data.organizations.push(organizationWithID); + return { ...organizationWithID, meta: { language: 'en' } }; } ), updateOrganization: dummyEndpoint( 'organizations.updateOrganization', - async (): Promise => { + async ( + organization: organizations.UpdateOrganizationParams + ): Promise => { + const date = new Date().toISOString(); + const organizationIndex = this.data.organizations.findIndex( + (dataOrganization) => dataOrganization.id === organization.id + ); + const dataOrganization = this.data.organizations[organizationIndex]; + if (organizationIndex === -1 || !dataOrganization) { + throw new errors.NotFoundError(); + } + + const parsedOrganization: organizations.Organization = { + ...organization, + abbreviation: + organization.abbreviation ?? dataOrganization.abbreviation, + active: organization.active ?? dataOrganization.active, + collectiveInd: + organization.collectiveInd ?? dataOrganization.collectiveInd, + comments: organization.comments ?? null, + deletedAt: organization.deletedAt ?? null, + name: organization.name ?? dataOrganization.name, + nativeName: organization.nativeName ?? null, + newOrganizationId: organization.newOrganizationId ?? null, + notes: organization.notes ?? null, + parentID: organization.parentID ?? null, + url: organization.url ?? null, + verified: organization.verified ?? dataOrganization.verified, + parent: + this.data.organizations.find( + (org) => org.id === organization.parentID + ) ?? null, + locations: this.data.locations.filter( + (location) => organization.locations?.includes(location.id) + ), + categories: this.data.categories + .filter( + (category) => organization.categories?.includes(category.id) + ) + .map((category) => ({ + ...category, + categoryRef: { + objectID: organization.id, + versionID: 1, + objectType: 'organization', + categoryID: category.id, + createdAt: date, + updatedAt: date, + }, + })), + createdAt: organization.createdAt ?? dataOrganization.createdAt, + updatedAt: date, + }; + this.data.organizations[organizationIndex] = parsedOrganization; + const user = this.data.users.find( + (u) => u.id === this.data.currentUser + )?.user.name; return { - id: 9093, - name: 'Association pour le Secours et le Développement', - nativeName: '', - abbreviation: 'ASD', - url: null, - parentID: null, - comments: - 'Développement coordonne ses programmes autour de 6 domaines d’activités : • Nutrition, santé, pratiques de soins • Sécurité alimentaire et moyens d’existence • Eau, assainissement et hygiène • Plaidoyer et sensibilisation • Abris • Education', - verified: true, - notes: null, - active: true, - collectiveInd: false, - newOrganizationId: null, - createdAt: '2017-10-29T20:45:26.233Z', - updatedAt: '2019-05-14T12:19:16.995Z', - deletedAt: null, + ...parsedOrganization, participantLog: [ { - createdAt: '2017-10-29T20:45:26.233Z', - editType: 'created', - participant: { - name: 'HPC Admin', - }, + participant: user ? { name: user } : null, + createdAt: date, + editType: 'update', }, ], }; @@ -1312,13 +846,27 @@ export class Dummy { ), deleteOrganization: dummyEndpoint( 'organizations.deleteOrganization', - async (): Promise => { + async ({ + id, + }: organizations.DeleteOrganizationParams): Promise => { + const index = this.data.organizations.findIndex( + (organization) => organization.id === id + ); + if (index === -1) { + throw new errors.NotFoundError(); + } + // Remove organization + this.data.organizations.splice(index, 1); return undefined; } ), mergeOrganizations: dummyEndpoint( 'organizations.mergeOrganization', async (): Promise => { + /** + * TODO: Implement logic for mergeOrganizations + */ + return { id: 9093, name: 'Association pour le Secours et le Développement', @@ -1424,568 +972,24 @@ export class Dummy { plans: { getAutocompletePlans: dummyEndpoint( 'plans.getAutocompletePlans', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 1117, - restricted: false, - revisionState: 'none', - createdAt: '2023-05-18T09:14:13.164Z', - updatedAt: '2023-05-18T09:14:13.164Z', - planVersionId: 4581, - planId: 1117, - name: 'Afghanistan Humanitarian Response Plan 2023', - startDate: '2023-01-01', - endDate: '2023-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG23', - customLocationCode: null, - currentReportingPeriodId: 2611, - lastPublishedReportingPeriodId: 2610, - clusterSelectionType: 'multi', - currentVersion: false, - latestVersion: true, - latestTaggedVersion: false, - versionTags: [], - }, - { - id: 1118, - restricted: false, - revisionState: 'none', - createdAt: '2023-03-22T07:55:33.041Z', - updatedAt: '2023-03-22T07:56:31.621Z', - planVersionId: 4505, - planId: 1118, - name: 'Afghanistan Situation Regional Refugee Response Plan 2023', - startDate: '2023-01-01', - endDate: '2023-12-31', - comments: null, - isForHPCProjects: true, - code: 'RAFG23', - customLocationCode: 'AFG', - currentReportingPeriodId: 2425, - lastPublishedReportingPeriodId: null, - clusterSelectionType: 'multi', - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - { - id: 1061, - restricted: false, - revisionState: 'none', - createdAt: '2022-11-17T15:10:10.885Z', - updatedAt: '2022-11-17T15:12:10.657Z', - planVersionId: 4279, - planId: 1061, - name: 'Afghanistan Situation Regional Refugee Response Plan 2022', - startDate: '2022-01-01', - endDate: '2022-12-31', - comments: null, - isForHPCProjects: true, - code: 'RAFG22', - customLocationCode: 'AFG', - currentReportingPeriodId: 1916, - lastPublishedReportingPeriodId: null, - clusterSelectionType: 'multi', - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.2'], - }, - { - id: 1100, - restricted: false, - revisionState: 'none', - createdAt: '2023-01-11T09:58:10.749Z', - updatedAt: '2023-04-06T10:18:30.355Z', - planVersionId: 4355, - planId: 1100, - name: 'Afghanistan Humanitarian Response Plan 2022', - startDate: '2022-01-01', - endDate: '2022-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG22', - customLocationCode: null, - currentReportingPeriodId: 2305, - lastPublishedReportingPeriodId: 2305, - clusterSelectionType: 'multi', - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.16'], - }, - { - id: 1057, - restricted: false, - revisionState: 'none', - createdAt: '2021-09-13T15:21:07.390Z', - updatedAt: '2021-11-25T12:23:50.198Z', - planVersionId: 3295, - planId: 1057, - name: 'Afghanistan Flash Appeal 2021', - startDate: '2021-09-01', - endDate: '2021-12-31', - comments: null, - isForHPCProjects: true, - code: 'FAFG21', - customLocationCode: null, - currentReportingPeriodId: 1795, - lastPublishedReportingPeriodId: null, - clusterSelectionType: 'multi', - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0', '1.1', '1.2', '1.3', '1.4'], - }, - { - id: 1031, - restricted: false, - revisionState: 'none', - createdAt: '2022-01-17T12:07:34.469Z', - updatedAt: '2022-06-08T10:01:42.578Z', - planVersionId: 3682, - planId: 1031, - name: 'Afghanistan Humanitarian Response Plan 2021', - startDate: '2021-01-01', - endDate: '2021-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG21', - customLocationCode: null, - currentReportingPeriodId: 1616, - lastPublishedReportingPeriodId: 1616, - clusterSelectionType: 'multi', - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['3.4'], - }, - { - id: 929, - restricted: false, - revisionState: 'none', - createdAt: '2021-01-15T05:45:32.662Z', - updatedAt: '2021-01-15T05:45:32.662Z', - planVersionId: 2978, - planId: 929, - name: 'Afghanistan 2020', - startDate: '2020-01-01', - endDate: '2020-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG20', - customLocationCode: null, - currentReportingPeriodId: 1282, - lastPublishedReportingPeriodId: 1281, - clusterSelectionType: 'multi', - currentVersion: false, - latestVersion: true, - latestTaggedVersion: false, - versionTags: [], - }, - { - id: 672, - restricted: false, - revisionState: 'planDataOnly', - createdAt: '2019-12-09T10:05:41.234Z', - updatedAt: '2019-12-09T10:05:41.314Z', - planVersionId: 1704, - planId: 672, - name: 'Afghanistan 2019', - startDate: '2019-01-01', - endDate: '2019-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG19', - customLocationCode: null, - currentReportingPeriodId: 677, - lastPublishedReportingPeriodId: 677, - clusterSelectionType: null, - currentVersion: false, - latestVersion: true, - latestTaggedVersion: false, - versionTags: [], - }, - { - id: 645, - restricted: false, - revisionState: 'none', - createdAt: '2017-10-18T18:14:47.878Z', - updatedAt: '2022-05-13T13:44:54.926Z', - planVersionId: 524, - planId: 645, - name: 'Afghanistan 2018', - startDate: '2018-01-01', - endDate: '2018-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG18', - customLocationCode: null, - currentReportingPeriodId: 375, - lastPublishedReportingPeriodId: null, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0', '2.0'], - }, - { - id: 544, - restricted: false, - revisionState: 'none', - createdAt: '2017-01-14T00:52:56.049Z', - updatedAt: '2018-05-01T14:44:45.409Z', - planVersionId: 526, - planId: 544, - name: 'Afghanistan 2017', - startDate: '2017-01-01', - endDate: '2017-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG17', - customLocationCode: null, - currentReportingPeriodId: 170, - lastPublishedReportingPeriodId: 170, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - { - id: 525, - restricted: false, - revisionState: null, - createdAt: '2017-01-14T00:52:56.005Z', - updatedAt: '2017-02-22T17:18:26.096Z', - planVersionId: 504, - planId: 525, - name: 'Afghanistan Flash Appeal: One million people on the move (September - December 2016)', - startDate: '2016-09-01', - endDate: '2016-12-31', - comments: null, - isForHPCProjects: false, - code: 'FAFG16', - customLocationCode: null, - currentReportingPeriodId: null, - lastPublishedReportingPeriodId: null, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - { - id: 512, - restricted: false, - revisionState: null, - createdAt: '2017-01-14T00:52:55.964Z', - updatedAt: '2017-02-22T17:18:25.908Z', - planVersionId: 464, - planId: 512, - name: 'Afghanistan 2016', - startDate: '2016-01-01', - endDate: '2016-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG16', - customLocationCode: null, - currentReportingPeriodId: null, - lastPublishedReportingPeriodId: null, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - { - id: 462, - restricted: false, - revisionState: null, - createdAt: '2017-01-14T00:52:55.823Z', - updatedAt: '2017-02-22T17:18:25.039Z', - planVersionId: 1082, - planId: 462, - name: 'Afghanistan 2015', - startDate: '2015-01-01', - endDate: '2015-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG15', - customLocationCode: null, - currentReportingPeriodId: null, - lastPublishedReportingPeriodId: null, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - { - id: 426, - restricted: false, - revisionState: null, - createdAt: '2017-01-14T00:52:55.726Z', - updatedAt: '2017-02-22T17:18:24.205Z', - planVersionId: 997, - planId: 426, - name: 'Afghanistan 2014', - startDate: '2014-01-01', - endDate: '2014-12-31', - comments: null, - isForHPCProjects: false, - code: 'HAFG14', - customLocationCode: null, - currentReportingPeriodId: null, - lastPublishedReportingPeriodId: null, - clusterSelectionType: null, - currentVersion: true, - latestVersion: true, - latestTaggedVersion: true, - versionTags: ['1.0'], - }, - ]; + async ({ + query, + }: plans.GetPlansAutocompleteParams): Promise => { + return this.data.plans.filter((plan) => + plan.name.toUpperCase().includes(query.toUpperCase()) + ); } ), }, projects: { getAutocompleteProjects: dummyEndpoint( 'projects.getAutocompleteProjects', - async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 1987, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.141Z', - code: 'apts626', - currentPublishedVersionId: 3974, - creatorParticipantId: null, - latestVersionId: 3974, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Return of Qualified Afghans (RQA)', - version: 2, - projectVersionCode: 'apts626', - visible: true, - }, - { - id: 1988, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.153Z', - code: 'apts627', - currentPublishedVersionId: 3976, - creatorParticipantId: null, - latestVersionId: 3976, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Health and Nutrition in old refugee camps and urban communities with large Afghan refugees in Pakistan', - version: 2, - projectVersionCode: 'apts627', - visible: true, - }, - { - id: 1989, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.185Z', - code: 'apts628', - currentPublishedVersionId: 3978, - creatorParticipantId: null, - latestVersionId: 3978, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Logistics and Field Coordination for Afghanistan operations', - version: 2, - projectVersionCode: 'apts628', - visible: true, - }, - { - id: 1991, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.306Z', - code: 'apts630', - currentPublishedVersionId: 3982, - creatorParticipantId: null, - latestVersionId: 3982, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Promotion of Safe Motherhood in Afghanistan', - version: 2, - projectVersionCode: 'apts630', - visible: true, - }, - { - id: 2001, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.819Z', - code: 'apts641', - currentPublishedVersionId: 4002, - creatorParticipantId: null, - latestVersionId: 4002, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Formal and non-formal education for Afghan Refugee children (boys and girls) at Roghani Camps 1 & 2, Chaman', - version: 2, - projectVersionCode: 'apts641', - visible: true, - }, - { - id: 2002, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.909Z', - code: 'apts645', - currentPublishedVersionId: 4004, - creatorParticipantId: null, - latestVersionId: 4004, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Support to 9 supplementary feeding centers & 3 therapeutic feeding centers in Afghanistan', - version: 2, - projectVersionCode: 'apts645', - visible: true, - }, - { - id: 2004, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:57.938Z', - code: 'apts647', - currentPublishedVersionId: 4008, - creatorParticipantId: null, - latestVersionId: 4008, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Support to Kabul central laboratory and 11 provincial laboratories in Afghanistan', - version: 2, - projectVersionCode: 'apts647', - visible: true, - }, - { - id: 2027, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.008Z', - code: 'apts673', - currentPublishedVersionId: 4054, - creatorParticipantId: null, - latestVersionId: 4054, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Engineering programme for Afghanistan-I', - version: 2, - projectVersionCode: 'apts673', - visible: true, - }, - { - id: 2028, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.019Z', - code: 'apts674', - currentPublishedVersionId: 4056, - creatorParticipantId: null, - latestVersionId: 4056, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Construction of 600 wells and 7 water supply systems in 12 target districts of Northern Afghanistan', - version: 2, - projectVersionCode: 'apts674', - visible: true, - }, - { - id: 2043, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.639Z', - code: 'apts690', - currentPublishedVersionId: 4086, - creatorParticipantId: null, - latestVersionId: 4086, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Basic Mental Health Care Project, in Ningarhar province, Afghanistan.', - version: 2, - projectVersionCode: 'apts690', - visible: true, - }, - { - id: 2045, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.686Z', - code: 'apts692', - currentPublishedVersionId: 4090, - creatorParticipantId: null, - latestVersionId: 4090, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Control of Vector-Borne Diseases in Afghanistan:·\tPrevention and Control of Malaria ·\tAlleviation of Suffering from Cutaneous Leishmaniasis', - version: 2, - projectVersionCode: 'apts692', - visible: true, - }, - { - id: 2046, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.740Z', - code: 'apts693', - currentPublishedVersionId: 4092, - creatorParticipantId: null, - latestVersionId: 4092, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Afghan Refugee Assistance and Administrative Support', - version: 2, - projectVersionCode: 'apts693', - visible: true, - }, - { - id: 2047, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.810Z', - code: 'apts694', - currentPublishedVersionId: 4094, - creatorParticipantId: null, - latestVersionId: 4094, - implementationStatus: 'Implementing', - pdf: null, - sourceProjectId: null, - name: 'Health Care Support Project (HCSP), Ningarhar Province Afghanistan.', - version: 2, - projectVersionCode: 'apts694', - visible: true, - }, - { - id: 2048, - createdAt: '2002-02-28T00:00:00.000Z', - updatedAt: '2017-02-06T20:16:59.822Z', - code: 'apts695', - currentPublishedVersionId: 4096, - creatorParticipantId: null, - latestVersionId: 4096, - implementationStatus: 'Planning', - pdf: null, - sourceProjectId: null, - name: 'Afghan Refugee Health and Education', - version: 2, - projectVersionCode: 'apts695', - visible: true, - }, - ]; + async ({ + query, + }: projects.GetProjectsAutocompleteParams): Promise => { + return this.data.projects.filter((project) => + project.name.toUpperCase().includes(query.toUpperCase()) + ); } ), }, @@ -2120,274 +1124,7 @@ export class Dummy { getUsageYears: dummyEndpoint( 'usageYear.getUsageYears', async (): Promise => { - // Implement the dummy data retrieval logic here - // Replace the following line with the actual implementation - return [ - { - id: 20, - year: '1999', - createdAt: '2016-02-23T15:03:30.774Z', - updatedAt: '2016-02-23T15:03:30.774Z', - }, - { - id: 21, - year: '2000', - createdAt: '2016-02-23T15:03:30.779Z', - updatedAt: '2016-02-23T15:03:30.779Z', - }, - { - id: 22, - year: '2001', - createdAt: '2016-02-23T15:03:30.783Z', - updatedAt: '2016-02-23T15:03:30.783Z', - }, - { - id: 23, - year: '2002', - createdAt: '2016-02-23T15:03:30.796Z', - updatedAt: '2016-02-23T15:03:30.796Z', - }, - { - id: 24, - year: '2003', - createdAt: '2016-02-23T15:03:30.804Z', - updatedAt: '2016-02-23T15:03:30.804Z', - }, - { - id: 25, - year: '2004', - createdAt: '2016-02-23T15:03:30.806Z', - updatedAt: '2016-02-23T15:03:30.806Z', - }, - { - id: 26, - year: '2005', - createdAt: '2016-02-23T15:03:30.808Z', - updatedAt: '2016-02-23T15:03:30.808Z', - }, - { - id: 27, - year: '2006', - createdAt: '2016-02-23T15:03:30.816Z', - updatedAt: '2016-02-23T15:03:30.816Z', - }, - { - id: 28, - year: '2007', - createdAt: '2016-02-23T15:03:30.827Z', - updatedAt: '2016-02-23T15:03:30.827Z', - }, - { - id: 29, - year: '2008', - createdAt: '2016-02-23T15:03:30.830Z', - updatedAt: '2016-02-23T15:03:30.830Z', - }, - { - id: 30, - year: '2009', - createdAt: '2016-02-23T15:03:30.832Z', - updatedAt: '2016-02-23T15:03:30.832Z', - }, - { - id: 31, - year: '2010', - createdAt: '2016-02-23T15:03:30.840Z', - updatedAt: '2016-02-23T15:03:30.840Z', - }, - { - id: 32, - year: '2011', - createdAt: '2016-02-23T15:03:30.852Z', - updatedAt: '2016-02-23T15:03:30.852Z', - }, - { - id: 33, - year: '2012', - createdAt: '2016-02-23T15:03:30.862Z', - updatedAt: '2016-02-23T15:03:30.862Z', - }, - { - id: 34, - year: '2014', - createdAt: '2016-02-23T15:03:30.870Z', - updatedAt: '2016-02-23T15:03:30.870Z', - }, - { - id: 35, - year: '2013', - createdAt: '2016-02-23T15:03:30.875Z', - updatedAt: '2016-02-23T15:03:30.875Z', - }, - { - id: 36, - year: '2016', - createdAt: '2016-02-23T15:03:30.879Z', - updatedAt: '2016-02-23T15:03:30.879Z', - }, - { - id: 37, - year: '2015', - createdAt: '2016-02-23T15:03:30.883Z', - updatedAt: '2016-02-23T15:03:30.883Z', - }, - { - id: 38, - year: '2017', - createdAt: '2016-02-23T15:03:30.890Z', - updatedAt: '2016-02-23T15:03:30.890Z', - }, - { - id: 39, - year: '2018', - createdAt: '2016-02-23T15:03:30.903Z', - updatedAt: '2016-02-23T15:03:30.903Z', - }, - { - id: 40, - year: '2019', - createdAt: '2016-02-23T15:03:30.909Z', - updatedAt: '2016-02-23T15:03:30.909Z', - }, - { - id: 41, - year: '2020', - createdAt: '2016-02-23T15:03:30.916Z', - updatedAt: '2016-02-23T15:03:30.916Z', - }, - { - id: 42, - year: '2021', - createdAt: '2016-02-23T15:03:30.923Z', - updatedAt: '2016-02-23T15:03:30.923Z', - }, - { - id: 43, - year: '2022', - createdAt: '2016-02-23T15:03:30.928Z', - updatedAt: '2016-02-23T15:03:30.928Z', - }, - { - id: 44, - year: '2023', - createdAt: '2016-02-23T15:03:30.941Z', - updatedAt: '2016-02-23T15:03:30.941Z', - }, - { - id: 45, - year: '2024', - createdAt: '2016-02-23T15:03:30.953Z', - updatedAt: '2016-02-23T15:03:30.953Z', - }, - { - id: 46, - year: '2025', - createdAt: '2016-02-23T15:03:30.955Z', - updatedAt: '2016-02-23T15:03:30.955Z', - }, - { - id: 47, - year: '2026', - createdAt: '2016-02-23T15:03:30.959Z', - updatedAt: '2016-02-23T15:03:30.959Z', - }, - { - id: 48, - year: '2027', - createdAt: '2016-02-23T15:03:30.975Z', - updatedAt: '2016-02-23T15:03:30.975Z', - }, - { - id: 49, - year: '2028', - createdAt: '2016-02-23T15:03:30.984Z', - updatedAt: '2016-02-23T15:03:30.984Z', - }, - { - id: 50, - year: '2029', - createdAt: '2016-02-23T15:03:30.990Z', - updatedAt: '2016-02-23T15:03:30.990Z', - }, - { - id: 51, - year: '2030', - createdAt: '2016-02-23T15:03:30.993Z', - updatedAt: '2016-02-23T15:03:30.993Z', - }, - { - id: 52, - year: '2031', - createdAt: '2016-02-23T15:03:31.000Z', - updatedAt: '2016-02-23T15:03:31.000Z', - }, - { - id: 53, - year: '2033', - createdAt: '2016-02-23T15:03:31.008Z', - updatedAt: '2016-02-23T15:03:31.008Z', - }, - { - id: 54, - year: '2034', - createdAt: '2016-02-23T15:03:31.016Z', - updatedAt: '2016-02-23T15:03:31.016Z', - }, - { - id: 55, - year: '2032', - createdAt: '2016-02-23T15:03:31.020Z', - updatedAt: '2016-02-23T15:03:31.020Z', - }, - { - id: 56, - year: '2035', - createdAt: '2016-02-23T15:03:31.025Z', - updatedAt: '2016-02-23T15:03:31.025Z', - }, - { - id: 57, - year: '2036', - createdAt: '2016-02-23T15:03:31.028Z', - updatedAt: '2016-02-23T15:03:31.028Z', - }, - { - id: 58, - year: '2037', - createdAt: '2016-02-23T15:03:31.043Z', - updatedAt: '2016-02-23T15:03:31.043Z', - }, - { - id: 59, - year: '2038', - createdAt: '2016-02-23T15:03:31.049Z', - updatedAt: '2016-02-23T15:03:31.049Z', - }, - { - id: 60, - year: '2039', - createdAt: '2016-02-23T15:03:31.057Z', - updatedAt: '2016-02-23T15:03:31.057Z', - }, - { - id: 61, - year: '2040', - createdAt: '2016-02-23T15:03:31.062Z', - updatedAt: '2016-02-23T15:03:31.062Z', - }, - { - id: 62, - year: '2042', - createdAt: '2016-02-23T15:03:31.070Z', - updatedAt: '2016-02-23T15:03:31.070Z', - }, - { - id: 63, - year: '2043', - createdAt: '2016-02-23T15:03:31.073Z', - updatedAt: '2016-02-23T15:03:31.073Z', - }, - ]; + return this.data.usageYears; } ), },