Fix projects descriptions

This commit is contained in:
2021-08-23 12:59:48 +02:00
parent 4a14426547
commit 321342e3ae
3 changed files with 19 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ import Project from "App/Models/Project";
import ProjectStoreValidator from "App/Validators/project/ProjectStoreValidator";
import ProjectUpdateValidator from "App/Validators/project/ProjectUpdateValidator";
import File from "App/Models/File";
import getTranslation from "App/Tasks/getTranslation";
export default class ProjectsController {
@@ -11,6 +12,7 @@ export default class ProjectsController {
projects: await Project.query()
.orderBy('id', 'asc')
.preload('cover')
.preload('description')
.preload('tags')
})
}
@@ -21,6 +23,7 @@ export default class ProjectsController {
const cover = await File.findByOrFail('label', data.cover)
await project.related('cover').associate(cover)
await project.related('description').associate(await getTranslation(data.description))
await project.related('tags').sync(data.tags!)
return response.status(200).send({
project
@@ -30,6 +33,7 @@ export default class ProjectsController {
public async show ({ params, response }: HttpContextContract) {
const project = await Project.findOrFail(params.id)
await project.load('cover')
await project.load('description')
await project.load('tags')
return response.status(200).send({
project
@@ -43,6 +47,9 @@ export default class ProjectsController {
await project.merge(data).save()
if (cover) await project.related('cover').associate(cover)
if (data.description) await project.related('description').associate(await getTranslation(data.description))
await project.related('tags').sync(data.tags!)
return response.status(200).send({
project

View File

@@ -2,6 +2,7 @@ import {DateTime} from 'luxon'
import {BaseModel, BelongsTo, belongsTo, column, ManyToMany, manyToMany} from '@ioc:Adonis/Lucid/Orm'
import File from "App/Models/File";
import Tag from "App/Models/Tag";
import Translation from "App/Models/Translation";
export default class Project extends BaseModel {
@column({ isPrimary: true })
@@ -10,8 +11,13 @@ export default class Project extends BaseModel {
@column()
public name: string
@belongsTo(() => Translation, {
foreignKey: 'descriptionId'
})
public description: BelongsTo<typeof Translation>
@column()
public description: string
public descriptionId: number
@column()
public progress: number

View File

@@ -7,7 +7,11 @@ export default class Projects extends BaseSchema {
this.schema.createTable(this.tableName, (table) => {
table.increments('id').primary()
table.string('name').notNullable()
table.string('description').notNullable()
table
.integer('description_id')
.unsigned()
.references('translations.id')
.onDelete('CASCADE')
table.string('url').notNullable()
table.integer('progress').notNullable()
table