[{"data":1,"prerenderedAt":1289},["ShallowReactive",2],{"navigation":3,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fconfiguration":124,"\u002Fpackages\u002Fadonisjs-permission\u002Fgetting-started\u002Fconfiguration-surround":1284},[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":52,"body":126,"description":1278,"extension":1279,"meta":1280,"navigation":1281,"path":53,"seo":1282,"stem":54,"__hash__":1283},"docs\u002F2.packages\u002Fadonisjs-permission\u002F1.getting-started\u002F3.configuration.md",{"type":127,"value":128,"toc":1272},"minimark",[129,142,511,516,744,749,959,970,974,998,1001,1243,1268],[130,131,132,133,137,138,141],"p",{},"The configuration lives in ",[134,135,136],"code",{},"config\u002Fpermissions.ts"," and is created with ",[134,139,140],{},"defineConfig",":",[143,144,149],"pre",{"className":145,"code":146,"filename":136,"language":147,"meta":148,"style":148},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { defineConfig } from '@eienjs\u002Fadonisjs-permission'\n\nexport default defineConfig({\n  models: {\n    role: () => import('#models\u002Frole'),\n    permission: () => import('#models\u002Fpermission'),\n  },\n  morphMap: {\n    user: () => import('#models\u002Fuser'),\n  },\n  defaultGuard: 'web',\n  teams: false,\n  enableWildcardPermission: false,\n  superAdmin: { enabled: false, role: 'Super-Admin' },\n  events: { enabled: false },\n  cache: { enabled: true, key: 'adonisjs_permission_cache', ttl: '24h' },\n  catalog: { permissions: [], roles: {} },\n})\n","ts","",[134,150,151,184,191,209,221,255,282,288,298,325,330,347,361,373,407,425,472,502],{"__ignoreMap":148},[152,153,156,160,164,168,171,174,177,181],"span",{"class":154,"line":155},"line",1,[152,157,159],{"class":158},"s7zQu","import",[152,161,163],{"class":162},"sMK4o"," {",[152,165,167],{"class":166},"sTEyZ"," defineConfig",[152,169,170],{"class":162}," }",[152,172,173],{"class":158}," from",[152,175,176],{"class":162}," '",[152,178,180],{"class":179},"sfazB","@eienjs\u002Fadonisjs-permission",[152,182,183],{"class":162},"'\n",[152,185,187],{"class":154,"line":186},2,[152,188,190],{"emptyLinePlaceholder":189},true,"\n",[152,192,194,197,200,203,206],{"class":154,"line":193},3,[152,195,196],{"class":158},"export",[152,198,199],{"class":158}," default",[152,201,167],{"class":202},"s2Zo4",[152,204,205],{"class":166},"(",[152,207,208],{"class":162},"{\n",[152,210,212,216,218],{"class":154,"line":211},4,[152,213,215],{"class":214},"swJcz","  models",[152,217,141],{"class":162},[152,219,220],{"class":162}," {\n",[152,222,224,227,229,232,236,239,241,244,247,249,252],{"class":154,"line":223},5,[152,225,226],{"class":202},"    role",[152,228,141],{"class":162},[152,230,231],{"class":162}," ()",[152,233,235],{"class":234},"spNyl"," =>",[152,237,238],{"class":162}," import",[152,240,205],{"class":166},[152,242,243],{"class":162},"'",[152,245,246],{"class":179},"#models\u002Frole",[152,248,243],{"class":162},[152,250,251],{"class":166},")",[152,253,254],{"class":162},",\n",[152,256,258,261,263,265,267,269,271,273,276,278,280],{"class":154,"line":257},6,[152,259,260],{"class":202},"    permission",[152,262,141],{"class":162},[152,264,231],{"class":162},[152,266,235],{"class":234},[152,268,238],{"class":162},[152,270,205],{"class":166},[152,272,243],{"class":162},[152,274,275],{"class":179},"#models\u002Fpermission",[152,277,243],{"class":162},[152,279,251],{"class":166},[152,281,254],{"class":162},[152,283,285],{"class":154,"line":284},7,[152,286,287],{"class":162},"  },\n",[152,289,291,294,296],{"class":154,"line":290},8,[152,292,293],{"class":214},"  morphMap",[152,295,141],{"class":162},[152,297,220],{"class":162},[152,299,301,304,306,308,310,312,314,316,319,321,323],{"class":154,"line":300},9,[152,302,303],{"class":202},"    user",[152,305,141],{"class":162},[152,307,231],{"class":162},[152,309,235],{"class":234},[152,311,238],{"class":162},[152,313,205],{"class":166},[152,315,243],{"class":162},[152,317,318],{"class":179},"#models\u002Fuser",[152,320,243],{"class":162},[152,322,251],{"class":166},[152,324,254],{"class":162},[152,326,328],{"class":154,"line":327},10,[152,329,287],{"class":162},[152,331,333,336,338,340,343,345],{"class":154,"line":332},11,[152,334,335],{"class":214},"  defaultGuard",[152,337,141],{"class":162},[152,339,176],{"class":162},[152,341,342],{"class":179},"web",[152,344,243],{"class":162},[152,346,254],{"class":162},[152,348,350,353,355,359],{"class":154,"line":349},12,[152,351,352],{"class":214},"  teams",[152,354,141],{"class":162},[152,356,358],{"class":357},"sfNiH"," false",[152,360,254],{"class":162},[152,362,364,367,369,371],{"class":154,"line":363},13,[152,365,366],{"class":214},"  enableWildcardPermission",[152,368,141],{"class":162},[152,370,358],{"class":357},[152,372,254],{"class":162},[152,374,376,379,381,383,386,388,390,393,396,398,400,402,404],{"class":154,"line":375},14,[152,377,378],{"class":214},"  superAdmin",[152,380,141],{"class":162},[152,382,163],{"class":162},[152,384,385],{"class":214}," enabled",[152,387,141],{"class":162},[152,389,358],{"class":357},[152,391,392],{"class":162},",",[152,394,395],{"class":214}," role",[152,397,141],{"class":162},[152,399,176],{"class":162},[152,401,99],{"class":179},[152,403,243],{"class":162},[152,405,406],{"class":162}," },\n",[152,408,410,413,415,417,419,421,423],{"class":154,"line":409},15,[152,411,412],{"class":214},"  events",[152,414,141],{"class":162},[152,416,163],{"class":162},[152,418,385],{"class":214},[152,420,141],{"class":162},[152,422,358],{"class":357},[152,424,406],{"class":162},[152,426,428,431,433,435,437,439,442,444,447,449,451,454,456,458,461,463,465,468,470],{"class":154,"line":427},16,[152,429,430],{"class":214},"  cache",[152,432,141],{"class":162},[152,434,163],{"class":162},[152,436,385],{"class":214},[152,438,141],{"class":162},[152,440,441],{"class":357}," true",[152,443,392],{"class":162},[152,445,446],{"class":214}," key",[152,448,141],{"class":162},[152,450,176],{"class":162},[152,452,453],{"class":179},"adonisjs_permission_cache",[152,455,243],{"class":162},[152,457,392],{"class":162},[152,459,460],{"class":214}," ttl",[152,462,141],{"class":162},[152,464,176],{"class":162},[152,466,467],{"class":179},"24h",[152,469,243],{"class":162},[152,471,406],{"class":162},[152,473,475,478,480,482,485,487,490,492,495,497,500],{"class":154,"line":474},17,[152,476,477],{"class":214},"  catalog",[152,479,141],{"class":162},[152,481,163],{"class":162},[152,483,484],{"class":214}," permissions",[152,486,141],{"class":162},[152,488,489],{"class":166}," []",[152,491,392],{"class":162},[152,493,494],{"class":214}," roles",[152,496,141],{"class":162},[152,498,499],{"class":162}," {}",[152,501,406],{"class":162},[152,503,505,508],{"class":154,"line":504},18,[152,506,507],{"class":162},"}",[152,509,510],{"class":166},")\n",[512,513,515],"h2",{"id":514},"options","Options",[517,518,519,535],"table",{},[520,521,522],"thead",{},[523,524,525,529,532],"tr",{},[526,527,528],"th",{},"Option",[526,530,531],{},"Default",[526,533,534],{},"Description",[536,537,538,556,575,590,609,624,641,662,676,703,719,732],"tbody",{},[523,539,540,550,553],{},[541,542,543,546,547],"td",{},[134,544,545],{},"models.role"," \u002F ",[134,548,549],{},"models.permission",[541,551,552],{},"required",[541,554,555],{},"Lazy loaders returning your Role and Permission models.",[523,557,558,563,568],{},[541,559,560],{},[134,561,562],{},"morphMap",[541,564,565],{},[134,566,567],{},"{}",[541,569,570,571,574],{},"Alias → model loader. Aliases are stored in ",[134,572,573],{},"model_type"," instead of the table\u002Fclass name.",[523,576,577,582,587],{},[541,578,579],{},[134,580,581],{},"defaultGuard",[541,583,584],{},[134,585,586],{},"'web'",[541,588,589],{},"Guard used when none is given.",[523,591,592,597,602],{},[541,593,594],{},[134,595,596],{},"teams",[541,598,599],{},[134,600,601],{},"false",[541,603,604,605,608],{},"Enables team scoping. See ",[606,607,94],"a",{"href":95},".",[523,610,611,616,621],{},[541,612,613],{},[134,614,615],{},"teamForeignKey",[541,617,618],{},[134,619,620],{},"'team_id'",[541,622,623],{},"Team column name.",[523,625,626,631,635],{},[541,627,628],{},[134,629,630],{},"enableWildcardPermission",[541,632,633],{},[134,634,601],{},[541,636,637,638,608],{},"See ",[606,639,640],{"href":79},"Wildcard permissions",[523,642,643,651,658],{},[541,644,645,546,648],{},[134,646,647],{},"superAdmin.enabled",[134,649,650],{},"superAdmin.role",[541,652,653,546,655],{},[134,654,601],{},[134,656,657],{},"'Super-Admin'",[541,659,637,660,608],{},[606,661,99],{"href":100},[523,663,664,669,673],{},[541,665,666],{},[134,667,668],{},"events.enabled",[541,670,671],{},[134,672,601],{},[541,674,675],{},"Emit events when roles\u002Fpermissions change.",[523,677,678,689,700],{},[541,679,680,546,683,546,686],{},[134,681,682],{},"cache.enabled",[134,684,685],{},"cache.key",[134,687,688],{},"cache.ttl",[541,690,691,546,694,546,697],{},[134,692,693],{},"true",[134,695,696],{},"'adonisjs_permission_cache'",[134,698,699],{},"'24h'",[541,701,702],{},"In-memory permission cache.",[523,704,705,710,713],{},[541,706,707],{},[134,708,709],{},"catalog",[541,711,712],{},"empty",[541,714,715,716,608],{},"Declarative roles and permissions. See ",[606,717,718],{"href":84},"Catalog",[523,720,721,726,729],{},[541,722,723],{},[134,724,725],{},"tableNames",[541,727,728],{},"see below",[541,730,731],{},"Override table names.",[523,733,734,739,741],{},[541,735,736],{},[134,737,738],{},"columnNames",[541,740,728],{},[541,742,743],{},"Override column names.",[745,746,748],"h3",{"id":747},"custom-table-and-column-names","Custom table and column names",[143,750,752],{"className":145,"code":751,"language":147,"meta":148,"style":148},"defineConfig({\n  \u002F\u002F ...\n  tableNames: {\n    roles: 'roles',\n    permissions: 'permissions',\n    roleHasPermissions: 'role_has_permissions',\n    modelHasRoles: 'model_has_roles',\n    modelHasPermissions: 'model_has_permissions',\n  },\n  columnNames: {\n    rolePivotKey: 'role_id',\n    permissionPivotKey: 'permission_id',\n    modelMorphKey: 'model_id',\n    modelMorphType: 'model_type',\n    teamForeignKey: 'team_id',\n  },\n})\n",[134,753,754,762,768,777,793,809,825,841,857,861,870,886,902,918,933,949,953],{"__ignoreMap":148},[152,755,756,758,760],{"class":154,"line":155},[152,757,140],{"class":202},[152,759,205],{"class":166},[152,761,208],{"class":162},[152,763,764],{"class":154,"line":186},[152,765,767],{"class":766},"sHwdD","  \u002F\u002F ...\n",[152,769,770,773,775],{"class":154,"line":193},[152,771,772],{"class":214},"  tableNames",[152,774,141],{"class":162},[152,776,220],{"class":162},[152,778,779,782,784,786,789,791],{"class":154,"line":211},[152,780,781],{"class":214},"    roles",[152,783,141],{"class":162},[152,785,176],{"class":162},[152,787,788],{"class":179},"roles",[152,790,243],{"class":162},[152,792,254],{"class":162},[152,794,795,798,800,802,805,807],{"class":154,"line":223},[152,796,797],{"class":214},"    permissions",[152,799,141],{"class":162},[152,801,176],{"class":162},[152,803,804],{"class":179},"permissions",[152,806,243],{"class":162},[152,808,254],{"class":162},[152,810,811,814,816,818,821,823],{"class":154,"line":257},[152,812,813],{"class":214},"    roleHasPermissions",[152,815,141],{"class":162},[152,817,176],{"class":162},[152,819,820],{"class":179},"role_has_permissions",[152,822,243],{"class":162},[152,824,254],{"class":162},[152,826,827,830,832,834,837,839],{"class":154,"line":284},[152,828,829],{"class":214},"    modelHasRoles",[152,831,141],{"class":162},[152,833,176],{"class":162},[152,835,836],{"class":179},"model_has_roles",[152,838,243],{"class":162},[152,840,254],{"class":162},[152,842,843,846,848,850,853,855],{"class":154,"line":290},[152,844,845],{"class":214},"    modelHasPermissions",[152,847,141],{"class":162},[152,849,176],{"class":162},[152,851,852],{"class":179},"model_has_permissions",[152,854,243],{"class":162},[152,856,254],{"class":162},[152,858,859],{"class":154,"line":300},[152,860,287],{"class":162},[152,862,863,866,868],{"class":154,"line":327},[152,864,865],{"class":214},"  columnNames",[152,867,141],{"class":162},[152,869,220],{"class":162},[152,871,872,875,877,879,882,884],{"class":154,"line":332},[152,873,874],{"class":214},"    rolePivotKey",[152,876,141],{"class":162},[152,878,176],{"class":162},[152,880,881],{"class":179},"role_id",[152,883,243],{"class":162},[152,885,254],{"class":162},[152,887,888,891,893,895,898,900],{"class":154,"line":349},[152,889,890],{"class":214},"    permissionPivotKey",[152,892,141],{"class":162},[152,894,176],{"class":162},[152,896,897],{"class":179},"permission_id",[152,899,243],{"class":162},[152,901,254],{"class":162},[152,903,904,907,909,911,914,916],{"class":154,"line":363},[152,905,906],{"class":214},"    modelMorphKey",[152,908,141],{"class":162},[152,910,176],{"class":162},[152,912,913],{"class":179},"model_id",[152,915,243],{"class":162},[152,917,254],{"class":162},[152,919,920,923,925,927,929,931],{"class":154,"line":375},[152,921,922],{"class":214},"    modelMorphType",[152,924,141],{"class":162},[152,926,176],{"class":162},[152,928,573],{"class":179},[152,930,243],{"class":162},[152,932,254],{"class":162},[152,934,935,938,940,942,945,947],{"class":154,"line":409},[152,936,937],{"class":214},"    teamForeignKey",[152,939,141],{"class":162},[152,941,176],{"class":162},[152,943,944],{"class":179},"team_id",[152,946,243],{"class":162},[152,948,254],{"class":162},[152,950,951],{"class":154,"line":427},[152,952,287],{"class":162},[152,954,955,957],{"class":154,"line":474},[152,956,507],{"class":162},[152,958,510],{"class":166},[960,961,962],"note",{},[130,963,964,965,969],{},"Change table\u002Fcolumn names ",[966,967,968],"strong",{},"before"," running the migrations, and keep your migrations in sync with the config.",[512,971,973],{"id":972},"primary-key-types","Primary key types",[130,975,976,977,980,981,984,985,988,989,980,991,993,994,997],{},"Roles, permissions, models and teams can use ",[134,978,979],{},"increments",", ",[134,982,983],{},"bigIncrements"," or ",[134,986,987],{},"uuid"," primary keys, even mixed in the same app. Polymorphic columns (",[134,990,913],{},[134,992,944],{},") are generated as ",[134,995,996],{},"string"," so they hold any of them.",[130,999,1000],{},"For UUIDs, let the model assign its own key:",[143,1002,1004],{"className":145,"code":1003,"language":147,"meta":148,"style":148},"import { randomUUID } from 'node:crypto'\nimport { compose } from '@adonisjs\u002Fcore\u002Fhelpers'\nimport { BaseModel, beforeCreate, column } from '@adonisjs\u002Flucid\u002Form'\nimport { Roleable } from '@eienjs\u002Fadonisjs-permission'\n\nexport default class Role extends compose(BaseModel, Roleable) {\n  static selfAssignPrimaryKey = true\n\n  @column({ isPrimary: true })\n  declare id: string\n\n  @beforeCreate()\n  static assignUuid(role: Role) {\n    role.id ||= randomUUID()\n  }\n}\n",[134,1005,1006,1026,1046,1076,1095,1099,1127,1141,1145,1169,1182,1186,1196,1217,1233,1238],{"__ignoreMap":148},[152,1007,1008,1010,1012,1015,1017,1019,1021,1024],{"class":154,"line":155},[152,1009,159],{"class":158},[152,1011,163],{"class":162},[152,1013,1014],{"class":166}," randomUUID",[152,1016,170],{"class":162},[152,1018,173],{"class":158},[152,1020,176],{"class":162},[152,1022,1023],{"class":179},"node:crypto",[152,1025,183],{"class":162},[152,1027,1028,1030,1032,1035,1037,1039,1041,1044],{"class":154,"line":186},[152,1029,159],{"class":158},[152,1031,163],{"class":162},[152,1033,1034],{"class":166}," compose",[152,1036,170],{"class":162},[152,1038,173],{"class":158},[152,1040,176],{"class":162},[152,1042,1043],{"class":179},"@adonisjs\u002Fcore\u002Fhelpers",[152,1045,183],{"class":162},[152,1047,1048,1050,1052,1055,1057,1060,1062,1065,1067,1069,1071,1074],{"class":154,"line":193},[152,1049,159],{"class":158},[152,1051,163],{"class":162},[152,1053,1054],{"class":166}," BaseModel",[152,1056,392],{"class":162},[152,1058,1059],{"class":166}," beforeCreate",[152,1061,392],{"class":162},[152,1063,1064],{"class":166}," column",[152,1066,170],{"class":162},[152,1068,173],{"class":158},[152,1070,176],{"class":162},[152,1072,1073],{"class":179},"@adonisjs\u002Flucid\u002Form",[152,1075,183],{"class":162},[152,1077,1078,1080,1082,1085,1087,1089,1091,1093],{"class":154,"line":211},[152,1079,159],{"class":158},[152,1081,163],{"class":162},[152,1083,1084],{"class":166}," Roleable",[152,1086,170],{"class":162},[152,1088,173],{"class":158},[152,1090,176],{"class":162},[152,1092,180],{"class":179},[152,1094,183],{"class":162},[152,1096,1097],{"class":154,"line":223},[152,1098,190],{"emptyLinePlaceholder":189},[152,1100,1101,1103,1105,1108,1112,1115,1117,1120,1122,1125],{"class":154,"line":257},[152,1102,196],{"class":158},[152,1104,199],{"class":158},[152,1106,1107],{"class":234}," class",[152,1109,1111],{"class":1110},"sBMFI"," Role",[152,1113,1114],{"class":234}," extends",[152,1116,1034],{"class":202},[152,1118,1119],{"class":166},"(BaseModel",[152,1121,392],{"class":162},[152,1123,1124],{"class":166}," Roleable) ",[152,1126,208],{"class":162},[152,1128,1129,1132,1135,1138],{"class":154,"line":284},[152,1130,1131],{"class":234},"  static",[152,1133,1134],{"class":214}," selfAssignPrimaryKey",[152,1136,1137],{"class":162}," =",[152,1139,1140],{"class":357}," true\n",[152,1142,1143],{"class":154,"line":290},[152,1144,190],{"emptyLinePlaceholder":189},[152,1146,1147,1150,1153,1155,1158,1161,1163,1165,1167],{"class":154,"line":300},[152,1148,1149],{"class":162},"  @",[152,1151,1152],{"class":202},"column",[152,1154,205],{"class":166},[152,1156,1157],{"class":162},"{",[152,1159,1160],{"class":214}," isPrimary",[152,1162,141],{"class":162},[152,1164,441],{"class":357},[152,1166,170],{"class":162},[152,1168,510],{"class":166},[152,1170,1171,1174,1177,1179],{"class":154,"line":327},[152,1172,1173],{"class":234},"  declare",[152,1175,1176],{"class":214}," id",[152,1178,141],{"class":162},[152,1180,1181],{"class":1110}," string\n",[152,1183,1184],{"class":154,"line":332},[152,1185,190],{"emptyLinePlaceholder":189},[152,1187,1188,1190,1193],{"class":154,"line":349},[152,1189,1149],{"class":162},[152,1191,1192],{"class":202},"beforeCreate",[152,1194,1195],{"class":166},"()\n",[152,1197,1198,1200,1203,1205,1209,1211,1213,1215],{"class":154,"line":363},[152,1199,1131],{"class":234},[152,1201,1202],{"class":214}," assignUuid",[152,1204,205],{"class":162},[152,1206,1208],{"class":1207},"sHdIc","role",[152,1210,141],{"class":162},[152,1212,1111],{"class":1110},[152,1214,251],{"class":162},[152,1216,220],{"class":162},[152,1218,1219,1221,1223,1226,1229,1231],{"class":154,"line":375},[152,1220,226],{"class":166},[152,1222,608],{"class":162},[152,1224,1225],{"class":166},"id",[152,1227,1228],{"class":162}," ||=",[152,1230,1014],{"class":202},[152,1232,1195],{"class":214},[152,1234,1235],{"class":154,"line":409},[152,1236,1237],{"class":162},"  }\n",[152,1239,1240],{"class":154,"line":427},[152,1241,1242],{"class":162},"}\n",[130,1244,1245,1246,1249,1250,1253,1254,1257,1258,1260,1261,1264,1265,608],{},"Then change ",[134,1247,1248],{},"table.increments('id')"," to ",[134,1251,1252],{},"table.uuid('id').primary()"," and the pivot foreign keys to ",[134,1255,1256],{},"table.uuid(...)"," in your migrations. For ",[134,1259,983],{},", consume the value as ",[134,1262,1263],{},"BigInt"," with ",[134,1266,1267],{},"@column({ isPrimary: true, consume: BigInt })",[1269,1270,1271],"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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}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 .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 pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":148,"searchDepth":155,"depth":186,"links":1273},[1274,1277],{"id":514,"depth":186,"text":515,"children":1275},[1276],{"id":747,"depth":193,"text":748},{"id":972,"depth":186,"text":973},"Every option available in config\u002Fpermissions.ts.","md",{},{"icon":55},{"title":52,"description":1278},"663vJNUI5FwzRh6RiaaqQ3SB8gGjNoeb7M4n4713Kjk",[1285,1287],{"title":47,"path":48,"stem":49,"description":1286,"icon":50,"children":-1},"Install and configure the package with a single Ace command.",{"title":63,"path":64,"stem":65,"description":1288,"icon":66,"children":-1},"Create roles and permissions and assign them to models.",1793679731153]