Rename profile to information

This commit is contained in:
2021-08-14 14:48:10 +02:00
parent a5062cc854
commit 046fe0b0a9
6 changed files with 39 additions and 31 deletions

View File

@@ -0,0 +1,23 @@
import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
import Information from "App/Models/Information";
import InformationUpdateValidator from "App/Validators/information/InformationUpdateValidator";
export default class InformationsController {
public async index ( { response }: HttpContextContract ) {
return response.status(200).send({
informations: await Information.first()
})
}
public async update ( { response, request }: HttpContextContract ) {
const information = await Information.firstOrFail()
const data = await request.validate(InformationUpdateValidator)
await information.merge(data).save()
return response.status(200).send({
information
})
}
}

View File

@@ -1,23 +0,0 @@
import {HttpContextContract} from "@ioc:Adonis/Core/HttpContext";
import Profile from "App/Models/Profile";
import ProfileUpdateValidator from "App/Validators/profile/ProfileUpdateValidator";
export default class ProfilesController {
public async index ( { response }: HttpContextContract ) {
return response.status(200).send({
profile: await Profile.first()
})
}
public async update ( { response, request }: HttpContextContract ) {
const profile = await Profile.firstOrFail()
const data = await request.validate(ProfileUpdateValidator)
await profile.merge(data).save()
return response.status(200).send({
profile
})
}
}

View File

@@ -1,15 +1,19 @@
import {DateTime} from 'luxon'
import {BaseModel, column} from '@ioc:Adonis/Lucid/Orm'
import {BaseModel, BelongsTo, belongsTo, column} from '@ioc:Adonis/Lucid/Orm'
import Translation from "App/Models/Translation";
export default class Profile extends BaseModel {
export default class Information extends BaseModel {
@column({ isPrimary: true })
public id: number
@column()
public age: number
@belongsTo(() => Translation)
public translation: BelongsTo<typeof Translation>
@column()
public hiringStatus: string
public translationId: number
@column()
public hiringColor: string

View File

@@ -1,7 +1,7 @@
import {schema} from '@ioc:Adonis/Core/Validator'
import {HttpContextContract} from '@ioc:Adonis/Core/HttpContext'
export default class ProfileUpdateValidator {
export default class InformationUpdateValidator {
public schema = schema.create({
age: schema.number.optional(),
hiring_status: schema.string.optional(),

View File

@@ -1,14 +1,18 @@
import BaseSchema from '@ioc:Adonis/Lucid/Schema'
export default class Profiles extends BaseSchema {
protected tableName = 'profiles'
export default class Informations extends BaseSchema {
protected tableName = 'informations'
public async up () {
this.schema.createTable(this.tableName, (table) => {
table.increments('id')
table.integer('age').notNullable()
table.string('hiring_color').notNullable()
table.string('hiring_status').notNullable()
table
.integer('translation_id')
.unsigned()
.references('translations.id')
.onDelete('CASCADE')
table.timestamps(true, true)
})
}

View File

@@ -9,7 +9,7 @@ Route.group(() => {
Route.resource('/projects', 'ProjectsController').except(['edit', 'create'])
Route.resource('/profile', 'ProfilesController').only(['index', 'update'])
Route.resource('/informations', 'InformationsController').only(['index', 'update'])
Route.group(() => {
Route.get('/:slug', 'PostsController.getLikes')