@cobaltcore-dev/aurora 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/README.md +2 -1
  2. package/dist/client/AuroraApp.d.ts +2 -0
  3. package/dist/client/AuthProvider-DZqOvceF.mjs +64 -0
  4. package/dist/client/AuthProvider-DZqOvceF.mjs.map +1 -0
  5. package/dist/client/ContentHeader-D2nIdJKJ.mjs +110 -0
  6. package/dist/client/ContentHeader-D2nIdJKJ.mjs.map +1 -0
  7. package/dist/client/{DeleteFlavorModal-C3m7bQJu.mjs → DeleteFlavorModal-Dwm0Hh84.mjs} +158 -158
  8. package/dist/client/{DeleteFlavorModal-C3m7bQJu.mjs.map → DeleteFlavorModal-Dwm0Hh84.mjs.map} +1 -1
  9. package/dist/client/{DeleteVersionsModal-CyYZfB8d.mjs → DeleteVersionsModal-DQO8lGmS.mjs} +58 -58
  10. package/dist/client/{DeleteVersionsModal-CyYZfB8d.mjs.map → DeleteVersionsModal-DQO8lGmS.mjs.map} +1 -1
  11. package/dist/client/{EditSecurityGroupModal-DKusxfta.mjs → EditSecurityGroupModal-BGPXglju.mjs} +16 -16
  12. package/dist/client/{EditSecurityGroupModal-DKusxfta.mjs.map → EditSecurityGroupModal-BGPXglju.mjs.map} +1 -1
  13. package/dist/client/{FiltersInput-GzR4D0q6.mjs → FiltersInput-cOaaRpcQ.mjs} +20 -20
  14. package/dist/client/{FiltersInput-GzR4D0q6.mjs.map → FiltersInput-cOaaRpcQ.mjs.map} +1 -1
  15. package/dist/client/{FloatingIpActionModals-CRvROJ3H.mjs → FloatingIpActionModals-RCvaamOg.mjs} +51 -51
  16. package/dist/client/{FloatingIpActionModals-CRvROJ3H.mjs.map → FloatingIpActionModals-RCvaamOg.mjs.map} +1 -1
  17. package/dist/client/{ImageToastNotifications-BuDXpTkl.mjs → ImageToastNotifications-ClO-1yOH.mjs} +341 -341
  18. package/dist/client/{ImageToastNotifications-BuDXpTkl.mjs.map → ImageToastNotifications-ClO-1yOH.mjs.map} +1 -1
  19. package/dist/client/{RouteError-DVAiT0mT.mjs → RouteError-BmZRk_ss.mjs} +2 -2
  20. package/dist/client/{RouteError-DVAiT0mT.mjs.map → RouteError-BmZRk_ss.mjs.map} +1 -1
  21. package/dist/client/{SortInput-DLcusjGZ.mjs → SortInput-DjaEHvcO.mjs} +6 -6
  22. package/dist/client/{SortInput-DLcusjGZ.mjs.map → SortInput-DjaEHvcO.mjs.map} +1 -1
  23. package/dist/client/{_auth-DXJkv9QO.mjs → _auth-DnImOqR-.mjs} +2 -2
  24. package/dist/client/_auth-DnImOqR-.mjs.map +1 -0
  25. package/dist/client/{_flavorId-Dy7EYQum.mjs → _flavorId-CtQEd28h.mjs} +9 -9
  26. package/dist/client/{_flavorId-Dy7EYQum.mjs.map → _flavorId-CtQEd28h.mjs.map} +1 -1
  27. package/dist/client/{_flavorId-DsD2VTKA.mjs → _flavorId-DVsGdXUf.mjs} +42 -42
  28. package/dist/client/{_flavorId-DsD2VTKA.mjs.map → _flavorId-DVsGdXUf.mjs.map} +1 -1
  29. package/dist/client/{_floatingIpId-j17rCQqG2.mjs → _floatingIpId-CKMq7-4p2.mjs} +32 -32
  30. package/dist/client/{_floatingIpId-j17rCQqG2.mjs.map → _floatingIpId-CKMq7-4p2.mjs.map} +1 -1
  31. package/dist/client/{_floatingIpId-BjVbeNw_.mjs → _floatingIpId-DvTh6vdB.mjs} +2 -2
  32. package/dist/client/{_floatingIpId-BjVbeNw_.mjs.map → _floatingIpId-DvTh6vdB.mjs.map} +1 -1
  33. package/dist/client/{_imageId-BjfhqAje.mjs → _imageId-xG8hC49j.mjs} +129 -129
  34. package/dist/client/_imageId-xG8hC49j.mjs.map +1 -0
  35. package/dist/client/{_pcaId-Bo7yHkNW.mjs → _pcaId-Db_t0x6O.mjs} +149 -149
  36. package/dist/client/{_pcaId-Bo7yHkNW.mjs.map → _pcaId-Db_t0x6O.mjs.map} +1 -1
  37. package/dist/client/{_pcaId-CKkCVC7b.mjs → _pcaId-WCJoukIk.mjs} +2 -2
  38. package/dist/client/{_pcaId-CKkCVC7b.mjs.map → _pcaId-WCJoukIk.mjs.map} +1 -1
  39. package/dist/client/{_projectId-B_2sZKk-.mjs → _projectId-B2cvskLV.mjs} +2 -2
  40. package/dist/client/_projectId-B2cvskLV.mjs.map +1 -0
  41. package/dist/client/{_projectId-Dbck_MFa.mjs → _projectId-BCMkaH_h.mjs} +85 -85
  42. package/dist/client/_projectId-BCMkaH_h.mjs.map +1 -0
  43. package/dist/client/{_projectId-CARHuZTU.mjs → _projectId-BdqRntcN.mjs} +15 -14
  44. package/dist/client/_projectId-BdqRntcN.mjs.map +1 -0
  45. package/dist/client/{_projectId-CY8W0IF6.mjs → _projectId-C8RGOqZb.mjs} +3 -3
  46. package/dist/client/{_projectId-CY8W0IF6.mjs.map → _projectId-C8RGOqZb.mjs.map} +1 -1
  47. package/dist/client/{_securityGroupId-gSEZbBII.mjs → _securityGroupId-CyQ3XmpB.mjs} +2 -2
  48. package/dist/client/{_securityGroupId-gSEZbBII.mjs.map → _securityGroupId-CyQ3XmpB.mjs.map} +1 -1
  49. package/dist/client/{_securityGroupId-CkN0CGVg.mjs → _securityGroupId-DMi7YRux.mjs} +352 -352
  50. package/dist/client/{_securityGroupId-CkN0CGVg.mjs.map → _securityGroupId-DMi7YRux.mjs.map} +1 -1
  51. package/dist/client/_storageType-Bb6YZgXf.mjs +3002 -0
  52. package/dist/client/_storageType-Bb6YZgXf.mjs.map +1 -0
  53. package/dist/client/{_storageType-6k8lUnQo.mjs → _storageType-g1zkFFRh.mjs} +2 -2
  54. package/dist/client/{_storageType-6k8lUnQo.mjs.map → _storageType-g1zkFFRh.mjs.map} +1 -1
  55. package/dist/client/_storageType-zeSZe--V.mjs.map +1 -1
  56. package/dist/client/{about-Nsxkyh9U.mjs → about-B4sGnxeW.mjs} +8 -8
  57. package/dist/client/about-B4sGnxeW.mjs.map +1 -0
  58. package/dist/client/{aurora-DDzsst74.mjs → aurora-6RsAZtnz.mjs} +2 -2
  59. package/dist/client/aurora-6RsAZtnz.mjs.map +1 -0
  60. package/dist/client/{build-BdRRmNf5.mjs → build-DgeVmENN.mjs} +3632 -3159
  61. package/dist/client/{build-BdRRmNf5.mjs.map → build-DgeVmENN.mjs.map} +1 -1
  62. package/dist/client/{constants-PMXUGI4Q.mjs → constants-D6IO9bPs.mjs} +17 -17
  63. package/dist/client/{constants-PMXUGI4Q.mjs.map → constants-D6IO9bPs.mjs.map} +1 -1
  64. package/dist/client/{flavors-p2TKcqP-.mjs → flavors-CO5l_6d0.mjs} +164 -164
  65. package/dist/client/{flavors-p2TKcqP-.mjs.map → flavors-CO5l_6d0.mjs.map} +1 -1
  66. package/dist/client/{flavors-BclEwobO.mjs → flavors-D4nGSs0r.mjs} +2 -2
  67. package/dist/client/{flavors-BclEwobO.mjs.map → flavors-D4nGSs0r.mjs.map} +1 -1
  68. package/dist/client/flavors-DWMZ6TuJ.mjs.map +1 -1
  69. package/dist/client/{floatingips-ph0ZxJw8.mjs → floatingips-ClkRV7a7.mjs} +115 -115
  70. package/dist/client/floatingips-ClkRV7a7.mjs.map +1 -0
  71. package/dist/client/{hooks-dSArr2Ca.mjs → hooks-CMgoYcDG.mjs} +1 -1
  72. package/dist/client/{images-Dbjo4yKn.mjs → images-B5ktfqg6.mjs} +2 -2
  73. package/dist/client/images-B5ktfqg6.mjs.map +1 -0
  74. package/dist/client/{images-BblnyWJq.mjs → images-C_OYLPqv.mjs} +425 -425
  75. package/dist/client/{images-BblnyWJq.mjs.map → images-C_OYLPqv.mjs.map} +1 -1
  76. package/dist/client/{images-CXdghaMW.mjs → images-CvPxoPC0.mjs} +2 -2
  77. package/dist/client/{images-CXdghaMW.mjs.map → images-CvPxoPC0.mjs.map} +1 -1
  78. package/dist/client/images-NBf2bV43.mjs.map +1 -1
  79. package/dist/client/index.js +337 -337
  80. package/dist/client/index.js.map +1 -1
  81. package/dist/client/network-DuZm76BZ.mjs.map +1 -1
  82. package/dist/client/{objects-Bw25cE1m.mjs → objects-D0grS6pk.mjs} +1645 -1617
  83. package/dist/client/objects-D0grS6pk.mjs.map +1 -0
  84. package/dist/client/{objects-B9Jh3SMG.mjs → objects-UQyUQxBj.mjs} +2 -2
  85. package/dist/client/{objects-B9Jh3SMG.mjs.map → objects-UQyUQxBj.mjs.map} +1 -1
  86. package/dist/client/objects-o2Cj_ndZ.mjs.map +1 -1
  87. package/dist/client/{pca-CiLPHmK7.mjs → pca-BJPxOIgq.mjs} +68 -68
  88. package/dist/client/{pca-CiLPHmK7.mjs.map → pca-BJPxOIgq.mjs.map} +1 -1
  89. package/dist/client/{pca-DUrQ_tIg.mjs → pca-C9MKOi3Z.mjs} +2 -2
  90. package/dist/client/{pca-DUrQ_tIg.mjs.map → pca-C9MKOi3Z.mjs.map} +1 -1
  91. package/dist/client/{projects-DNd3UTas.mjs → projects-C3wR-lvM.mjs} +6 -9
  92. package/dist/client/projects-C3wR-lvM.mjs.map +1 -0
  93. package/dist/client/{projects-B5topuei.mjs → projects-CGjBlG2w.mjs} +2 -2
  94. package/dist/client/{projects-B5topuei.mjs.map → projects-CGjBlG2w.mjs.map} +1 -1
  95. package/dist/client/{projects-CHYn7L5e.mjs → projects-DvSiI5Vg.mjs} +2 -2
  96. package/dist/client/projects-DvSiI5Vg.mjs.map +1 -0
  97. package/dist/client/{securitygroups-CcA2TpAt.mjs → securitygroups-n8ujBpJP.mjs} +119 -119
  98. package/dist/client/securitygroups-n8ujBpJP.mjs.map +1 -0
  99. package/dist/client/{useListWithFiltering-CVzhMyEA.mjs → useListWithFiltering-BuhE81I6.mjs} +12 -12
  100. package/dist/client/{useListWithFiltering-CVzhMyEA.mjs.map → useListWithFiltering-BuhE81I6.mjs.map} +1 -1
  101. package/dist/server/index.d.ts +6 -2
  102. package/dist/server/index.js +701 -423
  103. package/package.json +4 -4
  104. package/dist/client/AuthProvider-Co4d0WzB.mjs +0 -100
  105. package/dist/client/AuthProvider-Co4d0WzB.mjs.map +0 -1
  106. package/dist/client/ContentHeader-D4jlOG-9.mjs +0 -96
  107. package/dist/client/ContentHeader-D4jlOG-9.mjs.map +0 -1
  108. package/dist/client/_auth-DXJkv9QO.mjs.map +0 -1
  109. package/dist/client/_imageId-BjfhqAje.mjs.map +0 -1
  110. package/dist/client/_projectId-B_2sZKk-.mjs.map +0 -1
  111. package/dist/client/_projectId-CARHuZTU.mjs.map +0 -1
  112. package/dist/client/_projectId-Dbck_MFa.mjs.map +0 -1
  113. package/dist/client/_storageType-CLTxXjQZ.mjs +0 -3048
  114. package/dist/client/_storageType-CLTxXjQZ.mjs.map +0 -1
  115. package/dist/client/about-Nsxkyh9U.mjs.map +0 -1
  116. package/dist/client/aurora-DDzsst74.mjs.map +0 -1
  117. package/dist/client/floatingips-ph0ZxJw8.mjs.map +0 -1
  118. package/dist/client/images-Dbjo4yKn.mjs.map +0 -1
  119. package/dist/client/objects-Bw25cE1m.mjs.map +0 -1
  120. package/dist/client/projects-CHYn7L5e.mjs.map +0 -1
  121. package/dist/client/projects-DNd3UTas.mjs.map +0 -1
  122. package/dist/client/securitygroups-CcA2TpAt.mjs.map +0 -1
