diff --git a/app/Controllers/Http/InformationsController.ts b/app/Controllers/Http/InformationsController.ts index be1abfe..58bee6e 100644 --- a/app/Controllers/Http/InformationsController.ts +++ b/app/Controllers/Http/InformationsController.ts @@ -1,18 +1,28 @@ import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext"; import Information from "App/Models/Information"; import InformationUpdateValidator from "App/Validators/information/InformationUpdateValidator"; +import getTranslation from "App/Tasks/getTranslation"; export default class InformationsController { public async index ( { response }: HttpContextContract ) { return response.status(200).send({ - informations: await Information.first() + informations: await Information + .query() + .preload('translation') + .first() }) } public async update ( { response, request }: HttpContextContract ) { const information = await Information.firstOrFail() const data = await request.validate(InformationUpdateValidator) + + if (data.code) { + const translation = await getTranslation(data.code) + await information.related('translation').associate(translation) + } + await information.merge(data).save() return response.status(200).send({ diff --git a/app/Models/Information.ts b/app/Models/Information.ts index ce7c71e..7a58d64 100644 --- a/app/Models/Information.ts +++ b/app/Models/Information.ts @@ -15,9 +15,6 @@ export default class Information extends BaseModel { @column() public translationId: number - @column() - public hiringColor: string - @column.dateTime({ autoCreate: true }) public createdAt: DateTime diff --git a/app/Validators/information/InformationUpdateValidator.ts b/app/Validators/information/InformationUpdateValidator.ts index e6256b2..c5bc5c5 100644 --- a/app/Validators/information/InformationUpdateValidator.ts +++ b/app/Validators/information/InformationUpdateValidator.ts @@ -4,7 +4,7 @@ import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext' export default class InformationUpdateValidator { public schema = schema.create({ age: schema.number.optional(), - hiring_status: schema.string.optional(), + code: schema.string.optional(), hiring_color: schema.string.optional() }) public messages = { diff --git a/database/migrations/1628945210540_informations.ts b/database/migrations/1628945210540_informations.ts index a334a8b..9cfbd47 100644 --- a/database/migrations/1628945210540_informations.ts +++ b/database/migrations/1628945210540_informations.ts @@ -7,7 +7,6 @@ export default class Informations extends BaseSchema { this.schema.createTable(this.tableName, (table) => { table.increments('id') table.integer('age').notNullable() - table.string('hiring_color').notNullable() table .integer('translation_id') .unsigned()