{"version":3,"file":"useRoles.mjs","sources":["../../../../../../../../web/src/adminPortal/utils/useRoles.ts"],"sourcesContent":["import { RBACPolicyRole } from '@stytch/core';\nimport { useEffect, useState } from 'react';\n\nimport { useB2BInternals } from './useB2BInternals';\n\nexport const useRoles = (includeOrgRoles = false) => {\n  const b2bInternals = useB2BInternals();\n  const [roles, setRoles] = useState<RBACPolicyRole[] | undefined>(b2bInternals.bootstrap.getSync().rbacPolicy?.roles);\n  useEffect(() => {\n    b2bInternals.bootstrap.getAsync().then((value) => {\n      setRoles(value.rbacPolicy?.roles);\n    });\n  });\n\n  let allRoles = roles;\n  if (includeOrgRoles) {\n    const orgRoles: RBACPolicyRole[] = b2bInternals.dataLayer.state?.organization?.custom_roles ?? [];\n    allRoles = (roles ?? []).concat(orgRoles ?? []);\n  }\n\n  return allRoles;\n};\n"],"names":["useRoles","includeOrgRoles","b2bInternals","useB2BInternals","roles","setRoles","useState","bootstrap","getSync","rbacPolicy","useEffect","getAsync","then","value","allRoles","orgRoles","dataLayer","state","organization","custom_roles","concat"],"mappings":";;;;AAKO,MAAMA,QAAAA,GAAW,CAACC,eAAAA,GAAkB,KAAK,GAAA;AAC9C,IAAA,MAAMC,YAAAA,GAAeC,eAAAA,EAAAA;IACrB,MAAM,CAACC,KAAAA,EAAOC,QAAAA,CAAS,GAAGC,CAAAA,CAAuCJ,YAAAA,CAAaK,SAAS,CAACC,OAAO,EAAA,CAAGC,UAAU,EAAEL,KAAAA,CAAAA;IAC9GM,CAAAA,CAAU,IAAA;AACRR,QAAAA,YAAAA,CAAaK,SAAS,CAACI,QAAQ,EAAA,CAAGC,IAAI,CAAC,CAACC,KAAAA,GAAAA;YACtCR,QAAAA,CAASQ,KAAAA,CAAMJ,UAAU,EAAEL,KAAAA,CAAAA;AAC7B,QAAA,CAAA,CAAA;AACF,IAAA,CAAA,CAAA;AAEA,IAAA,IAAIU,QAAAA,GAAWV,KAAAA;AACf,IAAA,IAAIH,eAAAA,EAAiB;QACnB,MAAMc,QAAAA,GAA6Bb,aAAac,SAAS,CAACC,KAAK,EAAEC,YAAAA,EAAcC,gBAAgB,EAAE;QACjGL,QAAAA,GAAYV,CAAAA,KAAAA,IAAS,EAAE,EAAEgB,MAAM,CAACL,QAAAA,IAAY,EAAE,CAAA;AAChD,IAAA;IAEA,OAAOD,QAAAA;AACT;;;;"}