From 159c2f5ebdf3df2030a5e6ceb32ed0396536b521 Mon Sep 17 00:00:00 2001 From: Jonni Date: Tue, 10 Dec 2024 13:14:48 +0000 Subject: [PATCH 01/14] chore: houskeeping, split up files and make code more radable --- .../fields/CemeteryOverview/AboutOverview.tsx | 48 ++-- .../CapitalNumbersOverview.tsx | 37 +-- .../src/fields/CemeteryOverview/index.tsx | 151 +++------- .../caretakerMultiField.ts | 17 -- .../cemeteryCaretakerSection/index.ts | 29 +- .../index.ts | 22 +- .../capitalNumberSubSection.ts | 2 +- .../equityAndLiabilitySubSection.ts | 8 +- .../opperatingCostSubSection.ts | 2 +- .../src/hooks/useTotals.ts | 21 -- .../src/lib/dataSchema.ts | 6 +- .../src/types/types.ts | 6 + .../src/utils/currency.ts | 16 ++ .../src/utils/helpers.ts | 262 +----------------- .../src/utils/overviewUtils.ts | 189 +++++++++++++ .../src/utils/sums.ts | 220 +++++++++++++++ 16 files changed, 553 insertions(+), 483 deletions(-) delete mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/caretakerMultiField.ts delete mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/hooks/useTotals.ts create mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/utils/currency.ts create mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/utils/overviewUtils.ts create mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/AboutOverview.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/AboutOverview.tsx index 926d2038faba..f0d0177b8a94 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/AboutOverview.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/AboutOverview.tsx @@ -1,61 +1,61 @@ import { GridColumn, GridRow } from '@island.is/island-ui/core' -import { formatPhoneNumber } from '@island.is/application/ui-components' - import { format as formatNationalId } from 'kennitala' -import { m } from '../../lib/messages' import { sectionColumn } from './overviewStyles.css' -import { FinancialStatementCemetery } from '../../lib/dataSchema' import { ValueLine } from './ValueLine' +import { FormValue } from '@island.is/application/types' +import { getAboutOverviewNumbers } from '../../utils/overviewUtils' +import { m } from '../../lib/messages' -export const AboutOverview = ({ - answers, -}: { - answers: FinancialStatementCemetery -}) => { +type Props = { + answers: FormValue +} + +export const AboutOverview = ({ answers }: Props) => { + const { + fullName, + nationalId, + powerOfAttorneyName, + powerOfAttorneyNationalId, + email, + phoneNumber, + } = getAboutOverviewNumbers(answers) return ( <> - + - {answers.about.powerOfAttorneyName ? ( + {powerOfAttorneyName ? ( ) : null} - {answers.about.powerOfAttorneyNationalId ? ( + {powerOfAttorneyNationalId ? ( ) : null} - + - + diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/CapitalNumbersOverview.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/CapitalNumbersOverview.tsx index f3e18079a7cf..8814e7cb42b8 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/CapitalNumbersOverview.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/CapitalNumbersOverview.tsx @@ -1,18 +1,19 @@ import { Box, GridColumn, GridRow, Text } from '@island.is/island-ui/core' - -import { m } from '../../lib/messages' import { ValueLine } from './ValueLine' import { sectionColumn, starterColumnStyle } from './overviewStyles.css' import { useLocale } from '@island.is/localization' -import { FinancialStatementCemetery } from '../../lib/dataSchema' -import { formatCurrency } from '../../utils/helpers' +import { FormValue } from '@island.is/application/types' +import { getCapitalNumbersOverviewNumbers } from '../../utils/overviewUtils' +import { m } from '../../lib/messages' + +type Props = { + answers: FormValue +} -export const CapitalNumberOverview = ({ - answers, -}: { - answers: FinancialStatementCemetery -}) => { +export const CapitalNumberOverview = ({ answers }: Props) => { const { formatMessage } = useLocale() + const { capitalIncome, capitalCost, totalCapital } = + getCapitalNumbersOverviewNumbers(answers) return ( <> @@ -22,27 +23,17 @@ export const CapitalNumberOverview = ({ - + - {answers.capitalNumbers?.capitalCost ? ( + {capitalCost ? ( - + ) : null} - + diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx index 0f8c89f2c9f0..9a6186f8c0b2 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx @@ -1,6 +1,5 @@ import { Fragment } from 'react' import { FieldBaseProps } from '@island.is/application/types' -import { getValueViaPath } from '@island.is/application/core' import { AlertBanner, Box, @@ -11,9 +10,6 @@ import { } from '@island.is/island-ui/core' import { useLocale } from '@island.is/localization' import { format as formatNationalId } from 'kennitala' -import { m } from '../../lib/messages' -import { FinancialStatementCemetery } from '../../lib/dataSchema' -import { formatCurrency } from '../../utils/helpers' import { AboutOverview } from './AboutOverview' import { ValueLine } from './ValueLine' import { CapitalNumberOverview } from './CapitalNumbersOverview' @@ -24,117 +20,53 @@ import { sectionColumn, starterColumnStyle, } from './overviewStyles.css' +import { formatCurrency } from '../../utils/currency' +import { isCemetryUnderFinancialLimit } from '../../utils/helpers' +import { getOverviewNumbers } from '../../utils/overviewUtils' +import { m } from '../../lib/messages' export const CemeteryOverview = ({ application }: FieldBaseProps) => { const { formatMessage } = useLocale() - - const answers = application.answers as FinancialStatementCemetery - const file = getValueViaPath>(answers, 'attachments.file') - const fileName = file?.[0]?.name - const incomeLimit = - getValueViaPath(answers, 'cemeteryOperations.incomeLimit') ?? '0' - const email = getValueViaPath(answers, 'about.email') - const cemeteryCaretakers = answers.cemeteryCaretaker - - const careIncome = getValueViaPath( - answers, - 'cemeteryIncome.careIncome', - ) - const burialRevenue = getValueViaPath( - answers, - 'cemeteryIncome.burialRevenue', - ) - const grantFromTheCemeteryFund = getValueViaPath( - answers, - 'cemeteryIncome.grantFromTheCemeteryFund', - ) - const otherIncome = getValueViaPath( - answers, - 'cemeteryIncome.otherIncome', - ) - const totalIncome = getValueViaPath(answers, 'cemeteryIncome.total') - - const payroll = getValueViaPath(answers, 'cemeteryExpense.payroll') - const funeralCost = getValueViaPath( - answers, - 'cemeteryExpense.funeralCost', - ) - const chapelExpense = getValueViaPath( - answers, - 'cemeteryExpense.chapelExpense', - ) - const donationsToCemeteryFund = getValueViaPath( - answers, - 'cemeteryExpense.cemeteryFundExpense', - ) - const donationsToOther = getValueViaPath( - answers, - 'cemeteryExpense.donationsToOther', - ) - const otherOperationCost = getValueViaPath( - answers, - 'cemeteryExpense.otherOperationCost', - ) - const depreciation = getValueViaPath( - answers, - 'cemeteryExpense.depreciation', - ) - const totalExpenses = getValueViaPath( - answers, - 'cemeteryExpense.total', - ) - - const fixedAssetsTotal = getValueViaPath( - answers, - 'cemeteryAsset.fixedAssetsTotal', - ) - const currentAssets = getValueViaPath( - answers, - 'cemeteryAsset.currentAssets', - ) - const totalAssets = getValueViaPath(answers, 'assetsTotal') - - const longTerm = getValueViaPath( - answers, - 'cemeteryLiability.longTerm', - ) - const shortTerm = getValueViaPath( - answers, - 'cemeteryLiability.shortTerm', - ) - const totalLiabilities = getValueViaPath( - answers, - 'equityAndLiabilitiesTotals.liabilitiesTotal', - ) - - const equityAtTheBeginningOfTheYear = getValueViaPath( - answers, - 'cemeteryEquity.equityAtTheBeginningOfTheYear', - ) - const revaluationDueToPriceChanges = getValueViaPath( - answers, - 'cemeteryEquity.revaluationDueToPriceChanges', - ) - const reevaluateOther = getValueViaPath( - answers, - 'cemeteryEquity.reevaluateOther', - ) - const operationResult = getValueViaPath( - answers, - 'cemeteryEquity.operationResult', - ) - const totalEquity = getValueViaPath(answers, 'cemeteryEquity.total') - - const debtsAndCash = getValueViaPath( - answers, - 'equityAndLiabilitiesTotals.equityAndLiabilitiesTotal', + const cemeteryUnderFinancialLimit = isCemetryUnderFinancialLimit( + application.answers, ) + const { + careIncome, + burialRevenue, + grantFromTheCemeteryFund, + otherIncome, + totalIncome, + payroll, + funeralCost, + chapelExpense, + donationsToCemeteryFund, + donationsToOther, + otherOperationCost, + depreciation, + totalExpenses, + fixedAssetsTotal, + currentAssets, + totalAssets, + longTerm, + shortTerm, + totalLiabilities, + equityAtTheBeginningOfTheYear, + revaluationDueToPriceChanges, + reevaluateOther, + operationResult, + totalEquity, + debtsAndCash, + email, + fileName, + incomeLimit, + cemeteryCaretakers, + } = getOverviewNumbers(application.answers) return ( - + @@ -214,7 +146,7 @@ export const CemeteryOverview = ({ application }: FieldBaseProps) => { - + @@ -294,7 +226,8 @@ export const CemeteryOverview = ({ application }: FieldBaseProps) => { - {Number(totalIncome) < Number(incomeLimit) && + {cemeteryUnderFinancialLimit && + cemeteryCaretakers && cemeteryCaretakers?.length > 0 ? ( <> @@ -338,7 +271,7 @@ export const CemeteryOverview = ({ application }: FieldBaseProps) => { ) : null} {fileName ? ( <> - + ) : null} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/caretakerMultiField.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/caretakerMultiField.ts deleted file mode 100644 index 21b59e7439fe..000000000000 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/caretakerMultiField.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { buildCustomField, buildMultiField } from '@island.is/application/core' -import { m } from '../../../lib/messages' -import { CEMETERYCARETAKER } from '../../../utils/constants' - -export const caretakerMultiField = buildMultiField({ - id: 'caretakers', - title: m.cemeteryBoardmembers, - description: m.cemeteryRegisterCaretakers, - children: [ - buildCustomField({ - id: 'cemeteryCaretaker', - title: m.cemeteryBoardmembers, - component: 'CemeteryCaretaker', - childInputIds: Object.values(CEMETERYCARETAKER), - }), - ], -}) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/index.ts index a5805af6e458..384036b026d1 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryCaretakerSection/index.ts @@ -1,9 +1,32 @@ -import { buildSection } from '@island.is/application/core' +import { + buildCustomField, + buildMultiField, + buildSection, +} from '@island.is/application/core' import { m } from '../../../lib/messages' -import { caretakerMultiField } from './caretakerMultiField' +import { CEMETERYCARETAKER } from '../../../utils/constants' +import { isCemetryUnderFinancialLimit } from '../../../utils/helpers' +// This section should appear if the cemetries total income is under the income limit export const cemeteryCaretekerSection = buildSection({ + condition: (answers) => { + return isCemetryUnderFinancialLimit(answers) + }, id: 'cemeteryCaretekerSection', title: m.cemeteryCaretakers, - children: [caretakerMultiField], + children: [ + buildMultiField({ + id: 'caretakers', + title: m.cemeteryBoardmembers, + description: m.cemeteryRegisterCaretakers, + children: [ + buildCustomField({ + id: 'cemeteryCaretaker', + title: m.cemeteryBoardmembers, + component: 'CemeteryCaretaker', + childInputIds: Object.values(CEMETERYCARETAKER), + }), + ], + }), + ], }) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryFinancialStatementSection/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryFinancialStatementSection/index.ts index 8df2c99ea9cd..b46b820b5714 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryFinancialStatementSection/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryFinancialStatementSection/index.ts @@ -1,30 +1,18 @@ import { buildFileUploadField, buildSection } from '@island.is/application/core' import { m } from '../../../lib/messages' -import { currencyStringToNumber } from '../../../utils/helpers' -import { FinancialStatementCemetery } from '../../../lib/dataSchema' +import { isCemetryUnderFinancialLimit } from '../../../utils/helpers' +// This section should appear if the cemetries total income is over the income limit export const cemeteryFinancialStatementSection = buildSection({ + condition: (answers) => { + return !isCemetryUnderFinancialLimit(answers) + }, id: 'documents', title: m.financialStatement, children: [ buildFileUploadField({ id: 'attachments.file', title: m.upload, - condition: (answers) => { - const applicationAnswers = answers as FinancialStatementCemetery - const careTakerLimit = - applicationAnswers.cemeteryOperation?.incomeLimit ?? '0' - const fixedAssetsTotal = - applicationAnswers.cemeteryAsset?.fixedAssetsTotal - const totalIncome = applicationAnswers.cemeteryIncome?.total - const longTermDebt = applicationAnswers.cemeteryLiability?.longTerm - const isUnderLimit = - currencyStringToNumber(totalIncome) < careTakerLimit - if (isUnderLimit && fixedAssetsTotal === '0' && longTermDebt === '0') { - return false - } - return true - }, introduction: m.uploadIntro, description: m.uploadDescription, uploadHeader: m.uploadHeader, diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/capitalNumberSubSection.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/capitalNumberSubSection.ts index 86bc4ae3eaa0..c8f3ff8e67a3 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/capitalNumberSubSection.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/capitalNumberSubSection.ts @@ -6,7 +6,7 @@ import { } from '@island.is/application/core' import { m } from '../../../lib/messages' import { CAPITALNUMBERS } from '../../../utils/constants' -import { sumCapitalNumbers } from '../../../utils/helpers' +import { sumCapitalNumbers } from '../../../utils/sums' export const capitalNumberSubSection = buildSubSection({ id: 'keynumbers.capitalNumbers', diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/equityAndLiabilitySubSection.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/equityAndLiabilitySubSection.ts index 1e0f6a2987f2..5a1b3b970132 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/equityAndLiabilitySubSection.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/equityAndLiabilitySubSection.ts @@ -13,12 +13,12 @@ import { } from '../../../utils/constants' import { operationResult, - showEquitiesAndLiabilitiesAlert, - sumAssets, sumLiabilities, - sumTotalEquity, sumTotalEquityAndLiabilities, -} from '../../../utils/helpers' + sumTotalEquity, + showEquitiesAndLiabilitiesAlert, + sumAssets, +} from '../../../utils/sums' export const equityAndLiabilitiesSubSection = buildSubSection({ id: 'keyNumbers.cemetryEquitiesAndLiabilities', diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts index 34329fa8ee15..6a346afeae4e 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts @@ -12,7 +12,7 @@ import { sumExpenses, sumIncome, sumOperatingResults, -} from '../../../utils/helpers' +} from '../../../utils/sums' export const opperatingCostSubSection = buildSubSection({ id: 'operatingCost', diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/hooks/useTotals.ts b/libs/application/templates/inao/financial-statement-cemetery/src/hooks/useTotals.ts deleted file mode 100644 index 15a5873fdd5e..000000000000 --- a/libs/application/templates/inao/financial-statement-cemetery/src/hooks/useTotals.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { useCallback, useEffect, useState } from 'react' -import { useFormContext } from 'react-hook-form' -import { getTotal } from '../utils/helpers' - -const useTotals = (key: string): [() => void, number] => { - const [total, setTotal] = useState(0) - const { getValues } = useFormContext() - const getSum = useCallback(() => { - const values = getValues() - const sum = getTotal(values, key) - setTotal(sum) - }, [key, getValues, setTotal]) - - useEffect(() => { - getSum() - }, [getSum]) - - return [getSum, total] -} - -export { useTotals } diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/lib/dataSchema.ts b/libs/application/templates/inao/financial-statement-cemetery/src/lib/dataSchema.ts index 97379678b103..35a8aefa428f 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/lib/dataSchema.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/lib/dataSchema.ts @@ -3,11 +3,9 @@ import { m } from './messages' import * as kennitala from 'kennitala' import { parsePhoneNumberFromString } from 'libphonenumber-js' import { BOARDMEMEBER, CARETAKER } from '../utils/constants' -import { - isPositiveNumberInString, - getBoardmembersAndCaretakers, -} from '../utils/helpers' +import { getBoardmembersAndCaretakers } from '../utils/helpers' import { YES } from '@island.is/application/types' +import { isPositiveNumberInString } from '../utils/currency' const FileSchema = z.object({ name: z.string(), diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts b/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts index 53e29233513f..783a4d09aed7 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts @@ -46,3 +46,9 @@ type InaoConfigItem = { export type AuditConfig = { financialStatementsInaoConfig: Array } + +export type CareTaker = { + nationalId: string + name: string + role: string +} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/currency.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/currency.ts new file mode 100644 index 000000000000..7ffe7149224c --- /dev/null +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/currency.ts @@ -0,0 +1,16 @@ +export const currencyStringToNumber = (str: string) => { + if (!str) { + return str + } + const cleanString = str.replace(/[,\s]+|[.\s]+/g, '') + return parseInt(cleanString, 10) +} + +export const formatCurrency = (answer?: string) => { + if (!answer) return '0. kr' + return answer.replace(/\B(?=(\d{3})+(?!\d))/g, '.') + ' kr.' +} + +export const isPositiveNumberInString = (input: string) => { + return Number(input) >= 0 +} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts index aec943d790e8..3187ab4d35f5 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts @@ -1,42 +1,14 @@ -import { ExternalData, FormValue } from '@island.is/application/types' +import { FormValue } from '@island.is/application/types' import { getValueViaPath } from '@island.is/application/core' import { BOARDMEMEBER, - CAPITALNUMBERS, CARETAKER, CemeteriesBackwardLimit, CemeteriesYearAllowed, - CEMETERYEQUITIESANDLIABILITIESIDS, - CEMETERYOPERATIONIDS, - EQUITYANDLIABILITIESTOTALS, - OPERATINGCOST, - TOTAL, } from './constants' -import { FinancialStatementCemetery } from '../lib/dataSchema' import getYear from 'date-fns/getYear' import subYears from 'date-fns/subYears' -import { AuditConfig, BoardMember, Config, FSIUSERTYPE } from '../types/types' - -export const getTotal = (values: Record, key: string) => { - if (!values[key]) { - return 0 - } - const total = Object.entries(values[key]) - .filter(([k, v]) => k !== TOTAL && !isNaN(Number(v))) - .map(([_k, v]) => Number(v)) - .reduce((prev, current) => { - return (prev += current) - }, 0) - return total -} - -export const currencyStringToNumber = (str: string) => { - if (!str) { - return str - } - const cleanString = str.replace(/[,\s]+|[.\s]+/g, '') - return parseInt(cleanString, 10) -} +import { AuditConfig, BoardMember } from '../types/types' export const getBoardmembersAndCaretakers = (members: Array) => { const careTakers = members @@ -60,11 +32,7 @@ export const isCemetryUnderFinancialLimit = (answers: FormValue) => { getValueViaPath(answers, 'cemeteryLiability.longTerm') || '0' const isUnderLimit = Number(totalIncome) < Number(incomeLimit) - if (isUnderLimit && fixedAssetsTotal === '0' && longTermDebt === '0') { - return true - } - - return false + return isUnderLimit && fixedAssetsTotal === '0' && longTermDebt === '0' } export const getYearOptions = (data: AuditConfig) => { @@ -102,227 +70,3 @@ export const possibleOperatingYears = ( }) return operationYears } - -export const getConfigInfoForKey = (config: Config[], configKey: string) => { - return config?.filter((config: Config) => config.key === configKey)[0].value -} - -export const formatCurrency = (answer?: string) => { - if (!answer) return '0. kr' - return answer.replace(/\B(?=(\d{3})+(?!\d))/g, '.') + ' kr.' -} - -export const isPositiveNumberInString = (input: string) => { - return Number(input) > 0 -} - -export const sumIncome = (answers: FormValue) => { - const careIncome = - getValueViaPath(answers, CEMETERYOPERATIONIDS.careIncome) || '0' - const burialRevenue = - getValueViaPath(answers, CEMETERYOPERATIONIDS.burialRevenue) || '0' - const grantFromTheCemeteryFund = - getValueViaPath( - answers, - CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, - ) || '0' - const otherIncome = - getValueViaPath(answers, CEMETERYOPERATIONIDS.otherIncome) || '0' - - return `${ - Number(careIncome) + - Number(burialRevenue) + - Number(grantFromTheCemeteryFund) + - Number(otherIncome) - }` -} - -export const sumExpenses = (answers: FormValue) => { - const payroll = getValueViaPath(answers, CEMETERYOPERATIONIDS.payroll) - const funeralCost = - getValueViaPath(answers, CEMETERYOPERATIONIDS.funeralCost) || '0' - const chapelExpense = - getValueViaPath(answers, CEMETERYOPERATIONIDS.chapelExpense) || '0' - const donationsToCemeteryFund = - getValueViaPath( - answers, - CEMETERYOPERATIONIDS.donationsToCemeteryFund, - ) || '0' - const donationsToOther = - getValueViaPath(answers, CEMETERYOPERATIONIDS.donationsToOther) || - '0' - const otherOperationCost = - getValueViaPath(answers, CEMETERYOPERATIONIDS.otherOperationCost) || - '0' - const depreciation = - getValueViaPath(answers, CEMETERYOPERATIONIDS.depreciation) || '0' - - return `${ - Number(payroll) + - Number(funeralCost) + - Number(chapelExpense) + - Number(donationsToCemeteryFund) + - Number(donationsToOther) + - Number(otherOperationCost) + - Number(depreciation) - }` -} - -export const sumOperatingResults = (answers: FormValue) => { - const income = - getValueViaPath(answers, CEMETERYOPERATIONIDS.totalIncome) || '0' - const expenses = - getValueViaPath(answers, CEMETERYOPERATIONIDS.totalExpense) || '0' - - return `${Number(income) - Number(expenses)}` -} - -export const sumCapitalNumbers = (answers: FormValue) => { - const capitalIncome = - getValueViaPath(answers, CAPITALNUMBERS.capitalIncome) || '0' - const capitalCost = - getValueViaPath(answers, CAPITALNUMBERS.capitalCost) || '0' - return `${Number(capitalIncome) - Number(capitalCost)}` -} - -export const sumAssets = (answers: FormValue) => { - const fixedAssetsTotal = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.fixedAssetsTotal, - ) || '0' - const currentAssets = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.currentAssets, - ) || '0' - return `${Number(fixedAssetsTotal) + Number(currentAssets)}` -} - -export const sumLiabilities = (answers: FormValue) => { - const longTerm = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.longTerm, - ) || '0' - const shortTerm = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.shortTerm, - ) || '0' - return `${Number(longTerm) + Number(shortTerm)}` -} - -export const operationResult = (answers: FormValue) => { - const operatingTotalCost = - getValueViaPath(answers, OPERATINGCOST.total) || '0' - const capitalTotal = - getValueViaPath(answers, CAPITALNUMBERS.total) || '0' - return `${Number(operatingTotalCost) + Number(capitalTotal)}` -} - -export const sumTotalEquity = (answers: FormValue) => { - const equityAtTheBeginningOfTheYear = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.equityAtTheBeginningOfTheYear, - ) || '0' - const revaluationDueToPriceChanges = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.revaluationDueToPriceChanges, - ) || '0' - const reevaluateOther = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.reevaluateOther, - ) || '0' - const operationResult = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.operationResult, - ) || '0' - - return `${ - Number(equityAtTheBeginningOfTheYear) + - Number(revaluationDueToPriceChanges) + - Number(reevaluateOther) + - Number(operationResult) - }` -} - -export const sumTotalEquityAndLiabilities = (answers: FormValue) => { - const liabilityTotal = - getValueViaPath( - answers, - EQUITYANDLIABILITIESTOTALS.liabilitiesTotal, - ) || '0' - const totalEquity = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.equityTotal, - ) || '0' - - return `${Number(totalEquity) + Number(liabilityTotal)}` -} - -export const showEquitiesAndLiabilitiesAlert = (answers: FormValue) => { - const fixedAssetsTotal = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.fixedAssetsTotal, - ) || '0' - const currentAssets = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.currentAssets, - ) || '0' - const longTerm = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.longTerm, - ) || '0' - const shortTerm = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.shortTerm, - ) || '0' - const equityAtTheBeginningOfTheYear = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.equityAtTheBeginningOfTheYear, - ) || '0' - const revaluationDueToPriceChanges = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.revaluationDueToPriceChanges, - ) || '0' - const reevaluateOther = - getValueViaPath( - answers, - CEMETERYEQUITIESANDLIABILITIESIDS.reevaluateOther, - ) || '0' - - const totalAssets = - getValueViaPath(answers, EQUITYANDLIABILITIESTOTALS.assetsTotal) || - '0' - const totalEquityAndLiabilities = - getValueViaPath( - answers, - EQUITYANDLIABILITIESTOTALS.equityAndLiabilitiesTotal, - ) || '0' - - if ( - !fixedAssetsTotal || - !currentAssets || - !longTerm || - !shortTerm || - !equityAtTheBeginningOfTheYear || - !revaluationDueToPriceChanges || - !reevaluateOther || - !operationResult - ) { - return false - } - return totalAssets !== totalEquityAndLiabilities -} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/overviewUtils.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/overviewUtils.ts new file mode 100644 index 000000000000..f27cb0ef6f96 --- /dev/null +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/overviewUtils.ts @@ -0,0 +1,189 @@ +import { FormValue } from '@island.is/application/types' +import { getValueViaPath } from '@island.is/application/core' +import { CareTaker } from '../types/types' +import { formatPhoneNumber } from '@island.is/application/ui-components' +import { format as formatNationalId } from 'kennitala' +import { formatCurrency } from './currency' + +export const getOverviewNumbers = (answers: FormValue) => { + const file = getValueViaPath>(answers, 'attachments.file') + const fileName = file?.[0]?.name + const incomeLimit = + getValueViaPath(answers, 'cemeteryOperations.incomeLimit') ?? '0' + const email = getValueViaPath(answers, 'about.email') + const careIncome = getValueViaPath( + answers, + 'cemeteryIncome.careIncome', + ) + const cemeteryCaretakers = getValueViaPath>( + answers, + 'cemeteryCaretaker', + ) + const burialRevenue = getValueViaPath( + answers, + 'cemeteryIncome.burialRevenue', + ) + const grantFromTheCemeteryFund = getValueViaPath( + answers, + 'cemeteryIncome.grantFromTheCemeteryFund', + ) + const otherIncome = getValueViaPath( + answers, + 'cemeteryIncome.otherIncome', + ) + const totalIncome = getValueViaPath(answers, 'cemeteryIncome.total') + + const payroll = getValueViaPath(answers, 'cemeteryExpense.payroll') + const funeralCost = getValueViaPath( + answers, + 'cemeteryExpense.funeralCost', + ) + const chapelExpense = getValueViaPath( + answers, + 'cemeteryExpense.chapelExpense', + ) + const donationsToCemeteryFund = getValueViaPath( + answers, + 'cemeteryExpense.cemeteryFundExpense', + ) + const donationsToOther = getValueViaPath( + answers, + 'cemeteryExpense.donationsToOther', + ) + const otherOperationCost = getValueViaPath( + answers, + 'cemeteryExpense.otherOperationCost', + ) + const depreciation = getValueViaPath( + answers, + 'cemeteryExpense.depreciation', + ) + const totalExpenses = getValueViaPath( + answers, + 'cemeteryExpense.total', + ) + + const fixedAssetsTotal = getValueViaPath( + answers, + 'cemeteryAsset.fixedAssetsTotal', + ) + const currentAssets = getValueViaPath( + answers, + 'cemeteryAsset.currentAssets', + ) + const totalAssets = getValueViaPath(answers, 'assetsTotal') + + const longTerm = getValueViaPath( + answers, + 'cemeteryLiability.longTerm', + ) + const shortTerm = getValueViaPath( + answers, + 'cemeteryLiability.shortTerm', + ) + const totalLiabilities = getValueViaPath( + answers, + 'equityAndLiabilitiesTotals.liabilitiesTotal', + ) + + const equityAtTheBeginningOfTheYear = getValueViaPath( + answers, + 'cemeteryEquity.equityAtTheBeginningOfTheYear', + ) + const revaluationDueToPriceChanges = getValueViaPath( + answers, + 'cemeteryEquity.revaluationDueToPriceChanges', + ) + const reevaluateOther = getValueViaPath( + answers, + 'cemeteryEquity.reevaluateOther', + ) + const operationResult = getValueViaPath( + answers, + 'cemeteryEquity.operationResult', + ) + const totalEquity = getValueViaPath(answers, 'cemeteryEquity.total') + + const debtsAndCash = getValueViaPath( + answers, + 'equityAndLiabilitiesTotals.equityAndLiabilitiesTotal', + ) + + return { + file, + fileName, + incomeLimit, + email, + cemeteryCaretakers, + careIncome, + burialRevenue, + grantFromTheCemeteryFund, + otherIncome, + totalIncome, + payroll, + funeralCost, + chapelExpense, + donationsToCemeteryFund, + donationsToOther, + otherOperationCost, + depreciation, + totalExpenses, + fixedAssetsTotal, + currentAssets, + totalAssets, + longTerm, + shortTerm, + totalLiabilities, + equityAtTheBeginningOfTheYear, + revaluationDueToPriceChanges, + reevaluateOther, + operationResult, + totalEquity, + debtsAndCash, + } +} + +export const getAboutOverviewNumbers = (answers: FormValue) => { + const fullName = getValueViaPath(answers, 'about.fullName') + const nationalId = formatNationalId( + getValueViaPath(answers, 'about.nationalId') ?? '', + ) + const powerOfAttorneyName = getValueViaPath( + answers, + 'about.powerOfAttorneyName', + ) + const powerOfAttorneyNationalId = formatNationalId( + getValueViaPath(answers, 'about.powerOfAttorneyNationalId') ?? '', + ) + const email = getValueViaPath(answers, 'about.email') + const phoneNumber = formatPhoneNumber( + getValueViaPath(answers, 'about.phoneNumber') ?? '', + ) + + return { + fullName, + nationalId, + powerOfAttorneyName, + powerOfAttorneyNationalId, + email, + phoneNumber, + } +} + +export const getCapitalNumbersOverviewNumbers = (answers: FormValue) => { + const capitalIncome = formatCurrency( + getValueViaPath(answers, 'capitalNumbers.capitalIncome'), + ) + const capitalCost = formatCurrency( + getValueViaPath(answers, 'capitalNumbers.capitalCost'), + ) + const totalCapital = formatCurrency( + getValueViaPath(answers, 'capitalNumbers.total'), + ) + + return { + capitalIncome, + capitalCost, + totalCapital, + } +} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts new file mode 100644 index 000000000000..266c2e4e8255 --- /dev/null +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts @@ -0,0 +1,220 @@ +import { FormValue } from '@island.is/application/types' +import { getValueViaPath } from '@island.is/application/core' +import { + CAPITALNUMBERS, + CEMETERYEQUITIESANDLIABILITIESIDS, + CEMETERYOPERATIONIDS, + EQUITYANDLIABILITIESTOTALS, + OPERATINGCOST, +} from './constants' + +export const sumIncome = (answers: FormValue) => { + const careIncome = + getValueViaPath(answers, CEMETERYOPERATIONIDS.careIncome) || '0' + const burialRevenue = + getValueViaPath(answers, CEMETERYOPERATIONIDS.burialRevenue) || '0' + const grantFromTheCemeteryFund = + getValueViaPath( + answers, + CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, + ) || '0' + const otherIncome = + getValueViaPath(answers, CEMETERYOPERATIONIDS.otherIncome) || '0' + + return `${ + Number(careIncome) + + Number(burialRevenue) + + Number(grantFromTheCemeteryFund) + + Number(otherIncome) + }` +} + +export const sumExpenses = (answers: FormValue) => { + const payroll = getValueViaPath(answers, CEMETERYOPERATIONIDS.payroll) + const funeralCost = + getValueViaPath(answers, CEMETERYOPERATIONIDS.funeralCost) || '0' + const chapelExpense = + getValueViaPath(answers, CEMETERYOPERATIONIDS.chapelExpense) || '0' + const donationsToCemeteryFund = + getValueViaPath( + answers, + CEMETERYOPERATIONIDS.donationsToCemeteryFund, + ) || '0' + const donationsToOther = + getValueViaPath(answers, CEMETERYOPERATIONIDS.donationsToOther) || + '0' + const otherOperationCost = + getValueViaPath(answers, CEMETERYOPERATIONIDS.otherOperationCost) || + '0' + const depreciation = + getValueViaPath(answers, CEMETERYOPERATIONIDS.depreciation) || '0' + + return `${ + Number(payroll) + + Number(funeralCost) + + Number(chapelExpense) + + Number(donationsToCemeteryFund) + + Number(donationsToOther) + + Number(otherOperationCost) + + Number(depreciation) + }` +} + +export const sumOperatingResults = (answers: FormValue) => { + const income = + getValueViaPath(answers, CEMETERYOPERATIONIDS.totalIncome) || '0' + const expenses = + getValueViaPath(answers, CEMETERYOPERATIONIDS.totalExpense) || '0' + + return `${Number(income) - Number(expenses)}` +} + +export const sumCapitalNumbers = (answers: FormValue) => { + const capitalIncome = + getValueViaPath(answers, CAPITALNUMBERS.capitalIncome) || '0' + const capitalCost = + getValueViaPath(answers, CAPITALNUMBERS.capitalCost) || '0' + return `${Number(capitalIncome) - Number(capitalCost)}` +} + +export const sumAssets = (answers: FormValue) => { + const fixedAssetsTotal = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.fixedAssetsTotal, + ) || '0' + const currentAssets = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.currentAssets, + ) || '0' + return `${Number(fixedAssetsTotal) + Number(currentAssets)}` +} + +export const sumLiabilities = (answers: FormValue) => { + const longTerm = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.longTerm, + ) || '0' + const shortTerm = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.shortTerm, + ) || '0' + return `${Number(longTerm) + Number(shortTerm)}` +} + +export const operationResult = (answers: FormValue) => { + const operatingTotalCost = + getValueViaPath(answers, OPERATINGCOST.total) || '0' + const capitalTotal = + getValueViaPath(answers, CAPITALNUMBERS.total) || '0' + return `${Number(operatingTotalCost) + Number(capitalTotal)}` +} + +export const sumTotalEquity = (answers: FormValue) => { + const equityAtTheBeginningOfTheYear = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.equityAtTheBeginningOfTheYear, + ) || '0' + const revaluationDueToPriceChanges = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.revaluationDueToPriceChanges, + ) || '0' + const reevaluateOther = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.reevaluateOther, + ) || '0' + const operationResult = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.operationResult, + ) || '0' + + return `${ + Number(equityAtTheBeginningOfTheYear) + + Number(revaluationDueToPriceChanges) + + Number(reevaluateOther) + + Number(operationResult) + }` +} + +export const sumTotalEquityAndLiabilities = (answers: FormValue) => { + const liabilityTotal = + getValueViaPath( + answers, + EQUITYANDLIABILITIESTOTALS.liabilitiesTotal, + ) || '0' + const totalEquity = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.equityTotal, + ) || '0' + + return `${Number(totalEquity) + Number(liabilityTotal)}` +} + +export const showEquitiesAndLiabilitiesAlert = (answers: FormValue) => { + const fixedAssetsTotal = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.fixedAssetsTotal, + ) || '0' + const currentAssets = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.currentAssets, + ) || '0' + const longTerm = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.longTerm, + ) || '0' + const shortTerm = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.shortTerm, + ) || '0' + const equityAtTheBeginningOfTheYear = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.equityAtTheBeginningOfTheYear, + ) || '0' + const revaluationDueToPriceChanges = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.revaluationDueToPriceChanges, + ) || '0' + const reevaluateOther = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.reevaluateOther, + ) || '0' + + const totalAssets = + getValueViaPath(answers, EQUITYANDLIABILITIESTOTALS.assetsTotal) || + '0' + const totalEquityAndLiabilities = + getValueViaPath( + answers, + EQUITYANDLIABILITIESTOTALS.equityAndLiabilitiesTotal, + ) || '0' + + if ( + !fixedAssetsTotal || + !currentAssets || + !longTerm || + !shortTerm || + !equityAtTheBeginningOfTheYear || + !revaluationDueToPriceChanges || + !reevaluateOther || + !operationResult + ) { + return false + } + return totalAssets !== totalEquityAndLiabilities +} From 6c2d9d01c47c1d8bd4c7acf51e79c8c107204b33 Mon Sep 17 00:00:00 2001 From: Jonni Date: Tue, 10 Dec 2024 16:29:38 +0000 Subject: [PATCH 02/14] chore: refactor out custom components --- .github/CODEOWNERS | 11 +++ .../src/dataProviders/index.ts | 13 ++- .../src/fields/CemeteryIncomeLimit/index.tsx | 43 --------- .../FetchDataBasedOnSelectedYear/index.tsx | 92 ++++++++++++++++++ .../src/fields/PowerOfAttorney/index.tsx | 96 ------------------- .../src/fields/index.ts | 3 +- .../opperatingCostSubSection.ts | 4 +- .../clientInfoSection/index.ts | 66 +++++++------ .../src/types/types.ts | 10 ++ .../src/utils/constants.ts | 1 + .../src/utils/helpers.ts | 66 ++++++++++++- 11 files changed, 229 insertions(+), 176 deletions(-) delete mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryIncomeLimit/index.tsx create mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx delete mode 100644 libs/application/templates/inao/financial-statement-cemetery/src/fields/PowerOfAttorney/index.tsx diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index d9d7ad29b0f6..4303867d8d8e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,3 +1,6 @@ +import { application } from "express" +import { template } from "lodash" + # Add new projects here. Project folders are usually owned by the team assigned. # Order is important; the last matching pattern takes the most precedence. @@ -238,6 +241,14 @@ codemagic.yaml /libs/api/domains/financial-statements-inao/ @island-is/norda /libs/application/templates/financial-statements-inao/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda +/libs/application/template/inao @island-is/norda +/libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda +/libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda +/libs/application/templates/inao/financial-statement-political-party/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-political-party/ @island-is/norda + /libs/portals/my-pages/applications/ @island-is/norda-applications /libs/portals/admin/application-system/ @island-is/norda-applications diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/dataProviders/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/dataProviders/index.ts index dd52c79ad7f2..b0b604d16ca3 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/dataProviders/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/dataProviders/index.ts @@ -1,10 +1,7 @@ import { defineTemplateApi } from '@island.is/application/types' import { UserProfileApi } from '@island.is/application/types' - -export { - NationalRegistryUserApi, - IdentityApi as IdentityApiProvider, -} from '@island.is/application/types' +import { IdentityApi } from '@island.is/application/types' +export { NationalRegistryUserApi } from '@island.is/application/types' export const CurrentUserTypeProvider = defineTemplateApi({ action: 'getUserType', @@ -16,3 +13,9 @@ export const UserInfoApi = UserProfileApi.configure({ catchMock: true, }, }) + +export const IdentityApiProvider = IdentityApi.configure({ + params: { + includeActorInfo: true, + }, +}) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryIncomeLimit/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryIncomeLimit/index.tsx deleted file mode 100644 index 3e78d43e4af1..000000000000 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryIncomeLimit/index.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { useEffect } from 'react' -import { AlertMessage, ContentBlock } from '@island.is/island-ui/core' -import { useLocale } from '@island.is/localization' -import { useQuery } from '@apollo/client' -import { useFormContext } from 'react-hook-form' -import { m } from '../../lib/messages' -import { financialLimitQuery } from '../../graphql' -import { CEMETERYOPERATIONIDS } from '../../utils/constants' -import { FSIUSERTYPE } from '../../types/types' - -export const CemeteryIncomeLimit = () => { - const { getValues, setValue } = useFormContext() - const { formatMessage } = useLocale() - - const values = getValues() - const year: string = values?.conditionalAbout?.operatingYear - - const { data, error } = useQuery(financialLimitQuery, { - variables: { input: { year, clientType: `${FSIUSERTYPE.CEMETRY}` } }, - }) - - useEffect(() => { - const limit = data?.financialStatementsInaoClientFinancialLimit?.toString() - - if (limit) { - setValue(CEMETERYOPERATIONIDS.incomeLimit, limit) - } - }, [data, setValue]) - - if (error) { - return ( - - - - ) - } - - return null -} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx new file mode 100644 index 000000000000..155d9e5eae3a --- /dev/null +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx @@ -0,0 +1,92 @@ +import { useEffect } from 'react' +import { AlertMessage, ContentBlock } from '@island.is/island-ui/core' +import { useLocale } from '@island.is/localization' +import { useQuery } from '@apollo/client' +import { useFormContext } from 'react-hook-form' +import { financialLimitQuery, taxInfoQuery } from '../../graphql' +import { CEMETERYOPERATIONIDS } from '../../utils/constants' +import { FSIUSERTYPE, TaxInfoData } from '../../types/types' +import { + getCareIncomeAndBurialRevenueAndGrant, + getTaxInfoFromAnswers, +} from '../../utils/helpers' +import { m } from '../../lib/messages' + +export const FetchDataBasedOnSelectedYear = () => { + const { getValues, setValue } = useFormContext() + const { formatMessage } = useLocale() + + const values = getValues() + const year: string = values?.conditionalAbout?.operatingYear + + const { data, error } = useQuery(financialLimitQuery, { + variables: { input: { year, clientType: `${FSIUSERTYPE.CEMETRY}` } }, + }) + + const { data: taxInfoData } = useQuery(taxInfoQuery, { + variables: { year }, + }) + + const { + careIncomeFromAnswers, + burialRevenueFromAnswers, + grantFromTheCemeteryFundFromAnswers, + donationsToCemeteryFundFromAnswers, + } = getTaxInfoFromAnswers(values) + + useEffect(() => { + const limit = data?.financialStatementsInaoClientFinancialLimit?.toString() + + if (limit) { + setValue(CEMETERYOPERATIONIDS.incomeLimit, limit) + } + }, [data, setValue]) + + useEffect(() => { + if (taxInfoData) { + const { + careIncome, + burialRevenue, + grantFromTheCemeteryFund, + donationsToCemeteryFund, + } = getCareIncomeAndBurialRevenueAndGrant( + taxInfoData.financialStatementsInaoTaxInfo, + ) + + console.log(careIncome, burialRevenue, grantFromTheCemeteryFund) + + careIncome && + !careIncomeFromAnswers && + setValue(CEMETERYOPERATIONIDS.careIncome, careIncome) + burialRevenue && + !burialRevenueFromAnswers && + setValue(CEMETERYOPERATIONIDS.burialRevenue, burialRevenue) + grantFromTheCemeteryFund && + !grantFromTheCemeteryFundFromAnswers && + setValue( + CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, + grantFromTheCemeteryFund, + ) + donationsToCemeteryFund && + !donationsToCemeteryFundFromAnswers && + setValue( + CEMETERYOPERATIONIDS.donationsToCemeteryFund, + donationsToCemeteryFund, + ) + } + }, [taxInfoData]) + + if (error) { + return ( + + + + ) + } + + return null +} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/PowerOfAttorney/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/PowerOfAttorney/index.tsx deleted file mode 100644 index f4dcf6f77248..000000000000 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/PowerOfAttorney/index.tsx +++ /dev/null @@ -1,96 +0,0 @@ -import { useEffect } from 'react' -import { useFormContext } from 'react-hook-form' -import { useLazyQuery } from '@apollo/client' -import { - Box, - GridColumn, - GridContainer, - GridRow, - InputError, -} from '@island.is/island-ui/core' -import { InputController } from '@island.is/shared/form-fields' -import { useLocale } from '@island.is/localization' -import { IdentityInput, Query } from '@island.is/api/schema' -import { m } from '../../lib/messages' -import { FieldBaseProps } from '@island.is/application/types' -import { getErrorViaPath } from '@island.is/application/core' -import { IdentityQuery } from '../../graphql' -import { ABOUTIDS } from '../../utils/constants' - -export const PowerOfAttorneyFields = ({ application }: FieldBaseProps) => { - const { formatMessage } = useLocale() - const { - formState: { errors }, - setValue, - } = useFormContext() - - const currentActor = - application.applicantActors[application.applicantActors.length - 1] - - const [getIdentity, { loading, error: queryError }] = useLazyQuery< - Query, - { input: IdentityInput } - >(IdentityQuery, { - onCompleted: (data) => { - setValue(ABOUTIDS.powerOfAttorneyName, data.identity?.name ?? '') - }, - }) - - useEffect(() => { - if (currentActor) { - getIdentity({ - variables: { - input: { - nationalId: currentActor, - }, - }, - }) - } - }, []) - - if (application.applicantActors.length === 0) { - return null - } - - return ( - - - - - - - - - - - {queryError ? ( - - ) : null} - - - - - ) -} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/fields/index.ts index 9903bafb3734..5c8739dcdcab 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/index.ts @@ -1,4 +1,3 @@ export { CemeteryCaretaker } from './CemeteryCareteker' -export { PowerOfAttorneyFields } from './PowerOfAttorney' export { CemeteryOverview } from './CemeteryOverview' -export { CemeteryIncomeLimit } from './CemeteryIncomeLimit' +export { FetchDataBasedOnSelectedYear } from './FetchDataBasedOnSelectedYear' diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts index 6a346afeae4e..d15128bfd667 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/cemeteryKeyNumbersSection/opperatingCostSubSection.ts @@ -24,9 +24,9 @@ export const opperatingCostSubSection = buildSubSection({ description: m.fillOutAppopriate, children: [ buildCustomField({ - id: 'cemetryIncomeLimit', + id: 'fetchDataBasedOnYear', title: '', - component: 'CemeteryIncomeLimit', + component: 'FetchDataBasedOnSelectedYear', }), // Income buildDescriptionField({ diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts index 9916366fd934..0a16dcebfd02 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts @@ -1,12 +1,13 @@ import { buildAsyncSelectField, - buildCustomField, buildDescriptionField, buildMultiField, + buildPhoneField, buildSection, buildTextField, + getValueViaPath, } from '@island.is/application/core' -import { Application, UserProfile } from '@island.is/application/types' +import { Application } from '@island.is/application/types' import { m } from '../../../lib/messages' import { ABOUTIDS } from '../../../utils/constants' import { Identity } from '@island.is/api/schema' @@ -15,6 +16,10 @@ import { AuditConfig } from '../../../types/types' import { getYearOptions } from '../../../utils/helpers' export const clientInfoSection = buildSection({ + condition: (_answers, externalData) => { + console.log(externalData) + return true + }, id: 'info', title: m.info, children: [ @@ -58,42 +63,49 @@ export const clientInfoSection = buildSection({ return nationalRegistry.name }, }), - buildDescriptionField({ - id: 'about.description2', - title: '', + buildTextField({ + id: ABOUTIDS.powerOfAttorneyNationalId, + title: m.powerOfAttorneyNationalId, + width: 'half', + readOnly: true, + format: '######-####', + defaultValue: (application: Application) => + getValueViaPath( + application.externalData, + 'identity.data.actor.nationalId', + ), }), - buildCustomField({ - id: 'powerOfAttorney', - title: '', - description: '', - component: 'PowerOfAttorneyFields', - childInputIds: [ - ABOUTIDS.powerOfAttorneyNationalId, - ABOUTIDS.powerOfAttorneyName, - ], + buildTextField({ + id: ABOUTIDS.powerOfAttorneyName, + title: m.powerOfAttorneyName, + width: 'half', + readOnly: true, + defaultValue: (application: Application) => + getValueViaPath( + application.externalData, + 'identity.data.actor.name', + ), }), - buildTextField({ id: 'about.email', title: m.email, width: 'half', variant: 'email', - defaultValue: (application: Application) => { - const userProfile = application.externalData.userProfile - .data as UserProfile - return userProfile.email - }, + defaultValue: (application: Application) => + getValueViaPath( + application.externalData, + 'userProfile.data.email', + ), }), - buildTextField({ + buildPhoneField({ id: 'about.phoneNumber', title: m.phoneNumber, width: 'half', - variant: 'tel', - defaultValue: (application: Application) => { - const userProfile = application.externalData.userProfile - .data as UserProfile - return userProfile.mobilePhoneNumber - }, + defaultValue: (application: Application) => + getValueViaPath( + application.externalData, + 'userProfile.data.mobilePhoneNumber', + ), }), ], }), diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts b/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts index 783a4d09aed7..edd111488a8c 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/types/types.ts @@ -52,3 +52,13 @@ export type CareTaker = { name: string role: string } + +export type TaxInfoItem = { + __typename: string + key: number + value: string +} + +export type TaxInfoData = { + financialStatementsInaoTaxInfo: Array +} diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/constants.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/constants.ts index 2c0cb3bb6afe..190000af6700 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/utils/constants.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/constants.ts @@ -26,6 +26,7 @@ export enum TaxInfoTypes { CARE_INCOME = 300, BURIAL_REVENUE = 301, GRANT_FROM_THE_CEMETERY_FUND = 302, + DONATIONS_TO_CEMETERYFUND = 334, } export const CEMETERYOPERATIONIDS = { diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts index 3187ab4d35f5..9a6d72727122 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/helpers.ts @@ -5,10 +5,12 @@ import { CARETAKER, CemeteriesBackwardLimit, CemeteriesYearAllowed, + CEMETERYOPERATIONIDS, + TaxInfoTypes, } from './constants' import getYear from 'date-fns/getYear' import subYears from 'date-fns/subYears' -import { AuditConfig, BoardMember } from '../types/types' +import { AuditConfig, BoardMember, TaxInfoItem } from '../types/types' export const getBoardmembersAndCaretakers = (members: Array) => { const careTakers = members @@ -70,3 +72,65 @@ export const possibleOperatingYears = ( }) return operationYears } + +export const getCareIncomeAndBurialRevenueAndGrant = ( + taxInfo?: Array, +) => { + if (!taxInfo) { + return { + careIncome: undefined, + burialRevenue: undefined, + grantFromTheCemeteryFund: undefined, + } + } + + const careIncome = taxInfo.find( + (item) => item.key === TaxInfoTypes.CARE_INCOME, + ) + const burialRevenue = taxInfo.find( + (item) => item.key === TaxInfoTypes.BURIAL_REVENUE, + ) + const grantFromTheCemeteryFund = taxInfo.find( + (item) => item.key === TaxInfoTypes.GRANT_FROM_THE_CEMETERY_FUND, + ) + const donationsToCemeteryFund = taxInfo.find( + (item) => item.key === TaxInfoTypes.DONATIONS_TO_CEMETERYFUND, + ) + + return { + careIncome: careIncome ? careIncome.value : undefined, + burialRevenue: burialRevenue ? burialRevenue.value : undefined, + grantFromTheCemeteryFund: grantFromTheCemeteryFund + ? grantFromTheCemeteryFund.value + : undefined, + donationsToCemeteryFund: donationsToCemeteryFund + ? donationsToCemeteryFund.value + : undefined, + } +} + +export const getTaxInfoFromAnswers = (answers: FormValue) => { + const careIncome = getValueViaPath( + answers, + CEMETERYOPERATIONIDS.careIncome, + ) + const burialRevenue = getValueViaPath( + answers, + CEMETERYOPERATIONIDS.burialRevenue, + ) + const grantFromTheCemeteryFund = getValueViaPath( + answers, + CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, + ) + const donationsToCemeteryFund = getValueViaPath( + answers, + CEMETERYOPERATIONIDS.donationsToCemeteryFund, + ) + + return { + careIncomeFromAnswers: careIncome, + burialRevenueFromAnswers: burialRevenue, + grantFromTheCemeteryFundFromAnswers: grantFromTheCemeteryFund, + donationsToCemeteryFundFromAnswers: donationsToCemeteryFund, + } +} From 4a1cf53680655f7811bff4e881328bb3ec6d3fc6 Mon Sep 17 00:00:00 2001 From: Jonni Date: Tue, 10 Dec 2024 16:33:21 +0000 Subject: [PATCH 03/14] fix: remove imports from codeowners --- .github/CODEOWNERS | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4303867d8d8e..69c72c6c2c1b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,6 +1,3 @@ -import { application } from "express" -import { template } from "lodash" - # Add new projects here. Project folders are usually owned by the team assigned. # Order is important; the last matching pattern takes the most precedence. From d4f8889536bdc14078e8bd728f4254a3083333bb Mon Sep 17 00:00:00 2001 From: Jonni Date: Tue, 10 Dec 2024 16:35:15 +0000 Subject: [PATCH 04/14] chore: remove console.log --- .../src/fields/FetchDataBasedOnSelectedYear/index.tsx | 2 -- .../src/forms/applicationForm/clientInfoSection/index.ts | 4 ---- 2 files changed, 6 deletions(-) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx index 155d9e5eae3a..f5f0cf8dee95 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx @@ -53,8 +53,6 @@ export const FetchDataBasedOnSelectedYear = () => { taxInfoData.financialStatementsInaoTaxInfo, ) - console.log(careIncome, burialRevenue, grantFromTheCemeteryFund) - careIncome && !careIncomeFromAnswers && setValue(CEMETERYOPERATIONIDS.careIncome, careIncome) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts index 0a16dcebfd02..718b55a3d021 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/forms/applicationForm/clientInfoSection/index.ts @@ -16,10 +16,6 @@ import { AuditConfig } from '../../../types/types' import { getYearOptions } from '../../../utils/helpers' export const clientInfoSection = buildSection({ - condition: (_answers, externalData) => { - console.log(externalData) - return true - }, id: 'info', title: m.info, children: [ From efe41788ba1a4f0cd78f751c25401146944bc59a Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 09:56:09 +0000 Subject: [PATCH 05/14] chore: add loading state --- .../FetchDataBasedOnSelectedYear/index.tsx | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx index f5f0cf8dee95..1f03138197cf 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx @@ -1,5 +1,9 @@ import { useEffect } from 'react' -import { AlertMessage, ContentBlock } from '@island.is/island-ui/core' +import { + AlertMessage, + ContentBlock, + LoadingDots, +} from '@island.is/island-ui/core' import { useLocale } from '@island.is/localization' import { useQuery } from '@apollo/client' import { useFormContext } from 'react-hook-form' @@ -19,13 +23,16 @@ export const FetchDataBasedOnSelectedYear = () => { const values = getValues() const year: string = values?.conditionalAbout?.operatingYear - const { data, error } = useQuery(financialLimitQuery, { + const { data, error, loading } = useQuery(financialLimitQuery, { variables: { input: { year, clientType: `${FSIUSERTYPE.CEMETRY}` } }, }) - const { data: taxInfoData } = useQuery(taxInfoQuery, { - variables: { year }, - }) + const { data: taxInfoData, loading: taxInfoLoading } = useQuery( + taxInfoQuery, + { + variables: { year }, + }, + ) const { careIncomeFromAnswers, @@ -74,6 +81,14 @@ export const FetchDataBasedOnSelectedYear = () => { } }, [taxInfoData]) + if (loading || taxInfoLoading) { + return ( + + + + ) + } + if (error) { return ( From 6bc8d695d267bef63d97bb128acbdab3e5728ef9 Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 10:11:40 +0000 Subject: [PATCH 06/14] chore: simplify logic --- .../FetchDataBasedOnSelectedYear/index.tsx | 76 ++++++++++++------- 1 file changed, 47 insertions(+), 29 deletions(-) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx index 1f03138197cf..1fbb78acc661 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/FetchDataBasedOnSelectedYear/index.tsx @@ -50,36 +50,54 @@ export const FetchDataBasedOnSelectedYear = () => { }, [data, setValue]) useEffect(() => { - if (taxInfoData) { - const { - careIncome, - burialRevenue, - grantFromTheCemeteryFund, - donationsToCemeteryFund, - } = getCareIncomeAndBurialRevenueAndGrant( - taxInfoData.financialStatementsInaoTaxInfo, - ) + if (!taxInfoData) return - careIncome && - !careIncomeFromAnswers && - setValue(CEMETERYOPERATIONIDS.careIncome, careIncome) - burialRevenue && - !burialRevenueFromAnswers && - setValue(CEMETERYOPERATIONIDS.burialRevenue, burialRevenue) - grantFromTheCemeteryFund && - !grantFromTheCemeteryFundFromAnswers && - setValue( - CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, - grantFromTheCemeteryFund, - ) - donationsToCemeteryFund && - !donationsToCemeteryFundFromAnswers && - setValue( - CEMETERYOPERATIONIDS.donationsToCemeteryFund, - donationsToCemeteryFund, - ) - } - }, [taxInfoData]) + const { + careIncome, + burialRevenue, + grantFromTheCemeteryFund, + donationsToCemeteryFund, + } = getCareIncomeAndBurialRevenueAndGrant( + taxInfoData.financialStatementsInaoTaxInfo, + ) + + const updates = [ + { + id: CEMETERYOPERATIONIDS.careIncome, + value: careIncome, + exists: careIncomeFromAnswers, + }, + { + id: CEMETERYOPERATIONIDS.burialRevenue, + value: burialRevenue, + exists: burialRevenueFromAnswers, + }, + { + id: CEMETERYOPERATIONIDS.grantFromTheCemeteryFund, + value: grantFromTheCemeteryFund, + exists: grantFromTheCemeteryFundFromAnswers, + }, + { + id: CEMETERYOPERATIONIDS.donationsToCemeteryFund, + value: donationsToCemeteryFund, + exists: donationsToCemeteryFundFromAnswers, + }, + ] + + updates.forEach((update) => { + if (!update.exists) { + setValue(update.id, update.value) + } + }) + }, [ + taxInfoData, + setValue, + careIncomeFromAnswers, + burialRevenueFromAnswers, + grantFromTheCemeteryFundFromAnswers, + donationsToCemeteryFundFromAnswers, + CEMETERYOPERATIONIDS, + ]) if (loading || taxInfoLoading) { return ( From bf7c9d312ab37e90a209ea6e8a0809bf5e181392 Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 10:20:38 +0000 Subject: [PATCH 07/14] fix: coderabbit comments --- .../src/fields/CemeteryOverview/index.tsx | 2 +- .../inao/financial-statement-cemetery/src/utils/sums.ts | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx index 9a6186f8c0b2..b5e45641c1fd 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx +++ b/libs/application/templates/inao/financial-statement-cemetery/src/fields/CemeteryOverview/index.tsx @@ -228,7 +228,7 @@ export const CemeteryOverview = ({ application }: FieldBaseProps) => { {cemeteryUnderFinancialLimit && cemeteryCaretakers && - cemeteryCaretakers?.length > 0 ? ( + cemeteryCaretakers.length > 0 ? ( <> diff --git a/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts b/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts index 266c2e4e8255..4b8e6c2e1738 100644 --- a/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts +++ b/libs/application/templates/inao/financial-statement-cemetery/src/utils/sums.ts @@ -203,6 +203,11 @@ export const showEquitiesAndLiabilitiesAlert = (answers: FormValue) => { answers, EQUITYANDLIABILITIESTOTALS.equityAndLiabilitiesTotal, ) || '0' + const operationResult = + getValueViaPath( + answers, + CEMETERYEQUITIESANDLIABILITIESIDS.operationResult, + ) || '0' if ( !fixedAssetsTotal || From 889c2a83247c4bf8408d42f441a0fb6d7aa143f9 Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 10:42:19 +0000 Subject: [PATCH 08/14] fix: match indentation to lint --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 69c72c6c2c1b..f62a827ddbfc 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -243,7 +243,7 @@ codemagic.yaml /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/@island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statement-political-party/ @island-is/norda From f6c0ab80290af9cfc122fe45d405c32140204ba9 Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 10:45:37 +0000 Subject: [PATCH 09/14] fix: codeowners --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f62a827ddbfc..69c72c6c2c1b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -243,7 +243,7 @@ codemagic.yaml /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/@island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statement-political-party/ @island-is/norda From 1295c4c431301f679d31fef86d1e847c01478196 Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 10:52:44 +0000 Subject: [PATCH 10/14] chore: add space to match indentation --- .github/CODEOWNERS | 786 ++++++++++++++++++++++----------------------- 1 file changed, 393 insertions(+), 393 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 69c72c6c2c1b..f0a8d5cde6ba 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -6,409 +6,409 @@ # Organisation name is @island-is, not @island.is # Fallback. If there is no owner, assign to core maintainers. -* @island-is/core +* @island-is/core # Top level project ownership. When a project contains, for example, templates or modules # that are developed by others teams, we first list down the team working on the core and # further below the other team working on other part of the project. -/apps/application-system/ @island-is/norda-applications -/apps/web*/ @island-is/juni @island-is/stefna -/libs/application/ @island-is/norda-applications -/libs/portals/my-pages/ @island-is/hugsmidjan -/libs/portals/admin/ @island-is/aranja -/libs/portals/core/ @island-is/aranja @island-is/hugsmidjan -/libs/shared/connected/ @island-is/stefna - -/* @island-is/core -/libs/api/domains/identity/ @island-is/core +/apps/application-system/ @island-is/norda-applications +/apps/web*/ @island-is/juni @island-is/stefna +/libs/application/ @island-is/norda-applications +/libs/portals/my-pages/ @island-is/hugsmidjan +/libs/portals/admin/ @island-is/aranja +/libs/portals/core/ @island-is/aranja @island-is/hugsmidjan +/libs/shared/connected/ @island-is/stefna + +/* @island-is/core +/libs/api/domains/identity/ @island-is/core # Edge case escaping the /infra/ and **/infra/ devops patterns below -/libs/infra-nest-server/src/lib/infra/ @island-is/core -/libs/testing/ @island-is/core -/libs/nest/swagger/ @island-is/core - -/apps/services/endorsements/ @island-is/juni -/apps/icelandic-names-registry*/ @island-is/juni -/apps/web/screens/PetitionView/ @island-is/juni -/libs/cms/ @island-is/juni @island-is/stefna -/libs/clients/cms/ @island-is/juni @island-is/aranja -/libs/residence-history @island-is/juni -/libs/api/domains/endorsement-system @island-is/juni -/libs/api/domains/icelandic-names-registry/ @island-is/juni -/libs/clients/rsk/ @island-is/juni -/libs/clients/zendesk/ @island-is/juni -/libs/icelandic-names-registry/ @island-is/juni -/libs/portals/my-pages/petitions/ @island-is/juni -/libs/portals/my-pages/signature-collection/ @island-is/juni -/libs/portals/my-pages/education/ @island-is/juni @island-is/hugsmidjan -/libs/portals/my-pages/education-career/ @island-is/juni @island-is/hugsmidjan -/libs/portals/my-pages/education-degree/ @island-is/juni @island-is/hugsmidjan -/libs/portals/my-pages/education-license/ @island-is/juni @island-is/hugsmidjan -/libs/portals/my-pages/education-student-assessment/ @island-is/juni @island-is/norda @island-is/hugsmidjan -/libs/clients/driving-license/ @island-is/juni -/libs/clients/judicial-administration/ @island-is/juni -/libs/application/templates/announcement-of-death/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death @island-is/juni -/libs/application/templates/driving-license/ @island-is/juni -/libs/application/templates/driving-assessment-approval/ @island-is/juni -/libs/application/templates/driving-learners-permit/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission @island-is/juni -/libs/api/domains/driving-license/ @island-is/juni -/libs/api/domains/education/ @island-is/juni @island-is/hugsmidjan @island-is/deloitte -/libs/application/templates/estate/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/estate @island-is/juni -/libs/application/templates/general-petition/ @island-is/juni -/libs/shared/connected/src/lib/generalPetition/GeneralPetitionLists/ @island-is/juni -/libs/shared/connected/src/lib/SignatureLists/ @island-is/juni -/libs/api/domains/communications/ @island-is/juni @island-is/stefna -/apps/services/user-notification/ @island-is/juni @island-is/aranja -/apps/air-discount-scheme/ @island-is/hugsmidjan -/libs/air-discount-scheme/ @island-is/hugsmidjan -/libs/application/templates/p-sign/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission @island-is/juni -/libs/application/templates/marriage-conditions/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission @island-is/juni -/libs/message-queue/ @island-is/juni -/libs/application/templates/example-payment/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions @island-is/juni -/libs/application/templates/driving-school-confirmation/ @island-is/juni -/libs/application/templates/driving-instructor-registrations/ @island-is/juni -/libs/api/domains/driving-license-book/ @island-is/juni -/libs/clients/driving-license-book/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/passport @island-is/juni -/libs/application/templates/passport/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment @island-is/juni -/libs/application/templates/passport-annulment/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/ @island-is/juni -/libs/application/templates/operating-license/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/operating-license/ @island-is/juni -/libs/application/templates/driving-license-duplicate/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/ @island-is/juni -/libs/application/templates/inheritance-report/ @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report @island-is/juni -/libs/application/templates/signature-collection @island-is/juni -/libs/api/domains/disability-license @island-is/juni -/libs/portals/admin/petition @island-is/juni -/libs/portals/admin/signature-collection @island-is/juni -/libs/portals/admin/icelandic-names-registry @island-is/juni -/libs/api/domains/signature-collection @island-is/juni -/libs/clients/signature-collection @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/signature-collection @island-is/juni -/libs/application/template-api-modules/src/lib/modules/templates/general-petition @island-is/juni - -/apps/portals/admin/ @island-is/aranja -/libs/api/domains/auth-admin/ @island-is/aranja -/libs/api/domains/sessions/ @island-is/aranja -/libs/clients/auth/ @island-is/aranja -/libs/clients/middlewares/ @island-is/aranja -libs/clients/rsk/relationships/ @island-is/aranja -/libs/clients/sessions @island-is/aranja -/libs/portals/shared-modules/delegations @island-is/aranja -/libs/portals/admin/ids-admin @island-is/aranja -/libs/portals/my-pages/consent @island-is/aranja -/libs/portals/my-pages/restrictions @island-is/aranja -/libs/portals/my-pages/sessions @island-is/aranja -/apps/native/app/ @island-is/aranja-app -codemagic.yaml @island-is/aranja-app -/apps/web/public/.well-known/ @island-is/aranja-app - -/apps/judicial-system/ @island-is/kolibri-justice-league -/libs/judicial-system/ @island-is/kolibri-justice-league -/libs/nova-sms/ @island-is/kolibri-justice-league -/libs/dokobit-signing/ @island-is/kolibri-justice-league -/libs/email-service/ @island-is/kolibri-justice-league - -/apps/financial-aid/ @island-is/kolibri-robin-hood -/libs/financial-aid/ @island-is/kolibri-robin-hood -/libs/next-ids-auth/ @island-is/kolibri-robin-hood -/libs/clients/rsk/personal-tax-return @island-is/kolibri-robin-hood -/libs/application/templates/financial-aid/ @island-is/kolibri-robin-hood -/libs/api/domains/municipalities-financial-aid @island-is/kolibri-robin-hood -/libs/clients/municipalities-financial-aid @island-is/kolibri-robin-hood -/libs/application/template-api-modules/src/lib/modules/templates/financial-aid @island-is/kolibri-robin-hood - -/apps/download-service/ @island-is/hugsmidjan -/apps/portals/my-pages*/ @island-is/hugsmidjan -/apps/services/regulations-admin-backend/ @island-is/hugsmidjan -/apps/services/user-profile/ @island-is/hugsmidjan @island-is/juni @island-is/aranja -/apps/web/components/Grant/ @island-is/hugsmidjan -/apps/web/components/PlazaCard/ @island-is/hugsmidjan -/apps/web/screens/Grants/ @island-is/hugsmidjan -/apps/web/screens/Regulations/ @island-is/hugsmidjan -/apps/web/components/Regulations/ @island-is/hugsmidjan -/apps/web/screens/OfficialJournalOfIceland/ @island-is/hugsmidjan -/apps/web/components/OfficialJournalOfIceland/ @island-is/hugsmidjan -/libs/api/domains/air-discount-scheme @island-is/hugsmidjan -/libs/api/domains/documents/ @island-is/hugsmidjan -/libs/api/domains/finance/ @island-is/hugsmidjan -/libs/api/domains/assets/ @island-is/hugsmidjan -/libs/api/domains/health-directorate/ @island-is/hugsmidjan -/libs/api/domains/hms-loans/ @island-is/hugsmidjan -/libs/api/domains/license-service/ @island-is/hugsmidjan @island-is/aranja -/libs/api/domains/work-machines/ @island-is/hugsmidjan @island-is/origo -/libs/api/domains/national-registry/ @island-is/hugsmidjan -/libs/api/domains/notifications/ @island-is/hugsmidjan -/libs/api/domains/user-profile/ @island-is/hugsmidjan @island-is/juni @island-is/aranja -/libs/api/domains/passport/ @island-is/hugsmidjan -/libs/api/domains/vehicles/ @island-is/hugsmidjan -/libs/api/domains/university-careers/ @island-is/hugsmidjan -/libs/api/domains/regulations/ @island-is/hugsmidjan -/libs/api/domains/regulations-admin/ @island-is/hugsmidjan -/libs/api/domains/rights-portal @island-is/hugsmidjan -/libs/api/domains/social-insurance @island-is/hugsmidjan @island-is/stefna -/libs/api/domains/occupational-licenses/ @island-is/hugsmidjan -/libs/api/domains/occupational-licenses-v2/ @island-is/hugsmidjan -/libs/api/domains/intellectual-properties/ @island-is/hugsmidjan -/libs/api/domains/official-journal-of-iceland/ @island-is/hugsmidjan -/libs/api/domains/official-journal-of-iceland-application/ @island-is/hugsmidjan -/libs/api/domains/document-provider/ @island-is/hugsmidjan @island-is/core -/libs/api/domains/housing-benefits/ @island-is/hugsmidjan -/libs/api/domains/law-and-order/ @island-is/hugsmidjan -/libs/clients/documents/ @island-is/hugsmidjan -/libs/clients/documents-v2/ @island-is/hugsmidjan -/libs/clients/finance/ @island-is/hugsmidjan -/libs/clients/finance-v2/ @island-is/hugsmidjan -/libs/clients/adr-and-machine-license/ @island-is/hugsmidjan -/libs/clients/work-machines/ @island-is/hugsmidjan @island-is/origo -/libs/clients/disability-license/ @island-is/hugsmidjan -/libs/clients/firearm-license/ @island-is/hugsmidjan -/libs/clients/hunting-license/ @island-is/hugsmidjan -/libs/clients/smartsolutions/ @island-is/hugsmidjan -/libs/clients/smart-solutions-v2/ @island-is/hugsmidjan -/libs/clients/license-client/ @island-is/hugsmidjan @island-is/aranja -/libs/clients/intellectual-properties/ @island-is/hugsmidjan -/libs/clients/islykill/ @island-is/hugsmidjan -/libs/clients/national-registry/v3/ @island-is/hugsmidjan -/libs/clients/district-commissioners-licenses/ @island-is/hugsmidjan -/libs/clients/regulations/ @island-is/hugsmidjan -/libs/clients/vehicles/ @island-is/hugsmidjan @island-is/stefna -/libs/clients/vehicles-mileage/ @island-is/hugsmidjan -/libs/clients/user-notification/ @island-is/hugsmidjan -/libs/clients/passports/ @island-is/hugsmidjan -/libs/clients/p-card/ @island-is/hugsmidjan -/libs/clients/assets/ @island-is/hugsmidjan -/libs/clients/university-careers/ @island-is/hugsmidjan -/libs/clients/regulations-admin/ @island-is/hugsmidjan -/libs/clients/inna/ @island-is/hugsmidjan -/libs/clients/hms-loans/ @island-is/hugsmidjan -/libs/clients/official-journal-of-iceland/ @island-is/hugsmidjan -/libs/clients/hms-housing-benefits/ @island-is/hugsmidjan -/apps/services/license-api/ @island-is/hugsmidjan -/libs/regulations/ @island-is/hugsmidjan -/libs/portals/admin/regulations-admin/ @island-is/hugsmidjan -/libs/portals/admin/document-provider/ @island-is/hugsmidjan @island-is/core -/libs/clients/icelandic-health-insurance/rights-portal/ @island-is/hugsmidjan -/libs/clients/health-directorate @island-is/hugsmidjan -/libs/clients/health-directorate/src/lib/clients/occupational-license @island-is/hugsmidjan @island-is/origo -/libs/clients/mms/grade @island-is/hugsmidjan -/libs/portals/admin/air-discount-scheme @island-is/hugsmidjan -/libs/application/templates/official-journal-of-iceland/ @island-is/hugsmidjan -/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/ @island-is/hugsmidjan -/libs/clients/judicial-system-sp/ @island-is/hugsmidjan -/libs/application/templates/data-protection-complaint/ @island-is/norda -/libs/application/templates/institution-collaboration/ @island-is/norda @island-is/fuglar -/libs/application/templates/login-service/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/login-service/ @island-is/norda -/libs/clients/payment-schedule/ @island-is/norda -/libs/api/domains/payment-schedule/ @island-is/norda -/libs/application/templates/funding-government-projects/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/ @island-is/norda -/libs/application/templates/public-debt-payment-plan/ @island-is/norda -/libs/application/templates/complaints-to-althingi-ombudsman/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/ @island-is/norda -/libs/application/templates/accident-notification/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan @island-is/norda -/libs/api/domains/health-insurance/ @island-is/norda -/libs/application/templates/health-insurance/ @island-is/norda -/libs/clients/rsk/company-registry @island-is/norda -/libs/clients/althingi-ombudsman/ @island-is/norda -/libs/api/domains/company-registry @island-is/norda -/libs/clients/icelandic-health-insurance/health-insurance/ @island-is/norda -/libs/clients/data-protection-complaint/ @island-is/norda -/libs/clients/fishing-license/ @island-is/norda -/libs/api/domains/fishing-license/ @island-is/norda -/libs/application/templates/general-fishing-license/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/ @island-is/norda -/libs/shared/form-fields/ @island-is/norda @island-is/island-ui -/libs/clients/financial-statements-inao @island-is/norda -/libs/api/domains/financial-statements-inao/ @island-is/norda -/libs/application/templates/financial-statements-inao/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda -/libs/application/template/inao @island-is/norda -/libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda -/libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda -/libs/application/templates/inao/financial-statement-political-party/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/ @island-is/norda +/libs/infra-nest-server/src/lib/infra/ @island-is/core +/libs/testing/ @island-is/core +/libs/nest/swagger/ @island-is/core + +/apps/services/endorsements/ @island-is/juni +/apps/icelandic-names-registry*/ @island-is/juni +/apps/web/screens/PetitionView/ @island-is/juni +/libs/cms/ @island-is/juni @island-is/stefna +/libs/clients/cms/ @island-is/juni @island-is/aranja +/libs/residence-history @island-is/juni +/libs/api/domains/endorsement-system @island-is/juni +/libs/api/domains/icelandic-names-registry/ @island-is/juni +/libs/clients/rsk/ @island-is/juni +/libs/clients/zendesk/ @island-is/juni +/libs/icelandic-names-registry/ @island-is/juni +/libs/portals/my-pages/petitions/ @island-is/juni +/libs/portals/my-pages/signature-collection/ @island-is/juni +/libs/portals/my-pages/education/ @island-is/juni @island-is/hugsmidjan +/libs/portals/my-pages/education-career/ @island-is/juni @island-is/hugsmidjan +/libs/portals/my-pages/education-degree/ @island-is/juni @island-is/hugsmidjan +/libs/portals/my-pages/education-license/ @island-is/juni @island-is/hugsmidjan +/libs/portals/my-pages/education-student-assessment/ @island-is/juni @island-is/norda @island-is/hugsmidjan +/libs/clients/driving-license/ @island-is/juni +/libs/clients/judicial-administration/ @island-is/juni +/libs/application/templates/announcement-of-death/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/announcement-of-death @island-is/juni +/libs/application/templates/driving-license/ @island-is/juni +/libs/application/templates/driving-assessment-approval/ @island-is/juni +/libs/application/templates/driving-learners-permit/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/driving-learners-permit/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/driving-license-submission @island-is/juni +/libs/api/domains/driving-license/ @island-is/juni +/libs/api/domains/education/ @island-is/juni @island-is/hugsmidjan @island-is/deloitte +/libs/application/templates/estate/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/estate @island-is/juni +/libs/application/templates/general-petition/ @island-is/juni +/libs/shared/connected/src/lib/generalPetition/GeneralPetitionLists/ @island-is/juni +/libs/shared/connected/src/lib/SignatureLists/ @island-is/juni +/libs/api/domains/communications/ @island-is/juni @island-is/stefna +/apps/services/user-notification/ @island-is/juni @island-is/aranja +/apps/air-discount-scheme/ @island-is/hugsmidjan +/libs/air-discount-scheme/ @island-is/hugsmidjan +/libs/application/templates/p-sign/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/p-sign-submission @island-is/juni +/libs/application/templates/marriage-conditions/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/marriage-conditions-submission @island-is/juni +/libs/message-queue/ @island-is/juni +/libs/application/templates/example-payment/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/example-payment-actions @island-is/juni +/libs/application/templates/driving-school-confirmation/ @island-is/juni +/libs/application/templates/driving-instructor-registrations/ @island-is/juni +/libs/api/domains/driving-license-book/ @island-is/juni +/libs/clients/driving-license-book/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/passport @island-is/juni +/libs/application/templates/passport/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/passport-annulment @island-is/juni +/libs/application/templates/passport-annulment/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/driving-school-confirmation/ @island-is/juni +/libs/application/templates/operating-license/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/operating-license/ @island-is/juni +/libs/application/templates/driving-license-duplicate/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/driving-license-duplicate/ @island-is/juni +/libs/application/templates/inheritance-report/ @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/inheritance-report @island-is/juni +/libs/application/templates/signature-collection @island-is/juni +/libs/api/domains/disability-license @island-is/juni +/libs/portals/admin/petition @island-is/juni +/libs/portals/admin/signature-collection @island-is/juni +/libs/portals/admin/icelandic-names-registry @island-is/juni +/libs/api/domains/signature-collection @island-is/juni +/libs/clients/signature-collection @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/signature-collection @island-is/juni +/libs/application/template-api-modules/src/lib/modules/templates/general-petition @island-is/juni + +/apps/portals/admin/ @island-is/aranja +/libs/api/domains/auth-admin/ @island-is/aranja +/libs/api/domains/sessions/ @island-is/aranja +/libs/clients/auth/ @island-is/aranja +/libs/clients/middlewares/ @island-is/aranja +libs/clients/rsk/relationships/ @island-is/aranja +/libs/clients/sessions @island-is/aranja +/libs/portals/shared-modules/delegations @island-is/aranja +/libs/portals/admin/ids-admin @island-is/aranja +/libs/portals/my-pages/consent @island-is/aranja +/libs/portals/my-pages/restrictions @island-is/aranja +/libs/portals/my-pages/sessions @island-is/aranja +/apps/native/app/ @island-is/aranja-app +codemagic.yaml @island-is/aranja-app +/apps/web/public/.well-known/ @island-is/aranja-app + +/apps/judicial-system/ @island-is/kolibri-justice-league +/libs/judicial-system/ @island-is/kolibri-justice-league +/libs/nova-sms/ @island-is/kolibri-justice-league +/libs/dokobit-signing/ @island-is/kolibri-justice-league +/libs/email-service/ @island-is/kolibri-justice-league + +/apps/financial-aid/ @island-is/kolibri-robin-hood +/libs/financial-aid/ @island-is/kolibri-robin-hood +/libs/next-ids-auth/ @island-is/kolibri-robin-hood +/libs/clients/rsk/personal-tax-return @island-is/kolibri-robin-hood +/libs/application/templates/financial-aid/ @island-is/kolibri-robin-hood +/libs/api/domains/municipalities-financial-aid @island-is/kolibri-robin-hood +/libs/clients/municipalities-financial-aid @island-is/kolibri-robin-hood +/libs/application/template-api-modules/src/lib/modules/templates/financial-aid @island-is/kolibri-robin-hood + +/apps/download-service/ @island-is/hugsmidjan +/apps/portals/my-pages*/ @island-is/hugsmidjan +/apps/services/regulations-admin-backend/ @island-is/hugsmidjan +/apps/services/user-profile/ @island-is/hugsmidjan @island-is/juni @island-is/aranja +/apps/web/components/Grant/ @island-is/hugsmidjan +/apps/web/components/PlazaCard/ @island-is/hugsmidjan +/apps/web/screens/Grants/ @island-is/hugsmidjan +/apps/web/screens/Regulations/ @island-is/hugsmidjan +/apps/web/components/Regulations/ @island-is/hugsmidjan +/apps/web/screens/OfficialJournalOfIceland/ @island-is/hugsmidjan +/apps/web/components/OfficialJournalOfIceland/ @island-is/hugsmidjan +/libs/api/domains/air-discount-scheme @island-is/hugsmidjan +/libs/api/domains/documents/ @island-is/hugsmidjan +/libs/api/domains/finance/ @island-is/hugsmidjan +/libs/api/domains/assets/ @island-is/hugsmidjan +/libs/api/domains/health-directorate/ @island-is/hugsmidjan +/libs/api/domains/hms-loans/ @island-is/hugsmidjan +/libs/api/domains/license-service/ @island-is/hugsmidjan @island-is/aranja +/libs/api/domains/work-machines/ @island-is/hugsmidjan @island-is/origo +/libs/api/domains/national-registry/ @island-is/hugsmidjan +/libs/api/domains/notifications/ @island-is/hugsmidjan +/libs/api/domains/user-profile/ @island-is/hugsmidjan @island-is/juni @island-is/aranja +/libs/api/domains/passport/ @island-is/hugsmidjan +/libs/api/domains/vehicles/ @island-is/hugsmidjan +/libs/api/domains/university-careers/ @island-is/hugsmidjan +/libs/api/domains/regulations/ @island-is/hugsmidjan +/libs/api/domains/regulations-admin/ @island-is/hugsmidjan +/libs/api/domains/rights-portal @island-is/hugsmidjan +/libs/api/domains/social-insurance @island-is/hugsmidjan @island-is/stefna +/libs/api/domains/occupational-licenses/ @island-is/hugsmidjan +/libs/api/domains/occupational-licenses-v2/ @island-is/hugsmidjan +/libs/api/domains/intellectual-properties/ @island-is/hugsmidjan +/libs/api/domains/official-journal-of-iceland/ @island-is/hugsmidjan +/libs/api/domains/official-journal-of-iceland-application/ @island-is/hugsmidjan +/libs/api/domains/document-provider/ @island-is/hugsmidjan @island-is/core +/libs/api/domains/housing-benefits/ @island-is/hugsmidjan +/libs/api/domains/law-and-order/ @island-is/hugsmidjan +/libs/clients/documents/ @island-is/hugsmidjan +/libs/clients/documents-v2/ @island-is/hugsmidjan +/libs/clients/finance/ @island-is/hugsmidjan +/libs/clients/finance-v2/ @island-is/hugsmidjan +/libs/clients/adr-and-machine-license/ @island-is/hugsmidjan +/libs/clients/work-machines/ @island-is/hugsmidjan @island-is/origo +/libs/clients/disability-license/ @island-is/hugsmidjan +/libs/clients/firearm-license/ @island-is/hugsmidjan +/libs/clients/hunting-license/ @island-is/hugsmidjan +/libs/clients/smartsolutions/ @island-is/hugsmidjan +/libs/clients/smart-solutions-v2/ @island-is/hugsmidjan +/libs/clients/license-client/ @island-is/hugsmidjan @island-is/aranja +/libs/clients/intellectual-properties/ @island-is/hugsmidjan +/libs/clients/islykill/ @island-is/hugsmidjan +/libs/clients/national-registry/v3/ @island-is/hugsmidjan +/libs/clients/district-commissioners-licenses/ @island-is/hugsmidjan +/libs/clients/regulations/ @island-is/hugsmidjan +/libs/clients/vehicles/ @island-is/hugsmidjan @island-is/stefna +/libs/clients/vehicles-mileage/ @island-is/hugsmidjan +/libs/clients/user-notification/ @island-is/hugsmidjan +/libs/clients/passports/ @island-is/hugsmidjan +/libs/clients/p-card/ @island-is/hugsmidjan +/libs/clients/assets/ @island-is/hugsmidjan +/libs/clients/university-careers/ @island-is/hugsmidjan +/libs/clients/regulations-admin/ @island-is/hugsmidjan +/libs/clients/inna/ @island-is/hugsmidjan +/libs/clients/hms-loans/ @island-is/hugsmidjan +/libs/clients/official-journal-of-iceland/ @island-is/hugsmidjan +/libs/clients/hms-housing-benefits/ @island-is/hugsmidjan +/apps/services/license-api/ @island-is/hugsmidjan +/libs/regulations/ @island-is/hugsmidjan +/libs/portals/admin/regulations-admin/ @island-is/hugsmidjan +/libs/portals/admin/document-provider/ @island-is/hugsmidjan @island-is/core +/libs/clients/icelandic-health-insurance/rights-portal/ @island-is/hugsmidjan +/libs/clients/health-directorate @island-is/hugsmidjan +/libs/clients/health-directorate/src/lib/clients/occupational-license @island-is/hugsmidjan @island-is/origo +/libs/clients/mms/grade @island-is/hugsmidjan +/libs/portals/admin/air-discount-scheme @island-is/hugsmidjan +/libs/application/templates/official-journal-of-iceland/ @island-is/hugsmidjan +/libs/application/template-api-modules/src/lib/modules/templates/official-journal-of-iceland/ @island-is/hugsmidjan +/libs/clients/judicial-system-sp/ @island-is/hugsmidjan +/libs/application/templates/data-protection-complaint/ @island-is/norda +/libs/application/templates/institution-collaboration/ @island-is/norda @island-is/fuglar +/libs/application/templates/login-service/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/login-service/ @island-is/norda +/libs/clients/payment-schedule/ @island-is/norda +/libs/api/domains/payment-schedule/ @island-is/norda +/libs/application/templates/funding-government-projects/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/funding-government-projects/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/institution-collaboration/ @island-is/norda +/libs/application/templates/public-debt-payment-plan/ @island-is/norda +/libs/application/templates/complaints-to-althingi-ombudsman/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/complaints-to-althingi-ombudsman/ @island-is/norda +/libs/application/templates/accident-notification/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/accident-notification/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/health-insurance/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/public-debt-payment-plan @island-is/norda +/libs/api/domains/health-insurance/ @island-is/norda +/libs/application/templates/health-insurance/ @island-is/norda +/libs/clients/rsk/company-registry @island-is/norda +/libs/clients/althingi-ombudsman/ @island-is/norda +/libs/api/domains/company-registry @island-is/norda +/libs/clients/icelandic-health-insurance/health-insurance/ @island-is/norda +/libs/clients/data-protection-complaint/ @island-is/norda +/libs/clients/fishing-license/ @island-is/norda +/libs/api/domains/fishing-license/ @island-is/norda +/libs/application/templates/general-fishing-license/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/general-fishing-license/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/data-protection-complaint/ @island-is/norda +/libs/shared/form-fields/ @island-is/norda @island-is/island-ui +/libs/clients/financial-statements-inao @island-is/norda +/libs/api/domains/financial-statements-inao/ @island-is/norda +/libs/application/templates/financial-statements-inao/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda +/libs/application/template/inao @island-is/norda +/libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda +/libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda +/libs/application/templates/inao/financial-statement-political-party/ @island-is/norda +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-cemetery/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statement-individual-election/ @island-is/norda -/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-political-party/ @island-is/norda - - -/libs/portals/my-pages/applications/ @island-is/norda-applications -/libs/portals/admin/application-system/ @island-is/norda-applications -/libs/api/domains/application/ @island-is/norda-applications -/libs/api/domains/payment/ @island-is/norda-applications - -/apps/contentful-apps/ @island-is/stefna -/apps/services/search-indexer/ @island-is/stefna @island-is/juni -/apps/services/contentful-entry-tagger/ @island-is/stefna -/apps/tools/contentful-role-permissions/ @island-is/stefna -/apps/web/screens/Organization/ @island-is/stefna -/apps/web/screens/Project/ @island-is/stefna -/apps/web/components/Organization/ @island-is/stefna -/apps/web/components/ChatPanel/ @island-is/stefna -/apps/web/components/Form/ @island-is/stefna -/apps/web/components/Stepper/ @island-is/stefna -/libs/content-search-toolkit/ @island-is/stefna @island-is/juni -/libs/content-search-index-manager/ @island-is/stefna @island-is/juni -/libs/content-search-metrics/ @island-is/stefna @island-is/juni -/libs/content-search-indexer/ @island-is/stefna @island-is/juni -/libs/api/domains/content-search/ @island-is/stefna @island-is/juni -/libs/api/domains/syslumenn/ @island-is/stefna -/libs/api/domains/email-signup/ @island-is/stefna -/libs/api/domains/electronic-registration-statistics/ @island-is/stefna -/libs/clients/electronic-registration-statistics/ @island-is/stefna -/libs/api/domains/fiskistofa/ @island-is/stefna -/libs/clients/fiskistofa/ @island-is/stefna -/libs/clients/syslumenn/ @island-is/stefna @island-is/juni -/libs/api/domains/watson-assistant-chat/ @island-is/stefna -/libs/clients/icelandic-government-institution-vacancies/ @island-is/stefna -/libs/api/domains/icelandic-government-institution-vacancies/ @island-is/stefna -/libs/clients/aircraft-registry/ @island-is/stefna -/libs/api/domains/aircraft-registry/ @island-is/stefna -/libs/api/domains/housing-benefit-calculator/ @island-is/stefna -/libs/clients/housing-benefit-calculator/ @island-is/stefna -/libs/clients/ship-registry/ @island-is/stefna -/libs/api/domains/ship-registry/ @island-is/stefna -/libs/clients/administration-of-occupational-safety-and-health/ @island-is/stefna -/libs/api/domains/administration-of-occupational-safety-and-health/ @island-is/stefna -/libs/clients/ultraviolet-radiation/ @island-is/stefna -/libs/clients/ums-cost-of-living-calculator/ @island-is/stefna -/libs/api/domains/umbodsmadur-skuldara/ @island-is/stefna - -/libs/island-ui/ @island-is/island-ui - -/apps/consultation-portal/ @island-is/advania -/apps/services/form-system/ @island-is/advania -/libs/clients/consultation-portal/ @island-is/advania -/libs/api/domains/consultation-portal/ @island-is/advania - -/apps/skilavottord/ @island-is/deloitte -/libs/skilavottord/ @island-is/deloitte -/libs/application/templates/parental-leave/ @island-is/deloitte -/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/ @island-is/deloitte -/libs/clients/vmst/ @island-is/deloitte -/libs/api/domains/directorate-of-labour/ @island-is/deloitte -/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration @island-is/deloitte -/libs/application/templates/social-insurance-administration/ @island-is/deloitte -/libs/clients/social-insurance-administration/ @island-is/deloitte @island-is/stefna @island-is/hugsmidjan -/libs/application/templates/car-recycling/ @island-is/deloitte -/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/ @island-is/deloitte -/libs/clients/car-recycling/ @island-is/deloitte -/libs/application/templates/new-primary-school/ @island-is/deloitte -/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/ @island-is/deloitte -/libs/clients/mms/frigg @island-is/deloitte - -/apps/services/auth/ids-api/ @island-is/fuglar @island-is/aranja -/apps/services/auth/admin-api/ @island-is/fuglar @island-is/aranja -/apps/services/auth/public-api/ @island-is/fuglar @island-is/aranja -/apps/services/auth/delegation-api/ @island-is/fuglar @island-is/aranja -/apps/services/sessions/ @island-is/fuglar @island-is/aranja -/apps/auth-admin-web/ @island-is/fuglar @island-is/aranja -/libs/auth-api-lib/ @island-is/fuglar @island-is/aranja -/libs/auth-api-lib/seeders/ @island-is/fuglar @island-is/aranja @island-is/origo-auth -/libs/auth-nest-tools/ @island-is/fuglar @island-is/aranja -/libs/application/templates/european-health-insurance-card/ @island-is/fuglar -/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/ @island-is/fuglar -/libs/clients/ehic-client-v1 @island-is/fuglar - -/apps/services/auth/personal-representative/ @island-is/programm @island-is/aranja -/apps/services/auth/personal-representative-public/ @island-is/programm @island-is/aranja - -/libs/application/templates/criminal-record/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/ @island-is/origo -/libs/api/domains/criminal-record/ @island-is/origo -/libs/clients/criminal-record/ @island-is/origo - -/libs/application/templates/mortgage-certificate/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/ @island-is/origo -/libs/api/domains/mortgage-certificate/ @island-is/origo - -/libs/application/templates/no-debt-certificate/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/ @island-is/origo - -/libs/application/templates/id-card/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/id-card/ @island-is/origo - -/libs/clients/charge-fjs-v2/ @island-is/origo -/libs/clients/vehicle-service-fjs-v1/ @island-is/origo - -/libs/application/templates/transport-authority/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/ @island-is/origo -/libs/api/domains/transport-authority/ @island-is/origo -/libs/clients/transport-authority/ @island-is/origo - -/libs/application/templates/driving-license-book-update-instructor/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/ @island-is/origo - -/apps/services/university-gateway/ @island-is/origo -/libs/clients/university-application/ @island-is/origo -/libs/clients/university-gateway-api/ @island-is/origo -/libs/api/domains/university-gateway/ @island-is/origo -/libs/university-gateway/ @island-is/origo -/apps/web/screens/UniversitySearch/ @island-is/origo -/apps/web/screens/queries/UniversityGateway.ts @island-is/origo -/apps/web/components/ListViewCard/ @island-is/origo - -/libs/application/templates/directorate-of-immigration/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/ @island-is/origo -/libs/clients/directorate-of-immigration/ @island-is/origo - -/libs/application/templates/aosh/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/aosh @island-is/origo - -/libs/application/templates/healthcare-license-certificate/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/ @island-is/origo - - -/libs/application/templates/healthcare-work-permit/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/ @island-is/origo - -/libs/application/templates/energy-funds/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/ @island-is/origo -/libs/api/domains/energy-funds/ @island-is/origo -/libs/clients/energy-funds/ @island-is/origo - -/libs/application/templates/university/ @island-is/origo -/libs/application/template-api-modules/src/lib/modules/templates/university/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/financial-statement-political-party/ @island-is/norda + + +/libs/portals/my-pages/applications/ @island-is/norda-applications +/libs/portals/admin/application-system/ @island-is/norda-applications +/libs/api/domains/application/ @island-is/norda-applications +/libs/api/domains/payment/ @island-is/norda-applications + +/apps/contentful-apps/ @island-is/stefna +/apps/services/search-indexer/ @island-is/stefna @island-is/juni +/apps/services/contentful-entry-tagger/ @island-is/stefna +/apps/tools/contentful-role-permissions/ @island-is/stefna +/apps/web/screens/Organization/ @island-is/stefna +/apps/web/screens/Project/ @island-is/stefna +/apps/web/components/Organization/ @island-is/stefna +/apps/web/components/ChatPanel/ @island-is/stefna +/apps/web/components/Form/ @island-is/stefna +/apps/web/components/Stepper/ @island-is/stefna +/libs/content-search-toolkit/ @island-is/stefna @island-is/juni +/libs/content-search-index-manager/ @island-is/stefna @island-is/juni +/libs/content-search-metrics/ @island-is/stefna @island-is/juni +/libs/content-search-indexer/ @island-is/stefna @island-is/juni +/libs/api/domains/content-search/ @island-is/stefna @island-is/juni +/libs/api/domains/syslumenn/ @island-is/stefna +/libs/api/domains/email-signup/ @island-is/stefna +/libs/api/domains/electronic-registration-statistics/ @island-is/stefna +/libs/clients/electronic-registration-statistics/ @island-is/stefna +/libs/api/domains/fiskistofa/ @island-is/stefna +/libs/clients/fiskistofa/ @island-is/stefna +/libs/clients/syslumenn/ @island-is/stefna @island-is/juni +/libs/api/domains/watson-assistant-chat/ @island-is/stefna +/libs/clients/icelandic-government-institution-vacancies/ @island-is/stefna +/libs/api/domains/icelandic-government-institution-vacancies/ @island-is/stefna +/libs/clients/aircraft-registry/ @island-is/stefna +/libs/api/domains/aircraft-registry/ @island-is/stefna +/libs/api/domains/housing-benefit-calculator/ @island-is/stefna +/libs/clients/housing-benefit-calculator/ @island-is/stefna +/libs/clients/ship-registry/ @island-is/stefna +/libs/api/domains/ship-registry/ @island-is/stefna +/libs/clients/administration-of-occupational-safety-and-health/ @island-is/stefna +/libs/api/domains/administration-of-occupational-safety-and-health/ @island-is/stefna +/libs/clients/ultraviolet-radiation/ @island-is/stefna +/libs/clients/ums-cost-of-living-calculator/ @island-is/stefna +/libs/api/domains/umbodsmadur-skuldara/ @island-is/stefna + +/libs/island-ui/ @island-is/island-ui + +/apps/consultation-portal/ @island-is/advania +/apps/services/form-system/ @island-is/advania +/libs/clients/consultation-portal/ @island-is/advania +/libs/api/domains/consultation-portal/ @island-is/advania + +/apps/skilavottord/ @island-is/deloitte +/libs/skilavottord/ @island-is/deloitte +/libs/application/templates/parental-leave/ @island-is/deloitte +/libs/application/template-api-modules/src/lib/modules/templates/parental-leave/ @island-is/deloitte +/libs/clients/vmst/ @island-is/deloitte +/libs/api/domains/directorate-of-labour/ @island-is/deloitte +/libs/application/template-api-modules/src/lib/modules/templates/social-insurance-administration @island-is/deloitte +/libs/application/templates/social-insurance-administration/ @island-is/deloitte +/libs/clients/social-insurance-administration/ @island-is/deloitte @island-is/stefna @island-is/hugsmidjan +/libs/application/templates/car-recycling/ @island-is/deloitte +/libs/application/template-api-modules/src/lib/modules/templates/car-recycling/ @island-is/deloitte +/libs/clients/car-recycling/ @island-is/deloitte +/libs/application/templates/new-primary-school/ @island-is/deloitte +/libs/application/template-api-modules/src/lib/modules/templates/new-primary-school/ @island-is/deloitte +/libs/clients/mms/frigg @island-is/deloitte + +/apps/services/auth/ids-api/ @island-is/fuglar @island-is/aranja +/apps/services/auth/admin-api/ @island-is/fuglar @island-is/aranja +/apps/services/auth/public-api/ @island-is/fuglar @island-is/aranja +/apps/services/auth/delegation-api/ @island-is/fuglar @island-is/aranja +/apps/services/sessions/ @island-is/fuglar @island-is/aranja +/apps/auth-admin-web/ @island-is/fuglar @island-is/aranja +/libs/auth-api-lib/ @island-is/fuglar @island-is/aranja +/libs/auth-api-lib/seeders/ @island-is/fuglar @island-is/aranja @island-is/origo-auth +/libs/auth-nest-tools/ @island-is/fuglar @island-is/aranja +/libs/application/templates/european-health-insurance-card/ @island-is/fuglar +/libs/application/template-api-modules/src/lib/modules/templates/european-health-insurance-card/ @island-is/fuglar +/libs/clients/ehic-client-v1 @island-is/fuglar + +/apps/services/auth/personal-representative/ @island-is/programm @island-is/aranja +/apps/services/auth/personal-representative-public/ @island-is/programm @island-is/aranja + +/libs/application/templates/criminal-record/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/criminal-record-submission/ @island-is/origo +/libs/api/domains/criminal-record/ @island-is/origo +/libs/clients/criminal-record/ @island-is/origo + +/libs/application/templates/mortgage-certificate/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/mortgage-certificate-submission/ @island-is/origo +/libs/api/domains/mortgage-certificate/ @island-is/origo + +/libs/application/templates/no-debt-certificate/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/no-debt-certificate/ @island-is/origo + +/libs/application/templates/id-card/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/id-card/ @island-is/origo + +/libs/clients/charge-fjs-v2/ @island-is/origo +/libs/clients/vehicle-service-fjs-v1/ @island-is/origo + +/libs/application/templates/transport-authority/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/transport-authority/ @island-is/origo +/libs/api/domains/transport-authority/ @island-is/origo +/libs/clients/transport-authority/ @island-is/origo + +/libs/application/templates/driving-license-book-update-instructor/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/driving-license-book-update-instructor/ @island-is/origo + +/apps/services/university-gateway/ @island-is/origo +/libs/clients/university-application/ @island-is/origo +/libs/clients/university-gateway-api/ @island-is/origo +/libs/api/domains/university-gateway/ @island-is/origo +/libs/university-gateway/ @island-is/origo +/apps/web/screens/UniversitySearch/ @island-is/origo +/apps/web/screens/queries/UniversityGateway.ts @island-is/origo +/apps/web/components/ListViewCard/ @island-is/origo + +/libs/application/templates/directorate-of-immigration/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/directorate-of-immigration/ @island-is/origo +/libs/clients/directorate-of-immigration/ @island-is/origo + +/libs/application/templates/aosh/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/aosh @island-is/origo + +/libs/application/templates/healthcare-license-certificate/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/healthcare-license-certificate/ @island-is/origo + + +/libs/application/templates/healthcare-work-permit/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/healthcare-work-permit/ @island-is/origo + +/libs/application/templates/energy-funds/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/energy-funds/ @island-is/origo +/libs/api/domains/energy-funds/ @island-is/origo +/libs/clients/energy-funds/ @island-is/origo + +/libs/application/templates/university/ @island-is/origo +/libs/application/template-api-modules/src/lib/modules/templates/university/ @island-is/origo # DevOps -/.github/ @island-is/devops -/.githooks/ @island-is/devops -/apps/reference-backend/ @island-is/devops -/apps/github-actions-cache/ @island-is/devops -/infra/ @island-is/devops -**/infra/ @island-is/devops -/libs/logging/ @island-is/devops -/scripts/ @island-is/devops -/scripts/postinstall.js @island-is/devops @island-is/core -/scripts/codegen.js @island-is/devops @island-is/core -/charts/ @island-is/devops -.dockerignore @island-is/devops +/.github/ @island-is/devops +/.githooks/ @island-is/devops +/apps/reference-backend/ @island-is/devops +/apps/github-actions-cache/ @island-is/devops +/infra/ @island-is/devops +**/infra/ @island-is/devops +/libs/logging/ @island-is/devops +/scripts/ @island-is/devops +/scripts/postinstall.js @island-is/devops @island-is/core +/scripts/codegen.js @island-is/devops @island-is/core +/charts/ @island-is/devops +.dockerignore @island-is/devops # QA -/apps/system-e2e/ @island-is/qa -/libs/testing/e2e @island-is/qa +/apps/system-e2e/ @island-is/qa +/libs/testing/e2e @island-is/qa # Islandis -/apps/system-e2e/src/tests/islandis/admin-portal/ @island-is/aranja -/apps/system-e2e/src/tests/islandis/application-system/ @island-is/norda-applications -/apps/system-e2e/src/tests/islandis/application-system/acceptance/parental-leave.spec.ts @island-is/deloitte -/apps/system-e2e/src/tests/islandis/consultation-portal/ @island-is/advania -/apps/system-e2e/src/tests/islandis/service-portal/ @island-is/hugsmidjan @island-is/juni @island-is/norda-applications -/apps/system-e2e/src/tests/islandis/web/ @island-is/hugsmidjan @island-is/juni @island-is/stefna +/apps/system-e2e/src/tests/islandis/admin-portal/ @island-is/aranja +/apps/system-e2e/src/tests/islandis/application-system/ @island-is/norda-applications +/apps/system-e2e/src/tests/islandis/application-system/acceptance/parental-leave.spec.ts @island-is/deloitte +/apps/system-e2e/src/tests/islandis/consultation-portal/ @island-is/advania +/apps/system-e2e/src/tests/islandis/service-portal/ @island-is/hugsmidjan @island-is/juni @island-is/norda-applications +/apps/system-e2e/src/tests/islandis/web/ @island-is/hugsmidjan @island-is/juni @island-is/stefna # Judicial system -/apps/system-e2e/src/tests/judicial-system/ @island-is/kolibri-justice-league +/apps/system-e2e/src/tests/judicial-system/ @island-is/kolibri-justice-league From f98d85355466ebd581983e6ae645f80d2e46937f Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 11:02:19 +0000 Subject: [PATCH 11/14] chore: remove the inao folder from codeowners --- .github/CODEOWNERS | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index f0a8d5cde6ba..4ad049125bc9 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -238,7 +238,6 @@ codemagic.yaml /libs/api/domains/financial-statements-inao/ @island-is/norda /libs/application/templates/financial-statements-inao/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda -/libs/application/template/inao @island-is/norda /libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda From c8283aefbb80741ce4ded3358128982e55d8133d Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 11:02:53 +0000 Subject: [PATCH 12/14] chore: . --- .github/CODEOWNERS | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 4ad049125bc9..53124b3bdf28 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -238,6 +238,7 @@ codemagic.yaml /libs/api/domains/financial-statements-inao/ @island-is/norda /libs/application/templates/financial-statements-inao/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda +/libs/application/template/inao/ @island-is/norda /libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda From 2e1eb86f155ec147838c49c6f4fad2eb0472c5cb Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 11:06:09 +0000 Subject: [PATCH 13/14] fix: typo in path --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 53124b3bdf28..a48c5d7bd0bb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -238,7 +238,7 @@ codemagic.yaml /libs/api/domains/financial-statements-inao/ @island-is/norda /libs/application/templates/financial-statements-inao/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda -/libs/application/template/inao/ @island-is/norda +/libs/application/templates/inao/ @island-is/norda /libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda From 4c90cf1cf6e7c6bf8afbea0247d5cf8254e6954a Mon Sep 17 00:00:00 2001 From: Jonni Date: Wed, 11 Dec 2024 11:13:19 +0000 Subject: [PATCH 14/14] fix: indentation --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index a48c5d7bd0bb..f4bc0d23934e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -238,7 +238,7 @@ codemagic.yaml /libs/api/domains/financial-statements-inao/ @island-is/norda /libs/application/templates/financial-statements-inao/ @island-is/norda /libs/application/template-api-modules/src/lib/modules/templates/financial-statements-inao @island-is/norda -/libs/application/templates/inao/ @island-is/norda +/libs/application/templates/inao/ @island-is/norda /libs/application/templates/inao/financial-statement-cemetery/ @island-is/norda /libs/application/templates/inao/financial-statement-individual-election/ @island-is/norda /libs/application/templates/inao/financial-statement-political-party/ @island-is/norda