Skip to content

Commit

Permalink
Signature lookup for admin
Browse files Browse the repository at this point in the history
  • Loading branch information
juni-haukur committed Oct 2, 2024
1 parent 148403d commit 548a498
Show file tree
Hide file tree
Showing 4 changed files with 62 additions and 0 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 @@ -35,6 +35,7 @@ import { SignatureCollectionCanSignFromPaperInput } from './dto/canSignFromPaper
import { ReasonKey } from '@island.is/clients/signature-collection'
import { CanSignInfo } from './models/canSignInfo.model'
import { SignatureCollectionSignatureUpdateInput } from './dto/signatureUpdate.input'
import { SignatureCollectionSignatureLookupInput } from './dto/signatureLookup.input'

@UseGuards(IdsUserGuard, ScopesGuard)
@Scopes(AdminPortalScope.signatureCollectionProcess)
Expand Down Expand Up @@ -263,4 +264,17 @@ export class SignatureCollectionAdminResolver {
input,
)
}

@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)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@ 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 { SignatureCollectionNationalIdInput } from './dto'
import { SignatureCollectionSignatureLookupInput } from './dto/signatureLookup.input'

@Injectable()
export class SignatureCollectionAdminService {
Expand Down Expand Up @@ -195,4 +197,15 @@ export class SignatureCollectionAdminService {
input.pageNumber,
)
}

async signatureLookup(
user: User,
input: SignatureCollectionSignatureLookupInput,
): Promise<SignatureCollectionSignature[]> {
return await this.signatureCollectionClientService.signatureLookup(
user,
input.collectionId,
input.nationalId,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -328,4 +328,27 @@ export class SignatureCollectionAdminClientService {
return { success: false }
}
}

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 548a498

Please sign in to comment.