Skip to content

Commit

Permalink
get candidate collectors
Browse files Browse the repository at this point in the history
  • Loading branch information
juni-haukur committed Sep 25, 2024
1 parent 23d2dbd commit 38590bc
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ import { SignatureCollectionCanSignFromPaperInput } from './dto/canSignFromPaper
import { SignatureCollectionAddListsInput } from './dto/addLists.input'
import { SignatureCollectionListBulkUploadInput } from './dto/bulkUpload.input'
import { SignatureCollectionUploadPaperSignatureInput } from './dto/uploadPaperSignature.input'
import { SignatureCollectionCollector } from './models/collector.model'
import { SignatureCollectionCandidateIdInput } from './dto/candidateId.input'
@UseGuards(IdsUserGuard, ScopesGuard, UserAccessGuard)
@Resolver()
@Audit({ namespace: '@island.is/api/signature-collection' })
Expand Down Expand Up @@ -186,4 +188,15 @@ export class SignatureCollectionResolver {
user,
)
}

@Scopes(ApiScope.signatureCollection)
@AccessRequirement(OwnerAccess.AllowActor)
@Query(() => [SignatureCollectionCollector])
@Audit()
async signatureCollectionCollectors(
@CurrentUser() user: User,
@Args('input') input: SignatureCollectionCandidateIdInput,
): Promise<SignatureCollectionCollector[]> {
return this.signatureCollectionService.collectors(user, input)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import { SignatureCollectionOwnerInput } from './dto/owner.input'
import { SignatureCollectionListBulkUploadInput } from './dto/bulkUpload.input'
import { SignatureCollectionUploadPaperSignatureInput } from './dto/uploadPaperSignature.input'
import { SignatureCollectionCanSignFromPaperInput } from './dto/canSignFromPaper.input'
import { SignatureCollectionCandidateIdInput } from './dto/candidateId.input'
import { SignatureCollectionCollector } from './models/collector.model'

@Injectable()
export class SignatureCollectionService {
Expand Down Expand Up @@ -161,4 +163,14 @@ export class SignatureCollectionService {

return canSign && list.area.id === signee.area?.id
}

async collectors(
user: User,
input: SignatureCollectionCandidateIdInput,
): Promise<SignatureCollectionCollector[]> {
return await this.signatureCollectionClientService.getCollectors(
user,
input,
)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -524,4 +524,23 @@ export class SignatureCollectionClientService {
}
return { success: true }
}

async getCollectors(
auth: User,
{ candidateId }: { candidateId: string },
): Promise<{ name: string; nationalId: string }[]> {
const candidate = await this.getApiWithAuth(
this.candidateApi,
auth,
).frambodIDGet({
iD: parseInt(candidateId),
})

return (
candidate.umbodList?.map((u) => ({
name: u.nafn ?? '',
nationalId: u.kennitala ?? '',
})) ?? []
)
}
}

0 comments on commit 38590bc

Please sign in to comment.