chore(db): regenerate entities and kysely types for the tours board

This commit is contained in:
Maurice
2026-10-20 15:40:31 +02:00
parent 73fa7aeb19
commit 65ee472d66
6 changed files with 16 additions and 10 deletions
@@ -47,8 +47,8 @@ export class CollectionTours {
source_trip_title!: string;
source_tour_name!: string;
created_at!: string & Opt;
savedByRef?: Ref<Users> | null;
tourTypeRef!: Ref<TourTypes>;
savedByRef?: Ref<Users> | null;
}
export const CollectionToursSchema = defineEntity({
@@ -95,7 +95,7 @@ export const CollectionToursSchema = defineEntity({
source_trip_title: p.text(),
source_tour_name: p.text(),
created_at: p.type(DbTimestampType).defaultRaw(`CURRENT_TIMESTAMP`),
savedByRef: () => p.manyToOne(Users).ref().joinColumn('saved_by').nullable().hidden().index('idx_collection_tours_saved_by'),
tourTypeRef: () => p.manyToOne(TourTypes).ref().joinColumn('tour_type').hidden().index('idx_collection_tours_tour_type'),
savedByRef: () => p.manyToOne(Users).ref().joinColumn('saved_by').nullable().hidden().index('idx_collection_tours_saved_by'),
},
});
@@ -23,18 +23,18 @@ export const TourActivitiesSchema = defineEntity({
class: TourActivities,
repository: () => TourActivitiesRepository,
uniques: [
{ properties: ['trackPlace'] },
{
name: 'idx_tour_activities_assignment',
where: 'assignment_id IS NOT NULL',
properties: ['assignment'],
properties: ['assignment_id'],
},
{ properties: ['trackPlace'] },
],
properties: {
id: p.integer().primary(),
place: () => p.manyToOne(Tours).ref().name('place_id').deleteRule('cascade').hidden().index('idx_tour_activities_place'),
place_id: p.integer().persist(false).index('idx_tour_activities_place'),
trackPlace: () => p.manyToOne(Tours).ref().name('track_place_id').deleteRule('cascade').hidden(),
trackPlace: () => p.manyToOne(Tours).ref().joinColumn('track_place_id').deleteRule('cascade').hidden(),
track_place_id: p.integer().persist(false),
assignment: () => p.manyToOne(DayAssignments).ref().nullable().hidden(),
assignment_id: p.integer().nullable().persist(false),
@@ -25,12 +25,18 @@ export const TourChangeStepsSchema = defineEntity({
repository: () => TourChangeStepsRepository,
uniques: [{ properties: ['place', 'revision'] }],
checks: [
{ name: 'tour_change_steps_base_revision_check', expression: 'base_revision >= 1' },
{ name: 'tour_change_steps_revision_check', expression: 'revision = base_revision + 1' },
{
name: 'tour_change_steps_undone_revision_check',
expression: 'undone_revision IS NULL OR undone_revision > revision',
},
{
name: 'tour_change_steps_revision_check',
expression: 'revision = base_revision + 1',
},
{
name: 'tour_change_steps_base_revision_check',
expression: 'base_revision >= 1',
},
],
properties: {
id: p.integer().primary(),
+1 -1
View File
@@ -1,7 +1,7 @@
import { EntityRepositoryType, PrimaryKeyProp, type Ref, defineEntity, p } from '@mikro-orm/core';
import { TourSourcesRepository } from '../repositories/TourSources.repository';
import { TourSourceHints } from './TourSourceHints.entity';
import { DbTimestampType } from '../types';
import { TourSourceHints } from './TourSourceHints.entity';
import { Tours } from './Tours.entity';
import { Users } from './Users.entity';
@@ -46,13 +46,13 @@ export const TourWaypointsSchema = defineEntity({
],
uniques: [{ properties: ['place', 'sequence'] }],
checks: [
{ name: 'tour_waypoints_stage_end_check', expression: 'stage_end IN (0, 1)' },
{ name: 'tour_waypoints_protected_check', expression: 'protected IN (0, 1)' },
{
name: 'tour_waypoints_stay_minutes_check',
expression: 'stay_minutes IS NULL OR (stay_minutes >= 0 AND stay_minutes <= 1440)',
},
{ name: 'tour_waypoints_shaping_check', expression: 'shaping IN (0, 1)' },
{ name: 'tour_waypoints_stage_end_check', expression: 'stage_end IN (0, 1)' },
],
properties: {
id: p.integer().primary(),
+1 -1
View File
@@ -144,11 +144,11 @@ export const ToursSchema = defineEntity({
},
],
checks: [
{ name: 'tours_revision_check', expression: 'revision >= 1' },
{
name: 'tours_run_pace_seconds_per_km_check',
expression: 'run_pace_seconds_per_km IS NULL OR (run_pace_seconds_per_km >= 120 AND run_pace_seconds_per_km <= 1200)',
},
{ name: 'tours_revision_check', expression: 'revision >= 1' },
],
properties: {
place: () => p.oneToOne(Places).primary().ref().deleteRule('cascade').nullable().hidden(),