[{"data":1,"prerenderedAt":427},["ShallowReactive",2],{"navigation":3,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fintroduction":124,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fintroduction-surround":422},[4,23],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fgetting-started","1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-tabler-home",{"title":13,"path":14,"stem":15,"icon":16},"Manifest","\u002Fgetting-started\u002Fmanifest","1.getting-started\u002F2.manifest","i-tabler-file-diff",{"title":18,"path":19,"stem":20,"icon":21},"Contributing","\u002Fgetting-started\u002Fcontributing","1.getting-started\u002F3.contributing","i-tabler-git-fork",false,{"title":24,"path":25,"stem":26,"children":27,"icon":30},"Packages","\u002Fpackages","2.packages\u002F1.index",[28,31],{"title":29,"path":25,"stem":26,"icon":30},"Overview","i-tabler-packages",{"title":32,"icon":33,"path":34,"stem":35,"children":36,"page":22},"AdonisJS Permission","i-tabler-shield-lock","\u002Fpackages\u002Fadonisjs-permission","2.packages\u002Fadonisjs-permission",[37,56,87,113],{"title":5,"icon":38,"path":39,"stem":40,"children":41,"page":22},"i-tabler-rocket","\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started","2.packages\u002Fadonisjs-permission\u002F1.getting-started",[42,46,51],{"title":10,"path":43,"stem":44,"icon":45},"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fintroduction","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F1.introduction","i-tabler-book",{"title":47,"path":48,"stem":49,"icon":50},"Installation","\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Finstallation","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F2.installation","i-tabler-download",{"title":52,"path":53,"stem":54,"icon":55},"Configuration","\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fconfiguration","2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F3.configuration","i-tabler-settings",{"title":57,"icon":58,"path":59,"stem":60,"children":61,"page":22},"Basic Usage","i-tabler-shield-check","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage","2.packages\u002Fadonisjs-permission\u002F2.basic-usage",[62,67,72,77,82],{"title":63,"path":64,"stem":65,"icon":66},"Roles & Permissions","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Froles-and-permissions","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F1.roles-and-permissions","i-tabler-users",{"title":68,"path":69,"stem":70,"icon":71},"Checking Access","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fchecking","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F2.checking","i-tabler-checks",{"title":73,"path":74,"stem":75,"icon":76},"Middleware","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fmiddleware","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F3.middleware","i-tabler-route",{"title":78,"path":79,"stem":80,"icon":81},"Wildcard Permissions","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fwildcard-permissions","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F4.wildcard-permissions","i-tabler-asterisk",{"title":83,"path":84,"stem":85,"icon":86},"Catalog & Sync","\u002Fpackages\u002Fadonisjs-permission\u002Fbasic-usage\u002Fcatalog","2.packages\u002Fadonisjs-permission\u002F2.basic-usage\u002F5.catalog","i-tabler-refresh",{"title":88,"icon":89,"path":90,"stem":91,"children":92,"page":22},"Advanced","i-tabler-tool","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced","2.packages\u002Fadonisjs-permission\u002F3.advanced",[93,98,103,108],{"title":94,"path":95,"stem":96,"icon":97},"Teams","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fteams","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F1.teams","i-tabler-building",{"title":99,"path":100,"stem":101,"icon":102},"Super-Admin","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fsuper-admin","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F2.super-admin","i-tabler-crown",{"title":104,"path":105,"stem":106,"icon":107},"Events","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fevents","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F3.events","i-tabler-radio",{"title":109,"path":110,"stem":111,"icon":112},"Cache","\u002Fpackages\u002Fadonisjs-permission\u002Fadvanced\u002Fcache","2.packages\u002Fadonisjs-permission\u002F3.advanced\u002F4.cache","i-tabler-database",{"title":114,"icon":115,"path":116,"stem":117,"children":118,"page":22},"Upgrading","i-tabler-circle-arrow-up","\u002Fpackages\u002Fadonisjs-permission\u002Fupgrading","2.packages\u002Fadonisjs-permission\u002F4.upgrading",[119],{"title":120,"path":121,"stem":122,"icon":123},"From adonis-lucid-permission","\u002Fpackages\u002Fadonisjs-permission\u002Fupgrading\u002Ffrom-adonis-lucid-permission","2.packages\u002Fadonisjs-permission\u002F4.upgrading\u002F1.from-adonis-lucid-permission","i-tabler-git-compare",{"id":125,"title":10,"body":126,"description":416,"extension":417,"meta":418,"navigation":419,"path":43,"seo":420,"stem":44,"__hash__":421},"docs\u002F2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F1.introduction.md",{"type":127,"value":128,"toc":412},"minimark",[129,158,283,288,381,385,408],[130,131,132,136,137,140,141,148,149,153,154,157],"p",{},[133,134,135],"code",{},"@eienjs\u002Fadonisjs-permission"," lets you manage roles and permissions stored in your database and attach them to any Lucid model (usually ",[133,138,139],{},"User","). It is inspired by ",[142,143,147],"a",{"href":144,"rel":145},"https:\u002F\u002Fspatie.be\u002Fdocs\u002Flaravel-permission",[146],"nofollow","Laravel Permission"," by Spatie and built for ",[150,151,152],"strong",{},"AdonisJS v7"," and ",[150,155,156],{},"Lucid",".",[159,160,165],"pre",{"className":161,"code":162,"language":163,"meta":164,"style":164},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","await user.givePermissionTo('edit articles')\nawait user.assignRole('writer')\n\nawait user.can('edit articles') \u002F\u002F true\nawait user.hasRole('writer') \u002F\u002F true\n","ts","",[133,166,167,202,225,232,259],{"__ignoreMap":164},[168,169,172,176,180,183,187,190,193,197,199],"span",{"class":170,"line":171},"line",1,[168,173,175],{"class":174},"s7zQu","await",[168,177,179],{"class":178},"sTEyZ"," user",[168,181,157],{"class":182},"sMK4o",[168,184,186],{"class":185},"s2Zo4","givePermissionTo",[168,188,189],{"class":178},"(",[168,191,192],{"class":182},"'",[168,194,196],{"class":195},"sfazB","edit articles",[168,198,192],{"class":182},[168,200,201],{"class":178},")\n",[168,203,205,207,209,211,214,216,218,221,223],{"class":170,"line":204},2,[168,206,175],{"class":174},[168,208,179],{"class":178},[168,210,157],{"class":182},[168,212,213],{"class":185},"assignRole",[168,215,189],{"class":178},[168,217,192],{"class":182},[168,219,220],{"class":195},"writer",[168,222,192],{"class":182},[168,224,201],{"class":178},[168,226,228],{"class":170,"line":227},3,[168,229,231],{"emptyLinePlaceholder":230},true,"\n",[168,233,235,237,239,241,244,246,248,250,252,255],{"class":170,"line":234},4,[168,236,175],{"class":174},[168,238,179],{"class":178},[168,240,157],{"class":182},[168,242,243],{"class":185},"can",[168,245,189],{"class":178},[168,247,192],{"class":182},[168,249,196],{"class":195},[168,251,192],{"class":182},[168,253,254],{"class":178},") ",[168,256,258],{"class":257},"sHwdD","\u002F\u002F true\n",[168,260,262,264,266,268,271,273,275,277,279,281],{"class":170,"line":261},5,[168,263,175],{"class":174},[168,265,179],{"class":178},[168,267,157],{"class":182},[168,269,270],{"class":185},"hasRole",[168,272,189],{"class":178},[168,274,192],{"class":182},[168,276,220],{"class":195},[168,278,192],{"class":182},[168,280,254],{"class":178},[168,282,258],{"class":257},[284,285,287],"h2",{"id":286},"features","Features",[289,290,291,295,298,313,319,329,334,346,361,374],"ul",{},[292,293,294],"li",{},"Roles and permissions as regular Lucid models you own and can extend.",[292,296,297],{},"Direct permissions, permissions via roles, or both.",[292,299,300,301,304,305,308,309,312],{},"Multiple ",[150,302,303],{},"guards"," (",[133,306,307],{},"web",", ",[133,310,311],{},"api",", ...).",[292,314,315,318],{},[150,316,317],{},"Teams \u002F multi-tenancy"," support.",[292,320,321,322,304,325,328],{},"Apache Shiro style ",[150,323,324],{},"wildcard permissions",[133,326,327],{},"posts.*",").",[292,330,331,333],{},[150,332,99],{}," bypass.",[292,335,336,337,308,340,308,343,157],{},"Route middlewares: ",[133,338,339],{},"role",[133,341,342],{},"permission",[133,344,345],{},"roleOrPermission",[292,347,348,349,308,352,308,355,308,358,157],{},"Edge tags: ",[133,350,351],{},"@can",[133,353,354],{},"@cannot",[133,356,357],{},"@role",[133,359,360],{},"@hasrole",[292,362,363,364,308,367,370,371,157],{},"Primary keys of any kind: ",[133,365,366],{},"increments",[133,368,369],{},"bigIncrements"," or ",[133,372,373],{},"uuid",[292,375,376,377,380],{},"Optional events, in-memory cache and a config based ",[150,378,379],{},"catalog"," you can sync with Ace commands.",[284,382,384],{"id":383},"requirements","Requirements",[289,386,387,390,396,402],{},[292,388,389],{},"Node.js >= 24",[292,391,392,395],{},[133,393,394],{},"@adonisjs\u002Fcore"," ^7.6",[292,397,398,401],{},[133,399,400],{},"@adonisjs\u002Flucid"," ^22.4",[292,403,404,407],{},[133,405,406],{},"luxon"," ^3.4",[409,410,411],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":164,"searchDepth":171,"depth":204,"links":413},[414,415],{"id":286,"depth":204,"text":287},{"id":383,"depth":204,"text":384},"Associate Lucid models with roles and permissions in AdonisJS v7.","md",{},{"icon":45},{"title":10,"description":416},"DQgtZXWDBTRUlKewKLyrNTmImA2VcdYmJwKWRnYXpBI",[423,425],{"title":29,"path":25,"stem":26,"description":424,"icon":30,"children":-1},"Explore open source packages provided by the EienJS organization.",{"title":47,"path":48,"stem":49,"description":426,"icon":50,"children":-1},"Install and configure the package with a single Ace command.",1793679730678]