当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript ClaimStoreClient.retrieveUserRoles方法代码示例

本文整理汇总了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 => {
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:10,代码来源:newFeaturesConsentGuard.ts

示例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)
    })
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:15,代码来源:create-claim-draft.ts

示例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 => {
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:6,代码来源:new-features-consent.ts

示例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 }))
}
开发者ID:hmcts,项目名称:cmc-citizen-frontend,代码行数:67,代码来源:pay.ts


注:本文中的claims/claimStoreClient.ClaimStoreClient.retrieveUserRoles方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。