mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-20 14:06:27 +00:00
chore(db): regenerate entities and kysely types for the tours board
This commit is contained in:
@@ -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,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(),
|
||||
|
||||
@@ -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(),
|
||||
|
||||
Reference in New Issue
Block a user