feat: upd deps & image attaching to course

This commit is contained in:
Sergey Yarkov 2021-10-24 17:57:56 +03:00
parent 98a67f1744
commit 987fafd440
14 changed files with 367 additions and 343 deletions

View File

@ -23,7 +23,11 @@
"Database": "database", "Database": "database",
"Contracts": "contracts" "Contracts": "contracts"
}, },
"preloads": ["./routes/index", "./start/kernel", "./start/event"], "preloads": [
"./routes/index",
"./start/kernel",
"./start/event"
],
"providers": [ "providers": [
"./providers/AppProvider", "./providers/AppProvider",
"./providers/CloudinaryProvider", "./providers/CloudinaryProvider",
@ -32,9 +36,12 @@
"@adonisjs/auth", "@adonisjs/auth",
"@adonisjs/redis", "@adonisjs/redis",
"@adonisjs/mail", "@adonisjs/mail",
"@adonisjs/view" "@adonisjs/view",
"@adonisjs/attachment-lite"
],
"aceProviders": [
"@adonisjs/repl"
], ],
"aceProviders": ["@adonisjs/repl"],
"metaFiles": [ "metaFiles": [
{ {
"pattern": "resources/views/**/*.edge", "pattern": "resources/views/**/*.edge",

1
.gitignore vendored
View File

@ -5,3 +5,4 @@ coverage
.DS_STORE .DS_STORE
.env .env
tmp tmp
uploads

View File

@ -1,39 +0,0 @@
import { HttpContextContract } from '@ioc:Adonis/Core/HttpContext';
import { Exception, inject, Ioc } from '@adonisjs/core/build/standalone';
/**
* Services
*/
import AssetsService from 'App/Services/AssetsService';
import BaseController from '../BaseController';
@inject()
export default class AssetsController extends BaseController {
private assetsService: AssetsService;
constructor(assetsService: AssetsService) {
super();
this.assetsService = assetsService;
}
/**
* Send background image of course
* GET /assets/images/courses/:fileName
*/
public async serveCourseImage(ctx: HttpContextContract) {
const result = await this.assetsService.getCourseImagePath(ctx.params.fileName);
if (typeof result !== 'string') {
if (!result.success && result.error) {
throw new Exception(result.message, result.status, result.error.code);
}
return this.sendResponse(ctx, result.data, result.message, result.status);
}
return this.sendFile(ctx, result);
}
}
new Ioc().make(AssetsController);

View File

@ -13,18 +13,18 @@ import {
ManyToMany, ManyToMany,
manyToMany, manyToMany,
} from '@ioc:Adonis/Lucid/Orm'; } from '@ioc:Adonis/Lucid/Orm';
import { attachment, AttachmentContract } from '@ioc:Adonis/Addons/AttachmentLite';
import Category from 'App/Models/Category'; import Category from 'App/Models/Category';
import Lesson from 'App/Models/Lesson'; import Lesson from 'App/Models/Lesson';
import User from 'App/Models/User'; import User from 'App/Models/User';
import CourseStatusEnum from 'App/Datatypes/Enums/CourseStatusEnum'; import CourseStatusEnum from 'App/Datatypes/Enums/CourseStatusEnum';
// import Image from './Image';
export default class Course extends BaseModel { export default class Course extends BaseModel {
@column({ isPrimary: true }) @column({ isPrimary: true })
public id: string; public id: string;
@column() @attachment({ folder: 'images/courses', preComputeUrl: true })
public bg_image_path: string; public image: AttachmentContract | null;
@column() @column()
public title: string; public title: string;
@ -46,11 +46,6 @@ export default class Course extends BaseModel {
}) })
public category: BelongsTo<typeof Category>; public category: BelongsTo<typeof Category>;
// @belongsTo(() => Image, {
// foreignKey: 'bg_image_id',
// })
// public image: BelongsTo<typeof Image>;
@belongsTo(() => User, { @belongsTo(() => User, {
foreignKey: 'teacher_id', foreignKey: 'teacher_id',
}) })

View File

@ -1,8 +1,10 @@
/* eslint-disable @typescript-eslint/naming-convention */ /* eslint-disable @typescript-eslint/naming-convention */
import Database from '@ioc:Adonis/Lucid/Database';
import { Attachment } from '@ioc:Adonis/Addons/AttachmentLite';
/** /**
* Datatypes * Datatypes
*/ */
import Database from '@ioc:Adonis/Lucid/Database';
import CourseStatusEnum from 'App/Datatypes/Enums/CourseStatusEnum'; import CourseStatusEnum from 'App/Datatypes/Enums/CourseStatusEnum';
/** /**
@ -183,14 +185,19 @@ export default class CourseRepository {
/** /**
* Create new course * Create new course
*/ */
const course = await this.Course.create({ const course = new this.Course();
bg_image_path: data.image?.filePath,
title: data.title, course.title = data.title;
description: data.description, course.description = data.description;
status: data.status, course.status = data.status;
teacher_id: data.teacher_id, course.teacher_id = data.teacher_id;
category_id: data.category_id, course.category_id = data.category_id;
});
if (data.image) {
course.image = Attachment.fromFile(data.image);
}
await course.save();
return course; return course;
} }

View File

