refactor: refactored routes import

This commit is contained in:
Sergey Yarkov 2022-03-06 22:54:42 +03:00
parent a8c2e65bfb
commit 7332d7a0c9
16 changed files with 47 additions and 143 deletions

View File

@ -24,12 +24,7 @@
"Database": "database",
"Contracts": "contracts"
},
"preloads": [
"./routes/index",
"./start/kernel",
"./start/event",
"./start/bouncer"
],
"preloads": ["./start/routes", "./start/kernel", "./start/event", "./start/bouncer"],
"providers": [
"./providers/AppProvider",
"@adonisjs/core",
@ -42,9 +37,7 @@
"@adonisjs/bouncer",
"@adonisjs/drive-s3"
],
"aceProviders": [
"@adonisjs/repl"
],
"aceProviders": ["@adonisjs/repl"],
"metaFiles": [
{
"pattern": "resources/views/**/*.edge",

View File

@ -1,11 +0,0 @@
/* eslint-disable global-require */
import Route from '@ioc:Adonis/Core/Route';
Route.group(() => {
/**
* v1
*/
require('./apis/v1/index');
})
.prefix('api')
.as('api');

View File

@ -1,79 +0,0 @@
/* eslint-disable global-require */
import Route from '@ioc:Adonis/Core/Route';
Route.group(() => {
Route.get('/', () => {
return 'Backend API.';
}).as('index');
/**
*
* Auth module
*
*/
require('./auth');
Route.group(() => {
/**
*
* Health check
*
*/
require('./health');
/**
*
* Users module
*
*/
require('./users');
/**
*
* Me module
*
*/
require('./me');
/**
*
* Courses module
*
*/
require('./courses');
/**
*
* Lessons module
*
*/
require('./lessons');
/**
*
* Images module
*
* This module is not necessary yet
*/
// require('./images');
/**
*
* Categories module
*
*/
require('./categories');
/**
* Stat module
*/
require('./stat');
/**
* Chat module
*/
require('./chat');
}).middleware('auth');
})
.prefix('v1')
.as('v1');

View File

@ -1,34 +0,0 @@
/* eslint-disable global-require */
import Route from '@ioc:Adonis/Core/Route';
/*
|--------------------------------------------------------------------------
| Routes
|--------------------------------------------------------------------------
|
| This file is dedicated for defining HTTP routes. A single file is enough
| for majority of projects, however you can define routes in different
| files and just make sure to import them inside this file. For example
|
| Define routes in following two files
| ├── start/routes/cart.ts
| ├── start/routes/customer.ts
|
| and then import them inside `start/routes.ts` as follows
|
| import './routes/cart'
| import './routes/customer'
|
*/
Route.group(() => {
/**
* Api routes
*/
require('./api');
/**
* Other routes
*/
require('./videos');
});

17
start/routes.ts Normal file
View File

@ -0,0 +1,17 @@
/**
* API v1
*/
import './routes/apis/v1/auth';
import './routes/apis/v1/categories';
import './routes/apis/v1/chat';
import './routes/apis/v1/courses';
import './routes/apis/v1/health';
import './routes/apis/v1/lessons';
import './routes/apis/v1/me';
import './routes/apis/v1/stat';
import './routes/apis/v1/users';
/**
* Other routes
*/
import './routes/videos';

View File

@ -3,4 +3,4 @@ import Route from '@ioc:Adonis/Core/Route';
Route.group(() => {
Route.post('login', 'Api/v1/AuthController.login').as('auth.login');
Route.post('logout', 'Api/v1/AuthController.logout').middleware('auth').as('auth.logout');
}).prefix('auth');
}).prefix('api/v1/auth');

View File

@ -6,4 +6,6 @@ Route.group(() => {
Route.post('/', 'Api/v1/CategoriesController.create').middleware('role:admin,teacher').as('categories.create');
Route.delete('/:id', 'Api/v1/CategoriesController.delete').middleware('role:admin,teacher').as('categories.delete');
Route.patch('/:id', 'Api/v1/CategoriesController.update').middleware('role:admin,teacher').as('categories.update');
}).prefix('categories');
})
.prefix('api/v1/categories')
.middleware('auth');

View File

@ -4,4 +4,6 @@ Route.group(() => {
Route.get('/conversations', 'Api/v1/ChatController.getConversations')
.middleware('role:admin,teacher,student')
.as('chat.get-conversations');
}).prefix('chat');
})
.prefix('api/v1/chat')
.middleware('auth');

View File

@ -61,4 +61,6 @@ Route.group(() => {
Route.get('/:id/lessons-progress', 'Api/v1/CoursesController.getLessonsProgress')
.middleware('role:admin,teacher,student')
.as('courses.get-lessons-progress');
}).prefix('courses');
})
.prefix('api/v1/courses')
.middleware('auth');

View File

@ -8,4 +8,6 @@ Route.group(() => {
return report.healthy ? ctx.response.ok(report) : ctx.response.badRequest(report);
}).as('health');
}).prefix('health');
})
.prefix('api/v1/health')
.middleware('auth');

View File

@ -5,4 +5,6 @@ Route.group(() => {
Route.delete('/:id', 'Api/v1/ImagesController.delete').as('images.delete');
Route.get('/', 'Api/v1/ImagesController.list').as('images.list');
Route.get('/:id', 'Api/v1/ImagesController.show').as('images.show');
}).prefix('images');
})
.prefix('api/v1/images')
.middleware('auth');

View File

@ -18,4 +18,6 @@ Route.group(() => {
Route.get('/:id/progress', 'Api/v1/LessonsController.getVideoProgress')
.middleware('role:admin,teacher,student')
.as('lessons.get-video-progress');
}).prefix('lessons');
})
.prefix('api/v1/lessons')
.middleware('auth');

View File

@ -18,4 +18,6 @@ Route.group(() => {
Route.patch('/contacts', 'Api/v1/MeController.updateContacts')
.middleware('role:admin,teacher,student')
.as('me.update-contacts');
}).prefix('me');
})
.prefix('api/v1/me')
.middleware('auth');

View File

@ -2,4 +2,6 @@ import Route from '@ioc:Adonis/Core/Route';
Route.group(() => {
Route.get('/', 'Api/v1/StatController.index').middleware('role:admin,teacher,student').as('stat.index');
}).prefix('stat');
})
.prefix('api/v1/stat')
.middleware('auth');

View File

@ -12,4 +12,6 @@ Route.group(() => {
Route.delete('/:id/detach-roles', 'Api/v1/UsersController.detachRoles')
.middleware('role:admin')
.as('users.detach-role');
}).prefix('users');
})
.prefix('api/v1/users')
.middleware('auth');