mirror of
https://github.com/sergeyyarkov/educt-server.git
synced 2026-10-11 18:29:15 +03:00
feat: load user courses when user is student
This commit is contained in:
parent
bb81518fc3
commit
f6064a858f
@ -11,6 +11,8 @@ import ContactRepository from 'App/Repositories/ContactRepository';
|
|||||||
import UserRepository from 'App/Repositories/UserRepository';
|
import UserRepository from 'App/Repositories/UserRepository';
|
||||||
import UpdateContactsValidator from 'App/Validators/Contacts/UpdateContactsValidator';
|
import UpdateContactsValidator from 'App/Validators/Contacts/UpdateContactsValidator';
|
||||||
import CodeErrorEnum from 'App/Datatypes/Enums/CodeErrorEnum';
|
import CodeErrorEnum from 'App/Datatypes/Enums/CodeErrorEnum';
|
||||||
|
import RoleHelper from 'App/Helpers/RoleHelper';
|
||||||
|
import RoleEnum from 'App/Datatypes/Enums/RoleEnum';
|
||||||
|
|
||||||
@inject()
|
@inject()
|
||||||
export default class MeService {
|
export default class MeService {
|
||||||
@ -35,17 +37,21 @@ export default class MeService {
|
|||||||
const user = await auth.use(this.authGuard).authenticate();
|
const user = await auth.use(this.authGuard).authenticate();
|
||||||
|
|
||||||
await user.load(loader => {
|
await user.load(loader => {
|
||||||
loader
|
loader.load('roles').load('contacts');
|
||||||
.load('roles')
|
|
||||||
.load('contacts')
|
|
||||||
.load('courses', q => {
|
|
||||||
q.preload('category');
|
|
||||||
q.withCount('students');
|
|
||||||
q.withCount('likes');
|
|
||||||
q.withCount('lessons');
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load available courses for STUDENT role
|
||||||
|
*/
|
||||||
|
if (RoleHelper.userHasRoles(user.roles, [RoleEnum.STUDENT])) {
|
||||||
|
await user.load('courses', q => {
|
||||||
|
q.preload('category');
|
||||||
|
q.withCount('students');
|
||||||
|
q.withCount('likes');
|
||||||
|
q.withCount('lessons');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
success: true,
|
success: true,
|
||||||
status: HttpStatusEnum.OK,
|
status: HttpStatusEnum.OK,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user