room reservation model, controller, seeder and migration files added

This commit is contained in:
Kiss Dávid
2026-08-19 19:59:18 +02:00
parent b281724a1a
commit 0b88fe87e5
49 changed files with 4073 additions and 2472 deletions
@@ -0,0 +1,21 @@
import { BaseSchema } from '@adonisjs/lucid/schema'
export default class extends BaseSchema {
protected tableName = 'images'
async up() {
this.schema.createTable(this.tableName, (table) => {
table.increments('id')
table.string('file_path').notNullable()
table.string('description').nullable()
table.boolean('is_visible').defaultTo(true)
table.timestamp('created_at')
table.timestamp('updated_at')
})
}
async down() {
this.schema.dropTable(this.tableName)
}
}
+200
View File
@@ -0,0 +1,200 @@
/**
* This file is automatically generated
* DO NOT EDIT manually
* Run "node ace migration:run" command to re-generate this file
*/
import { BaseModel, column } from '@adonisjs/lucid/orm'
import { DateTime } from 'luxon'
export class AuthAccessTokenSchema extends BaseModel {
static $columns = ['abilities', 'createdAt', 'expiresAt', 'hash', 'id', 'lastUsedAt', 'name', 'tokenableId', 'type', 'updatedAt'] as const
$columns = AuthAccessTokenSchema.$columns
@column()
declare abilities: string
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime | null
@column.dateTime()
declare expiresAt: DateTime | null
@column()
declare hash: string
@column({ isPrimary: true })
declare id: number
@column.dateTime()
declare lastUsedAt: DateTime | null
@column()
declare name: string | null
@column()
declare tokenableId: number
@column()
declare type: string
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime | null
}
export class CategorySchema extends BaseModel {
static $columns = ['createdAt', 'id', 'name', 'nameEn', 'nameHu', 'slug', 'updatedAt'] as const
$columns = CategorySchema.$columns
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime
@column({ isPrimary: true })
declare id: number
@column()
declare name: string
@column()
declare nameEn: string | null
@column()
declare nameHu: string | null
@column()
declare slug: string
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime
}
export class ImageSchema extends BaseModel {
static $columns = ['createdAt', 'description', 'filePath', 'id', 'isVisible', 'updatedAt'] as const
$columns = ImageSchema.$columns
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime | null
@column()
declare description: string | null
@column()
declare filePath: string
@column({ isPrimary: true })
declare id: number
@column()
declare isVisible: boolean | null
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime | null
}
export class MenuItemMenuSchema extends BaseModel {
static $columns = ['id', 'restaurantMenuId', 'restaurantMenuItemId'] as const
$columns = MenuItemMenuSchema.$columns
@column({ isPrimary: true })
declare id: number
@column()
declare restaurantMenuId: number
@column()
declare restaurantMenuItemId: number
}
export class RateLimitSchema extends BaseModel {
static $columns = ['expire', 'key', 'points'] as const
$columns = RateLimitSchema.$columns
@column()
declare expire: bigint | number | null
@column({ isPrimary: true })
declare key: string
@column()
declare points: number
}
export class ReservationSchema extends BaseModel {
static $columns = ['createdAt', 'customerName', 'customerPhone', 'endsAt', 'guestsCount', 'id', 'notes', 'roomId', 'startsAt', 'status', 'updatedAt'] as const
$columns = ReservationSchema.$columns
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime | null
@column()
declare customerName: string
@column()
declare customerPhone: string
@column.dateTime()
declare endsAt: DateTime
@column()
declare guestsCount: number
@column({ isPrimary: true })
declare id: number
@column()
declare notes: string | null
@column()
declare roomId: number | null
@column.dateTime()
declare startsAt: DateTime
@column()
declare status: string | null
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime | null
}
export class RestaurantMenuItemSchema extends BaseModel {
static $columns = ['categoryId', 'createdAt', 'description', 'descriptionEn', 'descriptionHu', 'id', 'name', 'nameEn', 'nameHu', 'priceLarge', 'priceSmall', 'updatedAt'] as const
$columns = RestaurantMenuItemSchema.$columns
@column()
declare categoryId: number | null
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime
@column()
declare description: string | null
@column()
declare descriptionEn: string | null
@column()
declare descriptionHu: string | null
@column({ isPrimary: true })
declare id: number
@column()
declare name: string
@column()
declare nameEn: string | null
@column()
declare nameHu: string | null
@column()
declare priceLarge: string
@column()
declare priceSmall: string
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime
}
export class RestaurantMenuSchema extends BaseModel {
static $columns = ['createdAt', 'id', 'name', 'nameEn', 'nameHu', 'updatedAt'] as const
$columns = RestaurantMenuSchema.$columns
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime
@column({ isPrimary: true })
declare id: number
@column()
declare name: string
@column()
declare nameEn: string | null
@column()
declare nameHu: string | null
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime
}
export class RoomSchema extends BaseModel {
static $columns = ['capacity', 'createdAt', 'description', 'id', 'name', 'updatedAt'] as const
$columns = RoomSchema.$columns
@column()
declare capacity: number
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime | null
@column()
declare description: string | null
@column({ isPrimary: true })
declare id: number
@column()
declare name: string
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime | null
}
export class UserSchema extends BaseModel {
static $columns = ['createdAt', 'email', 'fullName', 'id', 'password', 'role', 'updatedAt'] as const
$columns = UserSchema.$columns
@column.dateTime({ autoCreate: true })
declare createdAt: DateTime
@column()
declare email: string
@column()
declare fullName: string
@column({ isPrimary: true })
declare id: number
@column({ serializeAs: null })
declare password: string
@column()
declare role: string
@column.dateTime({ autoCreate: true, autoUpdate: true })
declare updatedAt: DateTime
}
@@ -0,0 +1,7 @@
import { BaseSeeder } from '@adonisjs/lucid/seeders'
export default class extends BaseSeeder {
async run() {
// Write your database queries inside the run method
}
}
+3 -3
View File
@@ -8,7 +8,7 @@ export default class extends BaseSeeder {
{
name: 'Kisterem',
capacity: 20,
description: 'Cozy small room for private gatherings.',
description: 'Kis terem, kisebb rendezvényekre',
}
)
@@ -17,7 +17,7 @@ export default class extends BaseSeeder {
{
name: 'Nagyterem',
capacity: 50,
description: 'Large hall for big events and weddings.',
description: 'Esküvőkre, lagzikra, céges rendezvényekre',
}
)
@@ -26,7 +26,7 @@ export default class extends BaseSeeder {
{
name: 'Terasz',
capacity: 30,
description: 'Outdoor terrace with a view.',
description: 'Külső terasz',
}
)
}