@ -1,47 +0,0 @@
import { inject, Ioc } from '@adonisjs/core/build/standalone';
import Application from '@ioc:Adonis/Core/Application';
/**
* Datatypes
*/
import IResponse from 'App/Datatypes/Interfaces/IResponse';
import HttpStatusEnum from 'App/Datatypes/Enums/HttpStatusEnum';
/**
* Reposirories
*/
import ImageRepository from 'App/Repositories/ImageRepository';
@inject()
export default class AssetsService {
private imageRepository: ImageRepository;
constructor(imageRepository: ImageRepository) {
this.imageRepository = imageRepository;
}
/**
*
* @param name Image name
* @returns Pathname
*/
public async getCourseImagePath(name: string): Promise<IResponse | string> {
const image = await this.imageRepository.getByFileName(name);
if (!image) {
return {
success: false,
status: HttpStatusEnum.NOT_FOUND,
message: 'Image not found.',
data: {},
error: {
code: 'E_NOT_FOUND',
},
};
}
return Application.tmpPath(`uploads/images/courses/${image.name}`);
}
}
new Ioc().make(AssetsService);

View File

@ -42,7 +42,7 @@ const driveConfig: DriveConfig = {
*/ */
local: { local: {
driver: 'local', driver: 'local',
visibility: 'public', visibility: 'private',
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------
@ -53,7 +53,7 @@ const driveConfig: DriveConfig = {
| files. | files.
| |
*/ */
root: Application.tmpPath('uploads'), root: Application.makePath('uploads'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@ -16,33 +16,27 @@ import LessonContent from 'App/Models/LessonContent';
import Role from 'App/Models/Role'; import Role from 'App/Models/Role';
import User from 'App/Models/User'; import User from 'App/Models/User';
const makeFakeUser = (faker: Faker.FakerStatic) => {
return {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
login: `${faker.lorem.word(12)}${faker.datatype.number(100)}`,
email: faker.internet.exampleEmail(),
password: '123456',
};
};
export const ContactFactory = Factory.define(Contact, ({ faker }) => { export const ContactFactory = Factory.define(Contact, ({ faker }) => {
return { return {
phone_number: faker.phone.phoneNumber(), phone_number: faker.phone.phoneNumber(),
}; };
}).build(); }).build();
export const UserFactory = Factory.define(User, ({ faker }) => { export const UserFactory = Factory.define(User, ({ faker }) => makeFakeUser(faker))
return {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
login: `${faker.lorem.word(12)}${faker.datatype.number(100)}`,
email: faker.internet.exampleEmail(),
password: '123456',
};
})
.relation('contacts', () => ContactFactory) .relation('contacts', () => ContactFactory)
.build(); .build();
export const TeacherFactory = Factory.define(User, ({ faker }) => { export const TeacherFactory = Factory.define(User, ({ faker }) => makeFakeUser(faker))
return {
first_name: faker.name.firstName(),
last_name: faker.name.lastName(),
login: `${faker.lorem.word(12)}${faker.datatype.number(100)}`,
email: faker.internet.exampleEmail(),
password: '123456',
};
})
.relation('contacts', () => ContactFactory) .relation('contacts', () => ContactFactory)
.after('create', async (_, user: User) => { .after('create', async (_, user: User) => {
/** /**

View File

@ -11,11 +11,11 @@ export default class Courses extends BaseSchema {
public async up() { public async up() {
this.schema.createTable(this.tableName, table => { this.schema.createTable(this.tableName, table => {
table.string('id', 21).primary(); table.string('id', 21).primary();
table.string('bg_image_path'); table.json('image');
table.string('title').notNullable(); table.string('title').notNullable();
table.string('description').notNullable(); table.string('description').notNullable();
table.string('teacher_id', 21).unsigned().references('users.id').onDelete('CASCADE'); table.string('teacher_id', 21).unsigned().references('users.id').notNullable().onDelete('CASCADE');
table.string('category_id', 21).unsigned().references('categories.id').onDelete('CASCADE'); table.string('category_id', 21).unsigned().references('categories.id').notNullable().onDelete('CASCADE');
table table
.enu('status', Object.values(CourseStatusEnum), { .enu('status', Object.values(CourseStatusEnum), {
useNative: true, useNative: true,

503
package-lock.json generated
View File

@ -5,13 +5,13 @@
"requires": true, "requires": true,
"dependencies": { "dependencies": {
"@adonisjs/ace": { "@adonisjs/ace": {
"version": "11.0.4", "version": "11.0.5",
"resolved": "https://registry.npmjs.org/@adonisjs/ace/-/ace-11.0.4.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/ace/-/ace-11.0.5.tgz",
"integrity": "sha512-/yoSbOF8gJvMbnIkQmfnvRWipaIfkdpg8lY5ueXSuKyBw0juf0q3fMHLYqi0jvkoknsq87aEWoxadvDsZU4i3w==", "integrity": "sha512-pN4IaBdKVvOYsRc3wtAa77TDn9C3yvQi3dIo1xSkFCWYlAvcO6tWbmQCFp2PNKM18d8n3FCTG4IH/CiGCB5Wug==",
"requires": { "requires": {
"@poppinss/cliui": "^2.2.5", "@poppinss/cliui": "^2.2.5",
"@poppinss/prompts": "^1.2.3", "@poppinss/prompts": "^1.2.3",
"@poppinss/utils": "^3.1.5", "@poppinss/utils": "^3.3.1",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"getopts": "^2.3.0", "getopts": "^2.3.0",
"leven": "^3.1.0", "leven": "^3.1.0",
@ -21,9 +21,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -31,6 +31,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -39,14 +40,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -54,6 +55,7 @@
"version": "5.1.6", "version": "5.1.6",
"resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-5.1.6.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-5.1.6.tgz",
"integrity": "sha512-xg6fkCCXijMmkoZ40ih8T1QF50Dj0J7EQ1I54TWfFCFEHsIYhXrCZxeWZEpMRHsTAWaPpP0GTnMrOac/+ERWsQ==", "integrity": "sha512-xg6fkCCXijMmkoZ40ih8T1QF50Dj0J7EQ1I54TWfFCFEHsIYhXrCZxeWZEpMRHsTAWaPpP0GTnMrOac/+ERWsQ==",
"dev": true,
"requires": { "requires": {
"@adonisjs/config": "^3.0.5", "@adonisjs/config": "^3.0.5",
"@adonisjs/env": "^3.0.5", "@adonisjs/env": "^3.0.5",
@ -68,6 +70,7 @@
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==",
"dev": true,
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -90,7 +93,8 @@
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==",
"dev": true
} }
} }
}, },
@ -150,25 +154,18 @@
} }
} }
}, },
"@adonisjs/auth": { "@adonisjs/attachment-lite": {
"version": "8.0.9", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/@adonisjs/auth/-/auth-8.0.9.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/attachment-lite/-/attachment-lite-1.0.1.tgz",
"integrity": "sha512-5lBB9N5nNUzr4rAu1yfHPK6D81ChTLH+QpRuji6Jop5QytAMMs3ZWlDPcvVur2lD7hEpm/SFQSFur9461gIXxQ==", "integrity": "sha512-njbWm/19scSMfyRpDbhomKLTU29FBW18Hnqwt9fKoDyEFYh5+9oeJlnQhbFcVeI6XICDqTZOMip5X1TUpz06rw==",
"requires": { "requires": {
"@poppinss/hooks": "^3.0.5", "@poppinss/utils": "^3.2.1"
"@poppinss/utils": "^3.2.0",
"luxon": "^2.0.2"
}, },
"dependencies": { "dependencies": {
"@poppinss/hooks": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@poppinss/hooks/-/hooks-3.0.5.tgz",
"integrity": "sha512-kazQstmIPq4n7/qjk5ms9SEiXtLEJ+EMZXxyXTupTVq7URFIUeULgXFv/F3vheLPCSzfByu/L2iO7M457RjszQ=="
},
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -176,6 +173,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -184,7 +182,48 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8"
}
},
"slugify": {
"version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
}
}
},
"@adonisjs/auth": {
"version": "8.0.10",
"resolved": "https://registry.npmjs.org/@adonisjs/auth/-/auth-8.0.10.tgz",
"integrity": "sha512-jE2C0btUresr1pRV1P8NAehSJlebJ+TlrQp1p1ws52AQ5h4ayjzTniZBtq6pSgm5uv6TAEQ7Mw7ZfTOwaA8MBQ==",
"requires": {
"@poppinss/hooks": "^3.0.5",
"@poppinss/utils": "^3.2.0",
"luxon": "^2.0.2"
},
"dependencies": {
"@poppinss/utils": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": {
"@types/bytes": "^3.1.1",
"@types/he": "^1.1.2",
"buffer-alloc": "^1.2.0",
"bytes": "^3.1.0",
"change-case": "^4.1.2",
"cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0",
"kind-of": "^6.0.3",
"lodash": "^4.17.21",
"ms": "^2.1.3",
"pluralize": "^8.0.0",
"require-all": "^3.0.0",
"resolve-from": "^5.0.0",
"slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
@ -194,9 +233,9 @@
"integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==" "integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg=="
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -216,9 +255,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -226,6 +265,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -234,14 +274,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -284,32 +324,70 @@
} }
}, },
"@adonisjs/core": { "@adonisjs/core": {
"version": "5.3.2", "version": "5.4.0",
"resolved": "https://registry.npmjs.org/@adonisjs/core/-/core-5.3.2.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/core/-/core-5.4.0.tgz",
"integrity": "sha512-WytmV4p0Mv/D7rJFdVHcyWZMrg80TgzdzmNSuPz8BxbGa9Kkm15LvNY5FMP6gHU9JUrmTujdAINemMrn9ClPsQ==", "integrity": "sha512-HBeFOJu6wWXkNmHInIT6OQMtCTblT9MZK8l4tusNowKz41sE66vWIr9vE2CJBHEUfjo3MttBffVORP+RxMm1kQ==",
"requires": { "requires": {
"@adonisjs/ace": "^11.0.4", "@adonisjs/ace": "^11.0.4",
"@adonisjs/application": "^5.1.6", "@adonisjs/application": "^5.1.7",
"@adonisjs/bodyparser": "^8.0.1", "@adonisjs/bodyparser": "^8.0.1",
"@adonisjs/drive": "^2.0.6", "@adonisjs/drive": "^2.0.7",
"@adonisjs/encryption": "^4.0.5", "@adonisjs/encryption": "^4.0.5",
"@adonisjs/events": "^7.1.2", "@adonisjs/events": "^7.1.2",
"@adonisjs/hash": "^7.0.8", "@adonisjs/hash": "^7.0.8",
"@adonisjs/http-server": "^5.5.6", "@adonisjs/http-server": "^5.5.7",
"@adonisjs/validator": "^12.0.1", "@adonisjs/validator": "^12.1.1",
"@poppinss/cliui": "^2.2.5", "@poppinss/cliui": "^2.2.5",
"@poppinss/manager": "^4.0.4", "@poppinss/manager": "^4.0.4",
"@poppinss/utils": "^3.2.0", "@poppinss/utils": "^3.3.0",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"memfs": "^3.2.2", "memfs": "^3.3.0",
"serve-static": "^1.14.1", "serve-static": "^1.14.1",
"stringify-attributes": "^2.0.0" "stringify-attributes": "^2.0.0"
}, },
"dependencies": { "dependencies": {
"@adonisjs/application": {
"version": "5.1.7",
"resolved": "https://registry.npmjs.org/@adonisjs/application/-/application-5.1.7.tgz",
"integrity": "sha512-cxMBloIq+AXly88ruvquHF/VwXa11DyOJLvDaXTYpktRlF/oSbDhcXl7nFs2ajRuyxm7vOQ8D68kA6kO1H+h6g==",
"requires": {
"@adonisjs/config": "^3.0.5",
"@adonisjs/env": "^3.0.5",
"@adonisjs/fold": "^8.1.5",
"@adonisjs/logger": "^4.1.1",
"@adonisjs/profiler": "^6.0.6",
"@poppinss/utils": "^3.2.0",
"semver": "^7.3.5"
}
},
"@adonisjs/drive": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@adonisjs/drive/-/drive-2.0.7.tgz",
"integrity": "sha512-iQwQYyF/thj8ihJHUn/LBAAUYlOLAobAAnrzcQsmE8uFWRr0PRsqzpFaPF/S8UEnEyWQo4xGKXKJ8Zqzt4IOdw==",
"requires": {
"@poppinss/manager": "^4.0.4",
"@poppinss/utils": "^3.2.0",
"@types/fs-extra": "^9.0.12",
"etag": "^1.8.1",
"fs-extra": "^10.0.0",
"memfs": "^3.2.4"
}
},
"@adonisjs/logger": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-4.1.1.tgz",
"integrity": "sha512-+daxUt7BxPU+sgWdJlqM//JHzqa7neTbo37W5tq4X8n94X0NDMkyE+ZYtgI2Rl1XrHepv7OWV5YorXPxuXMUZg==",
"requires": {
"@poppinss/utils": "^3.2.0",
"@types/pino": "^6.3.11",
"abstract-logging": "^2.0.1",
"pino": "^6.13.2"
}
},
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -317,6 +395,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -325,34 +404,65 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"memfs": {
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz",
"integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==",
"requires": {
"fs-monkey": "1.0.3"
}
},
"pino": {
"version": "6.13.3",
"resolved": "https://registry.npmjs.org/pino/-/pino-6.13.3.tgz",
"integrity": "sha512-tJy6qVgkh9MwNgqX1/oYi3ehfl2Y9H0uHyEEMsBe74KinESIjdMrMQDWpcZPpPicg3VV35d/GLQZmo4QgU2Xkg==",
"requires": {
"fast-redact": "^3.0.0",
"fast-safe-stringify": "^2.0.8",
"fastify-warning": "^0.2.0",
"flatstr": "^1.0.12",
"pino-std-serializers": "^3.1.0",
"quick-format-unescaped": "^4.0.3",
"sonic-boom": "^1.0.2"
}
},
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
},
"sonic-boom": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz",
"integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==",
"requires": {
"atomic-sleep": "^1.0.0",
"flatstr": "^1.0.12"
}
} }
} }
}, },
"@adonisjs/drive": { "@adonisjs/drive": {
"version": "2.0.6", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/@adonisjs/drive/-/drive-2.0.6.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/drive/-/drive-2.0.7.tgz",
"integrity": "sha512-PF7glKW7D0VcmJSDgmQVnMXhQQNN28LgmKcPJHnybsRtqYIqd6/tWL2yDcC/ZsDftSJnzZvSVZ5ZzJT7AiprBQ==", "integrity": "sha512-iQwQYyF/thj8ihJHUn/LBAAUYlOLAobAAnrzcQsmE8uFWRr0PRsqzpFaPF/S8UEnEyWQo4xGKXKJ8Zqzt4IOdw==",
"requires": { "requires": {
"@poppinss/manager": "^4.0.4", "@poppinss/manager": "^4.0.4",
"@poppinss/utils": "^3.2.0", "@poppinss/utils": "^3.2.0",
"@types/fs-extra": "^9.0.12", "@types/fs-extra": "^9.0.12",
"etag": "^1.8.1", "etag": "^1.8.1",
"fs-extra": "^10.0.0", "fs-extra": "^10.0.0",
"memfs": "^3.2.2" "memfs": "^3.2.4"
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -360,6 +470,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -368,14 +479,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -388,9 +499,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -398,6 +509,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -406,14 +518,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -514,9 +626,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -524,6 +636,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -532,21 +645,21 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
"@adonisjs/http-server": { "@adonisjs/http-server": {
"version": "5.5.6", "version": "5.5.7",
"resolved": "https://registry.npmjs.org/@adonisjs/http-server/-/http-server-5.5.6.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/http-server/-/http-server-5.5.7.tgz",
"integrity": "sha512-k00oLuaidk3ADe5xjqv5ajMxzfHM0tf6PxZbRCr4Vyx1IDJidsD5TNhd9asbJI2LsSl7B/FVvQDvV8h0R6oApA==", "integrity": "sha512-p3V00t/X8U7bSjgjJ73ReC5VNifXVWRuBUA6HsdAf3lOzKtuqFznjjA9y8qhO3kITD8x11bPzi6MZptkcP6ybQ==",
"requires": { "requires": {
"@poppinss/matchit": "^3.1.2", "@poppinss/matchit": "^3.1.2",
"@poppinss/utils": "^3.1.5", "@poppinss/utils": "^3.1.5",
@ -573,9 +686,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -583,6 +696,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -591,19 +705,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"macroable": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/macroable/-/macroable-5.1.4.tgz",
"integrity": "sha512-6yOJQT7QhYlJqhNWn/B2h+1ylsCnL8dMBmBpdnVNK+02PfQm13Ix4Szx4HiS3rp4a28EKckCGW27gtTZoYXYYQ=="
},
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -617,6 +726,7 @@
"version": "4.1.0", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-4.1.0.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/logger/-/logger-4.1.0.tgz",
"integrity": "sha512-Baxx9FiI/rRQ2U58TpTYf5psG345YzTVs0Fh2lHP1f33wekjYLHFbHSjo/1vJDIBEAR0/4udO2BbBNG9jKa10Q==", "integrity": "sha512-Baxx9FiI/rRQ2U58TpTYf5psG345YzTVs0Fh2lHP1f33wekjYLHFbHSjo/1vJDIBEAR0/4udO2BbBNG9jKa10Q==",
"dev": true,
"requires": { "requires": {
"@poppinss/utils": "^3.1.5", "@poppinss/utils": "^3.1.5",
"@types/pino": "^6.3.9", "@types/pino": "^6.3.9",
@ -628,6 +738,7 @@
"version": "3.2.0", "version": "3.2.0",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==",
"dev": true,
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -650,17 +761,18 @@
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.0",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==",
"dev": true
} }
} }
}, },
"@adonisjs/lucid": { "@adonisjs/lucid": {
"version": "16.0.2", "version": "16.2.1",
"resolved": "https://registry.npmjs.org/@adonisjs/lucid/-/lucid-16.0.2.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/lucid/-/lucid-16.2.1.tgz",
"integrity": "sha512-t3qh/ehlTPRt0N4qzCZMUsGEqNpzigo+dDzbIC5HwpoBBSE/GCQkcUs5rSFmIllbo49Bxa43SLt1bB6M3RNlRQ==", "integrity": "sha512-1UAPyB3j/JkGHMT5G3YkkoCdVSaTHtm1Mn3HwSzvkAQ7d7Ffx88SYZFwpTdtT8oDfxxHunzZuTaWG0CmoUixcA==",
"requires": { "requires": {
"@poppinss/hooks": "^3.0.5", "@poppinss/hooks": "^3.0.5",
"@poppinss/utils": "^3.1.5", "@poppinss/utils": "^3.2.1",
"@types/faker": "^5.5.7", "@types/faker": "^5.5.7",
"faker": "^5.5.3", "faker": "^5.5.3",
"fast-deep-equal": "^3.1.3", "fast-deep-equal": "^3.1.3",
@ -675,9 +787,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -685,6 +797,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -693,7 +806,7 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
@ -703,9 +816,9 @@
"integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==" "integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg=="
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -726,9 +839,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -736,6 +849,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -744,14 +858,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -805,9 +919,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -815,6 +929,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -823,21 +938,21 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
"@adonisjs/repl": { "@adonisjs/repl": {
"version": "3.1.6", "version": "3.1.7",
"resolved": "https://registry.npmjs.org/@adonisjs/repl/-/repl-3.1.6.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/repl/-/repl-3.1.7.tgz",
"integrity": "sha512-+IvyAK4KvPotYX194T6lspcTqK+6sCR8+tO1/xW5SDdU9flrMDkwFwbUNuOJv1DxgUR2YSC6GGSZNVJ3aVohmg==", "integrity": "sha512-TGnB+JakDBZgxECgUm/t/bOLK2WDgJuBeO1yy/QGbeSzjFro9sI2vYitgZ4fedJIIbJxgQavgCWMw9r+e2woLQ==",
"requires": { "requires": {
"@poppinss/colors": "^2.1.5", "@poppinss/colors": "^2.1.5",
"node-repl-await": "^0.1.2", "node-repl-await": "^0.1.2",
@ -944,12 +1059,12 @@
} }
}, },
"@adonisjs/validator": { "@adonisjs/validator": {
"version": "12.0.1", "version": "12.1.1",
"resolved": "https://registry.npmjs.org/@adonisjs/validator/-/validator-12.0.1.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/validator/-/validator-12.1.1.tgz",
"integrity": "sha512-u7fceSIvSx4bMF9k+v5kQ/dHtbfIXwz6GTOs6GN+/QTXIuM2vIpQHKlAnS3Kws1/mLMgMVITzHdi+LRyncH3Cg==", "integrity": "sha512-vqp3NAuJd1L1DX0AVL7T5jSmpzmjjbKAPR9hj+2uQT0oclAWEP3zIGvpmab/QFcF8y7njzjiYY1Q2CsP3dptUg==",
"requires": { "requires": {
"@poppinss/utils": "^3.1.5", "@poppinss/utils": "^3.3.0",
"@types/luxon": "^2.0.2", "@types/luxon": "^2.0.5",
"@types/validator": "^13.6.3", "@types/validator": "^13.6.3",
"luxon": "^2.0.1", "luxon": "^2.0.1",
"normalize-url": "^6.1.0", "normalize-url": "^6.1.0",
@ -958,9 +1073,9 @@
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -968,6 +1083,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -976,7 +1092,7 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
@ -986,20 +1102,20 @@
"integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg==" "integrity": "sha512-ZRioYLCgRHrtTORaZX1mx+jtxKtKuI5ZDvHNAmqpUzGqSrR+tL4FVLn/CUGMA3h0+AKD1MAxGI5GnCqR5txNqg=="
}, },
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
"@adonisjs/view": { "@adonisjs/view": {
"version": "6.1.0", "version": "6.1.1",
"resolved": "https://registry.npmjs.org/@adonisjs/view/-/view-6.1.0.tgz", "resolved": "https://registry.npmjs.org/@adonisjs/view/-/view-6.1.1.tgz",
"integrity": "sha512-6odN0FLSM4+0zVOQ14BTXBymDsCRrI95yGbAOUex6hMeSvBBff6f+VlH+WsiPS7xyKewI7ihZx6yRsVERBb0bw==", "integrity": "sha512-wSbeV7UvDA6lLJtc2nKQ3rTHRoAlj0KmRwBzIT81Lmqo6WdFIAbNqiNSwbI0SHIo+NaB3oSXmV5Brh7rGpwmPQ==",
"requires": { "requires": {
"edge-error": "^2.0.5", "edge-error": "^2.0.6",
"edge-supercharged": "^3.1.1", "edge-supercharged": "^3.1.1",
"edge.js": "^5.3.1" "edge.js": "^5.3.2"
} }
}, },
"@arr/every": { "@arr/every": {
@ -1345,9 +1461,9 @@
} }
}, },
"@sindresorhus/is": { "@sindresorhus/is": {
"version": "4.0.1", "version": "4.2.0",
"resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.0.1.tgz", "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.2.0.tgz",
"integrity": "sha512-Qm9hBEBu18wt1PO2flE7LPb30BHMQt1eQgbV76YntdNk73XZGpn3izvGTYxbGgzXKgbCjiia0uxTd3aTNQrY/g==" "integrity": "sha512-VkE3KLBmJwcCaVARtQpfuKcKv8gcBmUubrfHGF84dXuuW6jgsRYxPtzcIhPyK9WAPpRt2/xY6zkD9MnRaJzSyw=="
}, },
"@szmarczak/http-timer": { "@szmarczak/http-timer": {
"version": "4.0.6", "version": "4.0.6",
@ -1379,9 +1495,9 @@
} }
}, },
"@types/faker": { "@types/faker": {
"version": "5.5.8", "version": "5.5.9",
"resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.5.8.tgz", "resolved": "https://registry.npmjs.org/@types/faker/-/faker-5.5.9.tgz",
"integrity": "sha512-bsl0rYsaZVHlZkynL5O04q6YXDmVjcid6MbOHWqvtE2WWs/EKhp0qchDDhVWlWyQXUffX1G83X9LnMxRl8S/Mw==" "integrity": "sha512-uCx6mP3UY5SIO14XlspxsGjgaemrxpssJI0Ol+GfhxtcKpv9pgRZYsS4eeKeHVLje6Qtc8lGszuBI461+gVZBA=="
}, },
"@types/fs-extra": { "@types/fs-extra": {
"version": "9.0.12", "version": "9.0.12",
@ -1412,9 +1528,9 @@
"integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==" "integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
}, },
"@types/ioredis": { "@types/ioredis": {
"version": "4.27.1", "version": "4.27.8",
"resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.27.1.tgz", "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.27.8.tgz",
"integrity": "sha512-+JichYPCtVapxi5Z+7V/8Uhn+4Piz+rkb03JQTQ0kW0pkV71+bmzSTkpwmIqa7FfWIszp0VbRyN8gfgWDNQMdA==", "integrity": "sha512-THsyghYuFI6h/UzwEaeSeagRxiDG1P/NIiL5uTjN7bcbQHwDP6nMWJfEmY0iuu3pOzl1j0FgRpAYz7WWX2eW0Q==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
@ -1432,17 +1548,17 @@
"dev": true "dev": true
}, },
"@types/keyv": { "@types/keyv": {
"version": "3.1.2", "version": "3.1.3",
"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.2.tgz", "resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.3.tgz",
"integrity": "sha512-/FvAK2p4jQOaJ6CGDHJTqZcUtbZe820qIeTg7o0Shg7drB4JHeL+V/dhSaly7NXx6u8eSee+r7coT+yuJEvDLg==", "integrity": "sha512-FXCJgyyN3ivVgRoml4h94G/p3kY+u/B86La+QptcqJaWtBWtmc6TtkNfS40n9bIvyLteHh7zXOtgbobORKPbDg==",
"requires": { "requires": {
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/luxon": { "@types/luxon": {
"version": "2.0.2", "version": "2.0.5",
"resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.0.2.tgz", "resolved": "https://registry.npmjs.org/@types/luxon/-/luxon-2.0.5.tgz",
"integrity": "sha512-CUrDlIVYv7TNkdQV8YfT2WGAHyMAwFIT1PXoUcQhX2EFMVL20lxEQHWc73gdJfRtMsI6Vc22HvR7eUN0jkx6+w==" "integrity": "sha512-GKrG5v16BOs9XGpouu33hOkAFaiSDi3ZaDXG9F2yAoyzHRBtksZnI60VWY5aM/yAENCccBejrxw8jDY+9OVlxw=="
}, },
"@types/minimatch": { "@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
@ -1497,9 +1613,9 @@
"dev": true "dev": true
}, },
"@types/validator": { "@types/validator": {
"version": "13.6.3", "version": "13.6.5",
"resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.6.3.tgz", "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.6.5.tgz",
"integrity": "sha512-fWG42pMJOL4jKsDDZZREnXLjc3UE0R8LOJfARWYg6U966rxDT7TYejYzLnUF5cvSObGg34nd0+H2wHHU5Omdfw==" "integrity": "sha512-ilpDKpjjq/w/IyyTuQ38mABdaEzTzTugPyU7DlMCMKd8MMYngnPKhA2TgdO1MfEDED9KVV7uSOL1fDkgwJp/wg=="
}, },
"@typescript-eslint/eslint-plugin": { "@typescript-eslint/eslint-plugin": {
"version": "4.30.0", "version": "4.30.0",
@ -1715,9 +1831,9 @@
} }
}, },
"acorn-walk": { "acorn-walk": {
"version": "8.1.1", "version": "8.2.0",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.1.1.tgz", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
"integrity": "sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w==" "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA=="
}, },
"adonis-preset-ts": { "adonis-preset-ts": {
"version": "2.1.0", "version": "2.1.0",
@ -2881,24 +2997,24 @@
} }
}, },
"edge.js": { "edge.js": {
"version": "5.3.1", "version": "5.3.2",
"resolved": "https://registry.npmjs.org/edge.js/-/edge.js-5.3.1.tgz", "resolved": "https://registry.npmjs.org/edge.js/-/edge.js-5.3.2.tgz",
"integrity": "sha512-TWiPo7Unaww1fYll/zMANVma08q2WoG8j7g9iK3fed5AevD0XuBl8N2L9+vCE7TKJmTm/zNP5z8bKbfGWOTRbw==", "integrity": "sha512-hpMdNZDqZPTvZYGFGQ7VPPAQR6lW3S8+R5em20X/XgtOlxwyKrfEEG7DZcFdgX+6hU7PTqn9/OFFSVdD7a0Qog==",
"requires": { "requires": {
"@poppinss/inspect": "^1.0.1", "@poppinss/inspect": "^1.0.1",
"@poppinss/utils": "^3.1.4", "@poppinss/utils": "^3.2.0",
"edge-error": "^2.0.5", "edge-error": "^2.0.6",
"edge-lexer": "^4.0.7", "edge-lexer": "^4.0.8",
"edge-parser": "^8.0.10", "edge-parser": "^8.0.11",
"js-stringify": "^1.0.2", "js-stringify": "^1.0.2",
"macroable": "^5.1.4", "macroable": "^5.1.4",
"stringify-attributes": "^2.0.0" "stringify-attributes": "^2.0.0"
}, },
"dependencies": { "dependencies": {
"@poppinss/utils": { "@poppinss/utils": {
"version": "3.2.0", "version": "3.3.1",
"resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.2.0.tgz", "resolved": "https://registry.npmjs.org/@poppinss/utils/-/utils-3.3.1.tgz",
"integrity": "sha512-gnqlrxE4zMvqW+LpviyCWCg4+RShCYCFyBdVTyg9ZZEEgPBV9bEY+YB5r/2klFrKx30k9nfClHVI2n8ZKmXgsw==", "integrity": "sha512-k4MFt+4JhOWJZ9D2xpEcG/mpZyXVXYT+dSOg83vHK1xhXl+7r0IYBXRKWX2+To7/90KJaWlwpcdCAalXE8Debg==",
"requires": { "requires": {
"@types/bytes": "^3.1.1", "@types/bytes": "^3.1.1",
"@types/he": "^1.1.2", "@types/he": "^1.1.2",
@ -2906,6 +3022,7 @@
"bytes": "^3.1.0", "bytes": "^3.1.0",
"change-case": "^4.1.2", "change-case": "^4.1.2",
"cuid": "^2.1.8", "cuid": "^2.1.8",
"flattie": "^1.1.0",
"fs-readdir-recursive": "^1.1.0", "fs-readdir-recursive": "^1.1.0",
"he": "^1.2.0", "he": "^1.2.0",
"kind-of": "^6.0.3", "kind-of": "^6.0.3",
@ -2914,19 +3031,14 @@
"pluralize": "^8.0.0", "pluralize": "^8.0.0",
"require-all": "^3.0.0", "require-all": "^3.0.0",
"resolve-from": "^5.0.0", "resolve-from": "^5.0.0",
"slugify": "^1.6.0", "slugify": "^1.6.1",
"truncatise": "0.0.8" "truncatise": "0.0.8"
} }
}, },
"macroable": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/macroable/-/macroable-5.1.4.tgz",
"integrity": "sha512-6yOJQT7QhYlJqhNWn/B2h+1ylsCnL8dMBmBpdnVNK+02PfQm13Ix4Szx4HiS3rp4a28EKckCGW27gtTZoYXYYQ=="
},
"slugify": { "slugify": {
"version": "1.6.0", "version": "1.6.1",
"resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.0.tgz", "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.1.tgz",
"integrity": "sha512-FkMq+MQc5hzYgM86nLuHI98Acwi3p4wX+a5BO9Hhw4JdK4L7WueIiZ4tXEobImPqBz2sVcV0+Mu3GRB30IGang==" "integrity": "sha512-5ofqMTbetNhxlzjYYLBaZFQd6oiTuSkQlyfPEFIMwgUABlZQ0hbk5xIV9Ydd5jghWeRoO7GkiJliUvTpLOjNRA=="
} }
} }
}, },
@ -3835,6 +3947,11 @@
"integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==",
"dev": true "dev": true
}, },
"flattie": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.0.tgz",
"integrity": "sha512-xU99gDEnciIwJdGcBmNHnzTJ/w5AT+VFJOu6sTB6WM8diOYNA3Sa+K1DiEBQ7XH4QikQq3iFW1U+jRVcotQnBw=="
},
"for-in": { "for-in": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@ -4280,9 +4397,9 @@
"dev": true "dev": true
}, },
"ical-generator": { "ical-generator": {
"version": "3.0.0", "version": "3.0.1",
"resolved": "https://registry.npmjs.org/ical-generator/-/ical-generator-3.0.0.tgz", "resolved": "https://registry.npmjs.org/ical-generator/-/ical-generator-3.0.1.tgz",
"integrity": "sha512-PlDOOipgTlMzbfDDy+NJixAf5bzNb46wf0JXPkhnSjNQJc50y/XTOhOnQW/cp6tD+4ITHIMhkCkQ4CrUlDKMFQ==", "integrity": "sha512-IdvCi0Pi53wNIJW0ww1XT1AsqzMkYYVZF1njA0zA7I1aQ1mLhf4VHgOchQBCOVxJauo1g8x0+B4w7Jj5PcjqFg==",
"requires": { "requires": {
"uuid-random": "^1.3.2" "uuid-random": "^1.3.2"
} }
@ -4372,9 +4489,9 @@
"integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="
}, },
"ioredis": { "ioredis": {
"version": "4.27.9", "version": "4.28.0",
"resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.27.9.tgz", "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.0.tgz",
"integrity": "sha512-hAwrx9F+OQ0uIvaJefuS3UTqW+ByOLyLIV+j0EH8ClNVxvFyH9Vmb08hCL4yje6mDYT5zMquShhypkd50RRzkg==", "integrity": "sha512-I+zkeeWp3XFgPT2CtJKxvaF5FjGBGt4yGYljRjQecdQKteThuAsKqffeF1lgHVlYnuNeozRbPOCDNZ7tDWPeig==",
"requires": { "requires": {
"cluster-key-slot": "^1.1.0", "cluster-key-slot": "^1.1.0",
"debug": "^4.3.1", "debug": "^4.3.1",
@ -5006,9 +5123,9 @@
} }
}, },
"memfs": { "memfs": {
"version": "3.2.4", "version": "3.3.0",
"resolved": "https://registry.npmjs.org/memfs/-/memfs-3.2.4.tgz", "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz",
"integrity": "sha512-2mDCPhuduRPOxlfgsXF9V+uqC6Jgz8zt/bNe4d4W7d5f6pCzHrWkxLNr17jKGXd4+j2kQNsAG2HARPnt74sqVQ==", "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==",
"requires": { "requires": {
"fs-monkey": "1.0.3" "fs-monkey": "1.0.3"
} }
@ -5416,9 +5533,9 @@
} }
}, },
"nodemailer": { "nodemailer": {
"version": "6.6.3", "version": "6.7.0",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.6.3.tgz", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.7.0.tgz",
"integrity": "sha512-faZFufgTMrphYoDjvyVpbpJcYzwyFnbAMmQtj1lVBYAUSm3SOy2fIdd9+Mr4UxPosBa0JRw9bJoIwQn+nswiew==" "integrity": "sha512-AtiTVUFHLiiDnMQ43zi0YgkzHOEWUkhDgPlBXrsDzJiJvB29Alo4OKxHQ0ugF3gRqRQIneCLtZU3yiUo7pItZw=="
}, },
"nopt": { "nopt": {
"version": "5.0.0", "version": "5.0.0",
@ -5943,6 +6060,7 @@
"version": "6.13.1", "version": "6.13.1",
"resolved": "https://registry.npmjs.org/pino/-/pino-6.13.1.tgz", "resolved": "https://registry.npmjs.org/pino/-/pino-6.13.1.tgz",
"integrity": "sha512-QQf67BU+cANnc/2U+wzUV20UjO5oBryWpnNyKshdLfT9BdeiXlh9wxLGmOjAuBWMYITdMs+BtJSQQNlGRNbWpA==", "integrity": "sha512-QQf67BU+cANnc/2U+wzUV20UjO5oBryWpnNyKshdLfT9BdeiXlh9wxLGmOjAuBWMYITdMs+BtJSQQNlGRNbWpA==",
"dev": true,
"requires": { "requires": {
"fast-redact": "^3.0.0", "fast-redact": "^3.0.0",
"fast-safe-stringify": "^2.0.8", "fast-safe-stringify": "^2.0.8",
@ -5957,6 +6075,7 @@
"version": "1.4.1", "version": "1.4.1",
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz",
"integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==",
"dev": true,
"requires": { "requires": {
"atomic-sleep": "^1.0.0", "atomic-sleep": "^1.0.0",
"flatstr": "^1.0.12" "flatstr": "^1.0.12"

View File

@ -32,14 +32,15 @@
"youch-terminal": "^1.1.1" "youch-terminal": "^1.1.1"
}, },
"dependencies": { "dependencies": {
"@adonisjs/auth": "^8.0.9", "@adonisjs/attachment-lite": "^1.0.1",
"@adonisjs/core": "^5.3.2", "@adonisjs/auth": "^8.0.10",
"@adonisjs/drive": "^2.0.6", "@adonisjs/core": "^5.4.0",
"@adonisjs/lucid": "^16.0.2", "@adonisjs/drive": "^2.0.7",
"@adonisjs/lucid": "^16.2.1",
"@adonisjs/mail": "^7.2.4", "@adonisjs/mail": "^7.2.4",
"@adonisjs/redis": "^7.0.9", "@adonisjs/redis": "^7.0.9",
"@adonisjs/repl": "^3.1.6", "@adonisjs/repl": "^3.1.7",
"@adonisjs/view": "^6.1.0", "@adonisjs/view": "^6.1.1",
"cloudinary": "^1.26.3", "cloudinary": "^1.26.3",
"luxon": "^1.28.0", "luxon": "^1.28.0",
"nanoid": "^3.1.25", "nanoid": "^3.1.25",

View File

@ -1,10 +0,0 @@
import Route from '@ioc:Adonis/Core/Route';
Route.group(() => {
/**
* Serve background image for course
*/
Route.get('/images/courses/:fileName', 'Api/AssetsController.serveCourseImage').as('serve.course.image');
})
.prefix('assets')
.as('assets');

View File

@ -26,9 +26,4 @@ Route.group(() => {
* Api routes * Api routes
*/ */
require('./api'); require('./api');
/**
* Serve assets
*/
require('./assets');
}); });

View File

@ -33,7 +33,8 @@
"@adonisjs/auth", "@adonisjs/auth",
"@adonisjs/redis", "@adonisjs/redis",
"@adonisjs/mail", "@adonisjs/mail",
"@adonisjs/view" "@adonisjs/view",
"@adonisjs/attachment-lite"
] ]
} }
} }