{"version":3,"file":"rbac-middleware.mjs","sources":["../../../admin/src/middlewares/rbac-middleware.ts"],"sourcesContent":["/* eslint-disable check-file/filename-naming-convention */\nimport * as qs from 'qs';\nimport { matchPath } from 'react-router-dom';\n\nimport type { RBACMiddleware } from '@strapi/admin/strapi-admin';\n\nconst localeMiddleware: RBACMiddleware = (ctx) => (next) => (permissions) => {\n  const match = matchPath('/content-manager/:collectionType/:model?/:id', ctx.pathname);\n\n  if (!match) {\n    return next(permissions);\n  }\n\n  const search = qs.parse(ctx.search);\n\n  if (typeof search !== 'object') {\n    return next(permissions);\n  }\n\n  if (!('plugins' in search && typeof search.plugins === 'object')) {\n    return next(permissions);\n  }\n\n  if (\n    !(\n      'i18n' in search.plugins &&\n      typeof search.plugins.i18n === 'object' &&\n      !Array.isArray(search.plugins.i18n)\n    )\n  ) {\n    return next(permissions);\n  }\n\n  const { locale } = search.plugins.i18n;\n\n  if (typeof locale !== 'string') {\n    return next(permissions);\n  }\n\n  const revisedPermissions = permissions.filter(\n    (permission) =>\n      !permission.properties?.locales || permission.properties.locales.includes(locale)\n  );\n\n  return next(revisedPermissions);\n};\n\nexport { localeMiddleware };\n"],"names":["localeMiddleware","ctx","next","permissions","match","matchPath","pathname","search","qs","parse","plugins","i18n","Array","isArray","locale","revisedPermissions","filter","permission","properties","locales","includes"],"mappings":";;;AAMA,MAAMA,gBAAAA,GAAmC,CAACC,GAAAA,GAAQ,CAACC,OAAS,CAACC,WAAAA,GAAAA;AAC3D,YAAA,MAAMC,KAAAA,GAAQC,SAAAA,CAAU,8CAAA,EAAgDJ,GAAAA,CAAIK,QAAQ,CAAA;AAEpF,YAAA,IAAI,CAACF,KAAAA,EAAO;AACV,gBAAA,OAAOF,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMI,MAAAA,GAASC,EAAAA,CAAGC,KAAK,CAACR,IAAIM,MAAM,CAAA;YAElC,IAAI,OAAOA,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOL,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IAAI,EAAE,SAAA,IAAaI,MAAAA,IAAU,OAAOA,MAAAA,CAAOG,OAAO,KAAK,QAAO,CAAA,EAAI;AAChE,gBAAA,OAAOR,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;YAEA,IACE,EACE,MAAA,IAAUI,MAAAA,CAAOG,OAAO,IACxB,OAAOH,MAAAA,CAAOG,OAAO,CAACC,IAAI,KAAK,QAAA,IAC/B,CAACC,MAAMC,OAAO,CAACN,OAAOG,OAAO,CAACC,IAAI,CAAA,CAAA,EAEpC;AACA,gBAAA,OAAOT,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAM,EAAEW,MAAM,EAAE,GAAGP,MAAAA,CAAOG,OAAO,CAACC,IAAI;YAEtC,IAAI,OAAOG,WAAW,QAAA,EAAU;AAC9B,gBAAA,OAAOZ,IAAAA,CAAKC,WAAAA,CAAAA;AACd,YAAA;AAEA,YAAA,MAAMY,qBAAqBZ,WAAAA,CAAYa,MAAM,CAC3C,CAACC,aACC,CAACA,UAAAA,CAAWC,UAAU,EAAEC,WAAWF,UAAAA,CAAWC,UAAU,CAACC,OAAO,CAACC,QAAQ,CAACN,MAAAA,CAAAA,CAAAA;AAG9E,YAAA,OAAOZ,IAAAA,CAAKa,kBAAAA,CAAAA;AACd,QAAA;;;;"}