diff --git a/server/src/db/entities/CollectionTours.entity.ts b/server/src/db/entities/CollectionTours.entity.ts index 71d6a55f8..8f9d1ff0a 100644 --- a/server/src/db/entities/CollectionTours.entity.ts +++ b/server/src/db/entities/CollectionTours.entity.ts @@ -47,8 +47,8 @@ export class CollectionTours { source_trip_title!: string; source_tour_name!: string; created_at!: string & Opt; - savedByRef?: Ref | null; tourTypeRef!: Ref; + savedByRef?: Ref | 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'), }, }); diff --git a/server/src/db/entities/TourActivities.entity.ts b/server/src/db/entities/TourActivities.entity.ts index dbf194808..b6686c1ae 100644 --- a/server/src/db/entities/TourActivities.entity.ts +++ b/server/src/db/entities/TourActivities.entity.ts @@ -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), diff --git a/server/src/db/entities/TourChangeSteps.entity.ts b/server/src/db/entities/TourChangeSteps.entity.ts index f8a619b0f..c054e9027 100644 --- a/server/src/db/entities/TourChangeSteps.entity.ts +++ b/server/src/db/entities/TourChangeSteps.entity.ts @@ -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(), diff --git a/server/src/db/entities/TourSources.entity.ts b/server/src/db/entities/TourSources.entity.ts index cd13deae8..5fdb0cb83 100644 --- a/server/src/db/entities/TourSources.entity.ts +++ b/server/src/db/entities/TourSources.entity.ts @@ -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'; diff --git a/server/src/db/entities/TourWaypoints.entity.ts b/server/src/db/entities/TourWaypoints.entity.ts index aaaac759a..2e3d15122 100644 --- a/server/src/db/entities/TourWaypoints.entity.ts +++ b/server/src/db/entities/TourWaypoints.entity.ts @@ -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(), diff --git a/server/src/db/entities/Tours.entity.ts b/server/src/db/entities/Tours.entity.ts index b3f47e80d..19aec8c71 100644 --- a/server/src/db/entities/Tours.entity.ts +++ b/server/src/db/entities/Tours.entity.ts @@ -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(),