本文整理汇总了TypeScript中claims/claimStoreClient.ClaimStoreClient.retrieveUserRoles方法的典型用法代码示例。如果您正苦于以下问题:TypeScript ClaimStoreClient.retrieveUserRoles方法的具体用法?TypeScript ClaimStoreClient.retrieveUserRoles怎么用?TypeScript ClaimStoreClient.retrieveUserRoles使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类claims/claimStoreClient.ClaimStoreClient
的用法示例。
在下文中一共展示了ClaimStoreClient.retrieveUserRoles方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
return GuardFactory.createAsync(async (req: express.Request, res: express.Response) => {
if (!FeatureToggles.isEnabled('newFeaturesConsent')) {
return true
}
const user: User = res.locals.user
const roles = await claimStoreClient.retrieveUserRoles(user)
return roles.length !== 0 && roles.some(role => role.includes('cmc-new-features-consent'))
}, (req: express.Request, res: express.Response): void => {
示例2: DraftClaim
ErrorHandling.apply(async (req: express.Request, res: express.Response) => {
const draft: Draft<DraftClaim> = res.locals.claimDraft
const user: User = res.locals.user
draft.document = new DraftClaim().deserialize(prepareClaimDraft(user.email))
await new DraftService().save(draft, user.bearerToken)
const roles: string[] = await claimStoreClient.retrieveUserRoles(user)
if (roles && !roles.some(role => role.includes('cmc-new-features-consent'))) {
await claimStoreClient.addRoleToUser(user, 'cmc-new-features-consent-given')
}
res.redirect(ClaimPaths.checkAndSendPage.uri)
})
示例3:
return GuardFactory.createAsync(async (req: express.Request, res: express.Response) => {
const user: User = res.locals.user
const roles = await claimStoreClient.retrieveUserRoles(user)
return roles && !roles.some(role => role.includes('cmc-new-features-consent'))
}, (req: express.Request, res: express.Response): void => {
示例4: successHandler
async function successHandler (req, res, next) {
const draft: Draft<DraftClaim> = res.locals.claimDraft
const user: User = res.locals.user
const externalId: string = draft.document.externalId
let savedClaim: Claim
try {
const roles: string[] = await claimStoreClient.retrieveUserRoles(user)
if (!roles.length) {
logger.error(`missing consent not given role for user, User Id : ${user.id}`)
}
let features: string
if (await featureTogglesClient.isFeatureToggleEnabled(user, roles, 'cmc_admissions')) {
features = 'admissions'
}
if (draft.document.amount.totalAmount() <= 300) {
if (await featureTogglesClient.isFeatureToggleEnabled(user, roles, 'cmc_directions_questionnaire')) {
features += features === undefined ? 'directionsQuestionnaire' : ', directionsQuestionnaire'
}
}
if (draft.document.amount.totalAmount() <= 300) {
if (await featureTogglesClient.isFeatureToggleEnabled(user, roles, 'cmc_mediation_pilot')) {
features += features === undefined ? 'mediationPilot' : ', mediationPilot'
}
}
savedClaim = await claimStoreClient.saveClaim(draft, user, features)
} catch (err) {
if (err.statusCode === HttpStatus.INTERNAL_SERVER_ERROR || err.statusCode === HttpStatus.SERVICE_UNAVAILABLE) {
logError(
user.id,
draft.document.claimant.payment,
`Payment processed successfully but there was a problem saving claim '${externalId}' to the claim store.`
)
trackCustomEvent(`Post payment successful but unable to store claim in claim-store with externalId: ${externalId}`,
{
externalId: externalId,
payment: draft.document.claimant.payment,
error: err
})
next(err)
return
} else if (err.statusCode === HttpStatus.CONFLICT) {
logError(
user.id,
draft.document.claimant.payment,
`Payment processed successfully and claim ${externalId} already exists.`
)
savedClaim = await claimStoreClient.retrieveByExternalId(externalId, user)
}
}
const payClient: PayClient = await getPayClient(req)
const paymentReference = draft.document.claimant.payment.reference
if (savedClaim) {
const ccdCaseNumber = savedClaim.ccdCaseId === undefined ? 'UNKNOWN' : String(savedClaim.ccdCaseId)
await payClient.update(user, paymentReference, savedClaim.externalId, ccdCaseNumber)
}
await new DraftService().delete(draft.id, user.bearerToken)
res.redirect(Paths.confirmationPage.evaluateUri({ externalId: externalId }))
}