[{"data":1,"prerenderedAt":5605},["ShallowReactive",2],{"navigation-landing-en":3,"navigation-nuxt-auto-en":180,"navigation-nuxt-protokit-en":338,"/docs/nuxt-auto/auto-api/bulk-operations-en":444,"/docs/nuxt-auto/auto-api/bulk-operations-surround-en":5600},[4,8,13,28,41,51,64,77,94,110,134,150,157,172],{"title":5,"path":6,"stem":7},"Overview","/docs/landing","0.docs/1.landing/001.index",{"title":9,"path":10,"stem":11,"badge":12},"Built-in Features","/docs/landing/built-in-features","0.docs/1.landing/002.built-in-features","New",{"title":14,"path":15,"stem":16,"children":17,"icon":27},"Content Foundation","/docs/landing/content","0.docs/1.landing/02.content/1.index",[18,19,23],{"title":5,"path":15,"stem":16},{"title":20,"path":21,"stem":22},"Details","/docs/landing/content/details","0.docs/1.landing/02.content/2.details",{"title":24,"path":25,"stem":26},"Technical","/docs/landing/content/technical","0.docs/1.landing/02.content/4.technical","i-heroicons-document-text",{"title":29,"path":30,"stem":31,"children":32,"icon":40},"Regional Content","/docs/landing/regional","0.docs/1.landing/03.regional/1.index",[33,34,37],{"title":5,"path":30,"stem":31},{"title":20,"path":35,"stem":36},"/docs/landing/regional/details","0.docs/1.landing/03.regional/2.details",{"title":24,"path":38,"stem":39},"/docs/landing/regional/technical","0.docs/1.landing/03.regional/4.technical","i-heroicons-globe-alt",{"title":42,"path":43,"stem":44,"children":45,"icon":50},"Multi-language","/docs/landing/multilang","0.docs/1.landing/04.multilang/1.index",[46,47],{"title":5,"path":43,"stem":44},{"title":20,"path":48,"stem":49},"/docs/landing/multilang/details","0.docs/1.landing/04.multilang/2.details","i-heroicons-language",{"title":52,"path":53,"stem":54,"children":55,"icon":63},"Blog","/docs/landing/blog","0.docs/1.landing/05.blog/1.index",[56,57,60],{"title":5,"path":53,"stem":54},{"title":20,"path":58,"stem":59},"/docs/landing/blog/details","0.docs/1.landing/05.blog/2.details",{"title":24,"path":61,"stem":62},"/docs/landing/blog/technical","0.docs/1.landing/05.blog/4.technical","i-heroicons-pencil-square",{"title":65,"path":66,"stem":67,"children":68,"icon":76},"Documentation","/docs/landing/docs","0.docs/1.landing/06.docs/1.index",[69,70,73],{"title":5,"path":66,"stem":67},{"title":20,"path":71,"stem":72},"/docs/landing/docs/details","0.docs/1.landing/06.docs/2.details",{"title":24,"path":74,"stem":75},"/docs/landing/docs/technical","0.docs/1.landing/06.docs/4.technical","i-heroicons-book-open",{"title":78,"path":79,"stem":80,"children":81,"icon":93},"Forms","/docs/landing/forms","0.docs/1.landing/07.forms/1.index",[82,83,86,90],{"title":5,"path":79,"stem":80},{"title":20,"path":84,"stem":85},"/docs/landing/forms/details","0.docs/1.landing/07.forms/2.details",{"title":87,"path":88,"stem":89},"Admin","/docs/landing/forms/admin","0.docs/1.landing/07.forms/3.admin",{"title":24,"path":91,"stem":92},"/docs/landing/forms/technical","0.docs/1.landing/07.forms/4.technical","i-heroicons-clipboard-document-list",{"title":95,"path":96,"stem":97,"children":98,"icon":109},"Email","/docs/landing/email","0.docs/1.landing/08.email/1.index",[99,100,103,106],{"title":5,"path":96,"stem":97},{"title":20,"path":101,"stem":102},"/docs/landing/email/details","0.docs/1.landing/08.email/2.details",{"title":87,"path":104,"stem":105},"/docs/landing/email/admin","0.docs/1.landing/08.email/3.admin",{"title":24,"path":107,"stem":108},"/docs/landing/email/technical","0.docs/1.landing/08.email/4.technical","i-heroicons-envelope",{"title":111,"path":112,"stem":113,"children":114,"icon":133},"Feedback Platform","/docs/landing/feedback","0.docs/1.landing/09.feedback/1.index",[115,116,119,122,125,129],{"title":5,"path":112,"stem":113},{"title":20,"path":117,"stem":118},"/docs/landing/feedback/details","0.docs/1.landing/09.feedback/2.details",{"title":87,"path":120,"stem":121},"/docs/landing/feedback/admin","0.docs/1.landing/09.feedback/3.admin",{"title":24,"path":123,"stem":124},"/docs/landing/feedback/technical","0.docs/1.landing/09.feedback/4.technical",{"title":126,"path":127,"stem":128},"Compare vs SaaS","/docs/landing/feedback/compare","0.docs/1.landing/09.feedback/5.compare",{"title":130,"path":131,"stem":132},"FAQ","/docs/landing/feedback/faq","0.docs/1.landing/09.feedback/6.faq","i-heroicons-chat-bubble-left-right",{"title":135,"path":136,"stem":137,"children":138,"icon":149},"Storage","/docs/landing/storage","0.docs/1.landing/10.storage/1.index",[139,140,143,146],{"title":5,"path":136,"stem":137},{"title":20,"path":141,"stem":142},"/docs/landing/storage/details","0.docs/1.landing/10.storage/2.details",{"title":87,"path":144,"stem":145},"/docs/landing/storage/admin","0.docs/1.landing/10.storage/3.admin",{"title":24,"path":147,"stem":148},"/docs/landing/storage/technical","0.docs/1.landing/10.storage/4.technical","i-heroicons-circle-stack",{"title":151,"path":152,"stem":153,"children":154,"icon":156},"Offline First","/docs/landing/offline-first","0.docs/1.landing/11.offline-first/1.index",[155],{"title":151,"path":152,"stem":153},"i-heroicons-users",{"title":158,"path":159,"stem":160,"children":161,"icon":156},"Yjs Sync","/docs/landing/yjs-sync","0.docs/1.landing/12.yjs-sync/1.index",[162,163,166,169],{"title":5,"path":159,"stem":160},{"title":20,"path":164,"stem":165},"/docs/landing/yjs-sync/details","0.docs/1.landing/12.yjs-sync/2.details",{"title":87,"path":167,"stem":168},"/docs/landing/yjs-sync/admin","0.docs/1.landing/12.yjs-sync/3.admin",{"title":24,"path":170,"stem":171},"/docs/landing/yjs-sync/technical","0.docs/1.landing/12.yjs-sync/4.technical",{"title":173,"path":174,"stem":175,"children":176,"badge":178,"icon":179},"Newsletter","/docs/landing/newsletter","0.docs/1.landing/13.newsletter/index",[177],{"title":173,"path":174,"stem":175,"badge":178},"Coming Soon","i-lucide-send",[181,184,202,298],{"title":5,"path":182,"stem":183},"/docs/nuxt-auto","0.docs/3.nuxt-auto/index",{"title":185,"path":186,"stem":187,"children":188,"page":201},"Getting Started","/docs/nuxt-auto/getting-started","0.docs/3.nuxt-auto/1.getting-started",[189,193,197],{"title":190,"path":191,"stem":192},"Introduction","/docs/nuxt-auto/getting-started/introduction","0.docs/3.nuxt-auto/1.getting-started/1.introduction",{"title":194,"path":195,"stem":196},"Installation","/docs/nuxt-auto/getting-started/installation","0.docs/3.nuxt-auto/1.getting-started/2.installation",{"title":198,"path":199,"stem":200},"Quick Start","/docs/nuxt-auto/getting-started/quick-start","0.docs/3.nuxt-auto/1.getting-started/3.quick-start",false,{"title":203,"path":204,"stem":205,"children":206,"page":201},"Auto API","/docs/nuxt-auto/auto-api","0.docs/3.nuxt-auto/2.auto-api",[207,210,214,218,222,226,230,234,238,242,246,250,254,258,262,266,270,274,278,282,286,290,294],{"title":185,"path":208,"stem":209},"/docs/nuxt-auto/auto-api/getting-started","0.docs/3.nuxt-auto/2.auto-api/1.getting-started",{"title":211,"path":212,"stem":213},"Aggregations","/docs/nuxt-auto/auto-api/aggregations","0.docs/3.nuxt-auto/2.auto-api/10.aggregations",{"title":215,"path":216,"stem":217},"Lifecycle Hooks","/docs/nuxt-auto/auto-api/lifecycle-hooks","0.docs/3.nuxt-auto/2.auto-api/11.lifecycle-hooks",{"title":219,"path":220,"stem":221},"Many-to-Many (M2M) Relationships","/docs/nuxt-auto/auto-api/m2m-relationships","0.docs/3.nuxt-auto/2.auto-api/12.m2m-relationships",{"title":223,"path":224,"stem":225},"Plugin System","/docs/nuxt-auto/auto-api/plugin-system","0.docs/3.nuxt-auto/2.auto-api/13.plugin-system",{"title":227,"path":228,"stem":229},"Database Adapters","/docs/nuxt-auto/auto-api/database-adapters","0.docs/3.nuxt-auto/2.auto-api/14.database-adapters",{"title":231,"path":232,"stem":233},"Custom Endpoints","/docs/nuxt-auto/auto-api/custom-endpoints","0.docs/3.nuxt-auto/2.auto-api/15.custom-endpoints",{"title":235,"path":236,"stem":237},"Multi-Tenancy","/docs/nuxt-auto/auto-api/multi-tenancy","0.docs/3.nuxt-auto/2.auto-api/16.multi-tenancy",{"title":239,"path":240,"stem":241},"Validation","/docs/nuxt-auto/auto-api/validation","0.docs/3.nuxt-auto/2.auto-api/2.validation",{"title":243,"path":244,"stem":245},"Rate Limiting","/docs/nuxt-auto/auto-api/rate-limiting","0.docs/3.nuxt-auto/2.auto-api/20.rate-limiting",{"title":247,"path":248,"stem":249},"Request Metadata Plugin","/docs/nuxt-auto/auto-api/request-metadata","0.docs/3.nuxt-auto/2.auto-api/21.request-metadata",{"title":251,"path":252,"stem":253},"Plugin Catalog","/docs/nuxt-auto/auto-api/plugin-catalog","0.docs/3.nuxt-auto/2.auto-api/22.plugin-catalog",{"title":255,"path":256,"stem":257},"Handler Overrides","/docs/nuxt-auto/auto-api/handler-overrides","0.docs/3.nuxt-auto/2.auto-api/3.handler-overrides",{"title":259,"path":260,"stem":261},"Cloudflare D1","/docs/nuxt-auto/auto-api/cloudflare-d1","0.docs/3.nuxt-auto/2.auto-api/30.cloudflare-d1",{"title":263,"path":264,"stem":265},"SQLite to D1 Migration","/docs/nuxt-auto/auto-api/migration-sqlite-d1","0.docs/3.nuxt-auto/2.auto-api/31.migration-sqlite-d1",{"title":267,"path":268,"stem":269},"Frontend Composables","/docs/nuxt-auto/auto-api/frontend-composables","0.docs/3.nuxt-auto/2.auto-api/32.frontend-composables",{"title":271,"path":272,"stem":273},"Testing","/docs/nuxt-auto/auto-api/testing","0.docs/3.nuxt-auto/2.auto-api/33.testing",{"title":275,"path":276,"stem":277},"Pagination","/docs/nuxt-auto/auto-api/pagination","0.docs/3.nuxt-auto/2.auto-api/4.pagination",{"title":279,"path":280,"stem":281},"Soft Deletes","/docs/nuxt-auto/auto-api/soft-deletes","0.docs/3.nuxt-auto/2.auto-api/5.soft-deletes",{"title":283,"path":284,"stem":285},"Authentication & Authorization","/docs/nuxt-auto/auto-api/authentication-authorization","0.docs/3.nuxt-auto/2.auto-api/6.authentication-authorization",{"title":287,"path":288,"stem":289},"Better-Auth Integration","/docs/nuxt-auto/auto-api/better-auth","0.docs/3.nuxt-auto/2.auto-api/7.better-auth",{"title":291,"path":292,"stem":293},"Nested Relations","/docs/nuxt-auto/auto-api/nested-relationships","0.docs/3.nuxt-auto/2.auto-api/8.nested-relationships",{"title":295,"path":296,"stem":297},"Bulk Operations","/docs/nuxt-auto/auto-api/bulk-operations","0.docs/3.nuxt-auto/2.auto-api/9.bulk-operations",{"title":299,"path":300,"stem":301,"children":302,"page":201},"Auto Admin","/docs/nuxt-auto/auto-admin","0.docs/3.nuxt-auto/3.auto-admin",[303,306,310,314,318,322,326,330,334],{"title":185,"path":304,"stem":305},"/docs/nuxt-auto/auto-admin/getting-started","0.docs/3.nuxt-auto/3.auto-admin/1.getting-started",{"title":307,"path":308,"stem":309},"Configuration & Theming","/docs/nuxt-auto/auto-admin/configuration-theming","0.docs/3.nuxt-auto/3.auto-admin/2.configuration-theming",{"title":311,"path":312,"stem":313},"Resource Configuration","/docs/nuxt-auto/auto-admin/resource-configuration","0.docs/3.nuxt-auto/3.auto-admin/3.resource-configuration",{"title":315,"path":316,"stem":317},"Form Fields & Widgets","/docs/nuxt-auto/auto-admin/form-fields-widgets","0.docs/3.nuxt-auto/3.auto-admin/4.form-fields-widgets",{"title":319,"path":320,"stem":321},"Permissions","/docs/nuxt-auto/auto-admin/permissions","0.docs/3.nuxt-auto/3.auto-admin/5.permissions",{"title":323,"path":324,"stem":325},"Custom Pages","/docs/nuxt-auto/auto-admin/custom-pages","0.docs/3.nuxt-auto/3.auto-admin/6.custom-pages",{"title":327,"path":328,"stem":329},"M2M Relationships","/docs/nuxt-auto/auto-admin/m2m-relationships","0.docs/3.nuxt-auto/3.auto-admin/7.m2m-relationships",{"title":331,"path":332,"stem":333},"Custom Actions","/docs/nuxt-auto/auto-admin/custom-actions","0.docs/3.nuxt-auto/3.auto-admin/8.custom-actions",{"title":335,"path":336,"stem":337},"Composables","/docs/nuxt-auto/auto-admin/composables","0.docs/3.nuxt-auto/3.auto-admin/9.composables",[339,342,355,382,400,415,425],{"title":5,"path":340,"stem":341},"/docs/nuxt-protokit","0.docs/4.nuxt-protokit/index",{"title":185,"path":343,"stem":344,"children":345,"icon":354},"/docs/nuxt-protokit/getting-started","0.docs/4.nuxt-protokit/1.getting-started/1.index",[346,347,351],{"title":190,"path":343,"stem":344},{"title":348,"path":349,"stem":350},"Core Concepts","/docs/nuxt-protokit/getting-started/concepts","0.docs/4.nuxt-protokit/1.getting-started/2.concepts",{"title":198,"path":352,"stem":353},"/docs/nuxt-protokit/getting-started/quick-start","0.docs/4.nuxt-protokit/1.getting-started/3.quick-start","i-lucide-rocket",{"title":356,"path":357,"stem":358,"children":359,"icon":381},"Schemas","/docs/nuxt-protokit/schemas","0.docs/4.nuxt-protokit/2.schemas/1.index",[360,361,365,369,373,377],{"title":5,"path":357,"stem":358},{"title":362,"path":363,"stem":364},"Field Types","/docs/nuxt-protokit/schemas/fields","0.docs/4.nuxt-protokit/2.schemas/2.fields",{"title":366,"path":367,"stem":368},"Collections","/docs/nuxt-protokit/schemas/collections","0.docs/4.nuxt-protokit/2.schemas/3.collections",{"title":370,"path":371,"stem":372},"Derived & Computed","/docs/nuxt-protokit/schemas/derived-computed","0.docs/4.nuxt-protokit/2.schemas/4.derived-computed",{"title":374,"path":375,"stem":376},"Connections","/docs/nuxt-protokit/schemas/connections","0.docs/4.nuxt-protokit/2.schemas/5.connections",{"title":378,"path":379,"stem":380},"Visualizations & Layouts","/docs/nuxt-protokit/schemas/visualizations","0.docs/4.nuxt-protokit/2.schemas/6.visualizations","i-lucide-file-code",{"title":335,"path":383,"stem":384,"children":385,"icon":399},"/docs/nuxt-protokit/composables","0.docs/4.nuxt-protokit/3.composables/1.index",[386,387,391,395],{"title":5,"path":383,"stem":384},{"title":388,"path":389,"stem":390},"usePrototype","/docs/nuxt-protokit/composables/use-prototype","0.docs/4.nuxt-protokit/3.composables/2.use-prototype",{"title":392,"path":393,"stem":394},"useProtoDoc","/docs/nuxt-protokit/composables/use-proto-doc","0.docs/4.nuxt-protokit/3.composables/3.use-proto-doc",{"title":396,"path":397,"stem":398},"useProtoCollection","/docs/nuxt-protokit/composables/use-proto-collection","0.docs/4.nuxt-protokit/3.composables/4.use-proto-collection","i-lucide-layers",{"title":401,"path":402,"stem":403,"children":404,"icon":414},"Components","/docs/nuxt-protokit/components","0.docs/4.nuxt-protokit/4.components/1.index",[405,406,410],{"title":5,"path":402,"stem":403},{"title":407,"path":408,"stem":409},"ProtoTool","/docs/nuxt-protokit/components/proto-tool","0.docs/4.nuxt-protokit/4.components/2.proto-tool",{"title":411,"path":412,"stem":413},"ProtoCrudModal","/docs/nuxt-protokit/components/proto-crud-modal","0.docs/4.nuxt-protokit/4.components/3.proto-crud-modal","i-lucide-puzzle",{"title":151,"path":416,"stem":417,"children":418,"icon":424},"/docs/nuxt-protokit/offline-first","0.docs/4.nuxt-protokit/5.offline-first/1.index",[419,420],{"title":151,"path":416,"stem":417},{"title":421,"path":422,"stem":423},"Corruption Recovery","/docs/nuxt-protokit/offline-first/corruption-recovery","0.docs/4.nuxt-protokit/5.offline-first/2.corruption-recovery","i-lucide-wifi-off",{"title":426,"icon":427,"path":428,"stem":429,"children":430},"Advanced","i-lucide-graduation-cap","/docs/nuxt-protokit/advanced","0.docs/4.nuxt-protokit/6.advanced/1.index",[431,432,436,440],{"title":5,"path":428,"stem":429},{"title":433,"path":434,"stem":435},"Multi-Tool Apps","/docs/nuxt-protokit/advanced/building-a-toolkit","0.docs/4.nuxt-protokit/6.advanced/1.building-a-toolkit",{"title":437,"path":438,"stem":439},"Schema Patterns","/docs/nuxt-protokit/advanced/custom-schema-patterns","0.docs/4.nuxt-protokit/6.advanced/2.custom-schema-patterns",{"title":441,"path":442,"stem":443},"Custom Fields & Viz","/docs/nuxt-protokit/advanced/extensibility","0.docs/4.nuxt-protokit/6.advanced/3.extensibility",{"page":445,"fallbackPage":5596},{"id":446,"title":295,"body":447,"description":457,"extension":5595,"links":5596,"meta":5597,"navigation":5596,"ogImage":5596,"path":296,"seo":5598,"stem":297,"__hash__":5599},"nuxt_auto/0.docs/3.nuxt-auto/2.auto-api/9.bulk-operations.md",{"type":448,"value":449,"toc":5560},"minimark",[450,454,458,462,465,494,498,501,685,688,944,948,951,1112,1114,1349,1353,1356,1418,1420,1595,1599,1602,1898,1903,1906,1976,1982,2348,2352,2355,2415,2418,2514,2518,2521,2685,2688,2691,2947,2950,3102,3105,3108,3358,3362,3366,3572,3741,3852,3856,4110,4114,4118,4255,4259,4434,4438,4629,4633,4733,4737,4741,4870,4874,5072,5076,5080,5083,5091,5219,5223,5226,5257,5261,5264,5272,5275,5278,5412,5415,5418,5492,5496,5556],[451,452,295],"h1",{"id":453},"bulk-operations",[455,456,457],"p",{},"Nuxt Auto API provides atomic bulk operations for creating, updating, and deleting multiple records in a single request.",[459,460,5],"h2",{"id":461},"overview",[455,463,464],{},"All bulk operations are:",[466,467,468,476,482,488],"ul",{},[469,470,471,475],"li",{},[472,473,474],"strong",{},"Atomic",": Use database transactions (rollback on any failure)",[469,477,478,481],{},[472,479,480],{},"Authorized",": Check permissions for each item",[469,483,484,487],{},[472,485,486],{},"Validated",": Validate each item before processing",[469,489,490,493],{},[472,491,492],{},"Hooked",": Execute lifecycle hooks for each item",[459,495,497],{"id":496},"bulk-create","Bulk Create",[455,499,500],{},"Create multiple records in a single request:",[502,503,508],"pre",{"className":504,"code":505,"language":506,"meta":507,"style":507},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","POST /api/users/bulk\n\n{\n  \"items\": [\n    {\n      \"name\": \"John Doe\",\n      \"email\": \"john@example.com\"\n    },\n    {\n      \"name\": \"Jane Smith\",\n      \"email\": \"jane@example.com\"\n    }\n  ]\n}\n","typescript","",[509,510,511,537,544,550,567,573,598,618,624,629,649,667,673,679],"code",{"__ignoreMap":507},[512,513,516,520,524,527,529,532,534],"span",{"class":514,"line":515},"line",1,[512,517,519],{"class":518},"sTEyZ","POST ",[512,521,523],{"class":522},"sMK4o","/",[512,525,526],{"class":518},"api",[512,528,523],{"class":522},[512,530,531],{"class":518},"users",[512,533,523],{"class":522},[512,535,536],{"class":518},"bulk\n",[512,538,540],{"class":514,"line":539},2,[512,541,543],{"emptyLinePlaceholder":542},true,"\n",[512,545,547],{"class":514,"line":546},3,[512,548,549],{"class":522},"{\n",[512,551,553,556,560,563],{"class":514,"line":552},4,[512,554,555],{"class":522},"  \"",[512,557,559],{"class":558},"sfazB","items",[512,561,562],{"class":522},"\"",[512,564,566],{"class":565},"swJcz",": [\n",[512,568,570],{"class":514,"line":569},5,[512,571,572],{"class":522},"    {\n",[512,574,576,579,582,584,587,590,593,595],{"class":514,"line":575},6,[512,577,578],{"class":522},"      \"",[512,580,581],{"class":565},"name",[512,583,562],{"class":522},[512,585,586],{"class":522},":",[512,588,589],{"class":522}," \"",[512,591,592],{"class":558},"John Doe",[512,594,562],{"class":522},[512,596,597],{"class":522},",\n",[512,599,601,603,606,608,610,612,615],{"class":514,"line":600},7,[512,602,578],{"class":522},[512,604,605],{"class":565},"email",[512,607,562],{"class":522},[512,609,586],{"class":522},[512,611,589],{"class":522},[512,613,614],{"class":558},"john@example.com",[512,616,617],{"class":522},"\"\n",[512,619,621],{"class":514,"line":620},8,[512,622,623],{"class":522},"    },\n",[512,625,627],{"class":514,"line":626},9,[512,628,572],{"class":522},[512,630,632,634,636,638,640,642,645,647],{"class":514,"line":631},10,[512,633,578],{"class":522},[512,635,581],{"class":565},[512,637,562],{"class":522},[512,639,586],{"class":522},[512,641,589],{"class":522},[512,643,644],{"class":558},"Jane Smith",[512,646,562],{"class":522},[512,648,597],{"class":522},[512,650,652,654,656,658,660,662,665],{"class":514,"line":651},11,[512,653,578],{"class":522},[512,655,605],{"class":565},[512,657,562],{"class":522},[512,659,586],{"class":522},[512,661,589],{"class":522},[512,663,664],{"class":558},"jane@example.com",[512,666,617],{"class":522},[512,668,670],{"class":514,"line":669},12,[512,671,672],{"class":522},"    }\n",[512,674,676],{"class":514,"line":675},13,[512,677,678],{"class":565},"  ]\n",[512,680,682],{"class":514,"line":681},14,[512,683,684],{"class":522},"}\n",[455,686,687],{},"Response:",[502,689,691],{"className":504,"code":690,"language":506,"meta":507,"style":507},"{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"John Doe\",\n      \"email\": \"john@example.com\",\n      \"createdAt\": \"2024-01-01T00:00:00Z\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Jane Smith\",\n      \"email\": \"jane@example.com\",\n      \"createdAt\": \"2024-01-01T00:00:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 2,\n    \"successful\": 2,\n    \"failed\": 0\n  }\n}\n",[509,692,693,697,708,712,729,747,765,783,787,791,806,824,842,858,862,870,885,902,918,933,939],{"__ignoreMap":507},[512,694,695],{"class":514,"line":515},[512,696,549],{"class":522},[512,698,699,701,704,706],{"class":514,"line":539},[512,700,555],{"class":522},[512,702,703],{"class":558},"data",[512,705,562],{"class":522},[512,707,566],{"class":565},[512,709,710],{"class":514,"line":546},[512,711,572],{"class":522},[512,713,714,716,719,721,723,727],{"class":514,"line":552},[512,715,578],{"class":522},[512,717,718],{"class":565},"id",[512,720,562],{"class":522},[512,722,586],{"class":522},[512,724,726],{"class":725},"sbssI"," 1",[512,728,597],{"class":522},[512,730,731,733,735,737,739,741,743,745],{"class":514,"line":569},[512,732,578],{"class":522},[512,734,581],{"class":565},[512,736,562],{"class":522},[512,738,586],{"class":522},[512,740,589],{"class":522},[512,742,592],{"class":558},[512,744,562],{"class":522},[512,746,597],{"class":522},[512,748,749,751,753,755,757,759,761,763],{"class":514,"line":575},[512,750,578],{"class":522},[512,752,605],{"class":565},[512,754,562],{"class":522},[512,756,586],{"class":522},[512,758,589],{"class":522},[512,760,614],{"class":558},[512,762,562],{"class":522},[512,764,597],{"class":522},[512,766,767,769,772,774,776,778,781],{"class":514,"line":600},[512,768,578],{"class":522},[512,770,771],{"class":565},"createdAt",[512,773,562],{"class":522},[512,775,586],{"class":522},[512,777,589],{"class":522},[512,779,780],{"class":558},"2024-01-01T00:00:00Z",[512,782,617],{"class":522},[512,784,785],{"class":514,"line":620},[512,786,623],{"class":522},[512,788,789],{"class":514,"line":626},[512,790,572],{"class":522},[512,792,793,795,797,799,801,804],{"class":514,"line":631},[512,794,578],{"class":522},[512,796,718],{"class":565},[512,798,562],{"class":522},[512,800,586],{"class":522},[512,802,803],{"class":725}," 2",[512,805,597],{"class":522},[512,807,808,810,812,814,816,818,820,822],{"class":514,"line":651},[512,809,578],{"class":522},[512,811,581],{"class":565},[512,813,562],{"class":522},[512,815,586],{"class":522},[512,817,589],{"class":522},[512,819,644],{"class":558},[512,821,562],{"class":522},[512,823,597],{"class":522},[512,825,826,828,830,832,834,836,838,840],{"class":514,"line":669},[512,827,578],{"class":522},[512,829,605],{"class":565},[512,831,562],{"class":522},[512,833,586],{"class":522},[512,835,589],{"class":522},[512,837,664],{"class":558},[512,839,562],{"class":522},[512,841,597],{"class":522},[512,843,844,846,848,850,852,854,856],{"class":514,"line":675},[512,845,578],{"class":522},[512,847,771],{"class":565},[512,849,562],{"class":522},[512,851,586],{"class":522},[512,853,589],{"class":522},[512,855,780],{"class":558},[512,857,617],{"class":522},[512,859,860],{"class":514,"line":681},[512,861,672],{"class":522},[512,863,865,868],{"class":514,"line":864},15,[512,866,867],{"class":565},"  ]",[512,869,597],{"class":522},[512,871,873,875,878,880,883],{"class":514,"line":872},16,[512,874,555],{"class":522},[512,876,877],{"class":558},"meta",[512,879,562],{"class":522},[512,881,882],{"class":565},": ",[512,884,549],{"class":522},[512,886,888,891,894,896,898,900],{"class":514,"line":887},17,[512,889,890],{"class":522},"    \"",[512,892,893],{"class":565},"total",[512,895,562],{"class":522},[512,897,586],{"class":522},[512,899,803],{"class":725},[512,901,597],{"class":522},[512,903,905,907,910,912,914,916],{"class":514,"line":904},18,[512,906,890],{"class":522},[512,908,909],{"class":565},"successful",[512,911,562],{"class":522},[512,913,586],{"class":522},[512,915,803],{"class":725},[512,917,597],{"class":522},[512,919,921,923,926,928,930],{"class":514,"line":920},19,[512,922,890],{"class":522},[512,924,925],{"class":565},"failed",[512,927,562],{"class":522},[512,929,586],{"class":522},[512,931,932],{"class":725}," 0\n",[512,934,936],{"class":514,"line":935},20,[512,937,938],{"class":522},"  }\n",[512,940,942],{"class":514,"line":941},21,[512,943,684],{"class":522},[459,945,947],{"id":946},"bulk-update","Bulk Update",[455,949,950],{},"Update multiple records by ID:",[502,952,954],{"className":504,"code":953,"language":506,"meta":507,"style":507},"PATCH /api/users/bulk\n\n{\n  \"items\": [\n    {\n      \"id\": 1,\n      \"data\": {\n        \"name\": \"John Updated\"\n      }\n    },\n    {\n      \"id\": 2,\n      \"data\": {\n        \"email\": \"jane.new@example.com\"\n      }\n    }\n  ]\n}\n",[509,955,956,973,977,981,991,995,1009,1022,1040,1045,1049,1053,1067,1079,1096,1100,1104,1108],{"__ignoreMap":507},[512,957,958,961,963,965,967,969,971],{"class":514,"line":515},[512,959,960],{"class":518},"PATCH ",[512,962,523],{"class":522},[512,964,526],{"class":518},[512,966,523],{"class":522},[512,968,531],{"class":518},[512,970,523],{"class":522},[512,972,536],{"class":518},[512,974,975],{"class":514,"line":539},[512,976,543],{"emptyLinePlaceholder":542},[512,978,979],{"class":514,"line":546},[512,980,549],{"class":522},[512,982,983,985,987,989],{"class":514,"line":552},[512,984,555],{"class":522},[512,986,559],{"class":558},[512,988,562],{"class":522},[512,990,566],{"class":565},[512,992,993],{"class":514,"line":569},[512,994,572],{"class":522},[512,996,997,999,1001,1003,1005,1007],{"class":514,"line":575},[512,998,578],{"class":522},[512,1000,718],{"class":565},[512,1002,562],{"class":522},[512,1004,586],{"class":522},[512,1006,726],{"class":725},[512,1008,597],{"class":522},[512,1010,1011,1013,1015,1017,1019],{"class":514,"line":600},[512,1012,578],{"class":522},[512,1014,703],{"class":565},[512,1016,562],{"class":522},[512,1018,586],{"class":522},[512,1020,1021],{"class":522}," {\n",[512,1023,1024,1027,1029,1031,1033,1035,1038],{"class":514,"line":620},[512,1025,1026],{"class":522},"        \"",[512,1028,581],{"class":565},[512,1030,562],{"class":522},[512,1032,586],{"class":522},[512,1034,589],{"class":522},[512,1036,1037],{"class":558},"John Updated",[512,1039,617],{"class":522},[512,1041,1042],{"class":514,"line":626},[512,1043,1044],{"class":522},"      }\n",[512,1046,1047],{"class":514,"line":631},[512,1048,623],{"class":522},[512,1050,1051],{"class":514,"line":651},[512,1052,572],{"class":522},[512,1054,1055,1057,1059,1061,1063,1065],{"class":514,"line":669},[512,1056,578],{"class":522},[512,1058,718],{"class":565},[512,1060,562],{"class":522},[512,1062,586],{"class":522},[512,1064,803],{"class":725},[512,1066,597],{"class":522},[512,1068,1069,1071,1073,1075,1077],{"class":514,"line":675},[512,1070,578],{"class":522},[512,1072,703],{"class":565},[512,1074,562],{"class":522},[512,1076,586],{"class":522},[512,1078,1021],{"class":522},[512,1080,1081,1083,1085,1087,1089,1091,1094],{"class":514,"line":681},[512,1082,1026],{"class":522},[512,1084,605],{"class":565},[512,1086,562],{"class":522},[512,1088,586],{"class":522},[512,1090,589],{"class":522},[512,1092,1093],{"class":558},"jane.new@example.com",[512,1095,617],{"class":522},[512,1097,1098],{"class":514,"line":864},[512,1099,1044],{"class":522},[512,1101,1102],{"class":514,"line":872},[512,1103,672],{"class":522},[512,1105,1106],{"class":514,"line":887},[512,1107,678],{"class":565},[512,1109,1110],{"class":514,"line":904},[512,1111,684],{"class":522},[455,1113,687],{},[502,1115,1117],{"className":504,"code":1116,"language":506,"meta":507,"style":507},"{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"John Updated\",\n      \"email\": \"john@example.com\",\n      \"updatedAt\": \"2024-01-01T00:01:00Z\"\n    },\n    {\n      \"id\": 2,\n      \"name\": \"Jane Smith\",\n      \"email\": \"jane.new@example.com\",\n      \"updatedAt\": \"2024-01-01T00:01:00Z\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 2,\n    \"successful\": 2,\n    \"failed\": 0\n  }\n}\n",[509,1118,1119,1123,1133,1137,1151,1169,1187,1205,1209,1213,1227,1245,1263,1279,1283,1289,1301,1315,1329,1341,1345],{"__ignoreMap":507},[512,1120,1121],{"class":514,"line":515},[512,1122,549],{"class":522},[512,1124,1125,1127,1129,1131],{"class":514,"line":539},[512,1126,555],{"class":522},[512,1128,703],{"class":558},[512,1130,562],{"class":522},[512,1132,566],{"class":565},[512,1134,1135],{"class":514,"line":546},[512,1136,572],{"class":522},[512,1138,1139,1141,1143,1145,1147,1149],{"class":514,"line":552},[512,1140,578],{"class":522},[512,1142,718],{"class":565},[512,1144,562],{"class":522},[512,1146,586],{"class":522},[512,1148,726],{"class":725},[512,1150,597],{"class":522},[512,1152,1153,1155,1157,1159,1161,1163,1165,1167],{"class":514,"line":569},[512,1154,578],{"class":522},[512,1156,581],{"class":565},[512,1158,562],{"class":522},[512,1160,586],{"class":522},[512,1162,589],{"class":522},[512,1164,1037],{"class":558},[512,1166,562],{"class":522},[512,1168,597],{"class":522},[512,1170,1171,1173,1175,1177,1179,1181,1183,1185],{"class":514,"line":575},[512,1172,578],{"class":522},[512,1174,605],{"class":565},[512,1176,562],{"class":522},[512,1178,586],{"class":522},[512,1180,589],{"class":522},[512,1182,614],{"class":558},[512,1184,562],{"class":522},[512,1186,597],{"class":522},[512,1188,1189,1191,1194,1196,1198,1200,1203],{"class":514,"line":600},[512,1190,578],{"class":522},[512,1192,1193],{"class":565},"updatedAt",[512,1195,562],{"class":522},[512,1197,586],{"class":522},[512,1199,589],{"class":522},[512,1201,1202],{"class":558},"2024-01-01T00:01:00Z",[512,1204,617],{"class":522},[512,1206,1207],{"class":514,"line":620},[512,1208,623],{"class":522},[512,1210,1211],{"class":514,"line":626},[512,1212,572],{"class":522},[512,1214,1215,1217,1219,1221,1223,1225],{"class":514,"line":631},[512,1216,578],{"class":522},[512,1218,718],{"class":565},[512,1220,562],{"class":522},[512,1222,586],{"class":522},[512,1224,803],{"class":725},[512,1226,597],{"class":522},[512,1228,1229,1231,1233,1235,1237,1239,1241,1243],{"class":514,"line":651},[512,1230,578],{"class":522},[512,1232,581],{"class":565},[512,1234,562],{"class":522},[512,1236,586],{"class":522},[512,1238,589],{"class":522},[512,1240,644],{"class":558},[512,1242,562],{"class":522},[512,1244,597],{"class":522},[512,1246,1247,1249,1251,1253,1255,1257,1259,1261],{"class":514,"line":669},[512,1248,578],{"class":522},[512,1250,605],{"class":565},[512,1252,562],{"class":522},[512,1254,586],{"class":522},[512,1256,589],{"class":522},[512,1258,1093],{"class":558},[512,1260,562],{"class":522},[512,1262,597],{"class":522},[512,1264,1265,1267,1269,1271,1273,1275,1277],{"class":514,"line":675},[512,1266,578],{"class":522},[512,1268,1193],{"class":565},[512,1270,562],{"class":522},[512,1272,586],{"class":522},[512,1274,589],{"class":522},[512,1276,1202],{"class":558},[512,1278,617],{"class":522},[512,1280,1281],{"class":514,"line":681},[512,1282,672],{"class":522},[512,1284,1285,1287],{"class":514,"line":864},[512,1286,867],{"class":565},[512,1288,597],{"class":522},[512,1290,1291,1293,1295,1297,1299],{"class":514,"line":872},[512,1292,555],{"class":522},[512,1294,877],{"class":558},[512,1296,562],{"class":522},[512,1298,882],{"class":565},[512,1300,549],{"class":522},[512,1302,1303,1305,1307,1309,1311,1313],{"class":514,"line":887},[512,1304,890],{"class":522},[512,1306,893],{"class":565},[512,1308,562],{"class":522},[512,1310,586],{"class":522},[512,1312,803],{"class":725},[512,1314,597],{"class":522},[512,1316,1317,1319,1321,1323,1325,1327],{"class":514,"line":904},[512,1318,890],{"class":522},[512,1320,909],{"class":565},[512,1322,562],{"class":522},[512,1324,586],{"class":522},[512,1326,803],{"class":725},[512,1328,597],{"class":522},[512,1330,1331,1333,1335,1337,1339],{"class":514,"line":920},[512,1332,890],{"class":522},[512,1334,925],{"class":565},[512,1336,562],{"class":522},[512,1338,586],{"class":522},[512,1340,932],{"class":725},[512,1342,1343],{"class":514,"line":935},[512,1344,938],{"class":522},[512,1346,1347],{"class":514,"line":941},[512,1348,684],{"class":522},[459,1350,1352],{"id":1351},"bulk-delete","Bulk Delete",[455,1354,1355],{},"Delete multiple records by ID:",[502,1357,1359],{"className":504,"code":1358,"language":506,"meta":507,"style":507},"DELETE /api/users/bulk\n\n{\n  \"ids\": [1, 2, 3]\n}\n",[509,1360,1361,1378,1382,1386,1414],{"__ignoreMap":507},[512,1362,1363,1366,1368,1370,1372,1374,1376],{"class":514,"line":515},[512,1364,1365],{"class":518},"DELETE ",[512,1367,523],{"class":522},[512,1369,526],{"class":518},[512,1371,523],{"class":522},[512,1373,531],{"class":518},[512,1375,523],{"class":522},[512,1377,536],{"class":518},[512,1379,1380],{"class":514,"line":539},[512,1381,543],{"emptyLinePlaceholder":542},[512,1383,1384],{"class":514,"line":546},[512,1385,549],{"class":522},[512,1387,1388,1390,1393,1395,1398,1401,1404,1406,1408,1411],{"class":514,"line":552},[512,1389,555],{"class":522},[512,1391,1392],{"class":558},"ids",[512,1394,562],{"class":522},[512,1396,1397],{"class":565},": [",[512,1399,1400],{"class":725},"1",[512,1402,1403],{"class":522},",",[512,1405,803],{"class":725},[512,1407,1403],{"class":522},[512,1409,1410],{"class":725}," 3",[512,1412,1413],{"class":565},"]\n",[512,1415,1416],{"class":514,"line":569},[512,1417,684],{"class":522},[455,1419,687],{},[502,1421,1423],{"className":504,"code":1422,"language":506,"meta":507,"style":507},"{\n  \"data\": [\n    { \"id\": 1, \"deleted\": true },\n    { \"id\": 2, \"deleted\": true },\n    { \"id\": 3, \"deleted\": true }\n  ],\n  \"meta\": {\n    \"total\": 3,\n    \"successful\": 3,\n    \"failed\": 0\n  }\n}\n",[509,1424,1425,1429,1439,1472,1500,1529,1535,1547,1561,1575,1587,1591],{"__ignoreMap":507},[512,1426,1427],{"class":514,"line":515},[512,1428,549],{"class":522},[512,1430,1431,1433,1435,1437],{"class":514,"line":539},[512,1432,555],{"class":522},[512,1434,703],{"class":558},[512,1436,562],{"class":522},[512,1438,566],{"class":565},[512,1440,1441,1444,1446,1448,1450,1452,1454,1456,1458,1461,1463,1465,1469],{"class":514,"line":546},[512,1442,1443],{"class":522},"    {",[512,1445,589],{"class":522},[512,1447,718],{"class":565},[512,1449,562],{"class":522},[512,1451,586],{"class":522},[512,1453,726],{"class":725},[512,1455,1403],{"class":522},[512,1457,589],{"class":522},[512,1459,1460],{"class":565},"deleted",[512,1462,562],{"class":522},[512,1464,586],{"class":522},[512,1466,1468],{"class":1467},"sfNiH"," true",[512,1470,1471],{"class":522}," },\n",[512,1473,1474,1476,1478,1480,1482,1484,1486,1488,1490,1492,1494,1496,1498],{"class":514,"line":552},[512,1475,1443],{"class":522},[512,1477,589],{"class":522},[512,1479,718],{"class":565},[512,1481,562],{"class":522},[512,1483,586],{"class":522},[512,1485,803],{"class":725},[512,1487,1403],{"class":522},[512,1489,589],{"class":522},[512,1491,1460],{"class":565},[512,1493,562],{"class":522},[512,1495,586],{"class":522},[512,1497,1468],{"class":1467},[512,1499,1471],{"class":522},[512,1501,1502,1504,1506,1508,1510,1512,1514,1516,1518,1520,1522,1524,1526],{"class":514,"line":569},[512,1503,1443],{"class":522},[512,1505,589],{"class":522},[512,1507,718],{"class":565},[512,1509,562],{"class":522},[512,1511,586],{"class":522},[512,1513,1410],{"class":725},[512,1515,1403],{"class":522},[512,1517,589],{"class":522},[512,1519,1460],{"class":565},[512,1521,562],{"class":522},[512,1523,586],{"class":522},[512,1525,1468],{"class":1467},[512,1527,1528],{"class":522}," }\n",[512,1530,1531,1533],{"class":514,"line":575},[512,1532,867],{"class":565},[512,1534,597],{"class":522},[512,1536,1537,1539,1541,1543,1545],{"class":514,"line":600},[512,1538,555],{"class":522},[512,1540,877],{"class":558},[512,1542,562],{"class":522},[512,1544,882],{"class":565},[512,1546,549],{"class":522},[512,1548,1549,1551,1553,1555,1557,1559],{"class":514,"line":620},[512,1550,890],{"class":522},[512,1552,893],{"class":565},[512,1554,562],{"class":522},[512,1556,586],{"class":522},[512,1558,1410],{"class":725},[512,1560,597],{"class":522},[512,1562,1563,1565,1567,1569,1571,1573],{"class":514,"line":626},[512,1564,890],{"class":522},[512,1566,909],{"class":565},[512,1568,562],{"class":522},[512,1570,586],{"class":522},[512,1572,1410],{"class":725},[512,1574,597],{"class":522},[512,1576,1577,1579,1581,1583,1585],{"class":514,"line":631},[512,1578,890],{"class":522},[512,1580,925],{"class":565},[512,1582,562],{"class":522},[512,1584,586],{"class":522},[512,1586,932],{"class":725},[512,1588,1589],{"class":514,"line":651},[512,1590,938],{"class":522},[512,1592,1593],{"class":514,"line":669},[512,1594,684],{"class":522},[459,1596,1598],{"id":1597},"transaction-behavior","Transaction Behavior",[455,1600,1601],{},"By default, all bulk operations use database transactions:",[502,1603,1605],{"className":504,"code":1604,"language":506,"meta":507,"style":507},"// If ANY item fails, ALL changes are rolled back\nPATCH /api/users/bulk\n\n{\n  \"items\": [\n    { \"id\": 1, \"data\": { \"name\": \"Valid\" } },\n    { \"id\": 999, \"data\": { \"name\": \"Invalid ID\" } }  // Fails\n  ]\n}\n\n// Result: Neither update is applied (rollback)\n{\n  \"statusCode\": 400,\n  \"message\": \"Bulk update failed (transaction rolled back)\",\n  \"data\": {\n    \"errors\": [\n      {\n        \"index\": 1,\n        \"id\": 999,\n        \"error\": \"Record with id 999 not found\"\n      }\n    ]\n  }\n}\n",[509,1606,1607,1613,1629,1633,1637,1647,1694,1743,1747,1751,1755,1760,1764,1780,1800,1812,1826,1831,1846,1860,1878,1882,1888,1893],{"__ignoreMap":507},[512,1608,1609],{"class":514,"line":515},[512,1610,1612],{"class":1611},"sHwdD","// If ANY item fails, ALL changes are rolled back\n",[512,1614,1615,1617,1619,1621,1623,1625,1627],{"class":514,"line":539},[512,1616,960],{"class":518},[512,1618,523],{"class":522},[512,1620,526],{"class":518},[512,1622,523],{"class":522},[512,1624,531],{"class":518},[512,1626,523],{"class":522},[512,1628,536],{"class":518},[512,1630,1631],{"class":514,"line":546},[512,1632,543],{"emptyLinePlaceholder":542},[512,1634,1635],{"class":514,"line":552},[512,1636,549],{"class":522},[512,1638,1639,1641,1643,1645],{"class":514,"line":569},[512,1640,555],{"class":522},[512,1642,559],{"class":558},[512,1644,562],{"class":522},[512,1646,566],{"class":565},[512,1648,1649,1651,1653,1655,1657,1659,1661,1663,1665,1667,1669,1671,1674,1676,1678,1680,1682,1684,1687,1689,1692],{"class":514,"line":575},[512,1650,1443],{"class":522},[512,1652,589],{"class":522},[512,1654,718],{"class":565},[512,1656,562],{"class":522},[512,1658,586],{"class":522},[512,1660,726],{"class":725},[512,1662,1403],{"class":522},[512,1664,589],{"class":522},[512,1666,703],{"class":565},[512,1668,562],{"class":522},[512,1670,586],{"class":522},[512,1672,1673],{"class":522}," {",[512,1675,589],{"class":522},[512,1677,581],{"class":565},[512,1679,562],{"class":522},[512,1681,586],{"class":522},[512,1683,589],{"class":522},[512,1685,1686],{"class":558},"Valid",[512,1688,562],{"class":522},[512,1690,1691],{"class":522}," }",[512,1693,1471],{"class":522},[512,1695,1696,1698,1700,1702,1704,1706,1709,1711,1713,1715,1717,1719,1721,1723,1725,1727,1729,1731,1734,1736,1738,1740],{"class":514,"line":600},[512,1697,1443],{"class":522},[512,1699,589],{"class":522},[512,1701,718],{"class":565},[512,1703,562],{"class":522},[512,1705,586],{"class":522},[512,1707,1708],{"class":725}," 999",[512,1710,1403],{"class":522},[512,1712,589],{"class":522},[512,1714,703],{"class":565},[512,1716,562],{"class":522},[512,1718,586],{"class":522},[512,1720,1673],{"class":522},[512,1722,589],{"class":522},[512,1724,581],{"class":565},[512,1726,562],{"class":522},[512,1728,586],{"class":522},[512,1730,589],{"class":522},[512,1732,1733],{"class":558},"Invalid ID",[512,1735,562],{"class":522},[512,1737,1691],{"class":522},[512,1739,1691],{"class":522},[512,1741,1742],{"class":1611},"  // Fails\n",[512,1744,1745],{"class":514,"line":620},[512,1746,678],{"class":565},[512,1748,1749],{"class":514,"line":626},[512,1750,684],{"class":522},[512,1752,1753],{"class":514,"line":631},[512,1754,543],{"emptyLinePlaceholder":542},[512,1756,1757],{"class":514,"line":651},[512,1758,1759],{"class":1611},"// Result: Neither update is applied (rollback)\n",[512,1761,1762],{"class":514,"line":669},[512,1763,549],{"class":522},[512,1765,1766,1768,1771,1773,1775,1778],{"class":514,"line":675},[512,1767,555],{"class":522},[512,1769,1770],{"class":558},"statusCode",[512,1772,562],{"class":522},[512,1774,882],{"class":565},[512,1776,1777],{"class":725},"400",[512,1779,597],{"class":522},[512,1781,1782,1784,1787,1789,1791,1793,1796,1798],{"class":514,"line":681},[512,1783,555],{"class":522},[512,1785,1786],{"class":558},"message",[512,1788,562],{"class":522},[512,1790,882],{"class":565},[512,1792,562],{"class":522},[512,1794,1795],{"class":558},"Bulk update failed (transaction rolled back)",[512,1797,562],{"class":522},[512,1799,597],{"class":522},[512,1801,1802,1804,1806,1808,1810],{"class":514,"line":864},[512,1803,555],{"class":522},[512,1805,703],{"class":558},[512,1807,562],{"class":522},[512,1809,882],{"class":565},[512,1811,549],{"class":522},[512,1813,1814,1816,1819,1821,1823],{"class":514,"line":872},[512,1815,890],{"class":522},[512,1817,1818],{"class":565},"errors",[512,1820,562],{"class":522},[512,1822,586],{"class":522},[512,1824,1825],{"class":565}," [\n",[512,1827,1828],{"class":514,"line":887},[512,1829,1830],{"class":522},"      {\n",[512,1832,1833,1835,1838,1840,1842,1844],{"class":514,"line":904},[512,1834,1026],{"class":522},[512,1836,1837],{"class":565},"index",[512,1839,562],{"class":522},[512,1841,586],{"class":522},[512,1843,726],{"class":725},[512,1845,597],{"class":522},[512,1847,1848,1850,1852,1854,1856,1858],{"class":514,"line":920},[512,1849,1026],{"class":522},[512,1851,718],{"class":565},[512,1853,562],{"class":522},[512,1855,586],{"class":522},[512,1857,1708],{"class":725},[512,1859,597],{"class":522},[512,1861,1862,1864,1867,1869,1871,1873,1876],{"class":514,"line":935},[512,1863,1026],{"class":522},[512,1865,1866],{"class":565},"error",[512,1868,562],{"class":522},[512,1870,586],{"class":522},[512,1872,589],{"class":522},[512,1874,1875],{"class":558},"Record with id 999 not found",[512,1877,617],{"class":522},[512,1879,1880],{"class":514,"line":941},[512,1881,1044],{"class":522},[512,1883,1885],{"class":514,"line":1884},22,[512,1886,1887],{"class":565},"    ]\n",[512,1889,1891],{"class":514,"line":1890},23,[512,1892,938],{"class":522},[512,1894,1896],{"class":514,"line":1895},24,[512,1897,684],{"class":522},[1899,1900,1902],"h3",{"id":1901},"non-transactional-mode","Non-Transactional Mode",[455,1904,1905],{},"Disable transactions for partial success:",[502,1907,1909],{"className":504,"code":1908,"language":506,"meta":507,"style":507},"export default defineNuxtConfig({\n  autoApi: {\n    bulk: {\n      transactional: false  // Allow partial success\n    }\n  }\n})\n",[509,1910,1911,1929,1938,1947,1960,1964,1968],{"__ignoreMap":507},[512,1912,1913,1917,1920,1924,1927],{"class":514,"line":515},[512,1914,1916],{"class":1915},"s7zQu","export",[512,1918,1919],{"class":1915}," default",[512,1921,1923],{"class":1922},"s2Zo4"," defineNuxtConfig",[512,1925,1926],{"class":518},"(",[512,1928,549],{"class":522},[512,1930,1931,1934,1936],{"class":514,"line":539},[512,1932,1933],{"class":565},"  autoApi",[512,1935,586],{"class":522},[512,1937,1021],{"class":522},[512,1939,1940,1943,1945],{"class":514,"line":546},[512,1941,1942],{"class":565},"    bulk",[512,1944,586],{"class":522},[512,1946,1021],{"class":522},[512,1948,1949,1952,1954,1957],{"class":514,"line":552},[512,1950,1951],{"class":565},"      transactional",[512,1953,586],{"class":522},[512,1955,1956],{"class":1467}," false",[512,1958,1959],{"class":1611},"  // Allow partial success\n",[512,1961,1962],{"class":514,"line":569},[512,1963,672],{"class":522},[512,1965,1966],{"class":514,"line":575},[512,1967,938],{"class":522},[512,1969,1970,1973],{"class":514,"line":600},[512,1971,1972],{"class":522},"}",[512,1974,1975],{"class":518},")\n",[455,1977,1978,1979,586],{},"With ",[509,1980,1981],{},"transactional: false",[502,1983,1985],{"className":504,"code":1984,"language":506,"meta":507,"style":507},"PATCH /api/users/bulk\n\n{\n  \"items\": [\n    { \"id\": 1, \"data\": { \"name\": \"Valid\" } },      // Succeeds\n    { \"id\": 999, \"data\": { \"name\": \"Invalid\" } }   // Fails\n  ]\n}\n\n// Result: First update succeeds, second fails\n{\n  \"data\": [\n    {\n      \"id\": 1,\n      \"name\": \"Valid\",\n      \"updatedAt\": \"...\"\n    }\n  ],\n  \"meta\": {\n    \"total\": 2,\n    \"successful\": 1,\n    \"failed\": 1,\n    \"errors\": [\n      {\n        \"index\": 1,\n        \"id\": 999,\n        \"error\": \"Record with id 999 not found\"\n      }\n    ]\n  }\n}\n",[509,1986,1987,2003,2007,2011,2021,2069,2117,2121,2125,2129,2134,2138,2148,2152,2166,2184,2201,2205,2211,2223,2237,2251,2265,2277,2281,2296,2311,2328,2333,2338,2343],{"__ignoreMap":507},[512,1988,1989,1991,1993,1995,1997,1999,2001],{"class":514,"line":515},[512,1990,960],{"class":518},[512,1992,523],{"class":522},[512,1994,526],{"class":518},[512,1996,523],{"class":522},[512,1998,531],{"class":518},[512,2000,523],{"class":522},[512,2002,536],{"class":518},[512,2004,2005],{"class":514,"line":539},[512,2006,543],{"emptyLinePlaceholder":542},[512,2008,2009],{"class":514,"line":546},[512,2010,549],{"class":522},[512,2012,2013,2015,2017,2019],{"class":514,"line":552},[512,2014,555],{"class":522},[512,2016,559],{"class":558},[512,2018,562],{"class":522},[512,2020,566],{"class":565},[512,2022,2023,2025,2027,2029,2031,2033,2035,2037,2039,2041,2043,2045,2047,2049,2051,2053,2055,2057,2059,2061,2063,2066],{"class":514,"line":569},[512,2024,1443],{"class":522},[512,2026,589],{"class":522},[512,2028,718],{"class":565},[512,2030,562],{"class":522},[512,2032,586],{"class":522},[512,2034,726],{"class":725},[512,2036,1403],{"class":522},[512,2038,589],{"class":522},[512,2040,703],{"class":565},[512,2042,562],{"class":522},[512,2044,586],{"class":522},[512,2046,1673],{"class":522},[512,2048,589],{"class":522},[512,2050,581],{"class":565},[512,2052,562],{"class":522},[512,2054,586],{"class":522},[512,2056,589],{"class":522},[512,2058,1686],{"class":558},[512,2060,562],{"class":522},[512,2062,1691],{"class":522},[512,2064,2065],{"class":522}," },",[512,2067,2068],{"class":1611},"      // Succeeds\n",[512,2070,2071,2073,2075,2077,2079,2081,2083,2085,2087,2089,2091,2093,2095,2097,2099,2101,2103,2105,2108,2110,2112,2114],{"class":514,"line":575},[512,2072,1443],{"class":522},[512,2074,589],{"class":522},[512,2076,718],{"class":565},[512,2078,562],{"class":522},[512,2080,586],{"class":522},[512,2082,1708],{"class":725},[512,2084,1403],{"class":522},[512,2086,589],{"class":522},[512,2088,703],{"class":565},[512,2090,562],{"class":522},[512,2092,586],{"class":522},[512,2094,1673],{"class":522},[512,2096,589],{"class":522},[512,2098,581],{"class":565},[512,2100,562],{"class":522},[512,2102,586],{"class":522},[512,2104,589],{"class":522},[512,2106,2107],{"class":558},"Invalid",[512,2109,562],{"class":522},[512,2111,1691],{"class":522},[512,2113,1691],{"class":522},[512,2115,2116],{"class":1611},"   // Fails\n",[512,2118,2119],{"class":514,"line":600},[512,2120,678],{"class":565},[512,2122,2123],{"class":514,"line":620},[512,2124,684],{"class":522},[512,2126,2127],{"class":514,"line":626},[512,2128,543],{"emptyLinePlaceholder":542},[512,2130,2131],{"class":514,"line":631},[512,2132,2133],{"class":1611},"// Result: First update succeeds, second fails\n",[512,2135,2136],{"class":514,"line":651},[512,2137,549],{"class":522},[512,2139,2140,2142,2144,2146],{"class":514,"line":669},[512,2141,555],{"class":522},[512,2143,703],{"class":558},[512,2145,562],{"class":522},[512,2147,566],{"class":565},[512,2149,2150],{"class":514,"line":675},[512,2151,572],{"class":522},[512,2153,2154,2156,2158,2160,2162,2164],{"class":514,"line":681},[512,2155,578],{"class":522},[512,2157,718],{"class":565},[512,2159,562],{"class":522},[512,2161,586],{"class":522},[512,2163,726],{"class":725},[512,2165,597],{"class":522},[512,2167,2168,2170,2172,2174,2176,2178,2180,2182],{"class":514,"line":864},[512,2169,578],{"class":522},[512,2171,581],{"class":565},[512,2173,562],{"class":522},[512,2175,586],{"class":522},[512,2177,589],{"class":522},[512,2179,1686],{"class":558},[512,2181,562],{"class":522},[512,2183,597],{"class":522},[512,2185,2186,2188,2190,2192,2194,2196,2199],{"class":514,"line":872},[512,2187,578],{"class":522},[512,2189,1193],{"class":565},[512,2191,562],{"class":522},[512,2193,586],{"class":522},[512,2195,589],{"class":522},[512,2197,2198],{"class":558},"...",[512,2200,617],{"class":522},[512,2202,2203],{"class":514,"line":887},[512,2204,672],{"class":522},[512,2206,2207,2209],{"class":514,"line":904},[512,2208,867],{"class":565},[512,2210,597],{"class":522},[512,2212,2213,2215,2217,2219,2221],{"class":514,"line":920},[512,2214,555],{"class":522},[512,2216,877],{"class":558},[512,2218,562],{"class":522},[512,2220,882],{"class":565},[512,2222,549],{"class":522},[512,2224,2225,2227,2229,2231,2233,2235],{"class":514,"line":935},[512,2226,890],{"class":522},[512,2228,893],{"class":565},[512,2230,562],{"class":522},[512,2232,586],{"class":522},[512,2234,803],{"class":725},[512,2236,597],{"class":522},[512,2238,2239,2241,2243,2245,2247,2249],{"class":514,"line":941},[512,2240,890],{"class":522},[512,2242,909],{"class":565},[512,2244,562],{"class":522},[512,2246,586],{"class":522},[512,2248,726],{"class":725},[512,2250,597],{"class":522},[512,2252,2253,2255,2257,2259,2261,2263],{"class":514,"line":1884},[512,2254,890],{"class":522},[512,2256,925],{"class":565},[512,2258,562],{"class":522},[512,2260,586],{"class":522},[512,2262,726],{"class":725},[512,2264,597],{"class":522},[512,2266,2267,2269,2271,2273,2275],{"class":514,"line":1890},[512,2268,890],{"class":522},[512,2270,1818],{"class":565},[512,2272,562],{"class":522},[512,2274,586],{"class":522},[512,2276,1825],{"class":565},[512,2278,2279],{"class":514,"line":1895},[512,2280,1830],{"class":522},[512,2282,2284,2286,2288,2290,2292,2294],{"class":514,"line":2283},25,[512,2285,1026],{"class":522},[512,2287,1837],{"class":565},[512,2289,562],{"class":522},[512,2291,586],{"class":522},[512,2293,726],{"class":725},[512,2295,597],{"class":522},[512,2297,2299,2301,2303,2305,2307,2309],{"class":514,"line":2298},26,[512,2300,1026],{"class":522},[512,2302,718],{"class":565},[512,2304,562],{"class":522},[512,2306,586],{"class":522},[512,2308,1708],{"class":725},[512,2310,597],{"class":522},[512,2312,2314,2316,2318,2320,2322,2324,2326],{"class":514,"line":2313},27,[512,2315,1026],{"class":522},[512,2317,1866],{"class":565},[512,2319,562],{"class":522},[512,2321,586],{"class":522},[512,2323,589],{"class":522},[512,2325,1875],{"class":558},[512,2327,617],{"class":522},[512,2329,2331],{"class":514,"line":2330},28,[512,2332,1044],{"class":522},[512,2334,2336],{"class":514,"line":2335},29,[512,2337,1887],{"class":565},[512,2339,2341],{"class":514,"line":2340},30,[512,2342,938],{"class":522},[512,2344,2346],{"class":514,"line":2345},31,[512,2347,684],{"class":522},[459,2349,2351],{"id":2350},"batch-size-limits","Batch Size Limits",[455,2353,2354],{},"Protect your database from oversized requests:",[502,2356,2358],{"className":504,"code":2357,"language":506,"meta":507,"style":507},"export default defineNuxtConfig({\n  autoApi: {\n    bulk: {\n      maxBatchSize: 100  // Default: 100\n    }\n  }\n})\n",[509,2359,2360,2372,2380,2388,2401,2405,2409],{"__ignoreMap":507},[512,2361,2362,2364,2366,2368,2370],{"class":514,"line":515},[512,2363,1916],{"class":1915},[512,2365,1919],{"class":1915},[512,2367,1923],{"class":1922},[512,2369,1926],{"class":518},[512,2371,549],{"class":522},[512,2373,2374,2376,2378],{"class":514,"line":539},[512,2375,1933],{"class":565},[512,2377,586],{"class":522},[512,2379,1021],{"class":522},[512,2381,2382,2384,2386],{"class":514,"line":546},[512,2383,1942],{"class":565},[512,2385,586],{"class":522},[512,2387,1021],{"class":522},[512,2389,2390,2393,2395,2398],{"class":514,"line":552},[512,2391,2392],{"class":565},"      maxBatchSize",[512,2394,586],{"class":522},[512,2396,2397],{"class":725}," 100",[512,2399,2400],{"class":1611},"  // Default: 100\n",[512,2402,2403],{"class":514,"line":569},[512,2404,672],{"class":522},[512,2406,2407],{"class":514,"line":575},[512,2408,938],{"class":522},[512,2410,2411,2413],{"class":514,"line":600},[512,2412,1972],{"class":522},[512,2414,1975],{"class":518},[455,2416,2417],{},"Exceeding the limit returns an error:",[502,2419,2421],{"className":504,"code":2420,"language":506,"meta":507,"style":507},"POST /api/users/bulk\n\n{\n  \"items\": [/* 150 items */]\n}\n\n// Response:\n{\n  \"statusCode\": 400,\n  \"message\": \"Batch size exceeds maximum of 100\"\n}\n",[509,2422,2423,2439,2443,2447,2462,2466,2470,2475,2479,2493,2510],{"__ignoreMap":507},[512,2424,2425,2427,2429,2431,2433,2435,2437],{"class":514,"line":515},[512,2426,519],{"class":518},[512,2428,523],{"class":522},[512,2430,526],{"class":518},[512,2432,523],{"class":522},[512,2434,531],{"class":518},[512,2436,523],{"class":522},[512,2438,536],{"class":518},[512,2440,2441],{"class":514,"line":539},[512,2442,543],{"emptyLinePlaceholder":542},[512,2444,2445],{"class":514,"line":546},[512,2446,549],{"class":522},[512,2448,2449,2451,2453,2455,2457,2460],{"class":514,"line":552},[512,2450,555],{"class":522},[512,2452,559],{"class":558},[512,2454,562],{"class":522},[512,2456,1397],{"class":565},[512,2458,2459],{"class":1611},"/* 150 items */",[512,2461,1413],{"class":565},[512,2463,2464],{"class":514,"line":569},[512,2465,684],{"class":522},[512,2467,2468],{"class":514,"line":575},[512,2469,543],{"emptyLinePlaceholder":542},[512,2471,2472],{"class":514,"line":600},[512,2473,2474],{"class":1611},"// Response:\n",[512,2476,2477],{"class":514,"line":620},[512,2478,549],{"class":522},[512,2480,2481,2483,2485,2487,2489,2491],{"class":514,"line":626},[512,2482,555],{"class":522},[512,2484,1770],{"class":558},[512,2486,562],{"class":522},[512,2488,882],{"class":565},[512,2490,1777],{"class":725},[512,2492,597],{"class":522},[512,2494,2495,2497,2499,2501,2503,2505,2508],{"class":514,"line":631},[512,2496,555],{"class":522},[512,2498,1786],{"class":558},[512,2500,562],{"class":522},[512,2502,882],{"class":565},[512,2504,562],{"class":522},[512,2506,2507],{"class":558},"Batch size exceeds maximum of 100",[512,2509,617],{"class":522},[512,2511,2512],{"class":514,"line":651},[512,2513,684],{"class":522},[459,2515,2517],{"id":2516},"authorization","Authorization",[455,2519,2520],{},"Each item is individually authorized:",[502,2522,2524],{"className":504,"code":2523,"language":506,"meta":507,"style":507},"// User can only update their own records\nPATCH /api/posts/bulk\n\n{\n  \"items\": [\n    { \"id\": 1, \"data\": { \"title\": \"My Post\" } },      // User owns: ✅\n    { \"id\": 2, \"data\": { \"title\": \"Others Post\" } }   // User doesn't own: ❌\n  ]\n}\n\n// In transactional mode: entire request fails\n// In non-transactional mode: only authorized items succeed\n",[509,2525,2526,2531,2548,2552,2556,2566,2615,2663,2667,2671,2675,2680],{"__ignoreMap":507},[512,2527,2528],{"class":514,"line":515},[512,2529,2530],{"class":1611},"// User can only update their own records\n",[512,2532,2533,2535,2537,2539,2541,2544,2546],{"class":514,"line":539},[512,2534,960],{"class":518},[512,2536,523],{"class":522},[512,2538,526],{"class":518},[512,2540,523],{"class":522},[512,2542,2543],{"class":518},"posts",[512,2545,523],{"class":522},[512,2547,536],{"class":518},[512,2549,2550],{"class":514,"line":546},[512,2551,543],{"emptyLinePlaceholder":542},[512,2553,2554],{"class":514,"line":552},[512,2555,549],{"class":522},[512,2557,2558,2560,2562,2564],{"class":514,"line":569},[512,2559,555],{"class":522},[512,2561,559],{"class":558},[512,2563,562],{"class":522},[512,2565,566],{"class":565},[512,2567,2568,2570,2572,2574,2576,2578,2580,2582,2584,2586,2588,2590,2592,2594,2597,2599,2601,2603,2606,2608,2610,2612],{"class":514,"line":575},[512,2569,1443],{"class":522},[512,2571,589],{"class":522},[512,2573,718],{"class":565},[512,2575,562],{"class":522},[512,2577,586],{"class":522},[512,2579,726],{"class":725},[512,2581,1403],{"class":522},[512,2583,589],{"class":522},[512,2585,703],{"class":565},[512,2587,562],{"class":522},[512,2589,586],{"class":522},[512,2591,1673],{"class":522},[512,2593,589],{"class":522},[512,2595,2596],{"class":565},"title",[512,2598,562],{"class":522},[512,2600,586],{"class":522},[512,2602,589],{"class":522},[512,2604,2605],{"class":558},"My Post",[512,2607,562],{"class":522},[512,2609,1691],{"class":522},[512,2611,2065],{"class":522},[512,2613,2614],{"class":1611},"      // User owns: ✅\n",[512,2616,2617,2619,2621,2623,2625,2627,2629,2631,2633,2635,2637,2639,2641,2643,2645,2647,2649,2651,2654,2656,2658,2660],{"class":514,"line":600},[512,2618,1443],{"class":522},[512,2620,589],{"class":522},[512,2622,718],{"class":565},[512,2624,562],{"class":522},[512,2626,586],{"class":522},[512,2628,803],{"class":725},[512,2630,1403],{"class":522},[512,2632,589],{"class":522},[512,2634,703],{"class":565},[512,2636,562],{"class":522},[512,2638,586],{"class":522},[512,2640,1673],{"class":522},[512,2642,589],{"class":522},[512,2644,2596],{"class":565},[512,2646,562],{"class":522},[512,2648,586],{"class":522},[512,2650,589],{"class":522},[512,2652,2653],{"class":558},"Others Post",[512,2655,562],{"class":522},[512,2657,1691],{"class":522},[512,2659,1691],{"class":522},[512,2661,2662],{"class":1611},"   // User doesn't own: ❌\n",[512,2664,2665],{"class":514,"line":620},[512,2666,678],{"class":565},[512,2668,2669],{"class":514,"line":626},[512,2670,684],{"class":522},[512,2672,2673],{"class":514,"line":631},[512,2674,543],{"emptyLinePlaceholder":542},[512,2676,2677],{"class":514,"line":651},[512,2678,2679],{"class":1611},"// In transactional mode: entire request fails\n",[512,2681,2682],{"class":514,"line":669},[512,2683,2684],{"class":1611},"// In non-transactional mode: only authorized items succeed\n",[459,2686,215],{"id":2687},"lifecycle-hooks",[455,2689,2690],{},"Hooks execute for each item in the batch:",[502,2692,2694],{"className":504,"code":2693,"language":506,"meta":507,"style":507},"// server/plugins/user-hooks.ts\nexport default defineNitroPlugin(() => {\n  const hooks = globalThis.__autoApiHooks || (globalThis.__autoApiHooks = {})\n\n  hooks.users = {\n    beforeCreate: async (data) => {\n      console.log('Creating user:', data.email)\n      // Set default values, validate, etc.\n      data.role = data.role || 'user'\n      return data\n    },\n\n    afterCreate: async (user) => {\n      console.log('User created:', user.id)\n      // Send welcome email, log audit, etc.\n    }\n  }\n})\n",[509,2695,2696,2701,2721,2761,2765,2778,2800,2831,2836,2865,2873,2877,2881,2900,2928,2933,2937,2941],{"__ignoreMap":507},[512,2697,2698],{"class":514,"line":515},[512,2699,2700],{"class":1611},"// server/plugins/user-hooks.ts\n",[512,2702,2703,2705,2707,2710,2712,2715,2719],{"class":514,"line":539},[512,2704,1916],{"class":1915},[512,2706,1919],{"class":1915},[512,2708,2709],{"class":1922}," defineNitroPlugin",[512,2711,1926],{"class":518},[512,2713,2714],{"class":522},"()",[512,2716,2718],{"class":2717},"spNyl"," =>",[512,2720,1021],{"class":522},[512,2722,2723,2726,2729,2732,2735,2738,2741,2744,2747,2750,2752,2754,2756,2759],{"class":514,"line":546},[512,2724,2725],{"class":2717},"  const",[512,2727,2728],{"class":518}," hooks",[512,2730,2731],{"class":522}," =",[512,2733,2734],{"class":518}," globalThis",[512,2736,2737],{"class":522},".",[512,2739,2740],{"class":518},"__autoApiHooks",[512,2742,2743],{"class":522}," ||",[512,2745,2746],{"class":565}," (",[512,2748,2749],{"class":518},"globalThis",[512,2751,2737],{"class":522},[512,2753,2740],{"class":518},[512,2755,2731],{"class":522},[512,2757,2758],{"class":522}," {}",[512,2760,1975],{"class":565},[512,2762,2763],{"class":514,"line":552},[512,2764,543],{"emptyLinePlaceholder":542},[512,2766,2767,2770,2772,2774,2776],{"class":514,"line":569},[512,2768,2769],{"class":518},"  hooks",[512,2771,2737],{"class":522},[512,2773,531],{"class":518},[512,2775,2731],{"class":522},[512,2777,1021],{"class":522},[512,2779,2780,2783,2785,2788,2790,2793,2796,2798],{"class":514,"line":575},[512,2781,2782],{"class":1922},"    beforeCreate",[512,2784,586],{"class":522},[512,2786,2787],{"class":2717}," async",[512,2789,2746],{"class":522},[512,2791,703],{"class":2792},"sHdIc",[512,2794,2795],{"class":522},")",[512,2797,2718],{"class":2717},[512,2799,1021],{"class":522},[512,2801,2802,2805,2807,2810,2812,2815,2818,2820,2822,2825,2827,2829],{"class":514,"line":600},[512,2803,2804],{"class":518},"      console",[512,2806,2737],{"class":522},[512,2808,2809],{"class":1922},"log",[512,2811,1926],{"class":565},[512,2813,2814],{"class":522},"'",[512,2816,2817],{"class":558},"Creating user:",[512,2819,2814],{"class":522},[512,2821,1403],{"class":522},[512,2823,2824],{"class":518}," data",[512,2826,2737],{"class":522},[512,2828,605],{"class":518},[512,2830,1975],{"class":565},[512,2832,2833],{"class":514,"line":620},[512,2834,2835],{"class":1611},"      // Set default values, validate, etc.\n",[512,2837,2838,2841,2843,2846,2848,2850,2852,2854,2856,2859,2862],{"class":514,"line":626},[512,2839,2840],{"class":518},"      data",[512,2842,2737],{"class":522},[512,2844,2845],{"class":518},"role",[512,2847,2731],{"class":522},[512,2849,2824],{"class":518},[512,2851,2737],{"class":522},[512,2853,2845],{"class":518},[512,2855,2743],{"class":522},[512,2857,2858],{"class":522}," '",[512,2860,2861],{"class":558},"user",[512,2863,2864],{"class":522},"'\n",[512,2866,2867,2870],{"class":514,"line":631},[512,2868,2869],{"class":1915},"      return",[512,2871,2872],{"class":518}," data\n",[512,2874,2875],{"class":514,"line":651},[512,2876,623],{"class":522},[512,2878,2879],{"class":514,"line":669},[512,2880,543],{"emptyLinePlaceholder":542},[512,2882,2883,2886,2888,2890,2892,2894,2896,2898],{"class":514,"line":675},[512,2884,2885],{"class":1922},"    afterCreate",[512,2887,586],{"class":522},[512,2889,2787],{"class":2717},[512,2891,2746],{"class":522},[512,2893,2861],{"class":2792},[512,2895,2795],{"class":522},[512,2897,2718],{"class":2717},[512,2899,1021],{"class":522},[512,2901,2902,2904,2906,2908,2910,2912,2915,2917,2919,2922,2924,2926],{"class":514,"line":681},[512,2903,2804],{"class":518},[512,2905,2737],{"class":522},[512,2907,2809],{"class":1922},[512,2909,1926],{"class":565},[512,2911,2814],{"class":522},[512,2913,2914],{"class":558},"User created:",[512,2916,2814],{"class":522},[512,2918,1403],{"class":522},[512,2920,2921],{"class":518}," user",[512,2923,2737],{"class":522},[512,2925,718],{"class":518},[512,2927,1975],{"class":565},[512,2929,2930],{"class":514,"line":864},[512,2931,2932],{"class":1611},"      // Send welcome email, log audit, etc.\n",[512,2934,2935],{"class":514,"line":872},[512,2936,672],{"class":522},[512,2938,2939],{"class":514,"line":887},[512,2940,938],{"class":522},[512,2942,2943,2945],{"class":514,"line":904},[512,2944,1972],{"class":522},[512,2946,1975],{"class":518},[455,2948,2949],{},"Bulk create triggers hooks for each item:",[502,2951,2953],{"className":504,"code":2952,"language":506,"meta":507,"style":507},"POST /api/users/bulk\n\n{\n  \"items\": [\n    { \"name\": \"User 1\", \"email\": \"user1@example.com\" },\n    { \"name\": \"User 2\", \"email\": \"user2@example.com\" }\n  ]\n}\n\n// Console output:\n// Creating user: user1@example.com\n// Creating user: user2@example.com\n// User created: 1\n// User created: 2\n",[509,2954,2955,2971,2975,2979,2989,3027,3065,3069,3073,3077,3082,3087,3092,3097],{"__ignoreMap":507},[512,2956,2957,2959,2961,2963,2965,2967,2969],{"class":514,"line":515},[512,2958,519],{"class":518},[512,2960,523],{"class":522},[512,2962,526],{"class":518},[512,2964,523],{"class":522},[512,2966,531],{"class":518},[512,2968,523],{"class":522},[512,2970,536],{"class":518},[512,2972,2973],{"class":514,"line":539},[512,2974,543],{"emptyLinePlaceholder":542},[512,2976,2977],{"class":514,"line":546},[512,2978,549],{"class":522},[512,2980,2981,2983,2985,2987],{"class":514,"line":552},[512,2982,555],{"class":522},[512,2984,559],{"class":558},[512,2986,562],{"class":522},[512,2988,566],{"class":565},[512,2990,2991,2993,2995,2997,2999,3001,3003,3006,3008,3010,3012,3014,3016,3018,3020,3023,3025],{"class":514,"line":569},[512,2992,1443],{"class":522},[512,2994,589],{"class":522},[512,2996,581],{"class":565},[512,2998,562],{"class":522},[512,3000,586],{"class":522},[512,3002,589],{"class":522},[512,3004,3005],{"class":558},"User 1",[512,3007,562],{"class":522},[512,3009,1403],{"class":522},[512,3011,589],{"class":522},[512,3013,605],{"class":565},[512,3015,562],{"class":522},[512,3017,586],{"class":522},[512,3019,589],{"class":522},[512,3021,3022],{"class":558},"user1@example.com",[512,3024,562],{"class":522},[512,3026,1471],{"class":522},[512,3028,3029,3031,3033,3035,3037,3039,3041,3044,3046,3048,3050,3052,3054,3056,3058,3061,3063],{"class":514,"line":575},[512,3030,1443],{"class":522},[512,3032,589],{"class":522},[512,3034,581],{"class":565},[512,3036,562],{"class":522},[512,3038,586],{"class":522},[512,3040,589],{"class":522},[512,3042,3043],{"class":558},"User 2",[512,3045,562],{"class":522},[512,3047,1403],{"class":522},[512,3049,589],{"class":522},[512,3051,605],{"class":565},[512,3053,562],{"class":522},[512,3055,586],{"class":522},[512,3057,589],{"class":522},[512,3059,3060],{"class":558},"user2@example.com",[512,3062,562],{"class":522},[512,3064,1528],{"class":522},[512,3066,3067],{"class":514,"line":600},[512,3068,678],{"class":565},[512,3070,3071],{"class":514,"line":620},[512,3072,684],{"class":522},[512,3074,3075],{"class":514,"line":626},[512,3076,543],{"emptyLinePlaceholder":542},[512,3078,3079],{"class":514,"line":631},[512,3080,3081],{"class":1611},"// Console output:\n",[512,3083,3084],{"class":514,"line":651},[512,3085,3086],{"class":1611},"// Creating user: user1@example.com\n",[512,3088,3089],{"class":514,"line":669},[512,3090,3091],{"class":1611},"// Creating user: user2@example.com\n",[512,3093,3094],{"class":514,"line":675},[512,3095,3096],{"class":1611},"// User created: 1\n",[512,3098,3099],{"class":514,"line":681},[512,3100,3101],{"class":1611},"// User created: 2\n",[459,3103,239],{"id":3104},"validation",[455,3106,3107],{},"Each item is validated before processing:",[502,3109,3111],{"className":504,"code":3110,"language":506,"meta":507,"style":507},"// With validation schema\nexport const userValidation = {\n  create: z.object({\n    name: z.string().min(2),\n    email: z.string().email()\n  })\n}\n\n// Request with validation errors\nPOST /api/users/bulk\n\n{\n  \"items\": [\n    { \"name\": \"Valid User\", \"email\": \"valid@example.com\" },\n    { \"name\": \"X\", \"email\": \"invalid\" }  // Validation fails\n  ]\n}\n\n// In transactional mode: entire request fails\n// In non-transactional mode: only valid items succeed\n",[509,3112,3113,3118,3133,3152,3182,3204,3211,3215,3219,3224,3240,3244,3248,3258,3296,3337,3341,3345,3349,3353],{"__ignoreMap":507},[512,3114,3115],{"class":514,"line":515},[512,3116,3117],{"class":1611},"// With validation schema\n",[512,3119,3120,3122,3125,3128,3131],{"class":514,"line":539},[512,3121,1916],{"class":1915},[512,3123,3124],{"class":2717}," const",[512,3126,3127],{"class":518}," userValidation ",[512,3129,3130],{"class":522},"=",[512,3132,1021],{"class":522},[512,3134,3135,3138,3140,3143,3145,3148,3150],{"class":514,"line":546},[512,3136,3137],{"class":565},"  create",[512,3139,586],{"class":522},[512,3141,3142],{"class":518}," z",[512,3144,2737],{"class":522},[512,3146,3147],{"class":1922},"object",[512,3149,1926],{"class":518},[512,3151,549],{"class":522},[512,3153,3154,3157,3159,3161,3163,3166,3168,3170,3173,3175,3178,3180],{"class":514,"line":552},[512,3155,3156],{"class":565},"    name",[512,3158,586],{"class":522},[512,3160,3142],{"class":518},[512,3162,2737],{"class":522},[512,3164,3165],{"class":1922},"string",[512,3167,2714],{"class":518},[512,3169,2737],{"class":522},[512,3171,3172],{"class":1922},"min",[512,3174,1926],{"class":518},[512,3176,3177],{"class":725},"2",[512,3179,2795],{"class":518},[512,3181,597],{"class":522},[512,3183,3184,3187,3189,3191,3193,3195,3197,3199,3201],{"class":514,"line":569},[512,3185,3186],{"class":565},"    email",[512,3188,586],{"class":522},[512,3190,3142],{"class":518},[512,3192,2737],{"class":522},[512,3194,3165],{"class":1922},[512,3196,2714],{"class":518},[512,3198,2737],{"class":522},[512,3200,605],{"class":1922},[512,3202,3203],{"class":518},"()\n",[512,3205,3206,3209],{"class":514,"line":575},[512,3207,3208],{"class":522},"  }",[512,3210,1975],{"class":518},[512,3212,3213],{"class":514,"line":600},[512,3214,684],{"class":522},[512,3216,3217],{"class":514,"line":620},[512,3218,543],{"emptyLinePlaceholder":542},[512,3220,3221],{"class":514,"line":626},[512,3222,3223],{"class":1611},"// Request with validation errors\n",[512,3225,3226,3228,3230,3232,3234,3236,3238],{"class":514,"line":631},[512,3227,519],{"class":518},[512,3229,523],{"class":522},[512,3231,526],{"class":518},[512,3233,523],{"class":522},[512,3235,531],{"class":518},[512,3237,523],{"class":522},[512,3239,536],{"class":518},[512,3241,3242],{"class":514,"line":651},[512,3243,543],{"emptyLinePlaceholder":542},[512,3245,3246],{"class":514,"line":669},[512,3247,549],{"class":522},[512,3249,3250,3252,3254,3256],{"class":514,"line":675},[512,3251,555],{"class":522},[512,3253,559],{"class":558},[512,3255,562],{"class":522},[512,3257,566],{"class":565},[512,3259,3260,3262,3264,3266,3268,3270,3272,3275,3277,3279,3281,3283,3285,3287,3289,3292,3294],{"class":514,"line":681},[512,3261,1443],{"class":522},[512,3263,589],{"class":522},[512,3265,581],{"class":565},[512,3267,562],{"class":522},[512,3269,586],{"class":522},[512,3271,589],{"class":522},[512,3273,3274],{"class":558},"Valid User",[512,3276,562],{"class":522},[512,3278,1403],{"class":522},[512,3280,589],{"class":522},[512,3282,605],{"class":565},[512,3284,562],{"class":522},[512,3286,586],{"class":522},[512,3288,589],{"class":522},[512,3290,3291],{"class":558},"valid@example.com",[512,3293,562],{"class":522},[512,3295,1471],{"class":522},[512,3297,3298,3300,3302,3304,3306,3308,3310,3313,3315,3317,3319,3321,3323,3325,3327,3330,3332,3334],{"class":514,"line":864},[512,3299,1443],{"class":522},[512,3301,589],{"class":522},[512,3303,581],{"class":565},[512,3305,562],{"class":522},[512,3307,586],{"class":522},[512,3309,589],{"class":522},[512,3311,3312],{"class":558},"X",[512,3314,562],{"class":522},[512,3316,1403],{"class":522},[512,3318,589],{"class":522},[512,3320,605],{"class":565},[512,3322,562],{"class":522},[512,3324,586],{"class":522},[512,3326,589],{"class":522},[512,3328,3329],{"class":558},"invalid",[512,3331,562],{"class":522},[512,3333,1691],{"class":522},[512,3335,3336],{"class":1611},"  // Validation fails\n",[512,3338,3339],{"class":514,"line":872},[512,3340,678],{"class":565},[512,3342,3343],{"class":514,"line":887},[512,3344,684],{"class":522},[512,3346,3347],{"class":514,"line":904},[512,3348,543],{"emptyLinePlaceholder":542},[512,3350,3351],{"class":514,"line":920},[512,3352,2679],{"class":1611},[512,3354,3355],{"class":514,"line":935},[512,3356,3357],{"class":1611},"// In non-transactional mode: only valid items succeed\n",[459,3359,3361],{"id":3360},"frontend-usage","Frontend Usage",[1899,3363,3365],{"id":3364},"with-composables","With Composables",[502,3367,3369],{"className":504,"code":3368,"language":506,"meta":507,"style":507},"// Bulk create\nconst { execute, data, error } = useAutoApiAction('users', 'bulk')\n\nawait execute({\n  method: 'POST',\n  body: {\n    items: [\n      { name: 'User 1', email: 'user1@example.com' },\n      { name: 'User 2', email: 'user2@example.com' }\n    ]\n  }\n})\n\nconsole.log(data.value.meta)  // { total: 2, successful: 2, failed: 0 }\n",[509,3370,3371,3376,3421,3425,3436,3452,3461,3470,3501,3529,3533,3537,3543,3547],{"__ignoreMap":507},[512,3372,3373],{"class":514,"line":515},[512,3374,3375],{"class":1611},"// Bulk create\n",[512,3377,3378,3381,3383,3386,3388,3390,3392,3395,3397,3399,3402,3404,3406,3408,3410,3412,3414,3417,3419],{"class":514,"line":539},[512,3379,3380],{"class":2717},"const",[512,3382,1673],{"class":522},[512,3384,3385],{"class":518}," execute",[512,3387,1403],{"class":522},[512,3389,2824],{"class":518},[512,3391,1403],{"class":522},[512,3393,3394],{"class":518}," error ",[512,3396,1972],{"class":522},[512,3398,2731],{"class":522},[512,3400,3401],{"class":1922}," useAutoApiAction",[512,3403,1926],{"class":518},[512,3405,2814],{"class":522},[512,3407,531],{"class":558},[512,3409,2814],{"class":522},[512,3411,1403],{"class":522},[512,3413,2858],{"class":522},[512,3415,3416],{"class":558},"bulk",[512,3418,2814],{"class":522},[512,3420,1975],{"class":518},[512,3422,3423],{"class":514,"line":546},[512,3424,543],{"emptyLinePlaceholder":542},[512,3426,3427,3430,3432,3434],{"class":514,"line":552},[512,3428,3429],{"class":1915},"await",[512,3431,3385],{"class":1922},[512,3433,1926],{"class":518},[512,3435,549],{"class":522},[512,3437,3438,3441,3443,3445,3448,3450],{"class":514,"line":569},[512,3439,3440],{"class":565},"  method",[512,3442,586],{"class":522},[512,3444,2858],{"class":522},[512,3446,3447],{"class":558},"POST",[512,3449,2814],{"class":522},[512,3451,597],{"class":522},[512,3453,3454,3457,3459],{"class":514,"line":575},[512,3455,3456],{"class":565},"  body",[512,3458,586],{"class":522},[512,3460,1021],{"class":522},[512,3462,3463,3466,3468],{"class":514,"line":600},[512,3464,3465],{"class":565},"    items",[512,3467,586],{"class":522},[512,3469,1825],{"class":518},[512,3471,3472,3475,3478,3480,3482,3484,3486,3488,3491,3493,3495,3497,3499],{"class":514,"line":620},[512,3473,3474],{"class":522},"      {",[512,3476,3477],{"class":565}," name",[512,3479,586],{"class":522},[512,3481,2858],{"class":522},[512,3483,3005],{"class":558},[512,3485,2814],{"class":522},[512,3487,1403],{"class":522},[512,3489,3490],{"class":565}," email",[512,3492,586],{"class":522},[512,3494,2858],{"class":522},[512,3496,3022],{"class":558},[512,3498,2814],{"class":522},[512,3500,1471],{"class":522},[512,3502,3503,3505,3507,3509,3511,3513,3515,3517,3519,3521,3523,3525,3527],{"class":514,"line":626},[512,3504,3474],{"class":522},[512,3506,3477],{"class":565},[512,3508,586],{"class":522},[512,3510,2858],{"class":522},[512,3512,3043],{"class":558},[512,3514,2814],{"class":522},[512,3516,1403],{"class":522},[512,3518,3490],{"class":565},[512,3520,586],{"class":522},[512,3522,2858],{"class":522},[512,3524,3060],{"class":558},[512,3526,2814],{"class":522},[512,3528,1528],{"class":522},[512,3530,3531],{"class":514,"line":631},[512,3532,1887],{"class":518},[512,3534,3535],{"class":514,"line":651},[512,3536,938],{"class":522},[512,3538,3539,3541],{"class":514,"line":669},[512,3540,1972],{"class":522},[512,3542,1975],{"class":518},[512,3544,3545],{"class":514,"line":675},[512,3546,543],{"emptyLinePlaceholder":542},[512,3548,3549,3552,3554,3556,3559,3561,3564,3566,3569],{"class":514,"line":681},[512,3550,3551],{"class":518},"console",[512,3553,2737],{"class":522},[512,3555,2809],{"class":1922},[512,3557,3558],{"class":518},"(data",[512,3560,2737],{"class":522},[512,3562,3563],{"class":518},"value",[512,3565,2737],{"class":522},[512,3567,3568],{"class":518},"meta)  ",[512,3570,3571],{"class":1611},"// { total: 2, successful: 2, failed: 0 }\n",[502,3573,3575],{"className":504,"code":3574,"language":506,"meta":507,"style":507},"// Bulk update\nconst { execute } = useAutoApiAction('users', 'bulk')\n\nawait execute({\n  method: 'PATCH',\n  body: {\n    items: [\n      { id: 1, data: { name: 'Updated 1' } },\n      { id: 2, data: { name: 'Updated 2' } }\n    ]\n  }\n})\n",[509,3576,3577,3582,3615,3619,3629,3644,3652,3660,3694,3727,3731,3735],{"__ignoreMap":507},[512,3578,3579],{"class":514,"line":515},[512,3580,3581],{"class":1611},"// Bulk update\n",[512,3583,3584,3586,3588,3591,3593,3595,3597,3599,3601,3603,3605,3607,3609,3611,3613],{"class":514,"line":539},[512,3585,3380],{"class":2717},[512,3587,1673],{"class":522},[512,3589,3590],{"class":518}," execute ",[512,3592,1972],{"class":522},[512,3594,2731],{"class":522},[512,3596,3401],{"class":1922},[512,3598,1926],{"class":518},[512,3600,2814],{"class":522},[512,3602,531],{"class":558},[512,3604,2814],{"class":522},[512,3606,1403],{"class":522},[512,3608,2858],{"class":522},[512,3610,3416],{"class":558},[512,3612,2814],{"class":522},[512,3614,1975],{"class":518},[512,3616,3617],{"class":514,"line":546},[512,3618,543],{"emptyLinePlaceholder":542},[512,3620,3621,3623,3625,3627],{"class":514,"line":552},[512,3622,3429],{"class":1915},[512,3624,3385],{"class":1922},[512,3626,1926],{"class":518},[512,3628,549],{"class":522},[512,3630,3631,3633,3635,3637,3640,3642],{"class":514,"line":569},[512,3632,3440],{"class":565},[512,3634,586],{"class":522},[512,3636,2858],{"class":522},[512,3638,3639],{"class":558},"PATCH",[512,3641,2814],{"class":522},[512,3643,597],{"class":522},[512,3645,3646,3648,3650],{"class":514,"line":575},[512,3647,3456],{"class":565},[512,3649,586],{"class":522},[512,3651,1021],{"class":522},[512,3653,3654,3656,3658],{"class":514,"line":600},[512,3655,3465],{"class":565},[512,3657,586],{"class":522},[512,3659,1825],{"class":518},[512,3661,3662,3664,3667,3669,3671,3673,3675,3677,3679,3681,3683,3685,3688,3690,3692],{"class":514,"line":620},[512,3663,3474],{"class":522},[512,3665,3666],{"class":565}," id",[512,3668,586],{"class":522},[512,3670,726],{"class":725},[512,3672,1403],{"class":522},[512,3674,2824],{"class":565},[512,3676,586],{"class":522},[512,3678,1673],{"class":522},[512,3680,3477],{"class":565},[512,3682,586],{"class":522},[512,3684,2858],{"class":522},[512,3686,3687],{"class":558},"Updated 1",[512,3689,2814],{"class":522},[512,3691,1691],{"class":522},[512,3693,1471],{"class":522},[512,3695,3696,3698,3700,3702,3704,3706,3708,3710,3712,3714,3716,3718,3721,3723,3725],{"class":514,"line":626},[512,3697,3474],{"class":522},[512,3699,3666],{"class":565},[512,3701,586],{"class":522},[512,3703,803],{"class":725},[512,3705,1403],{"class":522},[512,3707,2824],{"class":565},[512,3709,586],{"class":522},[512,3711,1673],{"class":522},[512,3713,3477],{"class":565},[512,3715,586],{"class":522},[512,3717,2858],{"class":522},[512,3719,3720],{"class":558},"Updated 2",[512,3722,2814],{"class":522},[512,3724,1691],{"class":522},[512,3726,1528],{"class":522},[512,3728,3729],{"class":514,"line":631},[512,3730,1887],{"class":518},[512,3732,3733],{"class":514,"line":651},[512,3734,938],{"class":522},[512,3736,3737,3739],{"class":514,"line":669},[512,3738,1972],{"class":522},[512,3740,1975],{"class":518},[502,3742,3744],{"className":504,"code":3743,"language":506,"meta":507,"style":507},"// Bulk delete\nconst { execute } = useAutoApiAction('users', 'bulk')\n\nawait execute({\n  method: 'DELETE',\n  body: {\n    ids: [1, 2, 3]\n  }\n})\n",[509,3745,3746,3751,3783,3787,3797,3812,3820,3842,3846],{"__ignoreMap":507},[512,3747,3748],{"class":514,"line":515},[512,3749,3750],{"class":1611},"// Bulk delete\n",[512,3752,3753,3755,3757,3759,3761,3763,3765,3767,3769,3771,3773,3775,3777,3779,3781],{"class":514,"line":539},[512,3754,3380],{"class":2717},[512,3756,1673],{"class":522},[512,3758,3590],{"class":518},[512,3760,1972],{"class":522},[512,3762,2731],{"class":522},[512,3764,3401],{"class":1922},[512,3766,1926],{"class":518},[512,3768,2814],{"class":522},[512,3770,531],{"class":558},[512,3772,2814],{"class":522},[512,3774,1403],{"class":522},[512,3776,2858],{"class":522},[512,3778,3416],{"class":558},[512,3780,2814],{"class":522},[512,3782,1975],{"class":518},[512,3784,3785],{"class":514,"line":546},[512,3786,543],{"emptyLinePlaceholder":542},[512,3788,3789,3791,3793,3795],{"class":514,"line":552},[512,3790,3429],{"class":1915},[512,3792,3385],{"class":1922},[512,3794,1926],{"class":518},[512,3796,549],{"class":522},[512,3798,3799,3801,3803,3805,3808,3810],{"class":514,"line":569},[512,3800,3440],{"class":565},[512,3802,586],{"class":522},[512,3804,2858],{"class":522},[512,3806,3807],{"class":558},"DELETE",[512,3809,2814],{"class":522},[512,3811,597],{"class":522},[512,3813,3814,3816,3818],{"class":514,"line":575},[512,3815,3456],{"class":565},[512,3817,586],{"class":522},[512,3819,1021],{"class":522},[512,3821,3822,3825,3827,3830,3832,3834,3836,3838,3840],{"class":514,"line":600},[512,3823,3824],{"class":565},"    ids",[512,3826,586],{"class":522},[512,3828,3829],{"class":518}," [",[512,3831,1400],{"class":725},[512,3833,1403],{"class":522},[512,3835,803],{"class":725},[512,3837,1403],{"class":522},[512,3839,1410],{"class":725},[512,3841,1413],{"class":518},[512,3843,3844],{"class":514,"line":620},[512,3845,938],{"class":522},[512,3847,3848,3850],{"class":514,"line":626},[512,3849,1972],{"class":522},[512,3851,1975],{"class":518},[1899,3853,3855],{"id":3854},"direct-fetch","Direct Fetch",[502,3857,3859],{"className":504,"code":3858,"language":506,"meta":507,"style":507},"// Bulk create\nconst response = await $fetch('/api/users/bulk', {\n  method: 'POST',\n  body: {\n    items: [...]\n  }\n})\n\n// Bulk update\nawait $fetch('/api/users/bulk', {\n  method: 'PATCH',\n  body: {\n    items: [\n      { id: 1, data: { ... } }\n    ]\n  }\n})\n\n// Bulk delete\nawait $fetch('/api/users/bulk', {\n  method: 'DELETE',\n  body: {\n    ids: [1, 2, 3]\n  }\n})\n",[509,3860,3861,3865,3893,3907,3915,3927,3931,3937,3941,3945,3963,3977,3985,3993,4018,4022,4026,4032,4036,4040,4058,4072,4080,4100,4104],{"__ignoreMap":507},[512,3862,3863],{"class":514,"line":515},[512,3864,3375],{"class":1611},[512,3866,3867,3869,3872,3874,3877,3880,3882,3884,3887,3889,3891],{"class":514,"line":539},[512,3868,3380],{"class":2717},[512,3870,3871],{"class":518}," response ",[512,3873,3130],{"class":522},[512,3875,3876],{"class":1915}," await",[512,3878,3879],{"class":1922}," $fetch",[512,3881,1926],{"class":518},[512,3883,2814],{"class":522},[512,3885,3886],{"class":558},"/api/users/bulk",[512,3888,2814],{"class":522},[512,3890,1403],{"class":522},[512,3892,1021],{"class":522},[512,3894,3895,3897,3899,3901,3903,3905],{"class":514,"line":546},[512,3896,3440],{"class":565},[512,3898,586],{"class":522},[512,3900,2858],{"class":522},[512,3902,3447],{"class":558},[512,3904,2814],{"class":522},[512,3906,597],{"class":522},[512,3908,3909,3911,3913],{"class":514,"line":552},[512,3910,3456],{"class":565},[512,3912,586],{"class":522},[512,3914,1021],{"class":522},[512,3916,3917,3919,3921,3923,3925],{"class":514,"line":569},[512,3918,3465],{"class":565},[512,3920,586],{"class":522},[512,3922,3829],{"class":518},[512,3924,2198],{"class":522},[512,3926,1413],{"class":518},[512,3928,3929],{"class":514,"line":575},[512,3930,938],{"class":522},[512,3932,3933,3935],{"class":514,"line":600},[512,3934,1972],{"class":522},[512,3936,1975],{"class":518},[512,3938,3939],{"class":514,"line":620},[512,3940,543],{"emptyLinePlaceholder":542},[512,3942,3943],{"class":514,"line":626},[512,3944,3581],{"class":1611},[512,3946,3947,3949,3951,3953,3955,3957,3959,3961],{"class":514,"line":631},[512,3948,3429],{"class":1915},[512,3950,3879],{"class":1922},[512,3952,1926],{"class":518},[512,3954,2814],{"class":522},[512,3956,3886],{"class":558},[512,3958,2814],{"class":522},[512,3960,1403],{"class":522},[512,3962,1021],{"class":522},[512,3964,3965,3967,3969,3971,3973,3975],{"class":514,"line":651},[512,3966,3440],{"class":565},[512,3968,586],{"class":522},[512,3970,2858],{"class":522},[512,3972,3639],{"class":558},[512,3974,2814],{"class":522},[512,3976,597],{"class":522},[512,3978,3979,3981,3983],{"class":514,"line":669},[512,3980,3456],{"class":565},[512,3982,586],{"class":522},[512,3984,1021],{"class":522},[512,3986,3987,3989,3991],{"class":514,"line":675},[512,3988,3465],{"class":565},[512,3990,586],{"class":522},[512,3992,1825],{"class":518},[512,3994,3995,3997,3999,4001,4003,4005,4007,4009,4011,4014,4016],{"class":514,"line":681},[512,3996,3474],{"class":522},[512,3998,3666],{"class":565},[512,4000,586],{"class":522},[512,4002,726],{"class":725},[512,4004,1403],{"class":522},[512,4006,2824],{"class":565},[512,4008,586],{"class":522},[512,4010,1673],{"class":522},[512,4012,4013],{"class":522}," ...",[512,4015,1691],{"class":522},[512,4017,1528],{"class":522},[512,4019,4020],{"class":514,"line":864},[512,4021,1887],{"class":518},[512,4023,4024],{"class":514,"line":872},[512,4025,938],{"class":522},[512,4027,4028,4030],{"class":514,"line":887},[512,4029,1972],{"class":522},[512,4031,1975],{"class":518},[512,4033,4034],{"class":514,"line":904},[512,4035,543],{"emptyLinePlaceholder":542},[512,4037,4038],{"class":514,"line":920},[512,4039,3750],{"class":1611},[512,4041,4042,4044,4046,4048,4050,4052,4054,4056],{"class":514,"line":935},[512,4043,3429],{"class":1915},[512,4045,3879],{"class":1922},[512,4047,1926],{"class":518},[512,4049,2814],{"class":522},[512,4051,3886],{"class":558},[512,4053,2814],{"class":522},[512,4055,1403],{"class":522},[512,4057,1021],{"class":522},[512,4059,4060,4062,4064,4066,4068,4070],{"class":514,"line":941},[512,4061,3440],{"class":565},[512,4063,586],{"class":522},[512,4065,2858],{"class":522},[512,4067,3807],{"class":558},[512,4069,2814],{"class":522},[512,4071,597],{"class":522},[512,4073,4074,4076,4078],{"class":514,"line":1884},[512,4075,3456],{"class":565},[512,4077,586],{"class":522},[512,4079,1021],{"class":522},[512,4081,4082,4084,4086,4088,4090,4092,4094,4096,4098],{"class":514,"line":1890},[512,4083,3824],{"class":565},[512,4085,586],{"class":522},[512,4087,3829],{"class":518},[512,4089,1400],{"class":725},[512,4091,1403],{"class":522},[512,4093,803],{"class":725},[512,4095,1403],{"class":522},[512,4097,1410],{"class":725},[512,4099,1413],{"class":518},[512,4101,4102],{"class":514,"line":1895},[512,4103,938],{"class":522},[512,4105,4106,4108],{"class":514,"line":2283},[512,4107,1972],{"class":522},[512,4109,1975],{"class":518},[459,4111,4113],{"id":4112},"use-cases","Use Cases",[1899,4115,4117],{"id":4116},"data-import","Data Import",[502,4119,4121],{"className":504,"code":4120,"language":506,"meta":507,"style":507},"// Import CSV data\nconst users = parseCSV(csvFile)\n\nconst { data } = await $fetch('/api/users/bulk', {\n  method: 'POST',\n  body: { items: users }\n})\n\nconsole.log(`Imported ${data.meta.successful} users`)\n",[509,4122,4123,4128,4143,4147,4176,4190,4207,4213,4217],{"__ignoreMap":507},[512,4124,4125],{"class":514,"line":515},[512,4126,4127],{"class":1611},"// Import CSV data\n",[512,4129,4130,4132,4135,4137,4140],{"class":514,"line":539},[512,4131,3380],{"class":2717},[512,4133,4134],{"class":518}," users ",[512,4136,3130],{"class":522},[512,4138,4139],{"class":1922}," parseCSV",[512,4141,4142],{"class":518},"(csvFile)\n",[512,4144,4145],{"class":514,"line":546},[512,4146,543],{"emptyLinePlaceholder":542},[512,4148,4149,4151,4153,4156,4158,4160,4162,4164,4166,4168,4170,4172,4174],{"class":514,"line":552},[512,4150,3380],{"class":2717},[512,4152,1673],{"class":522},[512,4154,4155],{"class":518}," data ",[512,4157,1972],{"class":522},[512,4159,2731],{"class":522},[512,4161,3876],{"class":1915},[512,4163,3879],{"class":1922},[512,4165,1926],{"class":518},[512,4167,2814],{"class":522},[512,4169,3886],{"class":558},[512,4171,2814],{"class":522},[512,4173,1403],{"class":522},[512,4175,1021],{"class":522},[512,4177,4178,4180,4182,4184,4186,4188],{"class":514,"line":569},[512,4179,3440],{"class":565},[512,4181,586],{"class":522},[512,4183,2858],{"class":522},[512,4185,3447],{"class":558},[512,4187,2814],{"class":522},[512,4189,597],{"class":522},[512,4191,4192,4194,4196,4198,4201,4203,4205],{"class":514,"line":575},[512,4193,3456],{"class":565},[512,4195,586],{"class":522},[512,4197,1673],{"class":522},[512,4199,4200],{"class":565}," items",[512,4202,586],{"class":522},[512,4204,4134],{"class":518},[512,4206,684],{"class":522},[512,4208,4209,4211],{"class":514,"line":600},[512,4210,1972],{"class":522},[512,4212,1975],{"class":518},[512,4214,4215],{"class":514,"line":620},[512,4216,543],{"emptyLinePlaceholder":542},[512,4218,4219,4221,4223,4225,4227,4230,4233,4236,4238,4240,4242,4244,4246,4248,4251,4253],{"class":514,"line":626},[512,4220,3551],{"class":518},[512,4222,2737],{"class":522},[512,4224,2809],{"class":1922},[512,4226,1926],{"class":518},[512,4228,4229],{"class":522},"`",[512,4231,4232],{"class":558},"Imported ",[512,4234,4235],{"class":522},"${",[512,4237,703],{"class":518},[512,4239,2737],{"class":522},[512,4241,877],{"class":518},[512,4243,2737],{"class":522},[512,4245,909],{"class":518},[512,4247,1972],{"class":522},[512,4249,4250],{"class":558}," users",[512,4252,4229],{"class":522},[512,4254,1975],{"class":518},[1899,4256,4258],{"id":4257},"batch-updates","Batch Updates",[502,4260,4262],{"className":504,"code":4261,"language":506,"meta":507,"style":507},"// Mark multiple items as processed\nconst itemIds = [1, 2, 3, 4, 5]\n\nawait $fetch('/api/tasks/bulk', {\n  method: 'PATCH',\n  body: {\n    items: itemIds.map(id => ({\n      id,\n      data: { status: 'completed', completedAt: new Date() }\n    }))\n  }\n})\n",[509,4263,4264,4269,4302,4306,4325,4339,4347,4371,4378,4416,4424,4428],{"__ignoreMap":507},[512,4265,4266],{"class":514,"line":515},[512,4267,4268],{"class":1611},"// Mark multiple items as processed\n",[512,4270,4271,4273,4276,4278,4280,4282,4284,4286,4288,4290,4292,4295,4297,4300],{"class":514,"line":539},[512,4272,3380],{"class":2717},[512,4274,4275],{"class":518}," itemIds ",[512,4277,3130],{"class":522},[512,4279,3829],{"class":518},[512,4281,1400],{"class":725},[512,4283,1403],{"class":522},[512,4285,803],{"class":725},[512,4287,1403],{"class":522},[512,4289,1410],{"class":725},[512,4291,1403],{"class":522},[512,4293,4294],{"class":725}," 4",[512,4296,1403],{"class":522},[512,4298,4299],{"class":725}," 5",[512,4301,1413],{"class":518},[512,4303,4304],{"class":514,"line":546},[512,4305,543],{"emptyLinePlaceholder":542},[512,4307,4308,4310,4312,4314,4316,4319,4321,4323],{"class":514,"line":552},[512,4309,3429],{"class":1915},[512,4311,3879],{"class":1922},[512,4313,1926],{"class":518},[512,4315,2814],{"class":522},[512,4317,4318],{"class":558},"/api/tasks/bulk",[512,4320,2814],{"class":522},[512,4322,1403],{"class":522},[512,4324,1021],{"class":522},[512,4326,4327,4329,4331,4333,4335,4337],{"class":514,"line":569},[512,4328,3440],{"class":565},[512,4330,586],{"class":522},[512,4332,2858],{"class":522},[512,4334,3639],{"class":558},[512,4336,2814],{"class":522},[512,4338,597],{"class":522},[512,4340,4341,4343,4345],{"class":514,"line":575},[512,4342,3456],{"class":565},[512,4344,586],{"class":522},[512,4346,1021],{"class":522},[512,4348,4349,4351,4353,4356,4358,4361,4363,4365,4367,4369],{"class":514,"line":600},[512,4350,3465],{"class":565},[512,4352,586],{"class":522},[512,4354,4355],{"class":518}," itemIds",[512,4357,2737],{"class":522},[512,4359,4360],{"class":1922},"map",[512,4362,1926],{"class":518},[512,4364,718],{"class":2792},[512,4366,2718],{"class":2717},[512,4368,2746],{"class":518},[512,4370,549],{"class":522},[512,4372,4373,4376],{"class":514,"line":620},[512,4374,4375],{"class":518},"      id",[512,4377,597],{"class":522},[512,4379,4380,4382,4384,4386,4389,4391,4393,4396,4398,4400,4403,4405,4408,4411,4414],{"class":514,"line":626},[512,4381,2840],{"class":565},[512,4383,586],{"class":522},[512,4385,1673],{"class":522},[512,4387,4388],{"class":565}," status",[512,4390,586],{"class":522},[512,4392,2858],{"class":522},[512,4394,4395],{"class":558},"completed",[512,4397,2814],{"class":522},[512,4399,1403],{"class":522},[512,4401,4402],{"class":565}," completedAt",[512,4404,586],{"class":522},[512,4406,4407],{"class":522}," new",[512,4409,4410],{"class":1922}," Date",[512,4412,4413],{"class":518},"() ",[512,4415,684],{"class":522},[512,4417,4418,4421],{"class":514,"line":631},[512,4419,4420],{"class":522},"    }",[512,4422,4423],{"class":518},"))\n",[512,4425,4426],{"class":514,"line":651},[512,4427,938],{"class":522},[512,4429,4430,4432],{"class":514,"line":669},[512,4431,1972],{"class":522},[512,4433,1975],{"class":518},[1899,4435,4437],{"id":4436},"cleanup-operations","Cleanup Operations",[502,4439,4441],{"className":504,"code":4440,"language":506,"meta":507,"style":507},"// Delete old records\nconst oldRecordIds = await $fetch('/api/logs', {\n  query: {\n    filter: {\n      createdAt: { $lt: '2023-01-01' }\n    },\n    fields: 'id'\n  }\n})\n\nawait $fetch('/api/logs/bulk', {\n  method: 'DELETE',\n  body: {\n    ids: oldRecordIds.data.map(r => r.id)\n  }\n})\n",[509,4442,4443,4448,4474,4483,4492,4515,4519,4532,4536,4542,4546,4565,4579,4587,4619,4623],{"__ignoreMap":507},[512,4444,4445],{"class":514,"line":515},[512,4446,4447],{"class":1611},"// Delete old records\n",[512,4449,4450,4452,4455,4457,4459,4461,4463,4465,4468,4470,4472],{"class":514,"line":539},[512,4451,3380],{"class":2717},[512,4453,4454],{"class":518}," oldRecordIds ",[512,4456,3130],{"class":522},[512,4458,3876],{"class":1915},[512,4460,3879],{"class":1922},[512,4462,1926],{"class":518},[512,4464,2814],{"class":522},[512,4466,4467],{"class":558},"/api/logs",[512,4469,2814],{"class":522},[512,4471,1403],{"class":522},[512,4473,1021],{"class":522},[512,4475,4476,4479,4481],{"class":514,"line":546},[512,4477,4478],{"class":565},"  query",[512,4480,586],{"class":522},[512,4482,1021],{"class":522},[512,4484,4485,4488,4490],{"class":514,"line":552},[512,4486,4487],{"class":565},"    filter",[512,4489,586],{"class":522},[512,4491,1021],{"class":522},[512,4493,4494,4497,4499,4501,4504,4506,4508,4511,4513],{"class":514,"line":569},[512,4495,4496],{"class":565},"      createdAt",[512,4498,586],{"class":522},[512,4500,1673],{"class":522},[512,4502,4503],{"class":565}," $lt",[512,4505,586],{"class":522},[512,4507,2858],{"class":522},[512,4509,4510],{"class":558},"2023-01-01",[512,4512,2814],{"class":522},[512,4514,1528],{"class":522},[512,4516,4517],{"class":514,"line":575},[512,4518,623],{"class":522},[512,4520,4521,4524,4526,4528,4530],{"class":514,"line":600},[512,4522,4523],{"class":565},"    fields",[512,4525,586],{"class":522},[512,4527,2858],{"class":522},[512,4529,718],{"class":558},[512,4531,2864],{"class":522},[512,4533,4534],{"class":514,"line":620},[512,4535,938],{"class":522},[512,4537,4538,4540],{"class":514,"line":626},[512,4539,1972],{"class":522},[512,4541,1975],{"class":518},[512,4543,4544],{"class":514,"line":631},[512,4545,543],{"emptyLinePlaceholder":542},[512,4547,4548,4550,4552,4554,4556,4559,4561,4563],{"class":514,"line":651},[512,4549,3429],{"class":1915},[512,4551,3879],{"class":1922},[512,4553,1926],{"class":518},[512,4555,2814],{"class":522},[512,4557,4558],{"class":558},"/api/logs/bulk",[512,4560,2814],{"class":522},[512,4562,1403],{"class":522},[512,4564,1021],{"class":522},[512,4566,4567,4569,4571,4573,4575,4577],{"class":514,"line":669},[512,4568,3440],{"class":565},[512,4570,586],{"class":522},[512,4572,2858],{"class":522},[512,4574,3807],{"class":558},[512,4576,2814],{"class":522},[512,4578,597],{"class":522},[512,4580,4581,4583,4585],{"class":514,"line":675},[512,4582,3456],{"class":565},[512,4584,586],{"class":522},[512,4586,1021],{"class":522},[512,4588,4589,4591,4593,4596,4598,4600,4602,4604,4606,4609,4611,4614,4616],{"class":514,"line":681},[512,4590,3824],{"class":565},[512,4592,586],{"class":522},[512,4594,4595],{"class":518}," oldRecordIds",[512,4597,2737],{"class":522},[512,4599,703],{"class":518},[512,4601,2737],{"class":522},[512,4603,4360],{"class":1922},[512,4605,1926],{"class":518},[512,4607,4608],{"class":2792},"r",[512,4610,2718],{"class":2717},[512,4612,4613],{"class":518}," r",[512,4615,2737],{"class":522},[512,4617,4618],{"class":518},"id)\n",[512,4620,4621],{"class":514,"line":864},[512,4622,938],{"class":522},[512,4624,4625,4627],{"class":514,"line":872},[512,4626,1972],{"class":522},[512,4628,1975],{"class":518},[459,4630,4632],{"id":4631},"configuration-reference","Configuration Reference",[502,4634,4636],{"className":504,"code":4635,"language":506,"meta":507,"style":507},"export default defineNuxtConfig({\n  autoApi: {\n    bulk: {\n      // Enable/disable bulk operations (default: true)\n      enabled: true,\n\n      // Maximum items per batch (default: 100)\n      maxBatchSize: 100,\n\n      // Use transactions (default: true)\n      transactional: true\n    }\n  }\n})\n",[509,4637,4638,4650,4658,4666,4671,4682,4686,4691,4701,4705,4710,4719,4723,4727],{"__ignoreMap":507},[512,4639,4640,4642,4644,4646,4648],{"class":514,"line":515},[512,4641,1916],{"class":1915},[512,4643,1919],{"class":1915},[512,4645,1923],{"class":1922},[512,4647,1926],{"class":518},[512,4649,549],{"class":522},[512,4651,4652,4654,4656],{"class":514,"line":539},[512,4653,1933],{"class":565},[512,4655,586],{"class":522},[512,4657,1021],{"class":522},[512,4659,4660,4662,4664],{"class":514,"line":546},[512,4661,1942],{"class":565},[512,4663,586],{"class":522},[512,4665,1021],{"class":522},[512,4667,4668],{"class":514,"line":552},[512,4669,4670],{"class":1611},"      // Enable/disable bulk operations (default: true)\n",[512,4672,4673,4676,4678,4680],{"class":514,"line":569},[512,4674,4675],{"class":565},"      enabled",[512,4677,586],{"class":522},[512,4679,1468],{"class":1467},[512,4681,597],{"class":522},[512,4683,4684],{"class":514,"line":575},[512,4685,543],{"emptyLinePlaceholder":542},[512,4687,4688],{"class":514,"line":600},[512,4689,4690],{"class":1611},"      // Maximum items per batch (default: 100)\n",[512,4692,4693,4695,4697,4699],{"class":514,"line":620},[512,4694,2392],{"class":565},[512,4696,586],{"class":522},[512,4698,2397],{"class":725},[512,4700,597],{"class":522},[512,4702,4703],{"class":514,"line":626},[512,4704,543],{"emptyLinePlaceholder":542},[512,4706,4707],{"class":514,"line":631},[512,4708,4709],{"class":1611},"      // Use transactions (default: true)\n",[512,4711,4712,4714,4716],{"class":514,"line":651},[512,4713,1951],{"class":565},[512,4715,586],{"class":522},[512,4717,4718],{"class":1467}," true\n",[512,4720,4721],{"class":514,"line":669},[512,4722,672],{"class":522},[512,4724,4725],{"class":514,"line":675},[512,4726,938],{"class":522},[512,4728,4729,4731],{"class":514,"line":681},[512,4730,1972],{"class":522},[512,4732,1975],{"class":518},[459,4734,4736],{"id":4735},"error-handling","Error Handling",[1899,4738,4740],{"id":4739},"transactional-mode-errors","Transactional Mode Errors",[502,4742,4744],{"className":504,"code":4743,"language":506,"meta":507,"style":507},"{\n  \"statusCode\": 400,\n  \"message\": \"Bulk update failed (transaction rolled back)\",\n  \"data\": {\n    \"errors\": [\n      {\n        \"index\": 1,\n        \"id\": 999,\n        \"error\": \"Record with id 999 not found\"\n      }\n    ]\n  }\n}\n",[509,4745,4746,4750,4764,4782,4794,4806,4810,4824,4838,4854,4858,4862,4866],{"__ignoreMap":507},[512,4747,4748],{"class":514,"line":515},[512,4749,549],{"class":522},[512,4751,4752,4754,4756,4758,4760,4762],{"class":514,"line":539},[512,4753,555],{"class":522},[512,4755,1770],{"class":558},[512,4757,562],{"class":522},[512,4759,882],{"class":565},[512,4761,1777],{"class":725},[512,4763,597],{"class":522},[512,4765,4766,4768,4770,4772,4774,4776,4778,4780],{"class":514,"line":546},[512,4767,555],{"class":522},[512,4769,1786],{"class":558},[512,4771,562],{"class":522},[512,4773,882],{"class":565},[512,4775,562],{"class":522},[512,4777,1795],{"class":558},[512,4779,562],{"class":522},[512,4781,597],{"class":522},[512,4783,4784,4786,4788,4790,4792],{"class":514,"line":552},[512,4785,555],{"class":522},[512,4787,703],{"class":558},[512,4789,562],{"class":522},[512,4791,882],{"class":565},[512,4793,549],{"class":522},[512,4795,4796,4798,4800,4802,4804],{"class":514,"line":569},[512,4797,890],{"class":522},[512,4799,1818],{"class":565},[512,4801,562],{"class":522},[512,4803,586],{"class":522},[512,4805,1825],{"class":565},[512,4807,4808],{"class":514,"line":575},[512,4809,1830],{"class":522},[512,4811,4812,4814,4816,4818,4820,4822],{"class":514,"line":600},[512,4813,1026],{"class":522},[512,4815,1837],{"class":565},[512,4817,562],{"class":522},[512,4819,586],{"class":522},[512,4821,726],{"class":725},[512,4823,597],{"class":522},[512,4825,4826,4828,4830,4832,4834,4836],{"class":514,"line":620},[512,4827,1026],{"class":522},[512,4829,718],{"class":565},[512,4831,562],{"class":522},[512,4833,586],{"class":522},[512,4835,1708],{"class":725},[512,4837,597],{"class":522},[512,4839,4840,4842,4844,4846,4848,4850,4852],{"class":514,"line":626},[512,4841,1026],{"class":522},[512,4843,1866],{"class":565},[512,4845,562],{"class":522},[512,4847,586],{"class":522},[512,4849,589],{"class":522},[512,4851,1875],{"class":558},[512,4853,617],{"class":522},[512,4855,4856],{"class":514,"line":631},[512,4857,1044],{"class":522},[512,4859,4860],{"class":514,"line":651},[512,4861,1887],{"class":565},[512,4863,4864],{"class":514,"line":669},[512,4865,938],{"class":522},[512,4867,4868],{"class":514,"line":675},[512,4869,684],{"class":522},[1899,4871,4873],{"id":4872},"non-transactional-mode-errors","Non-Transactional Mode Errors",[502,4875,4877],{"className":504,"code":4876,"language":506,"meta":507,"style":507},"{\n  \"data\": [/* successful items */],\n  \"meta\": {\n    \"total\": 5,\n    \"successful\": 3,\n    \"failed\": 2,\n    \"errors\": [\n      {\n        \"index\": 1,\n        \"id\": 999,\n        \"error\": \"Record not found\"\n      },\n      {\n        \"index\": 3,\n        \"error\": \"Validation failed\"\n      }\n    ]\n  }\n}\n",[509,4878,4879,4883,4901,4913,4927,4941,4955,4967,4971,4985,4999,5016,5021,5025,5039,5056,5060,5064,5068],{"__ignoreMap":507},[512,4880,4881],{"class":514,"line":515},[512,4882,549],{"class":522},[512,4884,4885,4887,4889,4891,4893,4896,4899],{"class":514,"line":539},[512,4886,555],{"class":522},[512,4888,703],{"class":558},[512,4890,562],{"class":522},[512,4892,1397],{"class":565},[512,4894,4895],{"class":1611},"/* successful items */",[512,4897,4898],{"class":565},"]",[512,4900,597],{"class":522},[512,4902,4903,4905,4907,4909,4911],{"class":514,"line":546},[512,4904,555],{"class":522},[512,4906,877],{"class":558},[512,4908,562],{"class":522},[512,4910,882],{"class":565},[512,4912,549],{"class":522},[512,4914,4915,4917,4919,4921,4923,4925],{"class":514,"line":552},[512,4916,890],{"class":522},[512,4918,893],{"class":565},[512,4920,562],{"class":522},[512,4922,586],{"class":522},[512,4924,4299],{"class":725},[512,4926,597],{"class":522},[512,4928,4929,4931,4933,4935,4937,4939],{"class":514,"line":569},[512,4930,890],{"class":522},[512,4932,909],{"class":565},[512,4934,562],{"class":522},[512,4936,586],{"class":522},[512,4938,1410],{"class":725},[512,4940,597],{"class":522},[512,4942,4943,4945,4947,4949,4951,4953],{"class":514,"line":575},[512,4944,890],{"class":522},[512,4946,925],{"class":565},[512,4948,562],{"class":522},[512,4950,586],{"class":522},[512,4952,803],{"class":725},[512,4954,597],{"class":522},[512,4956,4957,4959,4961,4963,4965],{"class":514,"line":600},[512,4958,890],{"class":522},[512,4960,1818],{"class":565},[512,4962,562],{"class":522},[512,4964,586],{"class":522},[512,4966,1825],{"class":565},[512,4968,4969],{"class":514,"line":620},[512,4970,1830],{"class":522},[512,4972,4973,4975,4977,4979,4981,4983],{"class":514,"line":626},[512,4974,1026],{"class":522},[512,4976,1837],{"class":565},[512,4978,562],{"class":522},[512,4980,586],{"class":522},[512,4982,726],{"class":725},[512,4984,597],{"class":522},[512,4986,4987,4989,4991,4993,4995,4997],{"class":514,"line":631},[512,4988,1026],{"class":522},[512,4990,718],{"class":565},[512,4992,562],{"class":522},[512,4994,586],{"class":522},[512,4996,1708],{"class":725},[512,4998,597],{"class":522},[512,5000,5001,5003,5005,5007,5009,5011,5014],{"class":514,"line":651},[512,5002,1026],{"class":522},[512,5004,1866],{"class":565},[512,5006,562],{"class":522},[512,5008,586],{"class":522},[512,5010,589],{"class":522},[512,5012,5013],{"class":558},"Record not found",[512,5015,617],{"class":522},[512,5017,5018],{"class":514,"line":669},[512,5019,5020],{"class":522},"      },\n",[512,5022,5023],{"class":514,"line":675},[512,5024,1830],{"class":522},[512,5026,5027,5029,5031,5033,5035,5037],{"class":514,"line":681},[512,5028,1026],{"class":522},[512,5030,1837],{"class":565},[512,5032,562],{"class":522},[512,5034,586],{"class":522},[512,5036,1410],{"class":725},[512,5038,597],{"class":522},[512,5040,5041,5043,5045,5047,5049,5051,5054],{"class":514,"line":864},[512,5042,1026],{"class":522},[512,5044,1866],{"class":565},[512,5046,562],{"class":522},[512,5048,586],{"class":522},[512,5050,589],{"class":522},[512,5052,5053],{"class":558},"Validation failed",[512,5055,617],{"class":522},[512,5057,5058],{"class":514,"line":872},[512,5059,1044],{"class":522},[512,5061,5062],{"class":514,"line":887},[512,5063,1887],{"class":565},[512,5065,5066],{"class":514,"line":904},[512,5067,938],{"class":522},[512,5069,5070],{"class":514,"line":920},[512,5071,684],{"class":522},[459,5073,5075],{"id":5074},"performance-considerations","Performance Considerations",[1899,5077,5079],{"id":5078},"batch-size","Batch Size",[455,5081,5082],{},"Smaller batches = More requests but safer:",[466,5084,5085,5088],{},[469,5086,5087],{},"Recommended: 50-100 items per batch",[469,5089,5090],{},"Large imports: Split into multiple batches",[502,5092,5094],{"className":504,"code":5093,"language":506,"meta":507,"style":507},"// Split large dataset\nconst BATCH_SIZE = 100\nconst batches = chunk(largeDataset, BATCH_SIZE)\n\nfor (const batch of batches) {\n  await $fetch('/api/users/bulk', {\n    method: 'POST',\n    body: { items: batch }\n  })\n}\n",[509,5095,5096,5101,5113,5133,5137,5157,5176,5191,5209,5215],{"__ignoreMap":507},[512,5097,5098],{"class":514,"line":515},[512,5099,5100],{"class":1611},"// Split large dataset\n",[512,5102,5103,5105,5108,5110],{"class":514,"line":539},[512,5104,3380],{"class":2717},[512,5106,5107],{"class":518}," BATCH_SIZE ",[512,5109,3130],{"class":522},[512,5111,5112],{"class":725}," 100\n",[512,5114,5115,5117,5120,5122,5125,5128,5130],{"class":514,"line":546},[512,5116,3380],{"class":2717},[512,5118,5119],{"class":518}," batches ",[512,5121,3130],{"class":522},[512,5123,5124],{"class":1922}," chunk",[512,5126,5127],{"class":518},"(largeDataset",[512,5129,1403],{"class":522},[512,5131,5132],{"class":518}," BATCH_SIZE)\n",[512,5134,5135],{"class":514,"line":552},[512,5136,543],{"emptyLinePlaceholder":542},[512,5138,5139,5142,5144,5146,5149,5152,5155],{"class":514,"line":569},[512,5140,5141],{"class":1915},"for",[512,5143,2746],{"class":518},[512,5145,3380],{"class":2717},[512,5147,5148],{"class":518}," batch ",[512,5150,5151],{"class":522},"of",[512,5153,5154],{"class":518}," batches) ",[512,5156,549],{"class":522},[512,5158,5159,5162,5164,5166,5168,5170,5172,5174],{"class":514,"line":575},[512,5160,5161],{"class":1915},"  await",[512,5163,3879],{"class":1922},[512,5165,1926],{"class":565},[512,5167,2814],{"class":522},[512,5169,3886],{"class":558},[512,5171,2814],{"class":522},[512,5173,1403],{"class":522},[512,5175,1021],{"class":522},[512,5177,5178,5181,5183,5185,5187,5189],{"class":514,"line":600},[512,5179,5180],{"class":565},"    method",[512,5182,586],{"class":522},[512,5184,2858],{"class":522},[512,5186,3447],{"class":558},[512,5188,2814],{"class":522},[512,5190,597],{"class":522},[512,5192,5193,5196,5198,5200,5202,5204,5207],{"class":514,"line":620},[512,5194,5195],{"class":565},"    body",[512,5197,586],{"class":522},[512,5199,1673],{"class":522},[512,5201,4200],{"class":565},[512,5203,586],{"class":522},[512,5205,5206],{"class":518}," batch",[512,5208,1528],{"class":522},[512,5210,5211,5213],{"class":514,"line":626},[512,5212,3208],{"class":522},[512,5214,1975],{"class":565},[512,5216,5217],{"class":514,"line":631},[512,5218,684],{"class":522},[1899,5220,5222],{"id":5221},"indexes","Indexes",[455,5224,5225],{},"Ensure indexes exist for bulk updates/deletes:",[502,5227,5231],{"className":5228,"code":5229,"language":5230,"meta":507,"style":507},"language-sql shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","-- Primary key index (usually automatic)\nCREATE INDEX idx_users_id ON users(id);\n\n-- For tenant-scoped bulk operations\nCREATE INDEX idx_users_org_id ON users(organization_id);\n","sql",[509,5232,5233,5238,5243,5247,5252],{"__ignoreMap":507},[512,5234,5235],{"class":514,"line":515},[512,5236,5237],{},"-- Primary key index (usually automatic)\n",[512,5239,5240],{"class":514,"line":539},[512,5241,5242],{},"CREATE INDEX idx_users_id ON users(id);\n",[512,5244,5245],{"class":514,"line":546},[512,5246,543],{"emptyLinePlaceholder":542},[512,5248,5249],{"class":514,"line":552},[512,5250,5251],{},"-- For tenant-scoped bulk operations\n",[512,5253,5254],{"class":514,"line":569},[512,5255,5256],{},"CREATE INDEX idx_users_org_id ON users(organization_id);\n",[1899,5258,5260],{"id":5259},"memory-usage","Memory Usage",[455,5262,5263],{},"Large batches consume memory:",[466,5265,5266,5269],{},[469,5267,5268],{},"Server: Holds all items in memory during transaction",[469,5270,5271],{},"Client: JSON serialization/parsing overhead",[459,5273,235],{"id":5274},"multi-tenancy",[455,5276,5277],{},"Bulk operations respect tenant scoping:",[502,5279,5281],{"className":504,"code":5280,"language":506,"meta":507,"style":507},"// Automatically scoped to current tenant\nPOST /api/users/bulk\n\n{\n  \"items\": [\n    { \"name\": \"User 1\", \"email\": \"user1@example.com\" }\n    // organizationId automatically added\n  ]\n}\n\n// Can only update/delete records in current tenant\nPATCH /api/users/bulk\nDELETE /api/users/bulk\n",[509,5282,5283,5288,5304,5308,5312,5322,5358,5363,5367,5371,5375,5380,5396],{"__ignoreMap":507},[512,5284,5285],{"class":514,"line":515},[512,5286,5287],{"class":1611},"// Automatically scoped to current tenant\n",[512,5289,5290,5292,5294,5296,5298,5300,5302],{"class":514,"line":539},[512,5291,519],{"class":518},[512,5293,523],{"class":522},[512,5295,526],{"class":518},[512,5297,523],{"class":522},[512,5299,531],{"class":518},[512,5301,523],{"class":522},[512,5303,536],{"class":518},[512,5305,5306],{"class":514,"line":546},[512,5307,543],{"emptyLinePlaceholder":542},[512,5309,5310],{"class":514,"line":552},[512,5311,549],{"class":522},[512,5313,5314,5316,5318,5320],{"class":514,"line":569},[512,5315,555],{"class":522},[512,5317,559],{"class":558},[512,5319,562],{"class":522},[512,5321,566],{"class":565},[512,5323,5324,5326,5328,5330,5332,5334,5336,5338,5340,5342,5344,5346,5348,5350,5352,5354,5356],{"class":514,"line":575},[512,5325,1443],{"class":522},[512,5327,589],{"class":522},[512,5329,581],{"class":565},[512,5331,562],{"class":522},[512,5333,586],{"class":522},[512,5335,589],{"class":522},[512,5337,3005],{"class":558},[512,5339,562],{"class":522},[512,5341,1403],{"class":522},[512,5343,589],{"class":522},[512,5345,605],{"class":565},[512,5347,562],{"class":522},[512,5349,586],{"class":522},[512,5351,589],{"class":522},[512,5353,3022],{"class":558},[512,5355,562],{"class":522},[512,5357,1528],{"class":522},[512,5359,5360],{"class":514,"line":600},[512,5361,5362],{"class":1611},"    // organizationId automatically added\n",[512,5364,5365],{"class":514,"line":620},[512,5366,678],{"class":565},[512,5368,5369],{"class":514,"line":626},[512,5370,684],{"class":522},[512,5372,5373],{"class":514,"line":631},[512,5374,543],{"emptyLinePlaceholder":542},[512,5376,5377],{"class":514,"line":651},[512,5378,5379],{"class":1611},"// Can only update/delete records in current tenant\n",[512,5381,5382,5384,5386,5388,5390,5392,5394],{"class":514,"line":669},[512,5383,960],{"class":518},[512,5385,523],{"class":522},[512,5387,526],{"class":518},[512,5389,523],{"class":522},[512,5391,531],{"class":518},[512,5393,523],{"class":522},[512,5395,536],{"class":518},[512,5397,5398,5400,5402,5404,5406,5408,5410],{"class":514,"line":675},[512,5399,1365],{"class":518},[512,5401,523],{"class":522},[512,5403,526],{"class":518},[512,5405,523],{"class":522},[512,5407,531],{"class":518},[512,5409,523],{"class":522},[512,5411,536],{"class":518},[459,5413,279],{"id":5414},"soft-deletes",[455,5416,5417],{},"Bulk delete respects soft delete configuration:",[502,5419,5421],{"className":504,"code":5420,"language":506,"meta":507,"style":507},"// If soft deletes are enabled\nDELETE /api/users/bulk\n\n{\n  \"ids\": [1, 2, 3]\n}\n\n// Records are marked as deleted, not physically removed\n// deletedAt timestamp is set\n",[509,5422,5423,5428,5444,5448,5452,5474,5478,5482,5487],{"__ignoreMap":507},[512,5424,5425],{"class":514,"line":515},[512,5426,5427],{"class":1611},"// If soft deletes are enabled\n",[512,5429,5430,5432,5434,5436,5438,5440,5442],{"class":514,"line":539},[512,5431,1365],{"class":518},[512,5433,523],{"class":522},[512,5435,526],{"class":518},[512,5437,523],{"class":522},[512,5439,531],{"class":518},[512,5441,523],{"class":522},[512,5443,536],{"class":518},[512,5445,5446],{"class":514,"line":546},[512,5447,543],{"emptyLinePlaceholder":542},[512,5449,5450],{"class":514,"line":552},[512,5451,549],{"class":522},[512,5453,5454,5456,5458,5460,5462,5464,5466,5468,5470,5472],{"class":514,"line":569},[512,5455,555],{"class":522},[512,5457,1392],{"class":558},[512,5459,562],{"class":522},[512,5461,1397],{"class":565},[512,5463,1400],{"class":725},[512,5465,1403],{"class":522},[512,5467,803],{"class":725},[512,5469,1403],{"class":522},[512,5471,1410],{"class":725},[512,5473,1413],{"class":565},[512,5475,5476],{"class":514,"line":575},[512,5477,684],{"class":522},[512,5479,5480],{"class":514,"line":600},[512,5481,543],{"emptyLinePlaceholder":542},[512,5483,5484],{"class":514,"line":620},[512,5485,5486],{"class":1611},"// Records are marked as deleted, not physically removed\n",[512,5488,5489],{"class":514,"line":626},[512,5490,5491],{"class":1611},"// deletedAt timestamp is set\n",[459,5493,5495],{"id":5494},"best-practices","Best Practices",[5497,5498,5499,5509,5515,5529,5535,5544,5550],"ol",{},[469,5500,5501,5504,5505,5508],{},[472,5502,5503],{},"Use transactions",": Keep ",[509,5506,5507],{},"transactional: true"," for data integrity",[469,5510,5511,5514],{},[472,5512,5513],{},"Limit batch size",": Don't exceed 100-200 items per request",[469,5516,5517,5520,5521,5524,5525,5528],{},[472,5518,5519],{},"Handle errors",": Check ",[509,5522,5523],{},"meta.failed"," and ",[509,5526,5527],{},"meta.errors"," in responses",[469,5530,5531,5534],{},[472,5532,5533],{},"Validate upfront",": Validate data before sending bulk requests",[469,5536,5537,5540,5541,2728],{},[472,5538,5539],{},"Use hooks",": Implement audit logging in ",[509,5542,5543],{},"after*",[469,5545,5546,5549],{},[472,5547,5548],{},"Monitor performance",": Track bulk operation duration and optimize",[469,5551,5552,5555],{},[472,5553,5554],{},"Split large imports",": Break into smaller batches with progress tracking",[5557,5558,5559],"style",{},"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 .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}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 .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .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 .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}",{"title":507,"searchDepth":539,"depth":539,"links":5561},[5562,5563,5564,5565,5566,5569,5570,5571,5572,5573,5577,5582,5583,5587,5592,5593,5594],{"id":461,"depth":539,"text":5},{"id":496,"depth":539,"text":497},{"id":946,"depth":539,"text":947},{"id":1351,"depth":539,"text":1352},{"id":1597,"depth":539,"text":1598,"children":5567},[5568],{"id":1901,"depth":546,"text":1902},{"id":2350,"depth":539,"text":2351},{"id":2516,"depth":539,"text":2517},{"id":2687,"depth":539,"text":215},{"id":3104,"depth":539,"text":239},{"id":3360,"depth":539,"text":3361,"children":5574},[5575,5576],{"id":3364,"depth":546,"text":3365},{"id":3854,"depth":546,"text":3855},{"id":4112,"depth":539,"text":4113,"children":5578},[5579,5580,5581],{"id":4116,"depth":546,"text":4117},{"id":4257,"depth":546,"text":4258},{"id":4436,"depth":546,"text":4437},{"id":4631,"depth":539,"text":4632},{"id":4735,"depth":539,"text":4736,"children":5584},[5585,5586],{"id":4739,"depth":546,"text":4740},{"id":4872,"depth":546,"text":4873},{"id":5074,"depth":539,"text":5075,"children":5588},[5589,5590,5591],{"id":5078,"depth":546,"text":5079},{"id":5221,"depth":546,"text":5222},{"id":5259,"depth":546,"text":5260},{"id":5274,"depth":539,"text":235},{"id":5414,"depth":539,"text":279},{"id":5494,"depth":539,"text":5495},"md",null,{},{"title":295,"description":457},"nraYHmqQ1JOxOXIZsfW2Mah9HTqAK1PJ-FAPZwjHK8E",[5601,5603],{"title":291,"path":292,"stem":293,"description":5602,"children":-1},"Nuxt Auto API supports advanced nested relation loading with field selection, filtering, and pagination at each level of nesting.",{"title":185,"path":304,"stem":305,"description":5604,"children":-1},"Nuxt Auto Admin automatically generates a beautiful, type-safe admin panel from your Auto API resources with built-in CRUD operations, permissions, and customization options.",1772977478661]