Skip to content

Commit

Permalink
feat(signature-collection): Signature lookup for admin (#16232)
Browse files Browse the repository at this point in the history
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
  • Loading branch information
juni-haukur and kodiakhq[bot] authored Oct 3, 2024
1 parent 37cd47a commit 7a9c112
Show file tree
Hide file tree
Showing 4 changed files with 61 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { IsString } from 'class-validator'
import { Field, InputType } from '@nestjs/graphql'

@InputType()
export class SignatureCollectionSignatureLookupInput {
@Field()
@IsString()
collectionId!: string
@Field()
@IsString()
nationalId!: string
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,9 @@ import { SignatureCollectionSignatureIdInput } from './dto/signatureId.input'
import { SignatureCollectionIdInput } from './dto/collectionId.input'
import { SignatureCollectionCandidateIdInput } from './dto/candidateId.input'
import { SignatureCollectionCanSignFromPaperInput } from './dto/canSignFromPaper.input'
import { ReasonKey } from '@island.is/clients/signature-collection'
import { CanSignInfo } from './models/canSignInfo.model'
import { SignatureCollectionSignatureUpdateInput } from './dto/signatureUpdate.input'
import { SignatureCollectionAreaInput } from './dto'
import { SignatureCollectionSignatureLookupInput } from './dto/signatureLookup.input'
import { SignatureCollectionAreaSummaryReportInput } from './dto/areaSummaryReport.input'
import { SignatureCollectionAreaSummaryReport } from './models/areaSummaryReport.model'

Expand Down Expand Up @@ -267,6 +266,19 @@ export class SignatureCollectionAdminResolver {
)
}

@Query(() => [SignatureCollectionSignature])
@Scopes(
AdminPortalScope.signatureCollectionManage,
AdminPortalScope.signatureCollectionProcess,
)
@Audit()
async signatureCollectionSignatureLookup(
@CurrentUser() user: User,
@Args('input') input: SignatureCollectionSignatureLookupInput,
): Promise<SignatureCollectionSignature[]> {
return this.signatureCollectionService.signatureLookup(user, input)
}

@Query(() => SignatureCollectionAreaSummaryReport)
@Audit()
async signatureCollectionAreaSummaryReport(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import { SignatureCollectionSlug } from './models/slug.model'
import { SignatureCollectionListStatus } from './models/status.model'
import { SignatureCollectionIdInput } from './dto/collectionId.input'
import { SignatureCollectionSignatureUpdateInput } from './dto/signatureUpdate.input'
import { SignatureCollectionAreaInput } from './dto'
import { SignatureCollectionSignatureLookupInput } from './dto/signatureLookup.input'
import { SignatureCollectionAreaSummaryReportInput } from './dto/areaSummaryReport.input'
import { SignatureCollectionAreaSummaryReport } from './models/areaSummaryReport.model'

Expand Down Expand Up @@ -199,6 +199,17 @@ export class SignatureCollectionAdminService {
)
}

async signatureLookup(
user: User,
input: SignatureCollectionSignatureLookupInput,
): Promise<SignatureCollectionSignature[]> {
return await this.signatureCollectionClientService.signatureLookup(
user,
input.collectionId,
input.nationalId,
)
}

async getAreaSummaryReport(
input: SignatureCollectionAreaSummaryReportInput,
user: User,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -351,4 +351,27 @@ export class SignatureCollectionAdminClientService {
return {} as AreaSummaryReport
}
}

async signatureLookup(
auth: Auth,
collectionId: string,
nationalId: string,
): Promise<Signature[]> {
const lists = await this.getLists({ collectionId }, auth)
try {
const res = await this.getApiWithAuth(
this.adminApi,
auth,
).adminMedmaelasofnunIDComparePost({
iD: parseInt(collectionId, 10),
requestBody: [nationalId],
})
return res.map(mapSignature).map((s) => ({
...s,
listTitle: lists.find((l) => l.id === s.listId)?.title,
}))
} catch {
return []
}
}
}

0 comments on commit 7a9c112

Please sign in to comment.