routes.ts 7.2 KB

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