[{"data":1,"prerenderedAt":4191},["ShallowReactive",2],{"navigation":3,"\u002Fsearch\u002Foverview":307,"\u002Fsearch\u002Foverview-surround":4186},{"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":68,"body":309,"description":4179,"extension":4180,"links":4181,"meta":4182,"navigation":396,"path":69,"seo":4183,"sitemap":4184,"stem":70,"__hash__":4185},"docs3x\u002F3.search\u002F1.overview.md",{"type":310,"value":311,"toc":4165},"minimark",[312,325,437,796,801,913,1111,1120,1124,1338,1689,1742,1746,1749,1876,1892,1907,1910,1997,2053,2137,2142,2160,2163,2166,2212,2352,2411,2413,2418,2556,2614,2987,3133,3139,3141,3154,3390,3496,3710,3755,3759,3772,3940,3983,3992,3996,4024,4028,4035,4104,4161],[313,314,315,316,320,321,324],"p",{},"Every resource registered with ",[317,318,319],"code",{},"Rest::resource()"," answers ",[317,322,323],{},"POST \u002F{resource}\u002Fsearch",". The client describes what it wants in one JSON body: the package validates it against the declarations of the resource, checks the policies, builds one query plan and answers a page of rows.",[326,327,333],"pre",{"className":328,"code":329,"filename":330,"language":331,"meta":332,"style":332},"language-php shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","use App\\Rest\\Controllers\\ProductsController;\nuse Lomkit\\Rest\\Facades\\Rest;\n\nRest::resource('products', ProductsController::class);\n","routes\u002Fapi.php","php","",[317,334,335,368,391,398],{"__ignoreMap":332},[336,337,340,344,348,352,355,357,360,362,365],"span",{"class":338,"line":339},"line",1,[336,341,343],{"class":342},"sbssI","use",[336,345,347],{"class":346},"sTEyZ"," App",[336,349,351],{"class":350},"sMK4o","\\",[336,353,354],{"class":346},"Rest",[336,356,351],{"class":350},[336,358,359],{"class":346},"Controllers",[336,361,351],{"class":350},[336,363,364],{"class":346},"ProductsController",[336,366,367],{"class":350},";\n",[336,369,371,373,376,378,380,382,385,387,389],{"class":338,"line":370},2,[336,372,343],{"class":342},[336,374,375],{"class":346}," Lomkit",[336,377,351],{"class":350},[336,379,354],{"class":346},[336,381,351],{"class":350},[336,383,384],{"class":346},"Facades",[336,386,351],{"class":350},[336,388,354],{"class":346},[336,390,367],{"class":350},[336,392,394],{"class":338,"line":393},3,[336,395,397],{"emptyLinePlaceholder":396},true,"\n",[336,399,401,404,407,411,414,417,421,423,426,429,431,434],{"class":338,"line":400},4,[336,402,354],{"class":403},"sBMFI",[336,405,406],{"class":350},"::",[336,408,410],{"class":409},"s2Zo4","resource",[336,412,413],{"class":350},"(",[336,415,416],{"class":350},"'",[336,418,420],{"class":419},"sfazB","products",[336,422,416],{"class":350},[336,424,425],{"class":350},",",[336,427,428],{"class":403}," ProductsController",[336,430,406],{"class":350},[336,432,433],{"class":342},"class",[336,435,436],{"class":350},");\n",[326,438,441],{"className":328,"code":439,"filename":440,"language":331,"meta":332,"style":332},"use Lomkit\\Rest\\Fields\\ID;\nuse Lomkit\\Rest\\Fields\\Integer;\nuse Lomkit\\Rest\\Fields\\Text;\nuse Lomkit\\Rest\\Relations\\BelongsTo;\n\nclass ProductResource extends Resource\n{\n    public static string $model = Product::class;\n\n    public function fields(): array\n    {\n        return [\n            ID::make('id'),\n            Integer::make('category_id'),\n            Text::make('name'),\n            Integer::make('price'),\n        ];\n    }\n\n    public function relations(): array\n    {\n        return [\n            BelongsTo::make('category', CategoryResource::class),\n        ];\n    }\n}\n","app\u002FRest\u002FResources\u002FProductResource.php",[317,442,443,464,485,506,528,533,548,554,584,589,606,612,622,645,666,687,707,713,719,724,738,743,750,780,785,790],{"__ignoreMap":332},[336,444,445,447,449,451,453,455,457,459,462],{"class":338,"line":339},[336,446,343],{"class":342},[336,448,375],{"class":346},[336,450,351],{"class":350},[336,452,354],{"class":346},[336,454,351],{"class":350},[336,456,42],{"class":346},[336,458,351],{"class":350},[336,460,461],{"class":346},"ID",[336,463,367],{"class":350},[336,465,466,468,470,472,474,476,478,480,483],{"class":338,"line":370},[336,467,343],{"class":342},[336,469,375],{"class":346},[336,471,351],{"class":350},[336,473,354],{"class":346},[336,475,351],{"class":350},[336,477,42],{"class":346},[336,479,351],{"class":350},[336,481,482],{"class":346},"Integer",[336,484,367],{"class":350},[336,486,487,489,491,493,495,497,499,501,504],{"class":338,"line":393},[336,488,343],{"class":342},[336,490,375],{"class":346},[336,492,351],{"class":350},[336,494,354],{"class":346},[336,496,351],{"class":350},[336,498,42],{"class":346},[336,500,351],{"class":350},[336,502,503],{"class":346},"Text",[336,505,367],{"class":350},[336,507,508,510,512,514,516,518,521,523,526],{"class":338,"line":400},[336,509,343],{"class":342},[336,511,375],{"class":346},[336,513,351],{"class":350},[336,515,354],{"class":346},[336,517,351],{"class":350},[336,519,520],{"class":346},"Relations",[336,522,351],{"class":350},[336,524,525],{"class":346},"BelongsTo",[336,527,367],{"class":350},[336,529,531],{"class":338,"line":530},5,[336,532,397],{"emptyLinePlaceholder":396},[336,534,536,539,542,545],{"class":338,"line":535},6,[336,537,433],{"class":538},"spNyl",[336,540,541],{"class":403}," ProductResource",[336,543,544],{"class":538}," extends",[336,546,547],{"class":403}," Resource\n",[336,549,551],{"class":338,"line":550},7,[336,552,553],{"class":350},"{\n",[336,555,557,560,563,566,569,572,575,578,580,582],{"class":338,"line":556},8,[336,558,559],{"class":538},"    public",[336,561,562],{"class":538}," static",[336,564,565],{"class":342}," string",[336,567,568],{"class":350}," $",[336,570,571],{"class":346},"model ",[336,573,574],{"class":350},"=",[336,576,577],{"class":403}," Product",[336,579,406],{"class":350},[336,581,433],{"class":342},[336,583,367],{"class":350},[336,585,587],{"class":338,"line":586},9,[336,588,397],{"emptyLinePlaceholder":396},[336,590,592,594,597,600,603],{"class":338,"line":591},10,[336,593,559],{"class":538},[336,595,596],{"class":538}," function",[336,598,599],{"class":409}," fields",[336,601,602],{"class":350},"():",[336,604,605],{"class":342}," array\n",[336,607,609],{"class":338,"line":608},11,[336,610,611],{"class":350},"    {\n",[336,613,615,619],{"class":338,"line":614},12,[336,616,618],{"class":617},"s7zQu","        return",[336,620,621],{"class":350}," [\n",[336,623,625,628,630,633,635,637,640,642],{"class":338,"line":624},13,[336,626,627],{"class":403},"            ID",[336,629,406],{"class":350},[336,631,632],{"class":409},"make",[336,634,413],{"class":350},[336,636,416],{"class":350},[336,638,639],{"class":419},"id",[336,641,416],{"class":350},[336,643,644],{"class":350},"),\n",[336,646,648,651,653,655,657,659,662,664],{"class":338,"line":647},14,[336,649,650],{"class":403},"            Integer",[336,652,406],{"class":350},[336,654,632],{"class":409},[336,656,413],{"class":350},[336,658,416],{"class":350},[336,660,661],{"class":419},"category_id",[336,663,416],{"class":350},[336,665,644],{"class":350},[336,667,669,672,674,676,678,680,683,685],{"class":338,"line":668},15,[336,670,671],{"class":403},"            Text",[336,673,406],{"class":350},[336,675,632],{"class":409},[336,677,413],{"class":350},[336,679,416],{"class":350},[336,681,682],{"class":419},"name",[336,684,416],{"class":350},[336,686,644],{"class":350},[336,688,690,692,694,696,698,700,703,705],{"class":338,"line":689},16,[336,691,650],{"class":403},[336,693,406],{"class":350},[336,695,632],{"class":409},[336,697,413],{"class":350},[336,699,416],{"class":350},[336,701,702],{"class":419},"price",[336,704,416],{"class":350},[336,706,644],{"class":350},[336,708,710],{"class":338,"line":709},17,[336,711,712],{"class":350},"        ];\n",[336,714,716],{"class":338,"line":715},18,[336,717,718],{"class":350},"    }\n",[336,720,722],{"class":338,"line":721},19,[336,723,397],{"emptyLinePlaceholder":396},[336,725,727,729,731,734,736],{"class":338,"line":726},20,[336,728,559],{"class":538},[336,730,596],{"class":538},[336,732,733],{"class":409}," relations",[336,735,602],{"class":350},[336,737,605],{"class":342},[336,739,741],{"class":338,"line":740},21,[336,742,611],{"class":350},[336,744,746,748],{"class":338,"line":745},22,[336,747,618],{"class":617},[336,749,621],{"class":350},[336,751,753,756,758,760,762,764,767,769,771,774,776,778],{"class":338,"line":752},23,[336,754,755],{"class":403},"            BelongsTo",[336,757,406],{"class":350},[336,759,632],{"class":409},[336,761,413],{"class":350},[336,763,416],{"class":350},[336,765,766],{"class":419},"category",[336,768,416],{"class":350},[336,770,425],{"class":350},[336,772,773],{"class":403}," CategoryResource",[336,775,406],{"class":350},[336,777,433],{"class":342},[336,779,644],{"class":350},[336,781,783],{"class":338,"line":782},24,[336,784,712],{"class":350},[336,786,788],{"class":338,"line":787},25,[336,789,718],{"class":350},[336,791,793],{"class":338,"line":792},26,[336,794,795],{"class":350},"}\n",[797,798,800],"h2",{"id":799},"a-first-search","A first search",[326,802,807],{"className":803,"code":804,"filename":805,"language":806,"meta":332,"style":332},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"search\": {\n    \"filters\": [\n      {\"field\": \"price\", \"operator\": \"\u003C\", \"value\": 100}\n    ]\n  }\n}\n","POST \u002Fapi\u002Fproducts\u002Fsearch","json",[317,808,809,813,830,844,899,904,909],{"__ignoreMap":332},[336,810,811],{"class":338,"line":339},[336,812,553],{"class":350},[336,814,815,818,821,824,827],{"class":338,"line":370},[336,816,817],{"class":350},"  \"",[336,819,820],{"class":538},"search",[336,822,823],{"class":350},"\"",[336,825,826],{"class":350},":",[336,828,829],{"class":350}," {\n",[336,831,832,835,838,840,842],{"class":338,"line":393},[336,833,834],{"class":350},"    \"",[336,836,837],{"class":403},"filters",[336,839,823],{"class":350},[336,841,826],{"class":350},[336,843,621],{"class":350},[336,845,846,849,851,854,856,858,861,863,865,867,869,872,874,876,878,881,883,885,887,890,892,894,897],{"class":338,"line":400},[336,847,848],{"class":350},"      {",[336,850,823],{"class":350},[336,852,853],{"class":342},"field",[336,855,823],{"class":350},[336,857,826],{"class":350},[336,859,860],{"class":350}," \"",[336,862,702],{"class":419},[336,864,823],{"class":350},[336,866,425],{"class":350},[336,868,860],{"class":350},[336,870,871],{"class":342},"operator",[336,873,823],{"class":350},[336,875,826],{"class":350},[336,877,860],{"class":350},[336,879,880],{"class":419},"\u003C",[336,882,823],{"class":350},[336,884,425],{"class":350},[336,886,860],{"class":350},[336,888,889],{"class":342},"value",[336,891,823],{"class":350},[336,893,826],{"class":350},[336,895,896],{"class":342}," 100",[336,898,795],{"class":350},[336,900,901],{"class":338,"line":530},[336,902,903],{"class":350},"    ]\n",[336,905,906],{"class":338,"line":535},[336,907,908],{"class":350},"  }\n",[336,910,911],{"class":338,"line":550},[336,912,795],{"class":350},[326,914,917],{"className":803,"code":915,"filename":916,"language":806,"meta":332,"style":332},"{\n  \"current_page\": 1,\n  \"data\": [\n    {\"id\": 1, \"category_id\": 1, \"name\": \"Desk lamp\", \"price\": 39}\n  ],\n  \"from\": 1,\n  \"last_page\": 1,\n  \"per_page\": 50,\n  \"to\": 1,\n  \"total\": 1,\n  \"meta\": {}\n}\n","200 OK",[317,918,919,923,940,953,1012,1017,1032,1047,1063,1078,1093,1107],{"__ignoreMap":332},[336,920,921],{"class":338,"line":339},[336,922,553],{"class":350},[336,924,925,927,930,932,934,937],{"class":338,"line":370},[336,926,817],{"class":350},[336,928,929],{"class":538},"current_page",[336,931,823],{"class":350},[336,933,826],{"class":350},[336,935,936],{"class":342}," 1",[336,938,939],{"class":350},",\n",[336,941,942,944,947,949,951],{"class":338,"line":393},[336,943,817],{"class":350},[336,945,946],{"class":538},"data",[336,948,823],{"class":350},[336,950,826],{"class":350},[336,952,621],{"class":350},[336,954,955,958,960,962,964,966,968,970,972,974,976,978,980,982,984,986,988,990,992,995,997,999,1001,1003,1005,1007,1010],{"class":338,"line":400},[336,956,957],{"class":350},"    {",[336,959,823],{"class":350},[336,961,639],{"class":403},[336,963,823],{"class":350},[336,965,826],{"class":350},[336,967,936],{"class":342},[336,969,425],{"class":350},[336,971,860],{"class":350},[336,973,661],{"class":403},[336,975,823],{"class":350},[336,977,826],{"class":350},[336,979,936],{"class":342},[336,981,425],{"class":350},[336,983,860],{"class":350},[336,985,682],{"class":403},[336,987,823],{"class":350},[336,989,826],{"class":350},[336,991,860],{"class":350},[336,993,994],{"class":419},"Desk lamp",[336,996,823],{"class":350},[336,998,425],{"class":350},[336,1000,860],{"class":350},[336,1002,702],{"class":403},[336,1004,823],{"class":350},[336,1006,826],{"class":350},[336,1008,1009],{"class":342}," 39",[336,1011,795],{"class":350},[336,1013,1014],{"class":338,"line":530},[336,1015,1016],{"class":350},"  ],\n",[336,1018,1019,1021,1024,1026,1028,1030],{"class":338,"line":535},[336,1020,817],{"class":350},[336,1022,1023],{"class":538},"from",[336,1025,823],{"class":350},[336,1027,826],{"class":350},[336,1029,936],{"class":342},[336,1031,939],{"class":350},[336,1033,1034,1036,1039,1041,1043,1045],{"class":338,"line":550},[336,1035,817],{"class":350},[336,1037,1038],{"class":538},"last_page",[336,1040,823],{"class":350},[336,1042,826],{"class":350},[336,1044,936],{"class":342},[336,1046,939],{"class":350},[336,1048,1049,1051,1054,1056,1058,1061],{"class":338,"line":556},[336,1050,817],{"class":350},[336,1052,1053],{"class":538},"per_page",[336,1055,823],{"class":350},[336,1057,826],{"class":350},[336,1059,1060],{"class":342}," 50",[336,1062,939],{"class":350},[336,1064,1065,1067,1070,1072,1074,1076],{"class":338,"line":586},[336,1066,817],{"class":350},[336,1068,1069],{"class":538},"to",[336,1071,823],{"class":350},[336,1073,826],{"class":350},[336,1075,936],{"class":342},[336,1077,939],{"class":350},[336,1079,1080,1082,1085,1087,1089,1091],{"class":338,"line":591},[336,1081,817],{"class":350},[336,1083,1084],{"class":538},"total",[336,1086,823],{"class":350},[336,1088,826],{"class":350},[336,1090,936],{"class":342},[336,1092,939],{"class":350},[336,1094,1095,1097,1100,1102,1104],{"class":338,"line":608},[336,1096,817],{"class":350},[336,1098,1099],{"class":538},"meta",[336,1101,823],{"class":350},[336,1103,826],{"class":350},[336,1105,1106],{"class":350}," {}\n",[336,1108,1109],{"class":338,"line":614},[336,1110,795],{"class":350},[313,1112,1113,1114,1116,1117,1119],{},"Every key of ",[317,1115,820],{}," is optional. A body without ",[317,1118,820],{}," answers the first page of the resource, in its default order.",[797,1121,1123],{"id":1122},"the-payload","The payload",[1125,1126,1127,1143],"table",{},[1128,1129,1130],"thead",{},[1131,1132,1133,1137,1140],"tr",{},[1134,1135,1136],"th",{},"Key",[1134,1138,1139],{},"What it does",[1134,1141,1142],{},"Page",[1144,1145,1146,1162,1176,1190,1204,1239,1253,1267,1281,1304,1319],"tbody",{},[1131,1147,1148,1153,1156],{},[1149,1150,1151],"td",{},[317,1152,837],{},[1149,1154,1155],{},"Keep the rows that match conditions on fields, relation paths, pivot fields and related rows",[1149,1157,1158],{},[1159,1160,1161],"a",{"href":73},"Filters",[1131,1163,1164,1169,1172],{},[1149,1165,1166],{},[317,1167,1168],{},"sorts",[1149,1170,1171],{},"Order the rows by fields, fields of a to-one relation, aggregates or relevance",[1149,1173,1174],{},[1159,1175,76],{"href":77},[1131,1177,1178,1183,1186],{},[1149,1179,1180],{},[317,1181,1182],{},"selects",[1149,1184,1185],{},"Choose the fields of each row",[1149,1187,1188],{},[1159,1189,76],{"href":77},[1131,1191,1192,1197,1200],{},[1149,1193,1194],{},[317,1195,1196],{},"includes",[1149,1198,1199],{},"Load related rows, each with its own search",[1149,1201,1202],{},[1159,1203,80],{"href":81},[1131,1205,1206,1211,1235],{},[1149,1207,1208],{},[317,1209,1210],{},"aggregates",[1149,1212,1213,1214,1217,1218,1217,1221,1217,1224,1217,1227,1230,1231,1234],{},"Add ",[317,1215,1216],{},"count",", ",[317,1219,1220],{},"exists",[317,1222,1223],{},"min",[317,1225,1226],{},"max",[317,1228,1229],{},"avg"," and ",[317,1232,1233],{},"sum"," values of a relation",[1149,1236,1237],{},[1159,1238,80],{"href":81},[1131,1240,1241,1246,1249],{},[1149,1242,1243],{},[317,1244,1245],{},"scopes",[1149,1247,1248],{},"Call the local scopes that the resource declares",[1149,1250,1251],{},[1159,1252,84],{"href":85},[1131,1254,1255,1260,1263],{},[1149,1256,1257],{},[317,1258,1259],{},"instructions",[1149,1261,1262],{},"Run the instructions that the resource declares",[1149,1264,1265],{},[1159,1266,84],{"href":85},[1131,1268,1269,1274,1277],{},[1149,1270,1271],{},[317,1272,1273],{},"text",[1149,1275,1276],{},"Run the text search of the resource",[1149,1278,1279],{},[1159,1280,88],{"href":89},[1131,1282,1283,1288,1299],{},[1149,1284,1285],{},[317,1286,1287],{},"trashed",[1149,1289,1290,1291,1294,1295,1298],{},"Add the soft-deleted rows (",[317,1292,1293],{},"with",") or return them alone (",[317,1296,1297],{},"only",")",[1149,1300,1301],{},[1159,1302,88],{"href":1303},"\u002Fsearch\u002Ftext-search#trashed-rows",[1131,1305,1306,1311,1314],{},[1149,1307,1308],{},[317,1309,1310],{},"gates",[1149,1312,1313],{},"Answer, for each row, whether the user may view, update, delete... it",[1149,1315,1316],{},[1159,1317,158],{"href":1318},"#gates",[1131,1320,1321,1329,1332],{},[1149,1322,1323,1217,1326],{},[317,1324,1325],{},"page",[317,1327,1328],{},"limit",[1149,1330,1331],{},"Choose the page and its size",[1149,1333,1334],{},[1159,1335,1337],{"href":1336},"#pagination","Pagination",[326,1339,1341],{"className":803,"code":1340,"filename":805,"language":806,"meta":332,"style":332},"{\n  \"search\": {\n    \"filters\": [\n      {\"field\": \"price\", \"operator\": \">=\", \"value\": 20},\n      {\"relation\": \"category\", \"nested\": [{\"field\": \"name\", \"value\": \"Lighting\"}]}\n    ],\n    \"sorts\": [{\"field\": \"price\", \"direction\": \"desc\"}],\n    \"selects\": [{\"field\": \"id\"}, {\"field\": \"name\"}, {\"field\": \"price\"}],\n    \"includes\": [{\"relation\": \"category\"}],\n    \"gates\": [\"update\", \"delete\"],\n    \"limit\": 10\n  }\n}\n",[317,1342,1343,1347,1359,1371,1422,1490,1495,1542,1608,1636,1668,1681,1685],{"__ignoreMap":332},[336,1344,1345],{"class":338,"line":339},[336,1346,553],{"class":350},[336,1348,1349,1351,1353,1355,1357],{"class":338,"line":370},[336,1350,817],{"class":350},[336,1352,820],{"class":538},[336,1354,823],{"class":350},[336,1356,826],{"class":350},[336,1358,829],{"class":350},[336,1360,1361,1363,1365,1367,1369],{"class":338,"line":393},[336,1362,834],{"class":350},[336,1364,837],{"class":403},[336,1366,823],{"class":350},[336,1368,826],{"class":350},[336,1370,621],{"class":350},[336,1372,1373,1375,1377,1379,1381,1383,1385,1387,1389,1391,1393,1395,1397,1399,1401,1404,1406,1408,1410,1412,1414,1416,1419],{"class":338,"line":400},[336,1374,848],{"class":350},[336,1376,823],{"class":350},[336,1378,853],{"class":342},[336,1380,823],{"class":350},[336,1382,826],{"class":350},[336,1384,860],{"class":350},[336,1386,702],{"class":419},[336,1388,823],{"class":350},[336,1390,425],{"class":350},[336,1392,860],{"class":350},[336,1394,871],{"class":342},[336,1396,823],{"class":350},[336,1398,826],{"class":350},[336,1400,860],{"class":350},[336,1402,1403],{"class":419},">=",[336,1405,823],{"class":350},[336,1407,425],{"class":350},[336,1409,860],{"class":350},[336,1411,889],{"class":342},[336,1413,823],{"class":350},[336,1415,826],{"class":350},[336,1417,1418],{"class":342}," 20",[336,1420,1421],{"class":350},"},\n",[336,1423,1424,1426,1428,1431,1433,1435,1437,1439,1441,1443,1445,1448,1450,1452,1455,1457,1460,1462,1464,1466,1468,1470,1472,1474,1476,1478,1480,1482,1485,1487],{"class":338,"line":530},[336,1425,848],{"class":350},[336,1427,823],{"class":350},[336,1429,1430],{"class":342},"relation",[336,1432,823],{"class":350},[336,1434,826],{"class":350},[336,1436,860],{"class":350},[336,1438,766],{"class":419},[336,1440,823],{"class":350},[336,1442,425],{"class":350},[336,1444,860],{"class":350},[336,1446,1447],{"class":342},"nested",[336,1449,823],{"class":350},[336,1451,826],{"class":350},[336,1453,1454],{"class":350}," [{",[336,1456,823],{"class":350},[336,1458,853],{"class":1459},"swJcz",[336,1461,823],{"class":350},[336,1463,826],{"class":350},[336,1465,860],{"class":350},[336,1467,682],{"class":419},[336,1469,823],{"class":350},[336,1471,425],{"class":350},[336,1473,860],{"class":350},[336,1475,889],{"class":1459},[336,1477,823],{"class":350},[336,1479,826],{"class":350},[336,1481,860],{"class":350},[336,1483,1484],{"class":419},"Lighting",[336,1486,823],{"class":350},[336,1488,1489],{"class":350},"}]}\n",[336,1491,1492],{"class":338,"line":535},[336,1493,1494],{"class":350},"    ],\n",[336,1496,1497,1499,1501,1503,1505,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1528,1530,1532,1534,1537,1539],{"class":338,"line":550},[336,1498,834],{"class":350},[336,1500,1168],{"class":403},[336,1502,823],{"class":350},[336,1504,826],{"class":350},[336,1506,1454],{"class":350},[336,1508,823],{"class":350},[336,1510,853],{"class":342},[336,1512,823],{"class":350},[336,1514,826],{"class":350},[336,1516,860],{"class":350},[336,1518,702],{"class":419},[336,1520,823],{"class":350},[336,1522,425],{"class":350},[336,1524,860],{"class":350},[336,1526,1527],{"class":342},"direction",[336,1529,823],{"class":350},[336,1531,826],{"class":350},[336,1533,860],{"class":350},[336,1535,1536],{"class":419},"desc",[336,1538,823],{"class":350},[336,1540,1541],{"class":350},"}],\n",[336,1543,1544,1546,1548,1550,1552,1554,1556,1558,1560,1562,1564,1566,1568,1571,1574,1576,1578,1580,1582,1584,1586,1588,1590,1592,1594,1596,1598,1600,1602,1604,1606],{"class":338,"line":556},[336,1545,834],{"class":350},[336,1547,1182],{"class":403},[336,1549,823],{"class":350},[336,1551,826],{"class":350},[336,1553,1454],{"class":350},[336,1555,823],{"class":350},[336,1557,853],{"class":342},[336,1559,823],{"class":350},[336,1561,826],{"class":350},[336,1563,860],{"class":350},[336,1565,639],{"class":419},[336,1567,823],{"class":350},[336,1569,1570],{"class":350},"},",[336,1572,1573],{"class":350}," {",[336,1575,823],{"class":350},[336,1577,853],{"class":342},[336,1579,823],{"class":350},[336,1581,826],{"class":350},[336,1583,860],{"class":350},[336,1585,682],{"class":419},[336,1587,823],{"class":350},[336,1589,1570],{"class":350},[336,1591,1573],{"class":350},[336,1593,823],{"class":350},[336,1595,853],{"class":342},[336,1597,823],{"class":350},[336,1599,826],{"class":350},[336,1601,860],{"class":350},[336,1603,702],{"class":419},[336,1605,823],{"class":350},[336,1607,1541],{"class":350},[336,1609,1610,1612,1614,1616,1618,1620,1622,1624,1626,1628,1630,1632,1634],{"class":338,"line":586},[336,1611,834],{"class":350},[336,1613,1196],{"class":403},[336,1615,823],{"class":350},[336,1617,826],{"class":350},[336,1619,1454],{"class":350},[336,1621,823],{"class":350},[336,1623,1430],{"class":342},[336,1625,823],{"class":350},[336,1627,826],{"class":350},[336,1629,860],{"class":350},[336,1631,766],{"class":419},[336,1633,823],{"class":350},[336,1635,1541],{"class":350},[336,1637,1638,1640,1642,1644,1646,1649,1651,1654,1656,1658,1660,1663,1665],{"class":338,"line":591},[336,1639,834],{"class":350},[336,1641,1310],{"class":403},[336,1643,823],{"class":350},[336,1645,826],{"class":350},[336,1647,1648],{"class":350}," [",[336,1650,823],{"class":350},[336,1652,1653],{"class":419},"update",[336,1655,823],{"class":350},[336,1657,425],{"class":350},[336,1659,860],{"class":350},[336,1661,1662],{"class":419},"delete",[336,1664,823],{"class":350},[336,1666,1667],{"class":350},"],\n",[336,1669,1670,1672,1674,1676,1678],{"class":338,"line":608},[336,1671,834],{"class":350},[336,1673,1328],{"class":403},[336,1675,823],{"class":350},[336,1677,826],{"class":350},[336,1679,1680],{"class":342}," 10\n",[336,1682,1683],{"class":338,"line":614},[336,1684,908],{"class":350},[336,1686,1687],{"class":338,"line":624},[336,1688,795],{"class":350},[1690,1691,1692,1702,1708,1732],"ul",{},[1693,1694,1695,1696,1698,1699],"li",{},"A key that the package does not know inside an object of a search (a filter, a sort, an include, ",[317,1697,1273],{},"...) gives a 422 on that key, named as written: ",[317,1700,1701],{},"The search.filters.0.operater field is prohibited.",[1693,1703,1704,1705,1707],{},"A key that the package does not know at the first level of the body, or directly under ",[317,1706,820],{},", is ignored, so that a later release can add keys.",[1693,1709,1710,1217,1712,1217,1714,1217,1716,1217,1718,1217,1720,1217,1722,1217,1724,1230,1726,1728,1729],{},[317,1711,837],{},[317,1713,1447],{},[317,1715,1168],{},[317,1717,1182],{},[317,1719,1245],{},[317,1721,1210],{},[317,1723,1196],{},[317,1725,1259],{},[317,1727,1310],{}," must be JSON lists. An object gives ",[317,1730,1731],{},"The search.filters field must be a list.",[1693,1733,1734,1735,1738,1739,1741],{},"Every list has a size limit in ",[317,1736,1737],{},"rest.limits",", see ",[1159,1740,58],{"href":59},".",[797,1743,1745],{"id":1744},"the-response","The response",[313,1747,1748],{},"A search answers a page:",[1125,1750,1751,1760],{},[1128,1752,1753],{},[1131,1754,1755,1757],{},[1134,1756,1136],{},[1134,1758,1759],{},"Value",[1144,1761,1762,1771,1780,1795,1808,1824,1833,1850],{},[1131,1763,1764,1768],{},[1149,1765,1766],{},[317,1767,929],{},[1149,1769,1770],{},"The page that the response holds",[1131,1772,1773,1777],{},[1149,1774,1775],{},[317,1776,946],{},[1149,1778,1779],{},"The rows of the page",[1131,1781,1782,1788],{},[1149,1783,1784,1217,1786],{},[317,1785,1023],{},[317,1787,1069],{},[1149,1789,1790,1791,1794],{},"The position of the first and the last row of the page, ",[317,1792,1793],{},"null"," on an empty page",[1131,1796,1797,1801],{},[1149,1798,1799],{},[317,1800,1038],{},[1149,1802,1803,1804,1230,1806],{},"The last page, from ",[317,1805,1084],{},[317,1807,1053],{},[1131,1809,1810,1814],{},[1149,1811,1812],{},[317,1813,1053],{},[1149,1815,1816,1817,1819,1820,1823],{},"The page size: the ",[317,1818,1328],{}," of the search, or the ",[317,1821,1822],{},"$defaultLimit"," of the resource",[1131,1825,1826,1830],{},[1149,1827,1828],{},[317,1829,1084],{},[1149,1831,1832],{},"The number of rows that match",[1131,1834,1835,1840],{},[1149,1836,1837],{},[317,1838,1839],{},"total_capped",[1149,1841,1842,1843,1738,1846],{},"Only on a resource that sets ",[317,1844,1845],{},"$maxTotal",[1159,1847,1849],{"href":1848},"#capped-totals","Capped totals",[1131,1851,1852,1856],{},[1149,1853,1854],{},[317,1855,1099],{},[1149,1857,1858,1859,1862,1863,1866,1867,1871,1872,1875],{},"The ",[317,1860,1861],{},"create"," gate, the keys of ",[317,1864,1865],{},"searchMeta()"," and the meta of the instructions, see ",[1159,1868,1870],{"href":1869},"#meta","Meta",". ",[317,1873,1874],{},"{}"," when empty",[313,1877,1878,1879,1881,1882,1885,1886,1738,1889,1741],{},"A row holds its fields, in the order of ",[317,1880,1182],{}," or else of ",[317,1883,1884],{},"fields()",", then its aggregates, its gates and its includes. A row whose level includes a to-many relation ends with ",[317,1887,1888],{},"@more",[1159,1890,80],{"href":1891},"\u002Fsearch\u002Fincludes-and-aggregates#more-rows",[1893,1894,1895],"note",{},[313,1896,1897,1899,1900,1903,1904,1906],{},[317,1898,1099],{},", the ",[317,1901,1902],{},"pivot"," of a many-to-many row and the gates of a row are always objects: ",[317,1905,1874],{}," when they hold nothing.",[797,1908,1337],{"id":1909},"pagination",[326,1911,1913],{"className":328,"code":1912,"language":331,"meta":332,"style":332},"class ProductResource extends Resource\n{\n    public int $defaultLimit = 25;\n\n    public function limits(): array\n    {\n        return [10, 25, 100];\n    }\n}\n",[317,1914,1915,1925,1929,1948,1952,1965,1969,1989,1993],{"__ignoreMap":332},[336,1916,1917,1919,1921,1923],{"class":338,"line":339},[336,1918,433],{"class":538},[336,1920,541],{"class":403},[336,1922,544],{"class":538},[336,1924,547],{"class":403},[336,1926,1927],{"class":338,"line":370},[336,1928,553],{"class":350},[336,1930,1931,1933,1936,1938,1941,1943,1946],{"class":338,"line":393},[336,1932,559],{"class":538},[336,1934,1935],{"class":342}," int",[336,1937,568],{"class":350},[336,1939,1940],{"class":346},"defaultLimit ",[336,1942,574],{"class":350},[336,1944,1945],{"class":342}," 25",[336,1947,367],{"class":350},[336,1949,1950],{"class":338,"line":400},[336,1951,397],{"emptyLinePlaceholder":396},[336,1953,1954,1956,1958,1961,1963],{"class":338,"line":530},[336,1955,559],{"class":538},[336,1957,596],{"class":538},[336,1959,1960],{"class":409}," limits",[336,1962,602],{"class":350},[336,1964,605],{"class":342},[336,1966,1967],{"class":338,"line":535},[336,1968,611],{"class":350},[336,1970,1971,1973,1975,1978,1980,1982,1984,1986],{"class":338,"line":550},[336,1972,618],{"class":617},[336,1974,1648],{"class":350},[336,1976,1977],{"class":342},"10",[336,1979,425],{"class":350},[336,1981,1945],{"class":342},[336,1983,425],{"class":350},[336,1985,896],{"class":342},[336,1987,1988],{"class":350},"];\n",[336,1990,1991],{"class":338,"line":556},[336,1992,718],{"class":350},[336,1994,1995],{"class":338,"line":586},[336,1996,795],{"class":350},[326,1998,2000],{"className":803,"code":1999,"filename":805,"language":806,"meta":332,"style":332},"{\n  \"search\": {\n    \"page\": 2,\n    \"limit\": 10\n  }\n}\n",[317,2001,2002,2006,2018,2033,2045,2049],{"__ignoreMap":332},[336,2003,2004],{"class":338,"line":339},[336,2005,553],{"class":350},[336,2007,2008,2010,2012,2014,2016],{"class":338,"line":370},[336,2009,817],{"class":350},[336,2011,820],{"class":538},[336,2013,823],{"class":350},[336,2015,826],{"class":350},[336,2017,829],{"class":350},[336,2019,2020,2022,2024,2026,2028,2031],{"class":338,"line":393},[336,2021,834],{"class":350},[336,2023,1325],{"class":403},[336,2025,823],{"class":350},[336,2027,826],{"class":350},[336,2029,2030],{"class":342}," 2",[336,2032,939],{"class":350},[336,2034,2035,2037,2039,2041,2043],{"class":338,"line":400},[336,2036,834],{"class":350},[336,2038,1328],{"class":403},[336,2040,823],{"class":350},[336,2042,826],{"class":350},[336,2044,1680],{"class":342},[336,2046,2047],{"class":338,"line":530},[336,2048,908],{"class":350},[336,2050,2051],{"class":338,"line":535},[336,2052,795],{"class":350},[1690,2054,2055,2070,2088,2096,2117,2122],{},[1693,2056,2057,2059,2060,1217,2063,2066,2067],{},[317,2058,1328],{}," must be one of the values of ",[317,2061,2062],{},"limits()",[317,2064,2065],{},"[10, 25, 50]"," by default. Another value gives ",[317,2068,2069],{},"The selected search.limit is invalid.",[1693,2071,2072,2073,2075,2076,2078,2079,2081,2082,2084,2085,1741],{},"Without ",[317,2074,1328],{},", a page holds ",[317,2077,1822],{}," rows, 50 by default. ",[317,2080,1822],{}," must be a value of ",[317,2083,2062],{},", otherwise the first search of the resource throws ",[317,2086,2087],{},"InvalidResourceException",[1693,2089,2090,2092,2093],{},[317,2091,1325],{}," is an integer of at least 1: ",[317,2094,2095],{},"The search.page field must be at least 1.",[1693,2097,2098,2100,2101,1217,2104,2107,2108,2110,2111,2113,2114],{},[317,2099,1325],{}," is at most ",[317,2102,2103],{},"intdiv(PHP_INT_MAX, L) + 1",[317,2105,2106],{},"L"," being the largest value of ",[317,2109,2062],{},", so that the offset of the page stays an integer. With the default ",[317,2112,2062],{},": ",[317,2115,2116],{},"The search.page field must not be greater than 184467440737095517.",[1693,2118,2119,2120,1741],{},"A page past the last one answers an empty ",[317,2121,946],{},[1693,2123,2124,2125,2128,2129,2132,2133,1741],{},"One page renders at most ",[317,2126,2127],{},"rest.limits.sizes.rows"," rows, 10,000 by default, its included rows counted from the limits that the request asks for. A search that could render more gets a 422 before any query: ",[317,2130,2131],{},"The search.includes.0.includes.1.relation field takes the response over the limit of 10000 rows: it can render up to 10550 rows."," See ",[1159,2134,2136],{"href":2135},"\u002Fresources\u002Flimits#response-rows","Response rows",[2138,2139,2141],"h3",{"id":2140},"stable-order","Stable order",[313,2143,2144,2145,2148,2149,2152,2153,2155,2156,2159],{},"Every SQL search ends its order with the key of the model, in descending order, unless the order already holds it. ",[317,2146,2147],{},"\"sorts\": [{\"field\": \"price\"}]"," runs ",[317,2150,2151],{},"order by products.price asc, products.id desc",". Rows with equal values keep one order across pages, so a row never shows on two pages or on none. Without ",[317,2154,1168],{},", the rows follow ",[317,2157,2158],{},"defaultOrderBy()",", the key in descending order by default.",[2138,2161,1849],{"id":2162},"capped-totals",[313,2164,2165],{},"Counting every matching row of a large table costs a full scan. A resource can cap the count:",[326,2167,2169],{"className":328,"code":2168,"language":331,"meta":332,"style":332},"class LogResource extends Resource\n{\n    public ?int $maxTotal = 10000;\n}\n",[317,2170,2171,2182,2186,2208],{"__ignoreMap":332},[336,2172,2173,2175,2178,2180],{"class":338,"line":339},[336,2174,433],{"class":538},[336,2176,2177],{"class":403}," LogResource",[336,2179,544],{"class":538},[336,2181,547],{"class":403},[336,2183,2184],{"class":338,"line":370},[336,2185,553],{"class":350},[336,2187,2188,2190,2193,2196,2198,2201,2203,2206],{"class":338,"line":393},[336,2189,559],{"class":538},[336,2191,2192],{"class":350}," ?",[336,2194,2195],{"class":342},"int",[336,2197,568],{"class":350},[336,2199,2200],{"class":346},"maxTotal ",[336,2202,574],{"class":350},[336,2204,2205],{"class":342}," 10000",[336,2207,367],{"class":350},[336,2209,2210],{"class":338,"line":400},[336,2211,795],{"class":350},[326,2213,2215],{"className":803,"code":2214,"filename":916,"language":806,"meta":332,"style":332},"{\n  \"current_page\": 1,\n  \"data\": [...],\n  \"from\": 1,\n  \"last_page\": 200,\n  \"per_page\": 50,\n  \"to\": 50,\n  \"total\": 10000,\n  \"total_capped\": true,\n  \"meta\": {}\n}\n",[317,2216,2217,2221,2235,2252,2266,2281,2295,2309,2323,2336,2348],{"__ignoreMap":332},[336,2218,2219],{"class":338,"line":339},[336,2220,553],{"class":350},[336,2222,2223,2225,2227,2229,2231,2233],{"class":338,"line":370},[336,2224,817],{"class":350},[336,2226,929],{"class":538},[336,2228,823],{"class":350},[336,2230,826],{"class":350},[336,2232,936],{"class":342},[336,2234,939],{"class":350},[336,2236,2237,2239,2241,2243,2245,2247,2250],{"class":338,"line":393},[336,2238,817],{"class":350},[336,2240,946],{"class":538},[336,2242,823],{"class":350},[336,2244,826],{"class":350},[336,2246,1648],{"class":350},[336,2248,2249],{"class":346},"...",[336,2251,1667],{"class":350},[336,2253,2254,2256,2258,2260,2262,2264],{"class":338,"line":400},[336,2255,817],{"class":350},[336,2257,1023],{"class":538},[336,2259,823],{"class":350},[336,2261,826],{"class":350},[336,2263,936],{"class":342},[336,2265,939],{"class":350},[336,2267,2268,2270,2272,2274,2276,2279],{"class":338,"line":530},[336,2269,817],{"class":350},[336,2271,1038],{"class":538},[336,2273,823],{"class":350},[336,2275,826],{"class":350},[336,2277,2278],{"class":342}," 200",[336,2280,939],{"class":350},[336,2282,2283,2285,2287,2289,2291,2293],{"class":338,"line":535},[336,2284,817],{"class":350},[336,2286,1053],{"class":538},[336,2288,823],{"class":350},[336,2290,826],{"class":350},[336,2292,1060],{"class":342},[336,2294,939],{"class":350},[336,2296,2297,2299,2301,2303,2305,2307],{"class":338,"line":550},[336,2298,817],{"class":350},[336,2300,1069],{"class":538},[336,2302,823],{"class":350},[336,2304,826],{"class":350},[336,2306,1060],{"class":342},[336,2308,939],{"class":350},[336,2310,2311,2313,2315,2317,2319,2321],{"class":338,"line":556},[336,2312,817],{"class":350},[336,2314,1084],{"class":538},[336,2316,823],{"class":350},[336,2318,826],{"class":350},[336,2320,2205],{"class":342},[336,2322,939],{"class":350},[336,2324,2325,2327,2329,2331,2333],{"class":338,"line":586},[336,2326,817],{"class":350},[336,2328,1839],{"class":538},[336,2330,823],{"class":350},[336,2332,826],{"class":350},[336,2334,2335],{"class":350}," true,\n",[336,2337,2338,2340,2342,2344,2346],{"class":338,"line":591},[336,2339,817],{"class":350},[336,2341,1099],{"class":538},[336,2343,823],{"class":350},[336,2345,826],{"class":350},[336,2347,1106],{"class":350},[336,2349,2350],{"class":338,"line":608},[336,2351,795],{"class":350},[1690,2353,2354,2361,2386,2392,2408],{},[1693,2355,2356,2357,2360],{},"The count reads at most ",[317,2358,2359],{},"$maxTotal + 1"," rows, without the order of the search.",[1693,2362,2363,2364,2366,2367,1217,2369,2366,2371,2374,2375,2377,2378,2380,2381,2366,2383,1741],{},"When more rows match, ",[317,2365,1084],{}," is ",[317,2368,1845],{},[317,2370,1839],{},[317,2372,2373],{},"true",", and ",[317,2376,1038],{}," follows that total. Otherwise ",[317,2379,1084],{}," is exact and ",[317,2382,1839],{},[317,2384,2385],{},"false",[1693,2387,2388,2389,2391],{},"A page past the capped total still answers its rows, and its ",[317,2390,1084],{}," is at least the rows before it plus its own.",[1693,2393,2394,2396,2397,2399,2400,1871,2402,2404,2405,2407],{},[317,2395,1845],{}," must be at least the largest value of ",[317,2398,2062],{},", otherwise the first search throws ",[317,2401,2087],{},[317,2403,1793],{},", the default, counts every row and leaves ",[317,2406,1839],{}," out.",[1693,2409,2410],{},"A text search on a search engine keeps the total of the engine.",[797,2412,158],{"id":1310},[313,2414,2415,2417],{},[317,2416,1310],{}," asks the server whether the user may run an ability on each row. The policy of the model answers, once per distinct check.",[326,2419,2422],{"className":328,"code":2420,"filename":2421,"language":331,"meta":332,"style":332},"use Illuminate\\Auth\\Access\\Response;\n\npublic function update(User $user, Product $product): Response\n{\n    return $product->price > 100\n        ? Response::deny('Products above 100 are locked.')\n        : Response::allow();\n}\n","app\u002FPolicies\u002FProductPolicy.php",[317,2423,2424,2448,2452,2487,2491,2512,2537,2552],{"__ignoreMap":332},[336,2425,2426,2428,2431,2433,2436,2438,2441,2443,2446],{"class":338,"line":339},[336,2427,343],{"class":342},[336,2429,2430],{"class":346}," Illuminate",[336,2432,351],{"class":350},[336,2434,2435],{"class":346},"Auth",[336,2437,351],{"class":350},[336,2439,2440],{"class":346},"Access",[336,2442,351],{"class":350},[336,2444,2445],{"class":346},"Response",[336,2447,367],{"class":350},[336,2449,2450],{"class":338,"line":370},[336,2451,397],{"emptyLinePlaceholder":396},[336,2453,2454,2457,2459,2462,2464,2467,2469,2472,2474,2476,2478,2481,2484],{"class":338,"line":393},[336,2455,2456],{"class":538},"public",[336,2458,596],{"class":538},[336,2460,2461],{"class":409}," update",[336,2463,413],{"class":350},[336,2465,2466],{"class":403},"User",[336,2468,568],{"class":350},[336,2470,2471],{"class":346},"user",[336,2473,425],{"class":350},[336,2475,577],{"class":403},[336,2477,568],{"class":350},[336,2479,2480],{"class":346},"product",[336,2482,2483],{"class":350},"):",[336,2485,2486],{"class":403}," Response\n",[336,2488,2489],{"class":338,"line":400},[336,2490,553],{"class":350},[336,2492,2493,2496,2498,2500,2503,2506,2509],{"class":338,"line":530},[336,2494,2495],{"class":617},"    return",[336,2497,568],{"class":350},[336,2499,2480],{"class":346},[336,2501,2502],{"class":350},"->",[336,2504,2505],{"class":346},"price ",[336,2507,2508],{"class":350},">",[336,2510,2511],{"class":342}," 100\n",[336,2513,2514,2517,2520,2522,2525,2527,2529,2532,2534],{"class":338,"line":535},[336,2515,2516],{"class":350},"        ?",[336,2518,2519],{"class":403}," Response",[336,2521,406],{"class":350},[336,2523,2524],{"class":409},"deny",[336,2526,413],{"class":350},[336,2528,416],{"class":350},[336,2530,2531],{"class":419},"Products above 100 are locked.",[336,2533,416],{"class":350},[336,2535,2536],{"class":350},")\n",[336,2538,2539,2542,2544,2546,2549],{"class":338,"line":550},[336,2540,2541],{"class":350},"        :",[336,2543,2519],{"class":403},[336,2545,406],{"class":350},[336,2547,2548],{"class":409},"allow",[336,2550,2551],{"class":350},"();\n",[336,2553,2554],{"class":338,"line":556},[336,2555,795],{"class":350},[326,2557,2559],{"className":803,"code":2558,"filename":805,"language":806,"meta":332,"style":332},"{\n  \"search\": {\n    \"gates\": [\"create\", \"update\"]\n  }\n}\n",[317,2560,2561,2565,2577,2606,2610],{"__ignoreMap":332},[336,2562,2563],{"class":338,"line":339},[336,2564,553],{"class":350},[336,2566,2567,2569,2571,2573,2575],{"class":338,"line":370},[336,2568,817],{"class":350},[336,2570,820],{"class":538},[336,2572,823],{"class":350},[336,2574,826],{"class":350},[336,2576,829],{"class":350},[336,2578,2579,2581,2583,2585,2587,2589,2591,2593,2595,2597,2599,2601,2603],{"class":338,"line":393},[336,2580,834],{"class":350},[336,2582,1310],{"class":403},[336,2584,823],{"class":350},[336,2586,826],{"class":350},[336,2588,1648],{"class":350},[336,2590,823],{"class":350},[336,2592,1861],{"class":419},[336,2594,823],{"class":350},[336,2596,425],{"class":350},[336,2598,860],{"class":350},[336,2600,1653],{"class":419},[336,2602,823],{"class":350},[336,2604,2605],{"class":350},"]\n",[336,2607,2608],{"class":338,"line":400},[336,2609,908],{"class":350},[336,2611,2612],{"class":338,"line":530},[336,2613,795],{"class":350},[326,2615,2617],{"className":803,"code":2616,"filename":916,"language":806,"meta":332,"style":332},"{\n  \"current_page\": 1,\n  \"data\": [\n    {\"id\": 2, \"category_id\": 1, \"name\": \"Floor lamp\", \"price\": 129, \"gates\": {\"authorized_to_update\": {\"allowed\": false, \"message\": \"Products above 100 are locked.\"}}},\n    {\"id\": 1, \"category_id\": 1, \"name\": \"Desk lamp\", \"price\": 39, \"gates\": {\"authorized_to_update\": {\"allowed\": true, \"message\": null}}}\n  ],\n  \"from\": 1,\n  \"last_page\": 1,\n  \"per_page\": 50,\n  \"to\": 2,\n  \"total\": 2,\n  \"meta\": {\"gates\": {\"authorized_to_create\": {\"allowed\": true, \"message\": null}}}\n}\n",[317,2618,2619,2623,2637,2649,2758,2856,2860,2874,2888,2902,2916,2930,2983],{"__ignoreMap":332},[336,2620,2621],{"class":338,"line":339},[336,2622,553],{"class":350},[336,2624,2625,2627,2629,2631,2633,2635],{"class":338,"line":370},[336,2626,817],{"class":350},[336,2628,929],{"class":538},[336,2630,823],{"class":350},[336,2632,826],{"class":350},[336,2634,936],{"class":342},[336,2636,939],{"class":350},[336,2638,2639,2641,2643,2645,2647],{"class":338,"line":393},[336,2640,817],{"class":350},[336,2642,946],{"class":538},[336,2644,823],{"class":350},[336,2646,826],{"class":350},[336,2648,621],{"class":350},[336,2650,2651,2653,2655,2657,2659,2661,2663,2665,2667,2669,2671,2673,2675,2677,2679,2681,2683,2685,2687,2690,2692,2694,2696,2698,2700,2702,2705,2707,2709,2711,2713,2715,2717,2719,2722,2724,2726,2728,2730,2733,2735,2737,2740,2742,2745,2747,2749,2751,2753,2755],{"class":338,"line":400},[336,2652,957],{"class":350},[336,2654,823],{"class":350},[336,2656,639],{"class":403},[336,2658,823],{"class":350},[336,2660,826],{"class":350},[336,2662,2030],{"class":342},[336,2664,425],{"class":350},[336,2666,860],{"class":350},[336,2668,661],{"class":403},[336,2670,823],{"class":350},[336,2672,826],{"class":350},[336,2674,936],{"class":342},[336,2676,425],{"class":350},[336,2678,860],{"class":350},[336,2680,682],{"class":403},[336,2682,823],{"class":350},[336,2684,826],{"class":350},[336,2686,860],{"class":350},[336,2688,2689],{"class":419},"Floor lamp",[336,2691,823],{"class":350},[336,2693,425],{"class":350},[336,2695,860],{"class":350},[336,2697,702],{"class":403},[336,2699,823],{"class":350},[336,2701,826],{"class":350},[336,2703,2704],{"class":342}," 129",[336,2706,425],{"class":350},[336,2708,860],{"class":350},[336,2710,1310],{"class":403},[336,2712,823],{"class":350},[336,2714,826],{"class":350},[336,2716,1573],{"class":350},[336,2718,823],{"class":350},[336,2720,2721],{"class":342},"authorized_to_update",[336,2723,823],{"class":350},[336,2725,826],{"class":350},[336,2727,1573],{"class":350},[336,2729,823],{"class":350},[336,2731,2732],{"class":1459},"allowed",[336,2734,823],{"class":350},[336,2736,826],{"class":350},[336,2738,2739],{"class":350}," false,",[336,2741,860],{"class":350},[336,2743,2744],{"class":1459},"message",[336,2746,823],{"class":350},[336,2748,826],{"class":350},[336,2750,860],{"class":350},[336,2752,2531],{"class":419},[336,2754,823],{"class":350},[336,2756,2757],{"class":350},"}}},\n",[336,2759,2760,2762,2764,2766,2768,2770,2772,2774,2776,2778,2780,2782,2784,2786,2788,2790,2792,2794,2796,2798,2800,2802,2804,2806,2808,2810,2812,2814,2816,2818,2820,2822,2824,2826,2828,2830,2832,2834,2836,2838,2840,2842,2845,2847,2849,2851,2853],{"class":338,"line":530},[336,2761,957],{"class":350},[336,2763,823],{"class":350},[336,2765,639],{"class":403},[336,2767,823],{"class":350},[336,2769,826],{"class":350},[336,2771,936],{"class":342},[336,2773,425],{"class":350},[336,2775,860],{"class":350},[336,2777,661],{"class":403},[336,2779,823],{"class":350},[336,2781,826],{"class":350},[336,2783,936],{"class":342},[336,2785,425],{"class":350},[336,2787,860],{"class":350},[336,2789,682],{"class":403},[336,2791,823],{"class":350},[336,2793,826],{"class":350},[336,2795,860],{"class":350},[336,2797,994],{"class":419},[336,2799,823],{"class":350},[336,2801,425],{"class":350},[336,2803,860],{"class":350},[336,2805,702],{"class":403},[336,2807,823],{"class":350},[336,2809,826],{"class":350},[336,2811,1009],{"class":342},[336,2813,425],{"class":350},[336,2815,860],{"class":350},[336,2817,1310],{"class":403},[336,2819,823],{"class":350},[336,2821,826],{"class":350},[336,2823,1573],{"class":350},[336,2825,823],{"class":350},[336,2827,2721],{"class":342},[336,2829,823],{"class":350},[336,2831,826],{"class":350},[336,2833,1573],{"class":350},[336,2835,823],{"class":350},[336,2837,2732],{"class":1459},[336,2839,823],{"class":350},[336,2841,826],{"class":350},[336,2843,2844],{"class":350}," true,",[336,2846,860],{"class":350},[336,2848,2744],{"class":1459},[336,2850,823],{"class":350},[336,2852,826],{"class":350},[336,2854,2855],{"class":350}," null}}}\n",[336,2857,2858],{"class":338,"line":535},[336,2859,1016],{"class":350},[336,2861,2862,2864,2866,2868,2870,2872],{"class":338,"line":550},[336,2863,817],{"class":350},[336,2865,1023],{"class":538},[336,2867,823],{"class":350},[336,2869,826],{"class":350},[336,2871,936],{"class":342},[336,2873,939],{"class":350},[336,2875,2876,2878,2880,2882,2884,2886],{"class":338,"line":556},[336,2877,817],{"class":350},[336,2879,1038],{"class":538},[336,2881,823],{"class":350},[336,2883,826],{"class":350},[336,2885,936],{"class":342},[336,2887,939],{"class":350},[336,2889,2890,2892,2894,2896,2898,2900],{"class":338,"line":586},[336,2891,817],{"class":350},[336,2893,1053],{"class":538},[336,2895,823],{"class":350},[336,2897,826],{"class":350},[336,2899,1060],{"class":342},[336,2901,939],{"class":350},[336,2903,2904,2906,2908,2910,2912,2914],{"class":338,"line":591},[336,2905,817],{"class":350},[336,2907,1069],{"class":538},[336,2909,823],{"class":350},[336,2911,826],{"class":350},[336,2913,2030],{"class":342},[336,2915,939],{"class":350},[336,2917,2918,2920,2922,2924,2926,2928],{"class":338,"line":608},[336,2919,817],{"class":350},[336,2921,1084],{"class":538},[336,2923,823],{"class":350},[336,2925,826],{"class":350},[336,2927,2030],{"class":342},[336,2929,939],{"class":350},[336,2931,2932,2934,2936,2938,2940,2942,2944,2946,2948,2950,2952,2954,2957,2959,2961,2963,2965,2967,2969,2971,2973,2975,2977,2979,2981],{"class":338,"line":614},[336,2933,817],{"class":350},[336,2935,1099],{"class":538},[336,2937,823],{"class":350},[336,2939,826],{"class":350},[336,2941,1573],{"class":350},[336,2943,823],{"class":350},[336,2945,1310],{"class":403},[336,2947,823],{"class":350},[336,2949,826],{"class":350},[336,2951,1573],{"class":350},[336,2953,823],{"class":350},[336,2955,2956],{"class":342},"authorized_to_create",[336,2958,823],{"class":350},[336,2960,826],{"class":350},[336,2962,1573],{"class":350},[336,2964,823],{"class":350},[336,2966,2732],{"class":1459},[336,2968,823],{"class":350},[336,2970,826],{"class":350},[336,2972,2844],{"class":350},[336,2974,860],{"class":350},[336,2976,2744],{"class":1459},[336,2978,823],{"class":350},[336,2980,826],{"class":350},[336,2982,2855],{"class":350},[336,2984,2985],{"class":338,"line":624},[336,2986,795],{"class":350},[1690,2988,2989,3035,3048,3059,3067,3090,3103],{},[1693,2990,2991,2993,2994,1217,2997,1217,2999,1217,3001,1217,3003,1217,3006,3009,3010,3013,3014,1230,3016,3018,3019,3022,3023,3026,3027,3030,3031,3034],{},[317,2992,1310],{}," takes ",[317,2995,2996],{},"view",[317,2998,1861],{},[317,3000,1653],{},[317,3002,1662],{},[317,3004,3005],{},"restore",[317,3007,3008],{},"forceDelete"," and the gates that the resource declares in ",[317,3011,3012],{},"gates()",", each once. ",[317,3015,3005],{},[317,3017,3008],{}," are gates only when the model uses ",[317,3020,3021],{},"SoftDeletes",": on another resource they give the 422 of an unknown gate. ",[317,3024,3025],{},"viewAny"," or another name gives ",[317,3028,3029],{},"The selected search.gates.0 is invalid.",", and an ability listed twice gives ",[317,3032,3033],{},"The search.gates.0 field has a duplicate value."," on each copy.",[1693,3036,3037,3038,1871,3041,3043,3044,3047],{},"Each answer is ",[317,3039,3040],{},"{\"allowed\": bool, \"message\": string|null}",[317,3042,2744],{}," comes from a ",[317,3045,3046],{},"Response::deny('...')"," of the policy.",[1693,3049,1858,3050,3052,3053,3055,3056,1741],{},[317,3051,1861],{}," answer goes to ",[317,3054,1099],{},". A row without answers returns ",[317,3057,3058],{},"\"gates\": {}",[1693,3060,3061,3062,3064,3065,1741],{},"Includes take ",[317,3063,1310],{}," too, with the abilities of their resource, except ",[317,3066,1861],{},[1693,3068,3069,1217,3071,1217,3073,1230,3075,3077,3078,3080,3081,1230,3083,3085,3086,3089],{},[317,3070,1653],{},[317,3072,1662],{},[317,3074,3005],{},[317,3076,3008],{}," answer ",[317,3079,2385],{}," without calling the policy for a row that their endpoint would refuse: a trashed row for ",[317,3082,1653],{},[317,3084,1662],{},", or a row of a search engine page that ",[317,3087,3088],{},"perimeterQuery()"," leaves out.",[1693,3091,3092,3093,3095,3096,3099,3100,1741],{},"A policy reads the columns that the search loaded. A column that it reads and that ",[317,3094,1182],{}," leaves out throws ",[317,3097,3098],{},"MissingColumnException",": list it in ",[317,3101,3102],{},"alwaysSelect()",[1693,3104,3105,3106,3108,3109,3112,3113,3116,3117,3120,3121,3123,3124,3126,3127,3129,3130],{},"The key ",[317,3107,1310],{}," and the names of the answers come from ",[317,3110,3111],{},"rest.gates"," in ",[317,3114,3115],{},"config\u002Frest.php",". A resource whose ",[317,3118,3119],{},"isGatingEnabled()"," returns ",[317,3122,2385],{}," accepts ",[317,3125,1310],{}," at the root of a search and answers none. In an include of such a resource, ",[317,3128,1310],{}," gives ",[317,3131,3132],{},"The search.includes.0.gates field is prohibited: the included resource turns its gates off.",[313,3134,3135,3136,3138],{},"See ",[1159,3137,158],{"href":159}," for declared gates and renamed answers.",[797,3140,1870],{"id":1099},[313,3142,3143,3145,3146,3148,3149,3151,3152,1741],{},[317,3144,1099],{}," holds the ",[317,3147,1861],{}," gate, then the keys that the resource adds with ",[317,3150,1865],{},", then the meta of the instructions under ",[317,3153,1259],{},[326,3155,3157],{"className":328,"code":3156,"language":331,"meta":332,"style":332},"use Illuminate\\Contracts\\Pagination\\LengthAwarePaginator;\nuse Lomkit\\Rest\\Search\\SearchContext;\n\nclass PostResource extends Resource\n{\n    public function searchMeta(SearchContext $search, LengthAwarePaginator $page): array\n    {\n        return [\n            'views' => array_sum(array_map(fn (Post $post): int => $post->views, $page->items())),\n            'total' => $page->total(),\n            'titled' => $search->filtersOn('title'),\n        ];\n    }\n}\n",[317,3158,3159,3181,3202,3206,3217,3221,3251,3255,3261,3326,3347,3378,3382,3386],{"__ignoreMap":332},[336,3160,3161,3163,3165,3167,3170,3172,3174,3176,3179],{"class":338,"line":339},[336,3162,343],{"class":342},[336,3164,2430],{"class":346},[336,3166,351],{"class":350},[336,3168,3169],{"class":346},"Contracts",[336,3171,351],{"class":350},[336,3173,1337],{"class":346},[336,3175,351],{"class":350},[336,3177,3178],{"class":346},"LengthAwarePaginator",[336,3180,367],{"class":350},[336,3182,3183,3185,3187,3189,3191,3193,3195,3197,3200],{"class":338,"line":370},[336,3184,343],{"class":342},[336,3186,375],{"class":346},[336,3188,351],{"class":350},[336,3190,354],{"class":346},[336,3192,351],{"class":350},[336,3194,62],{"class":346},[336,3196,351],{"class":350},[336,3198,3199],{"class":346},"SearchContext",[336,3201,367],{"class":350},[336,3203,3204],{"class":338,"line":393},[336,3205,397],{"emptyLinePlaceholder":396},[336,3207,3208,3210,3213,3215],{"class":338,"line":400},[336,3209,433],{"class":538},[336,3211,3212],{"class":403}," PostResource",[336,3214,544],{"class":538},[336,3216,547],{"class":403},[336,3218,3219],{"class":338,"line":530},[336,3220,553],{"class":350},[336,3222,3223,3225,3227,3230,3232,3234,3236,3238,3240,3243,3245,3247,3249],{"class":338,"line":535},[336,3224,559],{"class":538},[336,3226,596],{"class":538},[336,3228,3229],{"class":409}," searchMeta",[336,3231,413],{"class":350},[336,3233,3199],{"class":403},[336,3235,568],{"class":350},[336,3237,820],{"class":346},[336,3239,425],{"class":350},[336,3241,3242],{"class":403}," LengthAwarePaginator",[336,3244,568],{"class":350},[336,3246,1325],{"class":346},[336,3248,2483],{"class":350},[336,3250,605],{"class":342},[336,3252,3253],{"class":338,"line":550},[336,3254,611],{"class":350},[336,3256,3257,3259],{"class":338,"line":556},[336,3258,618],{"class":617},[336,3260,621],{"class":350},[336,3262,3263,3266,3269,3271,3274,3277,3279,3282,3284,3287,3290,3293,3295,3298,3300,3302,3304,3306,3308,3310,3312,3314,3316,3318,3320,3323],{"class":338,"line":586},[336,3264,3265],{"class":350},"            '",[336,3267,3268],{"class":419},"views",[336,3270,416],{"class":350},[336,3272,3273],{"class":350}," =>",[336,3275,3276],{"class":409}," array_sum",[336,3278,413],{"class":350},[336,3280,3281],{"class":409},"array_map",[336,3283,413],{"class":350},[336,3285,3286],{"class":538},"fn",[336,3288,3289],{"class":350}," (",[336,3291,3292],{"class":403},"Post",[336,3294,568],{"class":350},[336,3296,3297],{"class":346},"post",[336,3299,2483],{"class":350},[336,3301,1935],{"class":342},[336,3303,3273],{"class":350},[336,3305,568],{"class":350},[336,3307,3297],{"class":346},[336,3309,2502],{"class":350},[336,3311,3268],{"class":346},[336,3313,425],{"class":350},[336,3315,568],{"class":350},[336,3317,1325],{"class":346},[336,3319,2502],{"class":350},[336,3321,3322],{"class":409},"items",[336,3324,3325],{"class":350},"())),\n",[336,3327,3328,3330,3332,3334,3336,3338,3340,3342,3344],{"class":338,"line":591},[336,3329,3265],{"class":350},[336,3331,1084],{"class":419},[336,3333,416],{"class":350},[336,3335,3273],{"class":350},[336,3337,568],{"class":350},[336,3339,1325],{"class":346},[336,3341,2502],{"class":350},[336,3343,1084],{"class":409},[336,3345,3346],{"class":350},"(),\n",[336,3348,3349,3351,3354,3356,3358,3360,3362,3364,3367,3369,3371,3374,3376],{"class":338,"line":608},[336,3350,3265],{"class":350},[336,3352,3353],{"class":419},"titled",[336,3355,416],{"class":350},[336,3357,3273],{"class":350},[336,3359,568],{"class":350},[336,3361,820],{"class":346},[336,3363,2502],{"class":350},[336,3365,3366],{"class":409},"filtersOn",[336,3368,413],{"class":350},[336,3370,416],{"class":350},[336,3372,3373],{"class":419},"title",[336,3375,416],{"class":350},[336,3377,644],{"class":350},[336,3379,3380],{"class":338,"line":614},[336,3381,712],{"class":350},[336,3383,3384],{"class":338,"line":624},[336,3385,718],{"class":350},[336,3387,3388],{"class":338,"line":647},[336,3389,795],{"class":350},[326,3391,3394],{"className":803,"code":3392,"filename":3393,"language":806,"meta":332,"style":332},"{\n  \"search\": {\n    \"filters\": [{\"field\": \"views\", \"operator\": \">=\", \"value\": 100}],\n    \"gates\": [\"create\"]\n  }\n}\n","POST \u002Fapi\u002Fposts\u002Fsearch",[317,3395,3396,3400,3412,3468,3488,3492],{"__ignoreMap":332},[336,3397,3398],{"class":338,"line":339},[336,3399,553],{"class":350},[336,3401,3402,3404,3406,3408,3410],{"class":338,"line":370},[336,3403,817],{"class":350},[336,3405,820],{"class":538},[336,3407,823],{"class":350},[336,3409,826],{"class":350},[336,3411,829],{"class":350},[336,3413,3414,3416,3418,3420,3422,3424,3426,3428,3430,3432,3434,3436,3438,3440,3442,3444,3446,3448,3450,3452,3454,3456,3458,3460,3462,3464,3466],{"class":338,"line":393},[336,3415,834],{"class":350},[336,3417,837],{"class":403},[336,3419,823],{"class":350},[336,3421,826],{"class":350},[336,3423,1454],{"class":350},[336,3425,823],{"class":350},[336,3427,853],{"class":342},[336,3429,823],{"class":350},[336,3431,826],{"class":350},[336,3433,860],{"class":350},[336,3435,3268],{"class":419},[336,3437,823],{"class":350},[336,3439,425],{"class":350},[336,3441,860],{"class":350},[336,3443,871],{"class":342},[336,3445,823],{"class":350},[336,3447,826],{"class":350},[336,3449,860],{"class":350},[336,3451,1403],{"class":419},[336,3453,823],{"class":350},[336,3455,425],{"class":350},[336,3457,860],{"class":350},[336,3459,889],{"class":342},[336,3461,823],{"class":350},[336,3463,826],{"class":350},[336,3465,896],{"class":342},[336,3467,1541],{"class":350},[336,3469,3470,3472,3474,3476,3478,3480,3482,3484,3486],{"class":338,"line":400},[336,3471,834],{"class":350},[336,3473,1310],{"class":403},[336,3475,823],{"class":350},[336,3477,826],{"class":350},[336,3479,1648],{"class":350},[336,3481,823],{"class":350},[336,3483,1861],{"class":419},[336,3485,823],{"class":350},[336,3487,2605],{"class":350},[336,3489,3490],{"class":338,"line":530},[336,3491,908],{"class":350},[336,3493,3494],{"class":338,"line":535},[336,3495,795],{"class":350},[326,3497,3499],{"className":803,"code":3498,"filename":916,"language":806,"meta":332,"style":332},"{\n  \"current_page\": 1,\n  \"data\": [...],\n  \"from\": 1,\n  \"last_page\": 1,\n  \"per_page\": 50,\n  \"to\": 2,\n  \"total\": 2,\n  \"meta\": {\n    \"gates\": {\"authorized_to_create\": {\"allowed\": true, \"message\": null}},\n    \"views\": 450,\n    \"total\": 2,\n    \"titled\": false\n  }\n}\n",[317,3500,3501,3505,3519,3535,3549,3563,3577,3591,3605,3617,3660,3675,3689,3702,3706],{"__ignoreMap":332},[336,3502,3503],{"class":338,"line":339},[336,3504,553],{"class":350},[336,3506,3507,3509,3511,3513,3515,3517],{"class":338,"line":370},[336,3508,817],{"class":350},[336,3510,929],{"class":538},[336,3512,823],{"class":350},[336,3514,826],{"class":350},[336,3516,936],{"class":342},[336,3518,939],{"class":350},[336,3520,3521,3523,3525,3527,3529,3531,3533],{"class":338,"line":393},[336,3522,817],{"class":350},[336,3524,946],{"class":538},[336,3526,823],{"class":350},[336,3528,826],{"class":350},[336,3530,1648],{"class":350},[336,3532,2249],{"class":346},[336,3534,1667],{"class":350},[336,3536,3537,3539,3541,3543,3545,3547],{"class":338,"line":400},[336,3538,817],{"class":350},[336,3540,1023],{"class":538},[336,3542,823],{"class":350},[336,3544,826],{"class":350},[336,3546,936],{"class":342},[336,3548,939],{"class":350},[336,3550,3551,3553,3555,3557,3559,3561],{"class":338,"line":530},[336,3552,817],{"class":350},[336,3554,1038],{"class":538},[336,3556,823],{"class":350},[336,3558,826],{"class":350},[336,3560,936],{"class":342},[336,3562,939],{"class":350},[336,3564,3565,3567,3569,3571,3573,3575],{"class":338,"line":535},[336,3566,817],{"class":350},[336,3568,1053],{"class":538},[336,3570,823],{"class":350},[336,3572,826],{"class":350},[336,3574,1060],{"class":342},[336,3576,939],{"class":350},[336,3578,3579,3581,3583,3585,3587,3589],{"class":338,"line":550},[336,3580,817],{"class":350},[336,3582,1069],{"class":538},[336,3584,823],{"class":350},[336,3586,826],{"class":350},[336,3588,2030],{"class":342},[336,3590,939],{"class":350},[336,3592,3593,3595,3597,3599,3601,3603],{"class":338,"line":556},[336,3594,817],{"class":350},[336,3596,1084],{"class":538},[336,3598,823],{"class":350},[336,3600,826],{"class":350},[336,3602,2030],{"class":342},[336,3604,939],{"class":350},[336,3606,3607,3609,3611,3613,3615],{"class":338,"line":586},[336,3608,817],{"class":350},[336,3610,1099],{"class":538},[336,3612,823],{"class":350},[336,3614,826],{"class":350},[336,3616,829],{"class":350},[336,3618,3619,3621,3623,3625,3627,3629,3631,3633,3635,3637,3639,3641,3643,3645,3647,3649,3651,3653,3655,3657],{"class":338,"line":591},[336,3620,834],{"class":350},[336,3622,1310],{"class":403},[336,3624,823],{"class":350},[336,3626,826],{"class":350},[336,3628,1573],{"class":350},[336,3630,823],{"class":350},[336,3632,2956],{"class":342},[336,3634,823],{"class":350},[336,3636,826],{"class":350},[336,3638,1573],{"class":350},[336,3640,823],{"class":350},[336,3642,2732],{"class":1459},[336,3644,823],{"class":350},[336,3646,826],{"class":350},[336,3648,2844],{"class":350},[336,3650,860],{"class":350},[336,3652,2744],{"class":1459},[336,3654,823],{"class":350},[336,3656,826],{"class":350},[336,3658,3659],{"class":350}," null}},\n",[336,3661,3662,3664,3666,3668,3670,3673],{"class":338,"line":608},[336,3663,834],{"class":350},[336,3665,3268],{"class":403},[336,3667,823],{"class":350},[336,3669,826],{"class":350},[336,3671,3672],{"class":342}," 450",[336,3674,939],{"class":350},[336,3676,3677,3679,3681,3683,3685,3687],{"class":338,"line":614},[336,3678,834],{"class":350},[336,3680,1084],{"class":403},[336,3682,823],{"class":350},[336,3684,826],{"class":350},[336,3686,2030],{"class":342},[336,3688,939],{"class":350},[336,3690,3691,3693,3695,3697,3699],{"class":338,"line":624},[336,3692,834],{"class":350},[336,3694,3353],{"class":403},[336,3696,823],{"class":350},[336,3698,826],{"class":350},[336,3700,3701],{"class":350}," false\n",[336,3703,3704],{"class":338,"line":647},[336,3705,908],{"class":350},[336,3707,3708],{"class":338,"line":668},[336,3709,795],{"class":350},[1690,3711,3712,3724,3732,3743,3746],{},[1693,3713,3714,3120,3716,3719,3720,3723],{},[317,3715,1865],{},[317,3717,3718],{},"[]"," by default. It runs after the ",[317,3721,3722],{},"searched()"," event, with the same page, on the database and on a search engine.",[1693,3725,3726,3727,3729,3730,1741],{},"It reads the rows under the same column check as the rest of the response: a column that the search did not load throws ",[317,3728,3098],{},". List such a column in ",[317,3731,3102],{},[1693,3733,3734,3735,3737,3738,1217,3740],{},"The gates key and ",[317,3736,1259],{}," are filled by the package: returning one of them throws ",[317,3739,2087],{},[317,3741,3742],{},"The resource [App\\Rest\\Resources\\PostResource] returns the key [gates] from searchMeta(), which the package fills in the meta of a search page. Rename the key.",[1693,3744,3745],{},"It does not run for the rows of an action, a mutation or a deletion.",[1693,3747,3748,3749,1738,3752,1741],{},"An instruction adds its own object under ",[317,3750,3751],{},"meta.instructions",[1159,3753,84],{"href":3754},"\u002Fsearch\u002Fscopes-and-instructions#instruction-meta",[797,3756,3758],{"id":3757},"refusing-a-search","Refusing a search",[313,3760,1858,3761,3764,3765,3767,3768,3771],{},[317,3762,3763],{},"searching()"," event of the resource receives a ",[317,3766,3199],{}," once the payload is valid. Throw a ",[317,3769,3770],{},"ValidationException"," there to answer a 422 before any query runs.",[326,3773,3775],{"className":328,"code":3774,"language":331,"meta":332,"style":332},"use Illuminate\\Validation\\ValidationException;\nuse Lomkit\\Rest\\Search\\SearchContext;\n\npublic function searching(SearchContext $search): void\n{\n    if ($search->filtersOn('starts_at') && ! $search->filtersOn('ends_at')) {\n        throw ValidationException::withMessages(['search.filters' => 'A starts_at filter needs an ends_at filter.']);\n    }\n}\n",[317,3776,3777,3793,3813,3817,3839,3843,3896,3932,3936],{"__ignoreMap":332},[336,3778,3779,3781,3783,3785,3787,3789,3791],{"class":338,"line":339},[336,3780,343],{"class":342},[336,3782,2430],{"class":346},[336,3784,351],{"class":350},[336,3786,50],{"class":346},[336,3788,351],{"class":350},[336,3790,3770],{"class":346},[336,3792,367],{"class":350},[336,3794,3795,3797,3799,3801,3803,3805,3807,3809,3811],{"class":338,"line":370},[336,3796,343],{"class":342},[336,3798,375],{"class":346},[336,3800,351],{"class":350},[336,3802,354],{"class":346},[336,3804,351],{"class":350},[336,3806,62],{"class":346},[336,3808,351],{"class":350},[336,3810,3199],{"class":346},[336,3812,367],{"class":350},[336,3814,3815],{"class":338,"line":393},[336,3816,397],{"emptyLinePlaceholder":396},[336,3818,3819,3821,3823,3826,3828,3830,3832,3834,3836],{"class":338,"line":400},[336,3820,2456],{"class":538},[336,3822,596],{"class":538},[336,3824,3825],{"class":409}," searching",[336,3827,413],{"class":350},[336,3829,3199],{"class":403},[336,3831,568],{"class":350},[336,3833,820],{"class":346},[336,3835,2483],{"class":350},[336,3837,3838],{"class":342}," void\n",[336,3840,3841],{"class":338,"line":530},[336,3842,553],{"class":350},[336,3844,3845,3848,3851,3853,3855,3857,3859,3861,3864,3866,3868,3871,3874,3876,3878,3880,3882,3884,3886,3889,3891,3894],{"class":338,"line":535},[336,3846,3847],{"class":617},"    if",[336,3849,3850],{"class":350}," ($",[336,3852,820],{"class":346},[336,3854,2502],{"class":350},[336,3856,3366],{"class":409},[336,3858,413],{"class":350},[336,3860,416],{"class":350},[336,3862,3863],{"class":419},"starts_at",[336,3865,416],{"class":350},[336,3867,1298],{"class":350},[336,3869,3870],{"class":350}," &&",[336,3872,3873],{"class":350}," !",[336,3875,568],{"class":350},[336,3877,820],{"class":346},[336,3879,2502],{"class":350},[336,3881,3366],{"class":409},[336,3883,413],{"class":350},[336,3885,416],{"class":350},[336,3887,3888],{"class":419},"ends_at",[336,3890,416],{"class":350},[336,3892,3893],{"class":350},"))",[336,3895,829],{"class":350},[336,3897,3898,3901,3904,3906,3909,3912,3914,3917,3919,3921,3924,3927,3929],{"class":338,"line":550},[336,3899,3900],{"class":617},"        throw",[336,3902,3903],{"class":403}," ValidationException",[336,3905,406],{"class":350},[336,3907,3908],{"class":409},"withMessages",[336,3910,3911],{"class":350},"([",[336,3913,416],{"class":350},[336,3915,3916],{"class":419},"search.filters",[336,3918,416],{"class":350},[336,3920,3273],{"class":350},[336,3922,3923],{"class":350}," '",[336,3925,3926],{"class":419},"A starts_at filter needs an ends_at filter.",[336,3928,416],{"class":350},[336,3930,3931],{"class":350},"]);\n",[336,3933,3934],{"class":338,"line":556},[336,3935,718],{"class":350},[336,3937,3938],{"class":338,"line":586},[336,3939,795],{"class":350},[1690,3941,3942,3967,3973],{},[1693,3943,3944,1230,3947,3950,3951,3954,3955,1230,3958,3961,3962,1230,3964,3966],{},[317,3945,3946],{},"filtersOn($path)",[317,3948,3949],{},"sortsOn($field)"," tell whether the search filters or sorts on a field, a relation path such as ",[317,3952,3953],{},"author.last_name",", or the key of an aggregate. ",[317,3956,3957],{},"scopes()",[317,3959,3960],{},"includes()"," list the names of its scopes and includes, and ",[317,3963,1273],{},[317,3965,1287],{}," hold those parts of the search.",[1693,3968,3969,3970,1741],{},"The filters of nested groups and relation groups are read as one flat list: a filter of a relation group takes the relation as a prefix, ",[317,3971,3972],{},"posts.status",[1693,3974,3975,3976,3979,3980,3982],{},"Read the validated search with ",[317,3977,3978],{},"$request->payload()",". A change of the ",[317,3981,820],{}," input after validation does not change the search.",[313,3984,3135,3985,3988,3989,3991],{},[1159,3986,3987],{"href":177},"Events and hooks"," for ",[317,3990,3722],{}," and the other events.",[797,3993,3995],{"id":3994},"authorization-and-perimeter","Authorization and perimeter",[1690,3997,3998,4011,4017],{},[1693,3999,4000,4002,4003,4006,4007,4010],{},[317,4001,3025],{}," is checked on the resource before validation and before any query: a denial answers ",[317,4004,4005],{},"403"," with ",[317,4008,4009],{},"{\"message\": \"This action is unauthorized.\"}",", or the message of the policy, even for a payload that validation would refuse.",[1693,4012,4013,4014,4016],{},"Each resource that the payload reaches through an include, an aggregate, a relation filter or a relation sort needs ",[317,4015,3025],{}," too, checked the same way.",[1693,4018,4019,4021,4022,1741],{},[317,4020,3088],{}," of the resource limits the rows at every level: the rows of the search, its includes, its aggregates and the related rows of its filters. See ",[1159,4023,54],{"href":55},[797,4025,4027],{"id":4026},"errors","Errors",[313,4029,4030,4031,4034],{},"A payload that the resource refuses answers ",[317,4032,4033],{},"422",", with one message per key:",[326,4036,4039],{"className":803,"code":4037,"filename":4038,"language":806,"meta":332,"style":332},"{\n  \"message\": \"The selected search.limit is invalid.\",\n  \"errors\": {\n    \"search.limit\": [\"The selected search.limit is invalid.\"]\n  }\n}\n","422 Unprocessable Content",[317,4040,4041,4045,4063,4075,4096,4100],{"__ignoreMap":332},[336,4042,4043],{"class":338,"line":339},[336,4044,553],{"class":350},[336,4046,4047,4049,4051,4053,4055,4057,4059,4061],{"class":338,"line":370},[336,4048,817],{"class":350},[336,4050,2744],{"class":538},[336,4052,823],{"class":350},[336,4054,826],{"class":350},[336,4056,860],{"class":350},[336,4058,2069],{"class":419},[336,4060,823],{"class":350},[336,4062,939],{"class":350},[336,4064,4065,4067,4069,4071,4073],{"class":338,"line":393},[336,4066,817],{"class":350},[336,4068,4026],{"class":538},[336,4070,823],{"class":350},[336,4072,826],{"class":350},[336,4074,829],{"class":350},[336,4076,4077,4079,4082,4084,4086,4088,4090,4092,4094],{"class":338,"line":400},[336,4078,834],{"class":350},[336,4080,4081],{"class":403},"search.limit",[336,4083,823],{"class":350},[336,4085,826],{"class":350},[336,4087,1648],{"class":350},[336,4089,823],{"class":350},[336,4091,2069],{"class":419},[336,4093,823],{"class":350},[336,4095,2605],{"class":350},[336,4097,4098],{"class":338,"line":530},[336,4099,908],{"class":350},[336,4101,4102],{"class":338,"line":535},[336,4103,795],{"class":350},[1125,4105,4106,4116],{},[1128,4107,4108],{},[1131,4109,4110,4113],{},[1134,4111,4112],{},"Status",[1134,4114,4115],{},"When",[1144,4117,4118,4129,4138],{},[1131,4119,4120,4124],{},[1149,4121,4122],{},[317,4123,4005],{},[1149,4125,4126,4128],{},[317,4127,3025],{}," is denied on the resource, or on a resource that the payload reaches",[1131,4130,4131,4135],{},[1149,4132,4133],{},[317,4134,4033],{},[1149,4136,4137],{},"A key, a field, an operator, a value, a relation or a limit that the resource does not accept",[1131,4139,4140,4145],{},[1149,4141,4142],{},[317,4143,4144],{},"500",[1149,4146,4147,4148,4150,4151,4153,4154,4157,4158,4160],{},"A declaration error of the resource, such as a ",[317,4149,1822],{}," outside ",[317,4152,2062],{},", or a column that a policy, ",[317,4155,4156],{},"map()"," or ",[317,4159,1865],{}," reads and the search did not load",[4162,4163,4164],"style",{},"html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .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 .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 .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}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 .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":332,"searchDepth":339,"depth":370,"links":4166},[4167,4168,4169,4170,4174,4175,4176,4177,4178],{"id":799,"depth":370,"text":800},{"id":1122,"depth":370,"text":1123},{"id":1744,"depth":370,"text":1745},{"id":1909,"depth":370,"text":1337,"children":4171},[4172,4173],{"id":2140,"depth":393,"text":2141},{"id":2162,"depth":393,"text":1849},{"id":1310,"depth":370,"text":158},{"id":1099,"depth":370,"text":1870},{"id":3757,"depth":370,"text":3758},{"id":3994,"depth":370,"text":3995},{"id":4026,"depth":370,"text":4027},"The search endpoint reads the rows of a resource with filters, sorts, includes, aggregates and pagination, inside the perimeter of the user.","md",null,{},{"title":68,"description":4179},{"loc":69},"Bp7P7EcKGcinPO2quDnRKYS5yyeh8d5K17fDpiOLYcs",[4187,4189],{"title":58,"path":59,"stem":60,"description":4188,"children":-1},"Page sizes, include limits, capped totals, and the limits of rest.limits on lists, depths, totals, values, response rows, action jobs and metric groups.",{"title":72,"path":73,"stem":74,"description":4190,"children":-1},"Keep the rows that match conditions on fields, relation paths, pivot fields and related rows, with the operators that each field type accepts.",1794181349061]