routes.ts 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251
  1. // Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
  2. import type { RouteRecordRaw } from 'vue-router'
  3. export const isMainRoute = true
  4. const route: RouteRecordRaw[] = [
  5. {
  6. path: '/guided-setup',
  7. name: 'GuidedSetup',
  8. component: () => import('./views/GuidedSetup.vue'),
  9. children: [
  10. {
  11. path: '',
  12. name: 'GuidedSetupStart',
  13. component: () => import('./views/GuidedSetupStart.vue'),
  14. meta: {
  15. title: __('Get Started'),
  16. requiresAuth: false,
  17. requiredPermission: null,
  18. hasOwnLandmarks: true,
  19. sidebar: false,
  20. },
  21. },
  22. {
  23. path: 'automated',
  24. name: 'GuidedSetupAutomatedInfo',
  25. component: () =>
  26. import('./views/GuidedSetupAutomated/GuidedSetupAutomatedInfo.vue'),
  27. meta: {
  28. title: __('Automated Setup'),
  29. requiresAuth: false,
  30. requiredPermission: null,
  31. hasOwnLandmarks: true,
  32. sidebar: false,
  33. },
  34. },
  35. {
  36. path: 'automated/run/:token?',
  37. name: 'GuidedSetupAutomatedRun',
  38. props: true,
  39. component: () =>
  40. import('./views/GuidedSetupAutomated/GuidedSetupAutomatedRun.vue'),
  41. meta: {
  42. title: __('Automated Setup'),
  43. requiresAuth: false,
  44. requiredPermission: null,
  45. hasOwnLandmarks: true,
  46. sidebar: false,
  47. },
  48. },
  49. {
  50. path: 'manual',
  51. name: 'GuidedSetupManual',
  52. component: () =>
  53. import('./views/GuidedSetupManual/GuidedSetupManual.vue'),
  54. children: [
  55. {
  56. path: 'admin',
  57. alias: '',
  58. name: 'GuidedSetupManualAdmin',
  59. component: () =>
  60. import('./views/GuidedSetupManual/GuidedSetupManualAdmin.vue'),
  61. meta: {
  62. title: __('Create Administrator Account'),
  63. requiresAuth: false,
  64. requiredPermission: null,
  65. hasOwnLandmarks: true,
  66. sidebar: false,
  67. },
  68. },
  69. {
  70. path: 'finish',
  71. alias: '',
  72. name: 'GuidedSetupManualFinish',
  73. component: () =>
  74. import('./views/GuidedSetupManual/GuidedSetupManualFinish.vue'),
  75. meta: {
  76. title: __('Setup Finished'),
  77. requiresAuth: true,
  78. requiredPermission: 'admin.wizard',
  79. hasOwnLandmarks: true,
  80. sidebar: false,
  81. },
  82. },
  83. {
  84. path: 'system-information',
  85. name: 'GuidedSetupManualSystemInformation',
  86. component: () =>
  87. import(
  88. './views/GuidedSetupManual/GuidedSetupManualSystemInformation.vue'
  89. ),
  90. meta: {
  91. title: __('System Information'),
  92. requiresAuth: true,
  93. requiredPermission: 'admin.wizard',
  94. hasOwnLandmarks: true,
  95. sidebar: false,
  96. },
  97. },
  98. {
  99. path: 'email-notification',
  100. name: 'GuidedSetupManualEmailNotification',
  101. component: () =>
  102. import(
  103. './views/GuidedSetupManual/GuidedSetupManualEmailNotification.vue'
  104. ),
  105. meta: {
  106. title: __('Email Notification'),
  107. requiresAuth: true,
  108. requiredPermission: 'admin.wizard',
  109. hasOwnLandmarks: true,
  110. sidebar: false,
  111. },
  112. },
  113. {
  114. path: 'channels',
  115. name: 'GuidedSetupManualChannels',
  116. component: () =>
  117. import('./views/GuidedSetupManual/GuidedSetupManualChannels.vue'),
  118. meta: {
  119. title: __('Connect Channels'),
  120. requiresAuth: true,
  121. requiredPermission: 'admin.wizard',
  122. hasOwnLandmarks: true,
  123. sidebar: false,
  124. },
  125. },
  126. {
  127. path: 'channels/email',
  128. name: 'GuidedSetupManualChannelEmail',
  129. component: () =>
  130. import(
  131. './views/GuidedSetupManual/GuidedSetupManualChannelEmail.vue'
  132. ),
  133. meta: {
  134. title: __('Email Account'),
  135. requiresAuth: true,
  136. requiredPermission: 'admin.wizard',
  137. hasOwnLandmarks: true,
  138. sidebar: false,
  139. },
  140. },
  141. {
  142. path: 'channels/email-pre-configured',
  143. name: 'GuidedSetupManualChannelEmailPreConfigured',
  144. component: () =>
  145. import(
  146. './views/GuidedSetupManual/GuidedSetupManualChannelEmailPreConfigured.vue'
  147. ),
  148. meta: {
  149. title: __('Connect Channels'),
  150. requiresAuth: true,
  151. requiredPermission: 'admin.wizard',
  152. hasOwnLandmarks: true,
  153. sidebar: false,
  154. },
  155. },
  156. {
  157. path: 'invite',
  158. name: 'GuidedSetupManualInviteColleagues',
  159. component: () =>
  160. import(
  161. './views/GuidedSetupManual/GuidedSetupManualInviteColleagues.vue'
  162. ),
  163. meta: {
  164. title: __('Invite Colleagues'),
  165. requiresAuth: true,
  166. requiredPermission: 'admin.wizard',
  167. hasOwnLandmarks: true,
  168. sidebar: false,
  169. },
  170. },
  171. ],
  172. },
  173. {
  174. path: 'import',
  175. name: 'GuidedSetupImport',
  176. component: () =>
  177. import('./views/GuidedSetupImport/GuidedSetupImport.vue'),
  178. children: [
  179. {
  180. path: '',
  181. name: 'GuidedSetupImportSelection',
  182. component: () =>
  183. import(
  184. './views/GuidedSetupImport/GuidedSetupImportSelection.vue'
  185. ),
  186. meta: {
  187. title: __('Import'),
  188. requiresAuth: false,
  189. requiredPermission: null,
  190. hasOwnLandmarks: true,
  191. sidebar: false,
  192. },
  193. },
  194. {
  195. path: ':source',
  196. name: 'GuidedSetupImportSource',
  197. props: true,
  198. component: () =>
  199. import(
  200. './views/GuidedSetupImport/GuidedSetupImportSource/GuidedSetupImportSource.vue'
  201. ),
  202. meta: {
  203. title: __('Import from Source'),
  204. requiresAuth: false,
  205. requiredPermission: null,
  206. hasOwnLandmarks: true,
  207. sidebar: false,
  208. },
  209. },
  210. {
  211. path: ':source/start',
  212. name: 'GuidedSetupImportSourceStart',
  213. props: true,
  214. component: () =>
  215. import(
  216. './views/GuidedSetupImport/GuidedSetupImportSource/GuidedSetupImportSourceStart.vue'
  217. ),
  218. meta: {
  219. title: __('Start Import from Source'),
  220. requiresAuth: false,
  221. requiredPermission: null,
  222. hasOwnLandmarks: true,
  223. sidebar: false,
  224. },
  225. },
  226. {
  227. path: ':source/status',
  228. name: 'GuidedSetupImportSourceStatus',
  229. props: true,
  230. component: () =>
  231. import(
  232. './views/GuidedSetupImport/GuidedSetupImportSource/GuidedSetupImportSourceStatus.vue'
  233. ),
  234. meta: {
  235. title: __('Status Import'),
  236. requiresAuth: false,
  237. requiredPermission: null,
  238. hasOwnLandmarks: true,
  239. sidebar: false,
  240. },
  241. },
  242. ],
  243. },
  244. ],
  245. },
  246. ]
  247. export default route