From 76f7e91ac65cf39abb7e45d481c542f39648a6a9 Mon Sep 17 00:00:00 2001 From: Onitoxan Date: Thu, 22 Aug 2024 12:10:42 +0200 Subject: [PATCH] Improve mock data implementation --- libs/hpc-dummy/src/lib/data-types.ts | 130 +- libs/hpc-dummy/src/lib/data.ts | 3429 ++++++++++++++++++++++++-- libs/hpc-dummy/src/lib/dummy.ts | 1843 +++----------- 3 files changed, 3603 insertions(+), 1799 deletions(-) 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; } ), },