[{"data":1,"prerenderedAt":2739},["ShallowReactive",2],{"navigation":3,"\u002Fgetting-started\u002Fconfiguration":307,"\u002Fgetting-started\u002Fconfiguration-surround":2734},{"3.x":4,"2.x":203},[5,32,61,99,121,147,165],{"title":6,"icon":7,"path":8,"stem":9,"children":10,"page":31},"Getting Started","i-heroicons-star","\u002Fgetting-started","1.getting-started",[11,15,19,23,27],{"title":12,"path":13,"stem":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":16,"path":17,"stem":18},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":20,"path":21,"stem":22},"Quick start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":24,"path":25,"stem":26},"Configuration","\u002Fgetting-started\u002Fconfiguration","1.getting-started\u002F4.configuration",{"title":28,"path":29,"stem":30},"Upgrade guide","\u002Fgetting-started\u002Fupgrade-guide","1.getting-started\u002F5.upgrade-guide",false,{"title":33,"icon":34,"path":35,"stem":36,"children":37,"page":31},"Resources","i-heroicons-document-text","\u002Fresources","2.resources",[38,41,45,49,53,57],{"title":33,"path":39,"stem":40},"\u002Fresources\u002Fresources","2.resources\u002F1.resources",{"title":42,"path":43,"stem":44},"Fields","\u002Fresources\u002Ffields","2.resources\u002F2.fields",{"title":46,"path":47,"stem":48},"Relationships","\u002Fresources\u002Frelations","2.resources\u002F3.relations",{"title":50,"path":51,"stem":52},"Validation","\u002Fresources\u002Fvalidation","2.resources\u002F4.validation",{"title":54,"path":55,"stem":56},"Perimeter","\u002Fresources\u002Fperimeter","2.resources\u002F5.perimeter",{"title":58,"path":59,"stem":60},"Limits","\u002Fresources\u002Flimits","2.resources\u002F6.limits",{"title":62,"icon":63,"path":64,"stem":65,"children":66,"page":31},"Search","i-heroicons-magnifying-glass","\u002Fsearch","3.search",[67,71,75,79,83,87,91,95],{"title":68,"path":69,"stem":70},"Search overview","\u002Fsearch\u002Foverview","3.search\u002F1.overview",{"title":72,"path":73,"stem":74},"Search filters","\u002Fsearch\u002Ffilters","3.search\u002F2.filters",{"title":76,"path":77,"stem":78},"Sorts and selects","\u002Fsearch\u002Fsorts-and-selects","3.search\u002F3.sorts-and-selects",{"title":80,"path":81,"stem":82},"Includes and aggregates","\u002Fsearch\u002Fincludes-and-aggregates","3.search\u002F4.includes-and-aggregates",{"title":84,"path":85,"stem":86},"Scopes and instructions","\u002Fsearch\u002Fscopes-and-instructions","3.search\u002F5.scopes-and-instructions",{"title":88,"path":89,"stem":90},"Text search","\u002Fsearch\u002Ftext-search","3.search\u002F6.text-search",{"title":92,"path":93,"stem":94},"Search engines","\u002Fsearch\u002Fsearch-engines","3.search\u002F7.search-engines",{"title":96,"path":97,"stem":98},"Searching outside HTTP","\u002Fsearch\u002Foutside-http","3.search\u002F8.outside-http",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":31},"Writing","i-heroicons-pencil-square","\u002Fwriting","4.writing",[105,109,113,117],{"title":106,"path":107,"stem":108},"Mutate","\u002Fwriting\u002Fmutate","4.writing\u002F1.mutate",{"title":110,"path":111,"stem":112},"Writing relations","\u002Fwriting\u002Frelations","4.writing\u002F2.relations",{"title":114,"path":115,"stem":116},"Versioned rows","\u002Fwriting\u002Fversioned-rows","4.writing\u002F3.versioned-rows",{"title":118,"path":119,"stem":120},"Deleting and restoring","\u002Fwriting\u002Fdeleting","4.writing\u002F4.deleting",{"title":122,"icon":123,"path":124,"stem":125,"children":126,"page":31},"Actions and Metrics","i-heroicons-bolt","\u002Factions-and-metrics","5.actions-and-metrics",[127,131,135,139,143],{"title":128,"path":129,"stem":130},"Actions","\u002Factions-and-metrics\u002Factions","5.actions-and-metrics\u002F1.actions",{"title":132,"path":133,"stem":134},"Queued Actions","\u002Factions-and-metrics\u002Fqueued-actions","5.actions-and-metrics\u002F2.queued-actions",{"title":136,"path":137,"stem":138},"Confirmation","\u002Factions-and-metrics\u002Fconfirmation","5.actions-and-metrics\u002F3.confirmation",{"title":140,"path":141,"stem":142},"Metrics","\u002Factions-and-metrics\u002Fmetrics","5.actions-and-metrics\u002F4.metrics",{"title":144,"path":145,"stem":146},"Exports","\u002Factions-and-metrics\u002Fexports","5.actions-and-metrics\u002F5.exports",{"title":148,"icon":149,"path":150,"stem":151,"children":152,"page":31},"Authorization","i-heroicons-lock-closed","\u002Fauthorization","6.authorization",[153,157,161],{"title":154,"path":155,"stem":156},"Policies","\u002Fauthorization\u002Fpolicies","6.authorization\u002F1.policies",{"title":158,"path":159,"stem":160},"Gates","\u002Fauthorization\u002Fgates","6.authorization\u002F2.gates",{"title":162,"path":163,"stem":164},"Decision Cache","\u002Fauthorization\u002Fdecision-cache","6.authorization\u002F3.decision-cache",{"title":166,"icon":167,"path":168,"stem":169,"children":170,"page":31},"Digging Deeper","i-heroicons-list-bullet","\u002Fdigging-deeper","7.digging-deeper",[171,175,179,183,187,191,195,199],{"title":172,"path":173,"stem":174},"Details","\u002Fdigging-deeper\u002Fdetails","7.digging-deeper\u002F1.details",{"title":176,"path":177,"stem":178},"Events and Hooks","\u002Fdigging-deeper\u002Fevents-and-hooks","7.digging-deeper\u002F2.events-and-hooks",{"title":180,"path":181,"stem":182},"Custom Responses","\u002Fdigging-deeper\u002Fresponses","7.digging-deeper\u002F3.responses",{"title":184,"path":185,"stem":186},"OpenAPI Documentation","\u002Fdigging-deeper\u002Fopenapi","7.digging-deeper\u002F4.openapi",{"title":188,"path":189,"stem":190},"Precognition","\u002Fdigging-deeper\u002Fprecognition","7.digging-deeper\u002F5.precognition",{"title":192,"path":193,"stem":194},"Artisan Commands","\u002Fdigging-deeper\u002Fartisan","7.digging-deeper\u002F6.artisan",{"title":196,"path":197,"stem":198},"Laravel Boost Skill","\u002Fdigging-deeper\u002Fai-skill","7.digging-deeper\u002F7.ai-skill",{"title":200,"path":201,"stem":202},"Translations","\u002Fdigging-deeper\u002Ftranslations","7.digging-deeper\u002F8.translations",[204,215,237,260,297],{"title":6,"icon":7,"path":205,"stem":206,"children":207,"page":31},"\u002F2.x\u002Fgetting-started","2.x\u002F1.getting-started",[208,211],{"title":16,"path":209,"stem":210},"\u002F2.x\u002Fgetting-started\u002Finstallation","2.x\u002F1.getting-started\u002F1.installation",{"title":212,"path":213,"stem":214},"Upgrade Guide","\u002F2.x\u002Fgetting-started\u002Fupgrade-guide","2.x\u002F1.getting-started\u002F2.upgrade-guide",{"title":216,"icon":217,"path":218,"stem":219,"children":220,"page":31},"Endpoints","i-heroicons-arrow-uturn-left","\u002F2.x\u002Fendpoints","2.x\u002F2.endpoints",[221,224,227,230,233],{"title":172,"path":222,"stem":223},"\u002F2.x\u002Fendpoints\u002Fdetails","2.x\u002F2.endpoints\u002F1.details",{"title":62,"path":225,"stem":226},"\u002F2.x\u002Fendpoints\u002Fsearch","2.x\u002F2.endpoints\u002F2.search",{"title":106,"path":228,"stem":229},"\u002F2.x\u002Fendpoints\u002Fmutate","2.x\u002F2.endpoints\u002F3.mutate",{"title":128,"path":231,"stem":232},"\u002F2.x\u002Fendpoints\u002Factions","2.x\u002F2.endpoints\u002F4.actions",{"title":234,"path":235,"stem":236},"Delete","\u002F2.x\u002Fendpoints\u002Fdelete","2.x\u002F2.endpoints\u002F5.delete",{"title":33,"icon":34,"path":238,"stem":239,"children":240,"page":31},"\u002F2.x\u002Fresources","2.x\u002F3.resources",[241,245,249,252,256],{"title":242,"path":243,"stem":244},"Basics","\u002F2.x\u002Fresources\u002Fbasics","2.x\u002F3.resources\u002F1.basics",{"title":246,"path":247,"stem":248},"Exposed Data","\u002F2.x\u002Fresources\u002Fexposed-data","2.x\u002F3.resources\u002F2.exposed-data",{"title":46,"path":250,"stem":251},"\u002F2.x\u002Fresources\u002Frelationships","2.x\u002F3.resources\u002F3.relationships",{"title":253,"path":254,"stem":255},"Validations","\u002F2.x\u002Fresources\u002Fvalidations","2.x\u002F3.resources\u002F4.validations",{"title":257,"path":258,"stem":259},"Interactions","\u002F2.x\u002Fresources\u002Finteractions","2.x\u002F3.resources\u002F5.interactions",{"title":166,"icon":167,"path":261,"stem":262,"children":263,"page":31},"\u002F2.x\u002Fdigging-deeper","2.x\u002F4.digging-deeper",[264,267,271,274,278,282,286,290,294],{"title":128,"path":265,"stem":266},"\u002F2.x\u002Fdigging-deeper\u002Factions","2.x\u002F4.digging-deeper\u002F1.actions",{"title":268,"path":269,"stem":270},"Hooks","\u002F2.x\u002Fdigging-deeper\u002Fhooks","2.x\u002F4.digging-deeper\u002F2.hooks",{"title":158,"path":272,"stem":273},"\u002F2.x\u002Fdigging-deeper\u002Fgates","2.x\u002F4.digging-deeper\u002F3.gates",{"title":275,"path":276,"stem":277},"Authorizations","\u002F2.x\u002Fdigging-deeper\u002Fauthorizations","2.x\u002F4.digging-deeper\u002F4.authorizations",{"title":279,"path":280,"stem":281},"Full Text Search","\u002F2.x\u002Fdigging-deeper\u002Ffull-text-search","2.x\u002F4.digging-deeper\u002F5.full-text-search",{"title":283,"path":284,"stem":285},"Instructions","\u002F2.x\u002Fdigging-deeper\u002Finstructions","2.x\u002F4.digging-deeper\u002F6.instructions",{"title":287,"path":288,"stem":289},"Responses","\u002F2.x\u002Fdigging-deeper\u002Fresponses","2.x\u002F4.digging-deeper\u002F7.responses",{"title":291,"path":292,"stem":293},"Documentation","\u002F2.x\u002Fdigging-deeper\u002Fdocumentation","2.x\u002F4.digging-deeper\u002F8.documentation",{"title":188,"path":295,"stem":296},"\u002F2.x\u002Fdigging-deeper\u002Fprecognition","2.x\u002F4.digging-deeper\u002F9.precognition",{"title":298,"icon":299,"path":300,"stem":301,"children":302,"page":31},"Integrations","i-lucide-puzzle","\u002F2.x\u002Fintegrations","2.x\u002F5.integrations",[303],{"title":304,"path":305,"stem":306},"Flutter","\u002F2.x\u002Fintegrations\u002Fflutter","2.x\u002F5.integrations\u002F1.flutter",{"id":308,"title":24,"body":309,"description":2727,"extension":2728,"links":2729,"meta":2730,"navigation":454,"path":25,"seo":2731,"sitemap":2732,"stem":26,"__hash__":2733},"docs3x\u002F1.getting-started\u002F4.configuration.md",{"type":310,"value":311,"toc":2711},"minimark",[312,317,326,354,381,392,394,537,647,657,664,708,726,728,909,973,995,998,1039,1078,1085,1087,1146,1204,1229,1232,1283,1322,1342,1344,1361,1850,1872,1876,1879,2180,2183,2186,2251,2254,2257,2352,2355,2409,2422,2432,2434,2468,2507,2512,2516,2527,2685,2699,2707],[313,314,316],"h2",{"id":315},"the-configuration-file","The configuration file",[318,319,320,321,325],"p",{},"Publish ",[322,323,324],"code",{},"config\u002Frest.php"," to change a default:",[327,328,333],"pre",{"className":329,"code":330,"language":331,"meta":332,"style":332},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan vendor:publish --tag=rest-config\n","bash","",[322,334,335],{"__ignoreMap":332},[336,337,340,344,348,351],"span",{"class":338,"line":339},"line",1,[336,341,343],{"class":342},"sBMFI","php",[336,345,347],{"class":346},"sfazB"," artisan",[336,349,350],{"class":346}," vendor:publish",[336,352,353],{"class":346}," --tag=rest-config\n",[318,355,356,357,360,361,360,364,360,367,360,370,360,373,376,377,380],{},"The file has seven blocks, in this order: ",[322,358,359],{},"authorizations",", ",[322,362,363],{},"gates",[322,365,366],{},"morph",[322,368,369],{},"search",[322,371,372],{},"transactions",[322,374,375],{},"limits"," and ",[322,378,379],{},"precognition",".",[318,382,383,384,387,388,391],{},"The package merges its defaults into your file at every level. A nested key that your file leaves out, such as ",[322,385,386],{},"gates.names.authorized_to_restore"," or ",[322,389,390],{},"limits.sizes.filters",", keeps its default value. You can keep only the keys you change.",[313,393,275],{"id":359},[327,395,398],{"className":396,"code":397,"language":343,"meta":332,"style":332},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","'authorizations' => [\n    'strict' => env('REST_AUTHORIZATIONS_STRICT', false),\n\n    'cache' => [\n        'enabled' => env('REST_AUTHORIZATIONS_CACHE_ENABLED', true),\n        'store' => env('REST_AUTHORIZATIONS_CACHE_STORE'),\n    ],\n],\n",[322,399,400,416,449,456,470,499,525,531],{"__ignoreMap":332},[336,401,402,406,408,410,413],{"class":338,"line":339},[336,403,405],{"class":404},"sMK4o","'",[336,407,359],{"class":346},[336,409,405],{"class":404},[336,411,412],{"class":404}," =>",[336,414,415],{"class":404}," [\n",[336,417,419,422,425,427,429,433,436,438,441,443,446],{"class":338,"line":418},2,[336,420,421],{"class":404},"    '",[336,423,424],{"class":346},"strict",[336,426,405],{"class":404},[336,428,412],{"class":404},[336,430,432],{"class":431},"s2Zo4"," env",[336,434,435],{"class":404},"(",[336,437,405],{"class":404},[336,439,440],{"class":346},"REST_AUTHORIZATIONS_STRICT",[336,442,405],{"class":404},[336,444,445],{"class":404},",",[336,447,448],{"class":404}," false),\n",[336,450,452],{"class":338,"line":451},3,[336,453,455],{"emptyLinePlaceholder":454},true,"\n",[336,457,459,461,464,466,468],{"class":338,"line":458},4,[336,460,421],{"class":404},[336,462,463],{"class":346},"cache",[336,465,405],{"class":404},[336,467,412],{"class":404},[336,469,415],{"class":404},[336,471,473,476,479,481,483,485,487,489,492,494,496],{"class":338,"line":472},5,[336,474,475],{"class":404},"        '",[336,477,478],{"class":346},"enabled",[336,480,405],{"class":404},[336,482,412],{"class":404},[336,484,432],{"class":431},[336,486,435],{"class":404},[336,488,405],{"class":404},[336,490,491],{"class":346},"REST_AUTHORIZATIONS_CACHE_ENABLED",[336,493,405],{"class":404},[336,495,445],{"class":404},[336,497,498],{"class":404}," true),\n",[336,500,502,504,507,509,511,513,515,517,520,522],{"class":338,"line":501},6,[336,503,475],{"class":404},[336,505,506],{"class":346},"store",[336,508,405],{"class":404},[336,510,412],{"class":404},[336,512,432],{"class":431},[336,514,435],{"class":404},[336,516,405],{"class":404},[336,518,519],{"class":346},"REST_AUTHORIZATIONS_CACHE_STORE",[336,521,405],{"class":404},[336,523,524],{"class":404},"),\n",[336,526,528],{"class":338,"line":527},7,[336,529,530],{"class":404},"    ],\n",[336,532,534],{"class":338,"line":533},8,[336,535,536],{"class":404},"],\n",[538,539,540,559],"table",{},[541,542,543],"thead",{},[544,545,546,550,553,556],"tr",{},[547,548,549],"th",{},"Key",[547,551,552],{},"Type",[547,554,555],{},"Default",[547,557,558],{},"Effect",[560,561,562,589,619],"tbody",{},[544,563,564,570,573,582],{},[565,566,567],"td",{},[322,568,569],{},"authorizations.strict",[565,571,572],{},"boolean",[565,574,575,578,579,581],{},[322,576,577],{},"false"," (",[322,580,440],{},")",[565,583,584,585,588],{},"Throws ",[322,586,587],{},"Lomkit\\Rest\\Exceptions\\UnplannedCheckException"," when a query makes a policy check that the request did not make before validation. Turn it on in your test suite.",[544,590,591,596,598,605],{},[565,592,593],{},[322,594,595],{},"authorizations.cache.enabled",[565,597,572],{},[565,599,600,578,603,581],{},[322,601,602],{},"true",[322,604,491],{},[565,606,607,608,611,612,615,616,618],{},"Keeps between requests the decisions that a resource declares in ",[322,609,610],{},"authorizationCache()",", and the results of the metrics that declare ",[322,613,614],{},"cacheFor()",". With ",[322,617,577],{},", nothing is kept.",[544,620,621,626,632,638],{},[565,622,623],{},[322,624,625],{},"authorizations.cache.store",[565,627,628,631],{},[322,629,630],{},"null"," or string",[565,633,634,578,636,581],{},[322,635,630],{},[322,637,519],{},[565,639,640,641,643,644,380],{},"The cache store of the kept decisions and metric results. ",[322,642,630],{}," uses the default store. The name must match a store of ",[322,645,646],{},"config\u002Fcache.php",[318,648,649,650,652,653,380],{},"A resource keeps no decision until it declares one in ",[322,651,610],{},", so the cache does nothing in an application that declares none. See ",[654,655,656],"a",{"href":163},"Decision cache",[318,658,659,660,663],{},"To turn strict mode on in your tests, add the variable to ",[322,661,662],{},"phpunit.xml",":",[327,665,669],{"className":666,"code":667,"filename":662,"language":668,"meta":332,"style":332},"language-xml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cenv name=\"REST_AUTHORIZATIONS_STRICT\" value=\"true\"\u002F>\n","xml",[322,670,671],{"__ignoreMap":332},[336,672,673,676,680,684,687,690,692,694,697,699,701,703,705],{"class":338,"line":339},[336,674,675],{"class":404},"\u003C",[336,677,679],{"class":678},"swJcz","env",[336,681,683],{"class":682},"spNyl"," name",[336,685,686],{"class":404},"=",[336,688,689],{"class":404},"\"",[336,691,440],{"class":346},[336,693,689],{"class":404},[336,695,696],{"class":682}," value",[336,698,686],{"class":404},[336,700,689],{"class":404},[336,702,602],{"class":346},[336,704,689],{"class":404},[336,706,707],{"class":404},"\u002F>\n",[709,710,711],"note",{},[318,712,713,714,387,717,720,721,723,724,380],{},"There is no switch to turn the policies or the gates off. Override ",[322,715,716],{},"isAuthorizingEnabled()",[322,718,719],{},"isGatingEnabled()"," on a resource, or on your base resource for every resource, and return ",[322,722,577],{},". See ",[654,725,154],{"href":155},[313,727,158],{"id":363},[327,729,731],{"className":396,"code":730,"language":343,"meta":332,"style":332},"'gates' => [\n    'key' => 'gates',\n\n    'names' => [\n        'authorized_to_view' => 'authorized_to_view',\n        'authorized_to_create' => 'authorized_to_create',\n        'authorized_to_update' => 'authorized_to_update',\n        'authorized_to_delete' => 'authorized_to_delete',\n        'authorized_to_restore' => 'authorized_to_restore',\n        'authorized_to_force_delete' => 'authorized_to_force_delete',\n    ],\n],\n",[322,732,733,745,766,770,783,802,821,840,859,879,899,904],{"__ignoreMap":332},[336,734,735,737,739,741,743],{"class":338,"line":339},[336,736,405],{"class":404},[336,738,363],{"class":346},[336,740,405],{"class":404},[336,742,412],{"class":404},[336,744,415],{"class":404},[336,746,747,749,752,754,756,759,761,763],{"class":338,"line":418},[336,748,421],{"class":404},[336,750,751],{"class":346},"key",[336,753,405],{"class":404},[336,755,412],{"class":404},[336,757,758],{"class":404}," '",[336,760,363],{"class":346},[336,762,405],{"class":404},[336,764,765],{"class":404},",\n",[336,767,768],{"class":338,"line":451},[336,769,455],{"emptyLinePlaceholder":454},[336,771,772,774,777,779,781],{"class":338,"line":458},[336,773,421],{"class":404},[336,775,776],{"class":346},"names",[336,778,405],{"class":404},[336,780,412],{"class":404},[336,782,415],{"class":404},[336,784,785,787,790,792,794,796,798,800],{"class":338,"line":472},[336,786,475],{"class":404},[336,788,789],{"class":346},"authorized_to_view",[336,791,405],{"class":404},[336,793,412],{"class":404},[336,795,758],{"class":404},[336,797,789],{"class":346},[336,799,405],{"class":404},[336,801,765],{"class":404},[336,803,804,806,809,811,813,815,817,819],{"class":338,"line":501},[336,805,475],{"class":404},[336,807,808],{"class":346},"authorized_to_create",[336,810,405],{"class":404},[336,812,412],{"class":404},[336,814,758],{"class":404},[336,816,808],{"class":346},[336,818,405],{"class":404},[336,820,765],{"class":404},[336,822,823,825,828,830,832,834,836,838],{"class":338,"line":527},[336,824,475],{"class":404},[336,826,827],{"class":346},"authorized_to_update",[336,829,405],{"class":404},[336,831,412],{"class":404},[336,833,758],{"class":404},[336,835,827],{"class":346},[336,837,405],{"class":404},[336,839,765],{"class":404},[336,841,842,844,847,849,851,853,855,857],{"class":338,"line":533},[336,843,475],{"class":404},[336,845,846],{"class":346},"authorized_to_delete",[336,848,405],{"class":404},[336,850,412],{"class":404},[336,852,758],{"class":404},[336,854,846],{"class":346},[336,856,405],{"class":404},[336,858,765],{"class":404},[336,860,862,864,867,869,871,873,875,877],{"class":338,"line":861},9,[336,863,475],{"class":404},[336,865,866],{"class":346},"authorized_to_restore",[336,868,405],{"class":404},[336,870,412],{"class":404},[336,872,758],{"class":404},[336,874,866],{"class":346},[336,876,405],{"class":404},[336,878,765],{"class":404},[336,880,882,884,887,889,891,893,895,897],{"class":338,"line":881},10,[336,883,475],{"class":404},[336,885,886],{"class":346},"authorized_to_force_delete",[336,888,405],{"class":404},[336,890,412],{"class":404},[336,892,758],{"class":404},[336,894,886],{"class":346},[336,896,405],{"class":404},[336,898,765],{"class":404},[336,900,902],{"class":338,"line":901},11,[336,903,530],{"class":404},[336,905,907],{"class":338,"line":906},12,[336,908,536],{"class":404},[538,910,911,923],{},[541,912,913],{},[544,914,915,917,919,921],{},[547,916,549],{},[547,918,552],{},[547,920,555],{},[547,922,558],{},[560,924,925,953],{},[544,926,927,932,935,939],{},[565,928,929],{},[322,930,931],{},"gates.key",[565,933,934],{},"non-empty string",[565,936,937],{},[322,938,363],{},[565,940,941,942,944,945,948,949,952],{},"The key of each row that holds the answers to the ",[322,943,363],{}," of a search. The ",[322,946,947],{},"create"," answer goes under this key in the ",[322,950,951],{},"meta"," of the page. A resource cannot declare a field with this name.",[544,954,955,960,963,966],{},[565,956,957],{},[322,958,959],{},"gates.names",[565,961,962],{},"map of strings",[565,964,965],{},"the six names above",[565,967,968,969,972],{},"Renames the answers. Each key is the default name of an answer, ",[322,970,971],{},"authorized_to_"," and the ability in snake case. The six built-in names are required.",[318,974,975,976,978,979,982,983,986,987,376,990,723,993,380],{},"Add a key to ",[322,977,959],{}," to rename a gate that a resource declares in ",[322,980,981],{},"gates()",", by its default name: ",[322,984,985],{},"'authorized_to_download' => 'can_download'",". Each answer holds ",[322,988,989],{},"allowed",[322,991,992],{},"message",[654,994,158],{"href":159},[313,996,997],{"id":366},"Morph",[327,999,1001],{"className":396,"code":1000,"language":343,"meta":332,"style":332},"'morph' => [\n    'type_key' => '@type',\n],\n",[322,1002,1003,1015,1035],{"__ignoreMap":332},[336,1004,1005,1007,1009,1011,1013],{"class":338,"line":339},[336,1006,405],{"class":404},[336,1008,366],{"class":346},[336,1010,405],{"class":404},[336,1012,412],{"class":404},[336,1014,415],{"class":404},[336,1016,1017,1019,1022,1024,1026,1028,1031,1033],{"class":338,"line":418},[336,1018,421],{"class":404},[336,1020,1021],{"class":346},"type_key",[336,1023,405],{"class":404},[336,1025,412],{"class":404},[336,1027,758],{"class":404},[336,1029,1030],{"class":346},"@type",[336,1032,405],{"class":404},[336,1034,765],{"class":404},[336,1036,1037],{"class":338,"line":451},[336,1038,536],{"class":404},[538,1040,1041,1053],{},[541,1042,1043],{},[544,1044,1045,1047,1049,1051],{},[547,1046,549],{},[547,1048,552],{},[547,1050,555],{},[547,1052,558],{},[560,1054,1055],{},[544,1056,1057,1062,1064,1068],{},[565,1058,1059],{},[322,1060,1061],{},"morph.type_key",[565,1063,934],{},[565,1065,1066],{},[322,1067,1030],{},[565,1069,1070,1071,1074,1075,1077],{},"The key that holds the morph type of each row that a ",[322,1072,1073],{},"MorphTo"," include returns, before its other keys. A resource that a ",[322,1076,1073],{}," relation can load cannot declare a field with this name.",[318,1079,1080,1081,380],{},"See ",[654,1082,1084],{"href":1083},"\u002Fresources\u002Frelations#morph-to","Relations",[313,1086,62],{"id":369},[327,1088,1090],{"className":396,"code":1089,"language":343,"meta":332,"style":332},"'search' => [\n    'select_columns' => true,\n\n    'more_key' => '@more',\n],\n",[322,1091,1092,1104,1118,1122,1142],{"__ignoreMap":332},[336,1093,1094,1096,1098,1100,1102],{"class":338,"line":339},[336,1095,405],{"class":404},[336,1097,369],{"class":346},[336,1099,405],{"class":404},[336,1101,412],{"class":404},[336,1103,415],{"class":404},[336,1105,1106,1108,1111,1113,1115],{"class":338,"line":418},[336,1107,421],{"class":404},[336,1109,1110],{"class":346},"select_columns",[336,1112,405],{"class":404},[336,1114,412],{"class":404},[336,1116,1117],{"class":404}," true,\n",[336,1119,1120],{"class":338,"line":451},[336,1121,455],{"emptyLinePlaceholder":454},[336,1123,1124,1126,1129,1131,1133,1135,1138,1140],{"class":338,"line":458},[336,1125,421],{"class":404},[336,1127,1128],{"class":346},"more_key",[336,1130,405],{"class":404},[336,1132,412],{"class":404},[336,1134,758],{"class":404},[336,1136,1137],{"class":346},"@more",[336,1139,405],{"class":404},[336,1141,765],{"class":404},[336,1143,1144],{"class":338,"line":472},[336,1145,536],{"class":404},[538,1147,1148,1160],{},[541,1149,1150],{},[544,1151,1152,1154,1156,1158],{},[547,1153,549],{},[547,1155,552],{},[547,1157,555],{},[547,1159,558],{},[560,1161,1162,1188],{},[544,1163,1164,1169,1171,1175],{},[565,1165,1166],{},[322,1167,1168],{},"search.select_columns",[565,1170,572],{},[565,1172,1173],{},[322,1174,602],{},[565,1176,1177,1178,1181,1182,615,1185,1187],{},"A search loads only the columns that its rows need: the returned fields, the keys of its includes, the columns of ",[322,1179,1180],{},"alwaysSelect()"," and of each field's ",[322,1183,1184],{},"requires()",[322,1186,577],{},", every query loads every column.",[544,1189,1190,1195,1197,1201],{},[565,1191,1192],{},[322,1193,1194],{},"search.more_key",[565,1196,934],{},[565,1198,1199],{},[322,1200,1137],{},[565,1202,1203],{},"The key of each row that lists the to-many includes holding more rows than they returned. A resource cannot declare a field with this name.",[318,1205,1206,1207,1210,1211,1214,1215,1217,1218,1220,1221,1223,1224,723,1226,380],{},"When a policy, an accessor or the ",[322,1208,1209],{},"map()"," of a custom response reads a column that the search did not load, the search throws ",[322,1212,1213],{},"Lomkit\\Rest\\Exceptions\\MissingColumnException",". Add the column to the resource's ",[322,1216,1180],{}," or to the field's ",[322,1219,1184],{},", or set ",[322,1222,1110],{}," to ",[322,1225,577],{},[654,1227,42],{"href":1228},"\u002Fresources\u002Ffields#columns-a-search-loads",[313,1230,1231],{"id":372},"Transactions",[327,1233,1235],{"className":396,"code":1234,"language":343,"meta":332,"style":332},"'transactions' => [\n    'attempts' => env('REST_TRANSACTION_ATTEMPTS', 1),\n],\n",[322,1236,1237,1249,1279],{"__ignoreMap":332},[336,1238,1239,1241,1243,1245,1247],{"class":338,"line":339},[336,1240,405],{"class":404},[336,1242,372],{"class":346},[336,1244,405],{"class":404},[336,1246,412],{"class":404},[336,1248,415],{"class":404},[336,1250,1251,1253,1256,1258,1260,1262,1264,1266,1269,1271,1273,1277],{"class":338,"line":418},[336,1252,421],{"class":404},[336,1254,1255],{"class":346},"attempts",[336,1257,405],{"class":404},[336,1259,412],{"class":404},[336,1261,432],{"class":431},[336,1263,435],{"class":404},[336,1265,405],{"class":404},[336,1267,1268],{"class":346},"REST_TRANSACTION_ATTEMPTS",[336,1270,405],{"class":404},[336,1272,445],{"class":404},[336,1274,1276],{"class":1275},"sbssI"," 1",[336,1278,524],{"class":404},[336,1280,1281],{"class":338,"line":451},[336,1282,536],{"class":404},[538,1284,1285,1297],{},[541,1286,1287],{},[544,1288,1289,1291,1293,1295],{},[547,1290,549],{},[547,1292,552],{},[547,1294,555],{},[547,1296,558],{},[560,1298,1299],{},[544,1300,1301,1306,1309,1316],{},[565,1302,1303],{},[322,1304,1305],{},"transactions.attempts",[565,1307,1308],{},"integer of 1 or more",[565,1310,1311,578,1314,581],{},[322,1312,1313],{},"1",[322,1315,1268],{},[565,1317,1318,1319,1321],{},"How many times a transaction of the package runs when the database reports a deadlock or a lock timeout. ",[322,1320,1313],{}," runs it once.",[318,1323,1324,1325,1328,1329,1328,1332,1335,1336,1339,1340,380],{},"Each write runs in a transaction: a mutation, a ",[322,1326,1327],{},"destroy",", a ",[322,1330,1331],{},"restore",[322,1333,1334],{},"forceDestroy",", and each chunk or whole run of an action. Each attempt runs the whole write again, with its checks, its hooks, its events and the ",[322,1337,1338],{},"handle()"," method of the action. A transaction inside a transaction of your application is not run again. See ",[654,1341,106],{"href":107},[313,1343,58],{"id":375},[318,1345,1346,1347,1349,1350,1353,1354,1357,1358,1360],{},"The ",[322,1348,375],{}," block bounds the size of a request and of what it makes the package do. A request over a limit gets a ",[322,1351,1352],{},"422"," on the list or the value that goes over it. A limit of ",[322,1355,1356],{},"0"," refuses every entry, or the first level of a depth. See ",[654,1359,58],{"href":59}," for the messages and the rules of each key.",[327,1362,1364],{"className":396,"code":1363,"language":343,"meta":332,"style":332},"'limits' => [\n    'sizes' => [\n        'filters' => 100,\n        'sorts' => 20,\n        'selects' => 100,\n        'scopes' => 10,\n        'aggregates' => 20,\n        'includes' => 20,\n        'instructions' => 10,\n        'fields' => 100,\n        'values' => 100,\n        'mutate' => 100,\n        'relation_entries' => 100,\n        'resources' => 1000,\n        'jobs' => 100,\n        'rows' => 10000,\n        'groups' => 100,\n    ],\n\n    'depths' => [\n        'filters' => 1,\n        'includes' => 3,\n        'mutations' => 3,\n    ],\n\n    'totals' => [\n        'filters' => 500,\n        'entries' => 1000,\n        'relations' => 20,\n        'patterns' => 10,\n    ],\n\n    'lengths' => [\n        'patterns' => 255,\n        'values' => 1000,\n    ],\n],\n",[322,1365,1366,1378,1391,1407,1423,1438,1454,1469,1484,1499,1514,1529,1544,1560,1577,1593,1610,1626,1631,1636,1650,1665,1681,1697,1702,1707,1721,1737,1753,1769,1785,1790,1795,1809,1825,1840,1845],{"__ignoreMap":332},[336,1367,1368,1370,1372,1374,1376],{"class":338,"line":339},[336,1369,405],{"class":404},[336,1371,375],{"class":346},[336,1373,405],{"class":404},[336,1375,412],{"class":404},[336,1377,415],{"class":404},[336,1379,1380,1382,1385,1387,1389],{"class":338,"line":418},[336,1381,421],{"class":404},[336,1383,1384],{"class":346},"sizes",[336,1386,405],{"class":404},[336,1388,412],{"class":404},[336,1390,415],{"class":404},[336,1392,1393,1395,1398,1400,1402,1405],{"class":338,"line":451},[336,1394,475],{"class":404},[336,1396,1397],{"class":346},"filters",[336,1399,405],{"class":404},[336,1401,412],{"class":404},[336,1403,1404],{"class":1275}," 100",[336,1406,765],{"class":404},[336,1408,1409,1411,1414,1416,1418,1421],{"class":338,"line":458},[336,1410,475],{"class":404},[336,1412,1413],{"class":346},"sorts",[336,1415,405],{"class":404},[336,1417,412],{"class":404},[336,1419,1420],{"class":1275}," 20",[336,1422,765],{"class":404},[336,1424,1425,1427,1430,1432,1434,1436],{"class":338,"line":472},[336,1426,475],{"class":404},[336,1428,1429],{"class":346},"selects",[336,1431,405],{"class":404},[336,1433,412],{"class":404},[336,1435,1404],{"class":1275},[336,1437,765],{"class":404},[336,1439,1440,1442,1445,1447,1449,1452],{"class":338,"line":501},[336,1441,475],{"class":404},[336,1443,1444],{"class":346},"scopes",[336,1446,405],{"class":404},[336,1448,412],{"class":404},[336,1450,1451],{"class":1275}," 10",[336,1453,765],{"class":404},[336,1455,1456,1458,1461,1463,1465,1467],{"class":338,"line":527},[336,1457,475],{"class":404},[336,1459,1460],{"class":346},"aggregates",[336,1462,405],{"class":404},[336,1464,412],{"class":404},[336,1466,1420],{"class":1275},[336,1468,765],{"class":404},[336,1470,1471,1473,1476,1478,1480,1482],{"class":338,"line":533},[336,1472,475],{"class":404},[336,1474,1475],{"class":346},"includes",[336,1477,405],{"class":404},[336,1479,412],{"class":404},[336,1481,1420],{"class":1275},[336,1483,765],{"class":404},[336,1485,1486,1488,1491,1493,1495,1497],{"class":338,"line":861},[336,1487,475],{"class":404},[336,1489,1490],{"class":346},"instructions",[336,1492,405],{"class":404},[336,1494,412],{"class":404},[336,1496,1451],{"class":1275},[336,1498,765],{"class":404},[336,1500,1501,1503,1506,1508,1510,1512],{"class":338,"line":881},[336,1502,475],{"class":404},[336,1504,1505],{"class":346},"fields",[336,1507,405],{"class":404},[336,1509,412],{"class":404},[336,1511,1404],{"class":1275},[336,1513,765],{"class":404},[336,1515,1516,1518,1521,1523,1525,1527],{"class":338,"line":901},[336,1517,475],{"class":404},[336,1519,1520],{"class":346},"values",[336,1522,405],{"class":404},[336,1524,412],{"class":404},[336,1526,1404],{"class":1275},[336,1528,765],{"class":404},[336,1530,1531,1533,1536,1538,1540,1542],{"class":338,"line":906},[336,1532,475],{"class":404},[336,1534,1535],{"class":346},"mutate",[336,1537,405],{"class":404},[336,1539,412],{"class":404},[336,1541,1404],{"class":1275},[336,1543,765],{"class":404},[336,1545,1547,1549,1552,1554,1556,1558],{"class":338,"line":1546},13,[336,1548,475],{"class":404},[336,1550,1551],{"class":346},"relation_entries",[336,1553,405],{"class":404},[336,1555,412],{"class":404},[336,1557,1404],{"class":1275},[336,1559,765],{"class":404},[336,1561,1563,1565,1568,1570,1572,1575],{"class":338,"line":1562},14,[336,1564,475],{"class":404},[336,1566,1567],{"class":346},"resources",[336,1569,405],{"class":404},[336,1571,412],{"class":404},[336,1573,1574],{"class":1275}," 1000",[336,1576,765],{"class":404},[336,1578,1580,1582,1585,1587,1589,1591],{"class":338,"line":1579},15,[336,1581,475],{"class":404},[336,1583,1584],{"class":346},"jobs",[336,1586,405],{"class":404},[336,1588,412],{"class":404},[336,1590,1404],{"class":1275},[336,1592,765],{"class":404},[336,1594,1596,1598,1601,1603,1605,1608],{"class":338,"line":1595},16,[336,1597,475],{"class":404},[336,1599,1600],{"class":346},"rows",[336,1602,405],{"class":404},[336,1604,412],{"class":404},[336,1606,1607],{"class":1275}," 10000",[336,1609,765],{"class":404},[336,1611,1613,1615,1618,1620,1622,1624],{"class":338,"line":1612},17,[336,1614,475],{"class":404},[336,1616,1617],{"class":346},"groups",[336,1619,405],{"class":404},[336,1621,412],{"class":404},[336,1623,1404],{"class":1275},[336,1625,765],{"class":404},[336,1627,1629],{"class":338,"line":1628},18,[336,1630,530],{"class":404},[336,1632,1634],{"class":338,"line":1633},19,[336,1635,455],{"emptyLinePlaceholder":454},[336,1637,1639,1641,1644,1646,1648],{"class":338,"line":1638},20,[336,1640,421],{"class":404},[336,1642,1643],{"class":346},"depths",[336,1645,405],{"class":404},[336,1647,412],{"class":404},[336,1649,415],{"class":404},[336,1651,1653,1655,1657,1659,1661,1663],{"class":338,"line":1652},21,[336,1654,475],{"class":404},[336,1656,1397],{"class":346},[336,1658,405],{"class":404},[336,1660,412],{"class":404},[336,1662,1276],{"class":1275},[336,1664,765],{"class":404},[336,1666,1668,1670,1672,1674,1676,1679],{"class":338,"line":1667},22,[336,1669,475],{"class":404},[336,1671,1475],{"class":346},[336,1673,405],{"class":404},[336,1675,412],{"class":404},[336,1677,1678],{"class":1275}," 3",[336,1680,765],{"class":404},[336,1682,1684,1686,1689,1691,1693,1695],{"class":338,"line":1683},23,[336,1685,475],{"class":404},[336,1687,1688],{"class":346},"mutations",[336,1690,405],{"class":404},[336,1692,412],{"class":404},[336,1694,1678],{"class":1275},[336,1696,765],{"class":404},[336,1698,1700],{"class":338,"line":1699},24,[336,1701,530],{"class":404},[336,1703,1705],{"class":338,"line":1704},25,[336,1706,455],{"emptyLinePlaceholder":454},[336,1708,1710,1712,1715,1717,1719],{"class":338,"line":1709},26,[336,1711,421],{"class":404},[336,1713,1714],{"class":346},"totals",[336,1716,405],{"class":404},[336,1718,412],{"class":404},[336,1720,415],{"class":404},[336,1722,1724,1726,1728,1730,1732,1735],{"class":338,"line":1723},27,[336,1725,475],{"class":404},[336,1727,1397],{"class":346},[336,1729,405],{"class":404},[336,1731,412],{"class":404},[336,1733,1734],{"class":1275}," 500",[336,1736,765],{"class":404},[336,1738,1740,1742,1745,1747,1749,1751],{"class":338,"line":1739},28,[336,1741,475],{"class":404},[336,1743,1744],{"class":346},"entries",[336,1746,405],{"class":404},[336,1748,412],{"class":404},[336,1750,1574],{"class":1275},[336,1752,765],{"class":404},[336,1754,1756,1758,1761,1763,1765,1767],{"class":338,"line":1755},29,[336,1757,475],{"class":404},[336,1759,1760],{"class":346},"relations",[336,1762,405],{"class":404},[336,1764,412],{"class":404},[336,1766,1420],{"class":1275},[336,1768,765],{"class":404},[336,1770,1772,1774,1777,1779,1781,1783],{"class":338,"line":1771},30,[336,1773,475],{"class":404},[336,1775,1776],{"class":346},"patterns",[336,1778,405],{"class":404},[336,1780,412],{"class":404},[336,1782,1451],{"class":1275},[336,1784,765],{"class":404},[336,1786,1788],{"class":338,"line":1787},31,[336,1789,530],{"class":404},[336,1791,1793],{"class":338,"line":1792},32,[336,1794,455],{"emptyLinePlaceholder":454},[336,1796,1798,1800,1803,1805,1807],{"class":338,"line":1797},33,[336,1799,421],{"class":404},[336,1801,1802],{"class":346},"lengths",[336,1804,405],{"class":404},[336,1806,412],{"class":404},[336,1808,415],{"class":404},[336,1810,1812,1814,1816,1818,1820,1823],{"class":338,"line":1811},34,[336,1813,475],{"class":404},[336,1815,1776],{"class":346},[336,1817,405],{"class":404},[336,1819,412],{"class":404},[336,1821,1822],{"class":1275}," 255",[336,1824,765],{"class":404},[336,1826,1828,1830,1832,1834,1836,1838],{"class":338,"line":1827},35,[336,1829,475],{"class":404},[336,1831,1520],{"class":346},[336,1833,405],{"class":404},[336,1835,412],{"class":404},[336,1837,1574],{"class":1275},[336,1839,765],{"class":404},[336,1841,1843],{"class":338,"line":1842},36,[336,1844,530],{"class":404},[336,1846,1848],{"class":338,"line":1847},37,[336,1849,536],{"class":404},[318,1851,1852,1853,360,1856,360,1859,360,1862,360,1865,376,1868,1871],{},"Each value is an integer of 0 or more. ",[322,1854,1855],{},"sizes.jobs",[322,1857,1858],{},"sizes.rows",[322,1860,1861],{},"sizes.groups",[322,1863,1864],{},"totals.relations",[322,1866,1867],{},"totals.patterns",[322,1869,1870],{},"lengths.values"," must be at least 1.",[1873,1874,1875],"h3",{"id":1384},"Sizes",[318,1877,1878],{},"The most entries of each list, at every level of a request, then three bounds on the work of one request: the jobs of a queued action, the rows of a response, and the groups of a metric.",[538,1880,1881,1892],{},[541,1882,1883],{},[544,1884,1885,1887,1889],{},[547,1886,549],{},[547,1888,555],{},[547,1890,1891],{},"Covers",[560,1893,1894,1918,1934,1949,1965,1980,1995,2010,2026,2058,2074,2090,2116,2136,2157],{},[544,1895,1896,1900,1905],{},[565,1897,1898],{},[322,1899,390],{},[565,1901,1902],{},[322,1903,1904],{},"100",[565,1906,1907,1910,1911,1914,1915,1917],{},[322,1908,1909],{},"search.filters",", each ",[322,1912,1913],{},"nested"," group, and the ",[322,1916,1397],{}," of includes and aggregates",[544,1919,1920,1925,1930],{},[565,1921,1922],{},[322,1923,1924],{},"limits.sizes.sorts",[565,1926,1927],{},[322,1928,1929],{},"20",[565,1931,1932],{},[322,1933,1413],{},[544,1935,1936,1941,1945],{},[565,1937,1938],{},[322,1939,1940],{},"limits.sizes.selects",[565,1942,1943],{},[322,1944,1904],{},[565,1946,1947],{},[322,1948,1429],{},[544,1950,1951,1956,1961],{},[565,1952,1953],{},[322,1954,1955],{},"limits.sizes.scopes",[565,1957,1958],{},[322,1959,1960],{},"10",[565,1962,1963],{},[322,1964,1444],{},[544,1966,1967,1972,1976],{},[565,1968,1969],{},[322,1970,1971],{},"limits.sizes.aggregates",[565,1973,1974],{},[322,1975,1929],{},[565,1977,1978],{},[322,1979,1460],{},[544,1981,1982,1987,1991],{},[565,1983,1984],{},[322,1985,1986],{},"limits.sizes.includes",[565,1988,1989],{},[322,1990,1929],{},[565,1992,1993],{},[322,1994,1475],{},[544,1996,1997,2002,2006],{},[565,1998,1999],{},[322,2000,2001],{},"limits.sizes.instructions",[565,2003,2004],{},[322,2005,1960],{},[565,2007,2008],{},[322,2009,1490],{},[544,2011,2012,2017,2021],{},[565,2013,2014],{},[322,2015,2016],{},"limits.sizes.fields",[565,2018,2019],{},[322,2020,1904],{},[565,2022,1346,2023,2025],{},[322,2024,1505],{}," of an action and of each instruction",[544,2027,2028,2033,2037],{},[565,2029,2030],{},[322,2031,2032],{},"limits.sizes.values",[565,2034,2035],{},[322,2036,1904],{},[565,2038,2039,2040,360,2043,360,2046,387,2049,2052,2053,2055,2056],{},"The values of an ",[322,2041,2042],{},"in",[322,2044,2045],{},"not in",[322,2047,2048],{},"between",[322,2050,2051],{},"not between"," filter, and the ",[322,2054,751],{}," list of an entry of a to-many relation in ",[322,2057,1535],{},[544,2059,2060,2065,2069],{},[565,2061,2062],{},[322,2063,2064],{},"limits.sizes.mutate",[565,2066,2067],{},[322,2068,1904],{},[565,2070,2071,2072],{},"The entries of ",[322,2073,1535],{},[544,2075,2076,2081,2085],{},[565,2077,2078],{},[322,2079,2080],{},"limits.sizes.relation_entries",[565,2082,2083],{},[322,2084,1904],{},[565,2086,2087,2088],{},"The entries of each to-many relation in ",[322,2089,1535],{},[544,2091,2092,2097,2102],{},[565,2093,2094],{},[322,2095,2096],{},"limits.sizes.resources",[565,2098,2099],{},[322,2100,2101],{},"1000",[565,2103,2104,2105,360,2107,376,2109,2111,2112,2115],{},"The keys of ",[322,2106,1327],{},[322,2108,1331],{},[322,2110,1334],{},". An action uses its ",[322,2113,2114],{},"$maxResources"," property instead.",[544,2117,2118,2123,2127],{},[565,2119,2120],{},[322,2121,2122],{},"limits.sizes.jobs",[565,2124,2125],{},[322,2126,1904],{},[565,2128,2129,2130,2133,2134,380],{},"The jobs that one run of a queued or batched action creates. When its rows need more jobs, each job takes the number of rows divided by this limit, rounded up, instead of ",[322,2131,2132],{},"$chunkCount",". At least ",[322,2135,1313],{},[544,2137,2138,2143,2148],{},[565,2139,2140],{},[322,2141,2142],{},"limits.sizes.rows",[565,2144,2145],{},[322,2146,2147],{},"10000",[565,2149,2150,2151,2154,2155,380],{},"The rows that one search page or the ",[322,2152,2153],{},"response"," block of a mutation can render, included rows counted. It is counted from the limits that the request asks for, before any query. At least ",[322,2156,1313],{},[544,2158,2159,2164,2168],{},[565,2160,2161],{},[322,2162,2163],{},"limits.sizes.groups",[565,2165,2166],{},[322,2167,1904],{},[565,2169,2170,2171,2174,2175,2133,2178,380],{},"The parts of a partition metric and the splits of a trend that sets no ",[322,2172,2173],{},"limit()",". The other groups fold into ",[322,2176,2177],{},"other",[322,2179,1313],{},[1873,2181,2182],{"id":1643},"Depths",[318,2184,2185],{},"How many levels nest.",[538,2187,2188,2198],{},[541,2189,2190],{},[544,2191,2192,2194,2196],{},[547,2193,549],{},[547,2195,555],{},[547,2197,1891],{},[560,2199,2200,2219,2234],{},[544,2201,2202,2207,2211],{},[565,2203,2204],{},[322,2205,2206],{},"limits.depths.filters",[565,2208,2209],{},[322,2210,1313],{},[565,2212,2213,2215,2216,2218],{},[322,2214,1913],{}," filter groups. ",[322,2217,1313],{}," allows one group of filters. A text search run by a search engine never nests filters.",[544,2220,2221,2226,2231],{},[565,2222,2223],{},[322,2224,2225],{},"limits.depths.includes",[565,2227,2228],{},[322,2229,2230],{},"3",[565,2232,2233],{},"Include levels, each relation of a dotted include counting as one level, and the relations of a dotted filter field or aggregate path",[544,2235,2236,2241,2245],{},[565,2237,2238],{},[322,2239,2240],{},"limits.depths.mutations",[565,2242,2243],{},[322,2244,2230],{},[565,2246,2247,2248,2250],{},"Relations nested in a ",[322,2249,1535],{}," entry",[1873,2252,2253],{"id":1714},"Totals",[318,2255,2256],{},"Totals across the lists of one request.",[538,2258,2259,2269],{},[541,2260,2261],{},[544,2262,2263,2265,2267],{},[547,2264,549],{},[547,2266,555],{},[547,2268,1891],{},[560,2270,2271,2286,2308,2324],{},[544,2272,2273,2278,2283],{},[565,2274,2275],{},[322,2276,2277],{},"limits.totals.filters",[565,2279,2280],{},[322,2281,2282],{},"500",[565,2284,2285],{},"The filters of one search, at every level and in its includes and aggregates",[544,2287,2288,2293,2297],{},[565,2289,2290],{},[322,2291,2292],{},"limits.totals.entries",[565,2294,2295],{},[322,2296,2101],{},[565,2298,2299,2300,2302,2303,2305,2306],{},"The entries of every list of ",[322,2301,1384],{}," and of every ",[322,2304,363],{}," list in one request, except ",[322,2307,1567],{},[544,2309,2310,2315,2319],{},[565,2311,2312],{},[322,2313,2314],{},"limits.totals.relations",[565,2316,2317],{},[322,2318,1929],{},[565,2320,2321,2322,380],{},"The relation filters of one search: each filter on a dotted field path and each relation group, at every level and in its includes and aggregates. Each one runs a subquery. At least ",[322,2323,1313],{},[544,2325,2326,2331,2335],{},[565,2327,2328],{},[322,2329,2330],{},"limits.totals.patterns",[565,2332,2333],{},[322,2334,1960],{},[565,2336,1346,2337,360,2340,360,2343,376,2346,2349,2350,380],{},[322,2338,2339],{},"like",[322,2341,2342],{},"not like",[322,2344,2345],{},"ilike",[322,2347,2348],{},"not ilike"," filters of one search, at every level and in its includes and aggregates. At least ",[322,2351,1313],{},[1873,2353,2354],{"id":1802},"Lengths",[538,2356,2357,2367],{},[541,2358,2359],{},[544,2360,2361,2363,2365],{},[547,2362,549],{},[547,2364,555],{},[547,2366,1891],{},[560,2368,2369,2393],{},[544,2370,2371,2376,2381],{},[565,2372,2373],{},[322,2374,2375],{},"limits.lengths.patterns",[565,2377,2378],{},[322,2379,2380],{},"255",[565,2382,2383,2384,360,2386,360,2388,387,2390,2392],{},"The characters of the value of a ",[322,2385,2339],{},[322,2387,2342],{},[322,2389,2345],{},[322,2391,2348],{}," filter, at every level",[544,2394,2395,2400,2404],{},[565,2396,2397],{},[322,2398,2399],{},"limits.lengths.values",[565,2401,2402],{},[322,2403,2101],{},[565,2405,2406,2407,380],{},"The characters of each string value of a filter, and of each string of a list, at every level. A pattern takes the smaller of the two lengths. At least ",[322,2408,1313],{},[2410,2411,2412],"warning",{},[318,2413,2414,2415,2417,2418,2421],{},"A key under ",[322,2416,375],{}," that the package does not know throws an exception that names it, so that a typo does not keep the default without notice: ",[322,2419,2420],{},"The [rest.limits.sizes.filter] option does not exist."," An unknown key elsewhere is ignored.",[318,2423,2424,2425,2428,2429,380],{},"These limits are not the page sizes of a resource, which its ",[322,2426,2427],{},"limits()"," method returns. See ",[654,2430,58],{"href":2431},"\u002Fresources\u002Flimits#page-sizes",[313,2433,188],{"id":379},[327,2435,2437],{"className":396,"code":2436,"language":343,"meta":332,"style":332},"'precognition' => [\n    'enabled' => false,\n],\n",[322,2438,2439,2451,2464],{"__ignoreMap":332},[336,2440,2441,2443,2445,2447,2449],{"class":338,"line":339},[336,2442,405],{"class":404},[336,2444,379],{"class":346},[336,2446,405],{"class":404},[336,2448,412],{"class":404},[336,2450,415],{"class":404},[336,2452,2453,2455,2457,2459,2461],{"class":338,"line":418},[336,2454,421],{"class":404},[336,2456,478],{"class":346},[336,2458,405],{"class":404},[336,2460,412],{"class":404},[336,2462,2463],{"class":404}," false,\n",[336,2465,2466],{"class":338,"line":451},[336,2467,536],{"class":404},[538,2469,2470,2482],{},[541,2471,2472],{},[544,2473,2474,2476,2478,2480],{},[547,2475,549],{},[547,2477,552],{},[547,2479,555],{},[547,2481,558],{},[560,2483,2484],{},[544,2485,2486,2491,2493,2497],{},[565,2487,2488],{},[322,2489,2490],{},"precognition.enabled",[565,2492,572],{},[565,2494,2495],{},[322,2496,577],{},[565,2498,2499,2500,2503,2504,2506],{},"Adds Laravel's ",[322,2501,2502],{},"HandlePrecognitiveRequests"," middleware to every route of the package. A request with the ",[322,2505,188],{}," header runs its middleware, the policy checks made before validation and its validation, then stops before the controller.",[318,2508,2509,2510,380],{},"The middleware is added when the routes are registered: clear the route cache after you change this option. See ",[654,2511,188],{"href":189},[313,2513,2515],{"id":2514},"typed-values","Typed values",[318,2517,2518,2519,2522,2523,2526],{},"Each request reads the values once, and checks their type. A value of the wrong type throws ",[322,2520,2521],{},"Lomkit\\Rest\\Exceptions\\InvalidConfigException",", an ",[322,2524,2525],{},"InvalidArgumentException",", that names the key.",[538,2528,2529,2542],{},[541,2530,2531],{},[544,2532,2533,2536,2539],{},[547,2534,2535],{},"Keys",[547,2537,2538],{},"Accepted values",[547,2540,2541],{},"Message on another value",[560,2543,2544,2580,2595,2619,2632,2650,2666],{},[544,2545,2546,2556,2575],{},[565,2547,2548,360,2550,360,2552,360,2554],{},[322,2549,569],{},[322,2551,595],{},[322,2553,1168],{},[322,2555,2490],{},[565,2557,2558,360,2560,2562,2563,360,2566,360,2569,376,2572],{},[322,2559,602],{},[322,2561,577],{},", or the strings ",[322,2564,2565],{},"\"1\"",[322,2567,2568],{},"\"0\"",[322,2570,2571],{},"\"true\"",[322,2573,2574],{},"\"false\"",[565,2576,2577],{},[322,2578,2579],{},"The [rest.authorizations.strict] option must be a boolean.",[544,2581,2582,2587,2590],{},[565,2583,2584,2585],{},"each value of ",[322,2586,375],{},[565,2588,2589],{},"an integer of 0 or more, or a string of digits",[565,2591,2592],{},[322,2593,2594],{},"The [rest.limits.sizes.filters] option must be an integer of 0 or more.",[544,2596,2597,2611,2614],{},[565,2598,2599,360,2601,360,2603,360,2605,360,2607,360,2609],{},[322,2600,2122],{},[322,2602,2142],{},[322,2604,2163],{},[322,2606,2314],{},[322,2608,2330],{},[322,2610,2399],{},[565,2612,2613],{},"an integer of 1 or more, or a string of digits",[565,2615,2616],{},[322,2617,2618],{},"The [rest.limits.sizes.rows] option must be an integer of 1 or more.",[544,2620,2621,2625,2627],{},[565,2622,2623],{},[322,2624,1305],{},[565,2626,2613],{},[565,2628,2629],{},[322,2630,2631],{},"The [rest.transactions.attempts] option must be an integer of 1 or more.",[544,2633,2634,2642,2645],{},[565,2635,2636,360,2638,360,2640],{},[322,2637,931],{},[322,2639,1061],{},[322,2641,1194],{},[565,2643,2644],{},"a string that is not empty",[565,2646,2647],{},[322,2648,2649],{},"The [rest.gates.key] option must be a non-empty string.",[544,2651,2652,2656,2661],{},[565,2653,2654],{},[322,2655,625],{},[565,2657,2658,2660],{},[322,2659,630],{}," or a string that is not empty",[565,2662,2663],{},[322,2664,2665],{},"The [rest.authorizations.cache.store] option must be null or a non-empty string.",[544,2667,2668,2672,2675],{},[565,2669,2670],{},[322,2671,959],{},[565,2673,2674],{},"a map of strings that holds the six built-in names",[565,2676,2677,2680,2681,2684],{},[322,2678,2679],{},"The [rest.gates.names] option must be a map of strings.",", or ",[322,2682,2683],{},"The [rest.gates.names.authorized_to_view] option must be a string."," for a missing name",[318,2686,2687,2688,2691,2692,2694,2695,2698],{},"The strings let ",[322,2689,2690],{},"env()"," values work as they are. ",[322,2693,630],{}," and an empty string are refused: a variable set without a value, such as ",[322,2696,2697],{},"REST_AUTHORIZATIONS_STRICT=",", throws.",[318,2700,2701,2703,2704,2706],{},[322,2702,2490],{}," is read when the routes are registered, ",[322,2705,375],{}," when a request first reads its limits, and the other values together, the first time a request needs one of them.",[2708,2709,2710],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}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 .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 .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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":332,"searchDepth":339,"depth":418,"links":2712},[2713,2714,2715,2716,2717,2718,2719,2725,2726],{"id":315,"depth":418,"text":316},{"id":359,"depth":418,"text":275},{"id":363,"depth":418,"text":158},{"id":366,"depth":418,"text":997},{"id":369,"depth":418,"text":62},{"id":372,"depth":418,"text":1231},{"id":375,"depth":418,"text":58,"children":2720},[2721,2722,2723,2724],{"id":1384,"depth":451,"text":1875},{"id":1643,"depth":451,"text":2182},{"id":1714,"depth":451,"text":2253},{"id":1802,"depth":451,"text":2354},{"id":379,"depth":418,"text":188},{"id":2514,"depth":418,"text":2515},"Every key of config\u002Frest.php, with its type, its default value and its effect.","md",null,{},{"title":24,"description":2727},{"loc":25},"Uhl7MfLB0Gyy98CEjg_vd-_4yYaUZdyltXP4EVQRVBs",[2735,2737],{"title":20,"path":21,"stem":22,"description":2736,"children":-1},"Expose your first models with rest:quick-start, then send your first search and mutate requests.",{"title":28,"path":29,"stem":30,"description":2738,"children":-1},"The changes from 2.x to 3.0 by area, with a link to the page that documents each one, and the steps to upgrade an application.",1794181354347]