'use strict' /* |-------------------------------------------------------------------------- | Routes |-------------------------------------------------------------------------- | | Http routes are entry points to your web application. You can create | routes for different URL's and bind Controller actions to them. | | A complete guide on routing is available here. | http://adonisjs.com/docs/4.1/routing | */ /** @type {typeof import('@adonisjs/framework/src/Route/Manager')} */ const Route = use('Route') /* / Auth */ Route.get('/logout', 'AuthController.logout').as('logout').middleware(['auth']); Route.get('/register', 'AuthController.registerIndex').as('register'); Route.get('/login', 'AuthController.loginIndex').as('login'); Route.post('/register', 'AuthController.register').validator('Register'); Route.post('/login', 'AuthController.login').validator('Login'); // reset-password Route.post('/password/request/reset', 'AuthController.resetPasswordRequest') .validator('ResetPasswordRequest') .as('resetPasswordRequest'); Route.get('/password/reset', 'AuthController.resetPasswordRequestIndex'); Route.get('/password/reset/:token', 'AuthController.resetPasswordIndex'); Route.post('/password/reset', 'AuthController.resetPassword') .validator('ResetPassword') .as('resetPassword'); /* / Client API */ Route .group(() => { Route.post('connections/create', 'ClientApiController.createConnection'); Route.get('user', 'ClientApiController.getUser'); Route.put('user', 'ClientApiController.updateUser'); Route.post('child', 'ClientApiController.createChild'); Route.get('child/:id', 'ClientApiController.getChild'); Route.post('child/:id', 'ClientApiController.updateChild'); Route.post('call/create', 'ClientApiController.createCall'); Route.post('book/create', 'ClientApiController.createBook'); }) .prefix('api/v1/client') .middleware(['auth']); /** * Private book assets */ Route .get( '/u/call/:callId/books/:bookId/page/:pageNumber', 'BookApiController.getPage') .middleware(['auth', 'BookContext', 'CallContext', 'BookCallPageAuth']); Route.get('/u/books/:bookId/page/:pageNumber', 'BookApiController.getPage') .middleware(['auth', 'BookContext', 'BookPageAuth']); /** * Public book thumbnail */ Route.get('/u/books/:bookId/thumbnail', 'BookApiController.getThumbnail') .middleware(['auth', 'BookContext']) /* / Pubic CDN Images */ Route.get('/u/images/:fileName', 'CdnController.publicImages'); /* / Admin API */ // API Route .group(() => { Route.get('users', 'AdminApiController.getUsers'); Route.get( 'settings/email/test/result', 'AdminApiController.testEmailSettings'); }) .prefix('/api/v1/admin') .middleware(['auth', 'adminAuth']); Route .group(() => { // Route.get('/*', 'AdminController.index'); }) .prefix('admin') .middleware(['auth', 'adminAuth']); /** Basic APIs */ // Route // .get( // '/users/profile', // ({request, response, auth}) => { // console.log('twergsg'); // const u = auth.user.publicJSON(); // response.send(u); // // return auth.user; // }) // .middleware(['auth']); Route.get('/*', 'IndexController.index').as('home');