[{"data":1,"prerenderedAt":950},["ShallowReactive",2],{"navigation":3,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Finstallation":124,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Finstallation-surround":945},[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":47,"body":126,"description":939,"extension":940,"meta":941,"navigation":942,"path":48,"seo":943,"stem":49,"__hash__":944},"docs\u002F2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F2.installation.md",{"type":127,"value":128,"toc":931},"minimark",[129,134,163,171,218,223,226,258,345,349,363,366,445,449,582,609,621,625,635,915,927],[130,131,133],"h2",{"id":132},"install","Install",[135,136,141],"pre",{"className":137,"code":138,"language":139,"meta":140,"style":140},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","node ace add @eienjs\u002Fadonisjs-permission\n","bash","",[142,143,144],"code",{"__ignoreMap":140},[145,146,149,153,157,160],"span",{"class":147,"line":148},"line",1,[145,150,152],{"class":151},"sBMFI","node",[145,154,156],{"class":155},"sfazB"," ace",[145,158,159],{"class":155}," add",[145,161,162],{"class":155}," @eienjs\u002Fadonisjs-permission\n",[164,165,166,167,170],"p",{},"This installs the package and runs ",[142,168,169],{},"node ace configure @eienjs\u002Fadonisjs-permission",", which:",[172,173,174,182,188,198,201],"ol",{},[175,176,177,178,181],"li",{},"Registers the provider and the Ace commands in ",[142,179,180],{},"adonisrc.ts",".",[175,183,184,185,181],{},"Creates ",[142,186,187],{},"config\u002Fpermissions.ts",[175,189,190,191,194,195,181],{},"Scaffolds ",[142,192,193],{},"app\u002Fmodels\u002Frole.ts"," and ",[142,196,197],{},"app\u002Fmodels\u002Fpermission.ts",[175,199,200],{},"Creates the five migrations.",[175,202,203,204,207,208,194,211,214,215,181],{},"Registers the ",[142,205,206],{},"role",", ",[142,209,210],{},"permission",[142,212,213],{},"roleOrPermission"," named middlewares in ",[142,216,217],{},"start\u002Fkernel.ts",[219,220,222],"h3",{"id":221},"flags","Flags",[164,224,225],{},"Every prompt can be answered up front:",[135,227,229],{"className":137,"code":228,"language":139,"meta":140,"style":140},"node ace configure @eienjs\u002Fadonisjs-permission --teams --wildcard --migrations --models --middlewares\n",[142,230,231],{"__ignoreMap":140},[145,232,233,235,237,240,243,246,249,252,255],{"class":147,"line":148},[145,234,152],{"class":151},[145,236,156],{"class":155},[145,238,239],{"class":155}," configure",[145,241,242],{"class":155}," @eienjs\u002Fadonisjs-permission",[145,244,245],{"class":155}," --teams",[145,247,248],{"class":155}," --wildcard",[145,250,251],{"class":155}," --migrations",[145,253,254],{"class":155}," --models",[145,256,257],{"class":155}," --middlewares\n",[259,260,261,274],"table",{},[262,263,264],"thead",{},[265,266,267,271],"tr",{},[268,269,270],"th",{},"Flag",[268,272,273],{},"Description",[275,276,277,288,298,308,325,335],"tbody",{},[265,278,279,285],{},[280,281,282],"td",{},[142,283,284],{},"--defaults",[280,286,287],{},"Skip all prompts and use the defaults.",[265,289,290,295],{},[280,291,292],{},[142,293,294],{},"--teams",[280,296,297],{},"Enable teams \u002F multi-tenancy columns.",[265,299,300,305],{},[280,301,302],{},[142,303,304],{},"--wildcard",[280,306,307],{},"Enable wildcard permissions.",[265,309,310,315],{},[280,311,312],{},[142,313,314],{},"--models",[280,316,317,318,194,321,324],{},"Scaffold the ",[142,319,320],{},"Role",[142,322,323],{},"Permission"," models.",[265,326,327,332],{},[280,328,329],{},[142,330,331],{},"--migrations",[280,333,334],{},"Create the migration files.",[265,336,337,342],{},[280,338,339],{},[142,340,341],{},"--middlewares",[280,343,344],{},"Register the named middlewares.",[130,346,348],{"id":347},"run-the-migrations","Run the migrations",[135,350,352],{"className":137,"code":351,"language":139,"meta":140,"style":140},"node ace migration:run\n",[142,353,354],{"__ignoreMap":140},[145,355,356,358,360],{"class":147,"line":148},[145,357,152],{"class":151},[145,359,156],{"class":155},[145,361,362],{"class":155}," migration:run\n",[164,364,365],{},"The following tables are created:",[259,367,368,378],{},[262,369,370],{},[265,371,372,375],{},[268,373,374],{},"Table",[268,376,377],{},"Purpose",[275,379,380,401,415,425,435],{},[265,381,382,387],{},[280,383,384],{},[142,385,386],{},"roles",[280,388,389,390,207,393,396,397,400],{},"Roles (",[142,391,392],{},"name",[142,394,395],{},"guard_name",", optional ",[142,398,399],{},"team_id",").",[265,402,403,408],{},[280,404,405],{},[142,406,407],{},"permissions",[280,409,410,411,207,413,400],{},"Permissions (",[142,412,392],{},[142,414,395],{},[265,416,417,422],{},[280,418,419],{},[142,420,421],{},"role_has_permissions",[280,423,424],{},"Role ↔ permission pivot.",[265,426,427,432],{},[280,428,429],{},[142,430,431],{},"model_has_roles",[280,433,434],{},"Polymorphic model ↔ role pivot.",[265,436,437,442],{},[280,438,439],{},[142,440,441],{},"model_has_permissions",[280,443,444],{},"Polymorphic model ↔ permission pivot.",[130,446,448],{"id":447},"prepare-your-user-model","Prepare your User model",[135,450,455],{"className":451,"code":452,"filename":453,"language":454,"meta":140,"style":140},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { compose } from '@adonisjs\u002Fcore\u002Fhelpers'\nimport { BaseModel } from '@adonisjs\u002Flucid\u002Form'\nimport { HasAuthorizable } from '@eienjs\u002Fadonisjs-permission'\n\nexport default class User extends compose(BaseModel, HasAuthorizable) {\n  \u002F\u002F your columns...\n}\n","app\u002Fmodels\u002Fuser.ts","ts",[142,456,457,486,507,528,535,569,576],{"__ignoreMap":140},[145,458,459,463,467,471,474,477,480,483],{"class":147,"line":148},[145,460,462],{"class":461},"s7zQu","import",[145,464,466],{"class":465},"sMK4o"," {",[145,468,470],{"class":469},"sTEyZ"," compose",[145,472,473],{"class":465}," }",[145,475,476],{"class":461}," from",[145,478,479],{"class":465}," '",[145,481,482],{"class":155},"@adonisjs\u002Fcore\u002Fhelpers",[145,484,485],{"class":465},"'\n",[145,487,489,491,493,496,498,500,502,505],{"class":147,"line":488},2,[145,490,462],{"class":461},[145,492,466],{"class":465},[145,494,495],{"class":469}," BaseModel",[145,497,473],{"class":465},[145,499,476],{"class":461},[145,501,479],{"class":465},[145,503,504],{"class":155},"@adonisjs\u002Flucid\u002Form",[145,506,485],{"class":465},[145,508,510,512,514,517,519,521,523,526],{"class":147,"line":509},3,[145,511,462],{"class":461},[145,513,466],{"class":465},[145,515,516],{"class":469}," HasAuthorizable",[145,518,473],{"class":465},[145,520,476],{"class":461},[145,522,479],{"class":465},[145,524,525],{"class":155},"@eienjs\u002Fadonisjs-permission",[145,527,485],{"class":465},[145,529,531],{"class":147,"line":530},4,[145,532,534],{"emptyLinePlaceholder":533},true,"\n",[145,536,538,541,544,548,551,554,557,560,563,566],{"class":147,"line":537},5,[145,539,540],{"class":461},"export",[145,542,543],{"class":461}," default",[145,545,547],{"class":546},"spNyl"," class",[145,549,550],{"class":151}," User",[145,552,553],{"class":546}," extends",[145,555,470],{"class":556},"s2Zo4",[145,558,559],{"class":469},"(BaseModel",[145,561,562],{"class":465},",",[145,564,565],{"class":469}," HasAuthorizable) ",[145,567,568],{"class":465},"{\n",[145,570,572],{"class":147,"line":571},6,[145,573,575],{"class":574},"sHwdD","  \u002F\u002F your columns...\n",[145,577,579],{"class":147,"line":578},7,[145,580,581],{"class":465},"}\n",[164,583,584,587,588,194,591,594,595,194,598,601,602,207,605,608],{},[142,585,586],{},"HasAuthorizable"," bundles ",[142,589,590],{},"HasRoles",[142,592,593],{},"HasPermissions"," plus helpers such as ",[142,596,597],{},"can()",[142,599,600],{},"hasPermissionTo()",". You can apply any other model (a ",[142,603,604],{},"Company",[142,606,607],{},"Team",", ...) the same way.",[610,611,612],"tip",{},[164,613,614,615,617,618,620],{},"Use ",[142,616,590],{}," or ",[142,619,593],{}," on their own if a model only needs one of them.",[130,622,624],{"id":623},"role-and-permission-models","Role and Permission models",[164,626,627,628,194,631,634],{},"The scaffolded models use the ",[142,629,630],{},"Roleable",[142,632,633],{},"Permissible"," mixins:",[636,637,638,785],"code-group",{},[135,639,641],{"className":451,"code":640,"filename":193,"language":454,"meta":140,"style":140},"import { compose } from '@adonisjs\u002Fcore\u002Fhelpers'\nimport { BaseModel, column } from '@adonisjs\u002Flucid\u002Form'\nimport { Roleable } from '@eienjs\u002Fadonisjs-permission'\n\nexport default class Role extends compose(BaseModel, Roleable) {\n  @column({ isPrimary: true })\n  declare id: number | string\n}\n",[142,642,643,661,684,703,707,731,761,780],{"__ignoreMap":140},[145,644,645,647,649,651,653,655,657,659],{"class":147,"line":148},[145,646,462],{"class":461},[145,648,466],{"class":465},[145,650,470],{"class":469},[145,652,473],{"class":465},[145,654,476],{"class":461},[145,656,479],{"class":465},[145,658,482],{"class":155},[145,660,485],{"class":465},[145,662,663,665,667,669,671,674,676,678,680,682],{"class":147,"line":488},[145,664,462],{"class":461},[145,666,466],{"class":465},[145,668,495],{"class":469},[145,670,562],{"class":465},[145,672,673],{"class":469}," column",[145,675,473],{"class":465},[145,677,476],{"class":461},[145,679,479],{"class":465},[145,681,504],{"class":155},[145,683,485],{"class":465},[145,685,686,688,690,693,695,697,699,701],{"class":147,"line":509},[145,687,462],{"class":461},[145,689,466],{"class":465},[145,691,692],{"class":469}," Roleable",[145,694,473],{"class":465},[145,696,476],{"class":461},[145,698,479],{"class":465},[145,700,525],{"class":155},[145,702,485],{"class":465},[145,704,705],{"class":147,"line":530},[145,706,534],{"emptyLinePlaceholder":533},[145,708,709,711,713,715,718,720,722,724,726,729],{"class":147,"line":537},[145,710,540],{"class":461},[145,712,543],{"class":461},[145,714,547],{"class":546},[145,716,717],{"class":151}," Role",[145,719,553],{"class":546},[145,721,470],{"class":556},[145,723,559],{"class":469},[145,725,562],{"class":465},[145,727,728],{"class":469}," Roleable) ",[145,730,568],{"class":465},[145,732,733,736,739,742,745,749,752,756,758],{"class":147,"line":571},[145,734,735],{"class":465},"  @",[145,737,738],{"class":556},"column",[145,740,741],{"class":469},"(",[145,743,744],{"class":465},"{",[145,746,748],{"class":747},"swJcz"," isPrimary",[145,750,751],{"class":465},":",[145,753,755],{"class":754},"sfNiH"," true",[145,757,473],{"class":465},[145,759,760],{"class":469},")\n",[145,762,763,766,769,771,774,777],{"class":147,"line":578},[145,764,765],{"class":546},"  declare",[145,767,768],{"class":747}," id",[145,770,751],{"class":465},[145,772,773],{"class":151}," number",[145,775,776],{"class":465}," |",[145,778,779],{"class":151}," string\n",[145,781,783],{"class":147,"line":782},8,[145,784,581],{"class":465},[135,786,788],{"className":451,"code":787,"filename":197,"language":454,"meta":140,"style":140},"import { compose } from '@adonisjs\u002Fcore\u002Fhelpers'\nimport { BaseModel, column } from '@adonisjs\u002Flucid\u002Form'\nimport { Permissible } from '@eienjs\u002Fadonisjs-permission'\n\nexport default class Permission extends compose(BaseModel, Permissible) {\n  @column({ isPrimary: true })\n  declare id: number | string\n}\n",[142,789,790,808,830,849,853,877,897,911],{"__ignoreMap":140},[145,791,792,794,796,798,800,802,804,806],{"class":147,"line":148},[145,793,462],{"class":461},[145,795,466],{"class":465},[145,797,470],{"class":469},[145,799,473],{"class":465},[145,801,476],{"class":461},[145,803,479],{"class":465},[145,805,482],{"class":155},[145,807,485],{"class":465},[145,809,810,812,814,816,818,820,822,824,826,828],{"class":147,"line":488},[145,811,462],{"class":461},[145,813,466],{"class":465},[145,815,495],{"class":469},[145,817,562],{"class":465},[145,819,673],{"class":469},[145,821,473],{"class":465},[145,823,476],{"class":461},[145,825,479],{"class":465},[145,827,504],{"class":155},[145,829,485],{"class":465},[145,831,832,834,836,839,841,843,845,847],{"class":147,"line":509},[145,833,462],{"class":461},[145,835,466],{"class":465},[145,837,838],{"class":469}," Permissible",[145,840,473],{"class":465},[145,842,476],{"class":461},[145,844,479],{"class":465},[145,846,525],{"class":155},[145,848,485],{"class":465},[145,850,851],{"class":147,"line":530},[145,852,534],{"emptyLinePlaceholder":533},[145,854,855,857,859,861,864,866,868,870,872,875],{"class":147,"line":537},[145,856,540],{"class":461},[145,858,543],{"class":461},[145,860,547],{"class":546},[145,862,863],{"class":151}," Permission",[145,865,553],{"class":546},[145,867,470],{"class":556},[145,869,559],{"class":469},[145,871,562],{"class":465},[145,873,874],{"class":469}," Permissible) ",[145,876,568],{"class":465},[145,878,879,881,883,885,887,889,891,893,895],{"class":147,"line":571},[145,880,735],{"class":465},[145,882,738],{"class":556},[145,884,741],{"class":469},[145,886,744],{"class":465},[145,888,748],{"class":747},[145,890,751],{"class":465},[145,892,755],{"class":754},[145,894,473],{"class":465},[145,896,760],{"class":469},[145,898,899,901,903,905,907,909],{"class":147,"line":578},[145,900,765],{"class":546},[145,902,768],{"class":747},[145,904,751],{"class":465},[145,906,773],{"class":151},[145,908,776],{"class":465},[145,910,779],{"class":151},[145,912,913],{"class":147,"line":782},[145,914,581],{"class":465},[164,916,917,918,207,920,194,923,926],{},"The mixins already provide ",[142,919,392],{},[142,921,922],{},"guardName",[142,924,925],{},"teamId"," columns. Since the models are yours, you can add any extra column or relation.",[928,929,930],"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 .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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);}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}",{"title":140,"searchDepth":148,"depth":488,"links":932},[933,936,937,938],{"id":132,"depth":488,"text":133,"children":934},[935],{"id":221,"depth":509,"text":222},{"id":347,"depth":488,"text":348},{"id":447,"depth":488,"text":448},{"id":623,"depth":488,"text":624},"Install and configure the package with a single Ace command.","md",{},{"icon":50},{"title":47,"description":939},"VioP6mhUSKbiY-HkN9UuShd7QeGAmNESdi0qBpkieEA",[946,948],{"title":10,"path":43,"stem":44,"description":947,"icon":45,"children":-1},"Associate Lucid models with roles and permissions in AdonisJS v7.",{"title":52,"path":53,"stem":54,"description":949,"icon":55,"children":-1},"Every option available in config\u002Fpermissions.ts.",1793679731153]