@@ -8,9 +8,9 @@ var r = e("/_auth/projects/$projectId/compute/images/")({
8
8
  crumb: { labelKey: "Images" }
9
9
  },
10
10
  head: () => ({ meta: [{ title: n._({ id: "an5hVd" }) }] }),
11
- component: t(() => import("./images-BblnyWJq.mjs"), "component")
11
+ component: t(() => import("./images-C_OYLPqv.mjs"), "component")
12
12
  });
13
13
  //#endregion
14
14
  export { r as t };
15
15
 
16
- //# sourceMappingURL=images-CXdghaMW.mjs.map
16
+ //# sourceMappingURL=images-CvPxoPC0.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"images-CXdghaMW.mjs","names":["createFileRoute","t","Route","staticData","section","service","sectionCrumb","labelKey","crumb","RouteInfo","head","meta","title","component","lazyRouteComponent","$$splitComponentImporter"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/images/index.tsx"],"sourcesContent":["import { createFileRoute } from \"@tanstack/react-router\"\nimport { t } from \"@lingui/core/macro\"\nimport { useLingui } from \"@lingui/react/macro\"\nimport { Images } from \"../-components/Images/List\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { ContentHeader } from \"@/client/components/ContentHeader/ContentHeader\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/images/\")({\n staticData: {\n section: \"compute\",\n service: \"images\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Images\" },\n } satisfies RouteInfo,\n head: () => ({ meta: [{ title: t`Images` }] }),\n component: RouteComponent,\n})\n\nfunction RouteComponent() {\n const { t } = useLingui()\n const { projectId } = Route.useParams()\n const { trpcClient } = Route.useRouteContext()\n\n if (!trpcClient) {\n throw new Error(\"trpcClient is not available in route context\")\n }\n\n return (\n <>\n <ContentHeader title={t`Images`} projectId={projectId} />\n <Images client={trpcClient} project={projectId} />\n </>\n )\n}\n"],"mappings":";;AAOA,IAAaE,IAAQF,EAAgB,4CAAA,EAA8C;CACjFG,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,cAAc,EAAEC,UAAU,UAAU;EACpCC,OAAO,EAAED,UAAU,SAAS;CAC9B;CACAG,aAAa,EAAEC,MAAM,CAAC,EAAEC,OAAOX,EAAAA,EAAC,EAAA,IAAA,SAAA,CAAA,EAAS,CAAA,EAAG;CAC5CY,WAASC,yCAAA,WAAA;AACX,CAAA"}
1
+ {"version":3,"file":"images-CvPxoPC0.mjs","names":["createFileRoute","t","Route","staticData","section","service","sectionCrumb","labelKey","crumb","RouteInfo","head","meta","title","component","lazyRouteComponent","$$splitComponentImporter"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/images/index.tsx"],"sourcesContent":["import { createFileRoute } from \"@tanstack/react-router\"\nimport { t } from \"@lingui/core/macro\"\nimport { useLingui } from \"@lingui/react/macro\"\nimport { Images } from \"../-components/Images/List\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { ContentHeader } from \"@/client/components/ContentHeader/ContentHeader\"\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/images/\")({\n staticData: {\n section: \"compute\",\n service: \"images\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Images\" },\n } satisfies RouteInfo,\n head: () => ({ meta: [{ title: t`Images` }] }),\n component: RouteComponent,\n})\n\nfunction RouteComponent() {\n const { t } = useLingui()\n const { projectId } = Route.useParams()\n const { trpcClient } = Route.useRouteContext()\n\n if (!trpcClient) {\n throw new Error(\"trpcClient is not available in route context\")\n }\n\n return (\n <>\n <ContentHeader title={t`Images`} projectId={projectId} />\n <Images client={trpcClient} project={projectId} />\n </>\n )\n}\n"],"mappings":";;AAOA,IAAaE,IAAQF,EAAgB,4CAAA,EAA8C;CACjFG,YAAY;EACVC,SAAS;EACTC,SAAS;EACTC,cAAc,EAAEC,UAAU,UAAU;EACpCC,OAAO,EAAED,UAAU,SAAS;CAC9B;CACAG,aAAa,EAAEC,MAAM,CAAC,EAAEC,OAAOX,EAAAA,EAAC,EAAA,IAAA,SAAA,CAAA,EAAS,CAAA,EAAG;CAC5CY,WAASC,yCAAA,WAAA;AACX,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"images-NBf2bV43.mjs","names":["Outlet","SplitComponent","component"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/images.tsx?tsr-split=component"],"sourcesContent":["import { createFileRoute, Outlet, redirect } from \"@tanstack/react-router\"\nimport { getServiceIndex } from \"@/server/Authentication/helpers\"\nimport { z } from \"zod\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\n\nconst multiValueEnum = (allowedValues: string[]) => {\n return z.string().refine((val) => {\n const values = val.startsWith(\"in:\") ? val.replace(\"in:\", \"\").split(\",\") : [val]\n return values.every((v) => allowedValues.includes(v))\n })\n}\n\nconst imagesSearchFields = {\n status: multiValueEnum([\n \"queued\",\n \"saving\",\n \"active\",\n \"deactivated\",\n \"killed\",\n \"deleted\",\n \"pending_delete\",\n ]).optional(),\n visibility: z.enum([\"public\", \"private\", \"shared\", \"community\", \"all\"]).optional(),\n disk_format: multiValueEnum([\n \"ami\",\n \"ari\",\n \"aki\",\n \"vhd\",\n \"vhdx\",\n \"vmdk\",\n \"raw\",\n \"qcow2\",\n \"vdi\",\n \"iso\",\n \"ploop\",\n ]).optional(),\n container_format: multiValueEnum([\"ami\", \"ari\", \"aki\", \"bare\", \"ovf\", \"ova\", \"docker\"]).optional(),\n protected: z.enum([\"true\", \"false\"]).optional(),\n search: z.string().optional(),\n sortBy: z.enum([\"created_at\", \"updated_at\", \"name\", \"size\", \"status\"]).optional(),\n sortDirection: z.enum([\"asc\", \"desc\"]).optional(),\n memberStatus: z.enum([\"all\", \"accepted\", \"pending\"]).optional(),\n page: z.number().int().positive().optional(),\n}\n\nconst imagesSearchSchema = z.object(imagesSearchFields).passthrough()\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/images\")({\n staticData: {\n section: \"compute\",\n service: \"images\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Images\" },\n } satisfies RouteInfo,\n errorComponent: ({ error }) => <RouteError error={error} />,\n validateSearch: (search) => {\n const result = imagesSearchSchema.safeParse(search)\n if (result.success) return result.data\n return {\n ...search,\n status: imagesSearchFields.status.safeParse(search.status).success ? search.status : undefined,\n visibility: imagesSearchFields.visibility.safeParse(search.visibility).success ? search.visibility : undefined,\n disk_format: imagesSearchFields.disk_format.safeParse(search.disk_format).success\n ? search.disk_format\n : undefined,\n container_format: imagesSearchFields.container_format.safeParse(search.container_format).success\n ? search.container_format\n : undefined,\n protected: imagesSearchFields.protected.safeParse(search.protected).success ? search.protected : undefined,\n search: imagesSearchFields.search.safeParse(search.search).success ? search.search : undefined,\n sortBy: imagesSearchFields.sortBy.safeParse(search.sortBy).success ? search.sortBy : undefined,\n sortDirection: imagesSearchFields.sortDirection.safeParse(search.sortDirection).success\n ? search.sortDirection\n : undefined,\n memberStatus: imagesSearchFields.memberStatus.safeParse(search.memberStatus).success\n ? search.memberStatus\n : undefined,\n page: imagesSearchFields.page.safeParse(search.page).success ? (search.page as number) : undefined,\n }\n },\n beforeLoad: async ({ context, params }) => {\n const { trpcClient } = context\n const { projectId } = params\n\n if (!trpcClient) {\n throw new Error(\"trpcClient is not available in route context\")\n }\n\n const availableServices = await trpcClient.auth.getAvailableServices.query()\n const serviceIndex = getServiceIndex(availableServices)\n\n if (!serviceIndex[\"image\"]?.[\"glance\"]) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n },\n component: () => <Outlet />,\n})\n"],"mappings":";;;AAA0E,IAAAC,UAmGvD,gBAAC,GAAA,CAAA,CAAA"}
1
+ {"version":3,"file":"images-NBf2bV43.mjs","names":["Outlet","Route","SplitComponent","component"],"sources":["../../src/client/routes/_auth/projects/$projectId/compute/images.tsx?tsr-split=component"],"sourcesContent":["import { createFileRoute, Outlet, redirect } from \"@tanstack/react-router\"\nimport { getServiceIndex } from \"@/server/Authentication/helpers\"\nimport { z } from \"zod\"\nimport type { RouteInfo } from \"@/client/routes/routeInfo\"\nimport { RouteError } from \"@/client/components/Error/RouteError\"\n\nconst multiValueEnum = (allowedValues: string[]) => {\n return z.string().refine((val) => {\n const values = val.startsWith(\"in:\") ? val.replace(\"in:\", \"\").split(\",\") : [val]\n return values.every((v) => allowedValues.includes(v))\n })\n}\n\nconst imagesSearchFields = {\n status: multiValueEnum([\n \"queued\",\n \"saving\",\n \"active\",\n \"deactivated\",\n \"killed\",\n \"deleted\",\n \"pending_delete\",\n ]).optional(),\n visibility: z.enum([\"public\", \"private\", \"shared\", \"community\", \"all\"]).optional(),\n disk_format: multiValueEnum([\n \"ami\",\n \"ari\",\n \"aki\",\n \"vhd\",\n \"vhdx\",\n \"vmdk\",\n \"raw\",\n \"qcow2\",\n \"vdi\",\n \"iso\",\n \"ploop\",\n ]).optional(),\n container_format: multiValueEnum([\"ami\", \"ari\", \"aki\", \"bare\", \"ovf\", \"ova\", \"docker\"]).optional(),\n protected: z.enum([\"true\", \"false\"]).optional(),\n search: z.string().optional(),\n sortBy: z.enum([\"created_at\", \"updated_at\", \"name\", \"size\", \"status\"]).optional(),\n sortDirection: z.enum([\"asc\", \"desc\"]).optional(),\n memberStatus: z.enum([\"all\", \"accepted\", \"pending\"]).optional(),\n page: z.number().int().positive().optional(),\n}\n\nconst imagesSearchSchema = z.object(imagesSearchFields).passthrough()\n\nexport const Route = createFileRoute(\"/_auth/projects/$projectId/compute/images\")({\n staticData: {\n section: \"compute\",\n service: \"images\",\n sectionCrumb: { labelKey: \"Compute\" },\n crumb: { labelKey: \"Images\" },\n } satisfies RouteInfo,\n errorComponent: ({ error }) => <RouteError error={error} />,\n validateSearch: (search) => {\n const result = imagesSearchSchema.safeParse(search)\n if (result.success) return result.data\n return {\n ...search,\n status: imagesSearchFields.status.safeParse(search.status).success ? search.status : undefined,\n visibility: imagesSearchFields.visibility.safeParse(search.visibility).success ? search.visibility : undefined,\n disk_format: imagesSearchFields.disk_format.safeParse(search.disk_format).success\n ? search.disk_format\n : undefined,\n container_format: imagesSearchFields.container_format.safeParse(search.container_format).success\n ? search.container_format\n : undefined,\n protected: imagesSearchFields.protected.safeParse(search.protected).success ? search.protected : undefined,\n search: imagesSearchFields.search.safeParse(search.search).success ? search.search : undefined,\n sortBy: imagesSearchFields.sortBy.safeParse(search.sortBy).success ? search.sortBy : undefined,\n sortDirection: imagesSearchFields.sortDirection.safeParse(search.sortDirection).success\n ? search.sortDirection\n : undefined,\n memberStatus: imagesSearchFields.memberStatus.safeParse(search.memberStatus).success\n ? search.memberStatus\n : undefined,\n page: imagesSearchFields.page.safeParse(search.page).success ? (search.page as number) : undefined,\n }\n },\n beforeLoad: async ({ context, params }) => {\n const { trpcClient } = context\n const { projectId } = params\n\n if (!trpcClient) {\n throw new Error(\"trpcClient is not available in route context\")\n }\n\n const availableServices = await trpcClient.auth.getAvailableServices.query()\n const serviceIndex = getServiceIndex(availableServices)\n\n if (!serviceIndex[\"image\"]?.[\"glance\"]) {\n throw redirect({\n to: \"/projects/$projectId\",\n params: { projectId },\n })\n }\n },\n component: () => <Outlet />,\n})\n"],"mappings":";;;AAA0E,IAAAE,UAmGvD,gBAAC,GAAA,CAAA,CAAA"}