Skip to content

Commit

Permalink
Get general mandate to delegations-to on service-portal
Browse files Browse the repository at this point in the history
  • Loading branch information
GunnlaugurG committed Sep 18, 2024
1 parent 1753fe1 commit 062a582
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,7 @@ import {
IndividualDto,
NationalRegistryClientService,
} from '@island.is/clients/national-registry-v2'
import {
CompanyExtendedInfo,
CompanyRegistryClientService,
} from '@island.is/clients/rsk/company-registry'
import { CompanyRegistryClientService } from '@island.is/clients/rsk/company-registry'
import { LOGGER_PROVIDER } from '@island.is/logging'
import { AuditService } from '@island.is/nest/audit'
import { AuthDelegationType } from '@island.is/shared/types'
Expand All @@ -31,7 +28,7 @@ import { DelegationValidity } from './types/delegationValidity'
import { partitionWithIndex } from './utils/partitionWithIndex'
import { getScopeValidityWhereClause } from './utils/scopes'
import { DelegationDelegationType } from './models/delegation-delegation-type.model'
import { DelegationTypeModel } from '@island.is/auth-api-lib'
import { DelegationTypeModel } from './models/delegation-type.model'

type FindAllValidIncomingOptions = {
nationalId: string
Expand Down Expand Up @@ -86,6 +83,33 @@ export class DelegationsIncomingCustomService {
})
}

async findAllValidGeneralMandate(
{ nationalId }: FindAllValidIncomingOptions,
useMaster = false,
): Promise<DelegationDTO[]> {
const { delegations, fromNameInfo } =
await this.findAllIncomingGeneralMandates(
{
nationalId,
validity: DelegationValidity.INCLUDE_FUTURE,
},
useMaster,
)

const delegationDTOs = delegations.map((d) =>
d.toDTO(AuthDelegationType.GeneralMandate),
)

return delegationDTOs.map((d) => {
const person = this.getPersonByNationalId(fromNameInfo, d.fromNationalId)

return {
...d,
fromName: person?.name ?? d.fromName ?? UNKNOWN_NAME,
}
})
}

async findAllAvailableIncoming(
user: User,
clientAllowedApiScopes: ApiScopeInfo[],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,12 @@ export class DelegationsIncomingService {
}),
)

delegationPromises.push(
this.delegationsIncomingCustomService.findAllValidGeneralMandate({
nationalId: user.nationalId,
}),
)

delegationPromises.push(
this.delegationsIncomingRepresentativeService.findAllIncoming({
nationalId: user.nationalId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ export const AccessCard = ({
let icon: IconType = 'people'

switch (type) {
case AuthDelegationType.GeneralMandate:
label = formatMessage(m.delegationTypeGeneralMandate)
break
case AuthDelegationType.LegalGuardian:
label = formatMessage(m.delegationTypeLegalGuardian)
break
Expand Down
4 changes: 4 additions & 0 deletions libs/portals/shared-modules/delegations/src/lib/messages.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,10 @@ export const m = defineMessages({
id: 'sp.access-control-delegations:delegation-type-legal-guardian',
defaultMessage: 'Forsjá',
},
delegationTypeGeneralMandate: {
id: 'sp.access-control-delegations:delegation-type-general-mandate',
defaultMessage: 'Allsherjarumboð',
},
delegationTypeProcurationHolder: {
id: 'sp.access-control-delegations:delegation-type-procuration-holder',
defaultMessage: 'Prókúra',
Expand Down

0 comments on commit 062a582

Please sign in to comment.