|
@@ -25,57 +25,68 @@ Route.group(() => {
|
|
|
Route.post('login', 'AuthController.login')
|
|
Route.post('login', 'AuthController.login')
|
|
|
Route.post('register', 'AuthController.register')
|
|
Route.post('register', 'AuthController.register')
|
|
|
Route.post('admin/login', 'AuthController.loginAdmin')
|
|
Route.post('admin/login', 'AuthController.loginAdmin')
|
|
|
- }).prefix('/auth')
|
|
|
|
|
|
|
+ Route.get('/google/redirect', async ({ ally }) => {
|
|
|
|
|
+ return ally.use('google').redirect()
|
|
|
|
|
+ })
|
|
|
|
|
+ Route.get('/facebook/redirect', async ({ ally }) => {
|
|
|
|
|
+ return ally.use('facebook').redirect()
|
|
|
|
|
+ })
|
|
|
|
|
+ Route.get('/google/callback', async ({ ally }) => {
|
|
|
|
|
+ const google = ally.use('google')
|
|
|
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.post('upload', 'FilesController.store')
|
|
|
|
|
- Route.get('sts', 'FilesController.sts')
|
|
|
|
|
- })
|
|
|
|
|
- .prefix('/files')
|
|
|
|
|
- .middleware('auth:api')
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * User has explicitly denied the login request
|
|
|
|
|
+ */
|
|
|
|
|
+ if (google.accessDenied()) {
|
|
|
|
|
+ return 'Access was denied'
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.get('my', 'UsersController.my')
|
|
|
|
|
- Route.get('admin/my', 'UsersController.myAdmin')
|
|
|
|
|
- })
|
|
|
|
|
- .prefix('users')
|
|
|
|
|
- .middleware('auth:api')
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Unable to verify the CSRF state
|
|
|
|
|
+ */
|
|
|
|
|
+ if (google.stateMisMatch()) {
|
|
|
|
|
+ return 'Request expired. Retry again'
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.resource('users', 'UsersController').apiOnly()
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * There was an unknown error during the redirect
|
|
|
|
|
+ */
|
|
|
|
|
+ if (google.hasError()) {
|
|
|
|
|
+ return google.getError()
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.resource('series', 'SeriesController').apiOnly()
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Finally, access the user
|
|
|
|
|
+ */
|
|
|
|
|
+ const user = await google.user()
|
|
|
|
|
+ return user
|
|
|
|
|
+ })
|
|
|
|
|
+ }).prefix('/auth')
|
|
|
|
|
|
|
|
Route.group(() => {
|
|
Route.group(() => {
|
|
|
- Route.resource('episodes', 'EpisodesController').apiOnly()
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ Route.get('search', 'SeriesController.search')
|
|
|
|
|
+ }).prefix('/series')
|
|
|
|
|
+ Route.resource('series', 'SeriesController').apiOnly()
|
|
|
|
|
+ Route.resource('episodes', 'EpisodesController').apiOnly()
|
|
|
|
|
+ Route.resource('categories', 'CategoriesController').apiOnly()
|
|
|
|
|
|
|
|
Route.group(() => {
|
|
Route.group(() => {
|
|
|
|
|
+ Route.group(() => {
|
|
|
|
|
+ Route.post('upload', 'FilesController.store')
|
|
|
|
|
+ Route.get('sts', 'FilesController.sts')
|
|
|
|
|
+ }).prefix('/files')
|
|
|
|
|
+ Route.resource('users', 'UsersController')
|
|
|
|
|
+ Route.group(() => {
|
|
|
|
|
+ Route.get('my', 'UsersController.my')
|
|
|
|
|
+ Route.get('admin/my', 'UsersController.myAdmin')
|
|
|
|
|
+ }).prefix('users')
|
|
|
Route.resource('userBalances', 'UserBalancesController').apiOnly()
|
|
Route.resource('userBalances', 'UserBalancesController').apiOnly()
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.get('balanceRecords', 'BalanceRecordsController.index')
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
|
|
+ Route.resource('balanceRecords', 'BalanceRecordsController').apiOnly()
|
|
|
Route.resource('orders', 'OrdersController').apiOnly()
|
|
Route.resource('orders', 'OrdersController').apiOnly()
|
|
|
- }).middleware('auth:api')
|
|
|
|
|
-
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
- Route.resource('categories', 'CategoriesController').only(['index', 'show'])
|
|
|
|
|
- Route.resource('categories', 'CategoriesController')
|
|
|
|
|
- .apiOnly()
|
|
|
|
|
- .except(['index', 'show'])
|
|
|
|
|
- .middleware({
|
|
|
|
|
- '*': 'auth:api'
|
|
|
|
|
- })
|
|
|
|
|
- })
|
|
|
|
|
-
|
|
|
|
|
- Route.group(() => {
|
|
|
|
|
Route.resource('collections', 'CollectionsController').apiOnly()
|
|
Route.resource('collections', 'CollectionsController').apiOnly()
|
|
|
|
|
+ Route.resource('playHistories', 'PlayHistoriesController').apiOnly()
|
|
|
|
|
+ Route.group(() => {
|
|
|
|
|
+ Route.get('report', 'PlayHistoriesController.report')
|
|
|
|
|
+ }).prefix('playHistories')
|
|
|
}).middleware('auth:api')
|
|
}).middleware('auth:api')
|
|
|
}).prefix('/api')
|
|
}).prefix('/api')
|