mirror of
https://github.com/sergeyyarkov/educt-server.git
synced 2026-10-11 10:19:20 +03:00
refactor: refactored routes import
This commit is contained in:
parent
a8c2e65bfb
commit
7332d7a0c9
@ -24,12 +24,7 @@
|
|||||||
"Database": "database",
|
"Database": "database",
|
||||||
"Contracts": "contracts"
|
"Contracts": "contracts"
|
||||||
},
|
},
|
||||||
"preloads": [
|
"preloads": ["./start/routes", "./start/kernel", "./start/event", "./start/bouncer"],
|
||||||
"./routes/index",
|
|
||||||
"./start/kernel",
|
|
||||||
"./start/event",
|
|
||||||
"./start/bouncer"
|
|
||||||
],
|
|
||||||
"providers": [
|
"providers": [
|
||||||
"./providers/AppProvider",
|
"./providers/AppProvider",
|
||||||
"@adonisjs/core",
|
"@adonisjs/core",
|
||||||
@ -42,9 +37,7 @@
|
|||||||
"@adonisjs/bouncer",
|
"@adonisjs/bouncer",
|
||||||
"@adonisjs/drive-s3"
|
"@adonisjs/drive-s3"
|
||||||
],
|
],
|
||||||
"aceProviders": [
|
"aceProviders": ["@adonisjs/repl"],
|
||||||
"@adonisjs/repl"
|
|
||||||
],
|
|
||||||
"metaFiles": [
|
"metaFiles": [
|
||||||
{
|
{
|
||||||
"pattern": "resources/views/**/*.edge",
|
"pattern": "resources/views/**/*.edge",
|
||||||
|
|||||||
@ -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');
|
|
||||||
@ -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');
|
|
||||||
@ -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
17
start/routes.ts
Normal 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';
|
||||||
@ -3,4 +3,4 @@ import Route from '@ioc:Adonis/Core/Route';
|
|||||||
Route.group(() => {
|
Route.group(() => {
|
||||||
Route.post('login', 'Api/v1/AuthController.login').as('auth.login');
|
Route.post('login', 'Api/v1/AuthController.login').as('auth.login');
|
||||||
Route.post('logout', 'Api/v1/AuthController.logout').middleware('auth').as('auth.logout');
|
Route.post('logout', 'Api/v1/AuthController.logout').middleware('auth').as('auth.logout');
|
||||||
}).prefix('auth');
|
}).prefix('api/v1/auth');
|
||||||
@ -6,4 +6,6 @@ Route.group(() => {
|
|||||||
Route.post('/', 'Api/v1/CategoriesController.create').middleware('role:admin,teacher').as('categories.create');
|
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.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');
|
Route.patch('/:id', 'Api/v1/CategoriesController.update').middleware('role:admin,teacher').as('categories.update');
|
||||||
}).prefix('categories');
|
})
|
||||||
|
.prefix('api/v1/categories')
|
||||||
|
.middleware('auth');
|
||||||
@ -4,4 +4,6 @@ Route.group(() => {
|
|||||||
Route.get('/conversations', 'Api/v1/ChatController.getConversations')
|
Route.get('/conversations', 'Api/v1/ChatController.getConversations')
|
||||||
.middleware('role:admin,teacher,student')
|
.middleware('role:admin,teacher,student')
|
||||||
.as('chat.get-conversations');
|
.as('chat.get-conversations');
|
||||||
}).prefix('chat');
|
})
|
||||||
|
.prefix('api/v1/chat')
|
||||||
|
.middleware('auth');
|
||||||
@ -61,4 +61,6 @@ Route.group(() => {
|
|||||||
Route.get('/:id/lessons-progress', 'Api/v1/CoursesController.getLessonsProgress')
|
Route.get('/:id/lessons-progress', 'Api/v1/CoursesController.getLessonsProgress')
|
||||||
.middleware('role:admin,teacher,student')
|
.middleware('role:admin,teacher,student')
|
||||||
.as('courses.get-lessons-progress');
|
.as('courses.get-lessons-progress');
|
||||||
}).prefix('courses');
|
})
|
||||||
|
.prefix('api/v1/courses')
|
||||||
|
.middleware('auth');
|
||||||
@ -8,4 +8,6 @@ Route.group(() => {
|
|||||||
|
|
||||||
return report.healthy ? ctx.response.ok(report) : ctx.response.badRequest(report);
|
return report.healthy ? ctx.response.ok(report) : ctx.response.badRequest(report);
|
||||||
}).as('health');
|
}).as('health');
|
||||||
}).prefix('health');
|
})
|
||||||
|
.prefix('api/v1/health')
|
||||||
|
.middleware('auth');
|
||||||
@ -5,4 +5,6 @@ Route.group(() => {
|
|||||||
Route.delete('/:id', 'Api/v1/ImagesController.delete').as('images.delete');
|
Route.delete('/:id', 'Api/v1/ImagesController.delete').as('images.delete');
|
||||||
Route.get('/', 'Api/v1/ImagesController.list').as('images.list');
|
Route.get('/', 'Api/v1/ImagesController.list').as('images.list');
|
||||||
Route.get('/:id', 'Api/v1/ImagesController.show').as('images.show');
|
Route.get('/:id', 'Api/v1/ImagesController.show').as('images.show');
|
||||||
}).prefix('images');
|
})
|
||||||
|
.prefix('api/v1/images')
|
||||||
|
.middleware('auth');
|
||||||
@ -18,4 +18,6 @@ Route.group(() => {
|
|||||||
Route.get('/:id/progress', 'Api/v1/LessonsController.getVideoProgress')
|
Route.get('/:id/progress', 'Api/v1/LessonsController.getVideoProgress')
|
||||||
.middleware('role:admin,teacher,student')
|
.middleware('role:admin,teacher,student')
|
||||||
.as('lessons.get-video-progress');
|
.as('lessons.get-video-progress');
|
||||||
}).prefix('lessons');
|
})
|
||||||
|
.prefix('api/v1/lessons')
|
||||||
|
.middleware('auth');
|
||||||
@ -18,4 +18,6 @@ Route.group(() => {
|
|||||||
Route.patch('/contacts', 'Api/v1/MeController.updateContacts')
|
Route.patch('/contacts', 'Api/v1/MeController.updateContacts')
|
||||||
.middleware('role:admin,teacher,student')
|
.middleware('role:admin,teacher,student')
|
||||||
.as('me.update-contacts');
|
.as('me.update-contacts');
|
||||||
}).prefix('me');
|
})
|
||||||
|
.prefix('api/v1/me')
|
||||||
|
.middleware('auth');
|
||||||
@ -2,4 +2,6 @@ import Route from '@ioc:Adonis/Core/Route';
|
|||||||
|
|
||||||
Route.group(() => {
|
Route.group(() => {
|
||||||
Route.get('/', 'Api/v1/StatController.index').middleware('role:admin,teacher,student').as('stat.index');
|
Route.get('/', 'Api/v1/StatController.index').middleware('role:admin,teacher,student').as('stat.index');
|
||||||
}).prefix('stat');
|
})
|
||||||
|
.prefix('api/v1/stat')
|
||||||
|
.middleware('auth');
|
||||||
@ -12,4 +12,6 @@ Route.group(() => {
|
|||||||
Route.delete('/:id/detach-roles', 'Api/v1/UsersController.detachRoles')
|
Route.delete('/:id/detach-roles', 'Api/v1/UsersController.detachRoles')
|
||||||
.middleware('role:admin')
|
.middleware('role:admin')
|
||||||
.as('users.detach-role');
|
.as('users.detach-role');
|
||||||
}).prefix('users');
|
})
|
||||||
|
.prefix('api/v1/users')
|
||||||
|
.middleware('auth');
|
||||||
Loading…
x
Reference in New Issue
Block a user