91 lines
1.9 KiB
TypeScript
91 lines
1.9 KiB
TypeScript
import { column, SnakeCaseNamingStrategy, belongsTo } from '@adonisjs/lucid/orm';
|
|
import { DateTime } from 'luxon';
|
|
import Dataset from './Dataset.js';
|
|
import BaseModel from './BaseModel.js';
|
|
import type { BelongsTo } from "@adonisjs/lucid/types/relations";
|
|
|
|
export default class Coverage extends BaseModel {
|
|
public static namingStrategy = new SnakeCaseNamingStrategy();
|
|
public static primaryKey = 'id';
|
|
public static table = 'coverage';
|
|
public static selfAssignPrimaryKey = false;
|
|
public static fillable: string[] = [
|
|
'elevation_min',
|
|
'elevation_max',
|
|
'elevation_absolut',
|
|
'depth_min',
|
|
'depth_max',
|
|
'depth_absolut',
|
|
'time_min',
|
|
'time_max',
|
|
'time_absolut',
|
|
'x_min',
|
|
'x_max',
|
|
'y_min',
|
|
'y_max',
|
|
];
|
|
|
|
@column({
|
|
isPrimary: true,
|
|
})
|
|
public id: number;
|
|
|
|
@column({})
|
|
public dataset_id: number;
|
|
|
|
@column({})
|
|
public elevation_min: number;
|
|
|
|
@column({})
|
|
public elevation_max: number;
|
|
|
|
@column({})
|
|
public elevation_absolut: number;
|
|
|
|
@column({})
|
|
public depth_min: number;
|
|
|
|
@column({})
|
|
public depth_max: number;
|
|
|
|
@column({})
|
|
public depth_absolut: number;
|
|
|
|
@column.dateTime({})
|
|
public time_min: DateTime;
|
|
|
|
@column.dateTime({})
|
|
public time_max: DateTime;
|
|
|
|
@column.dateTime({})
|
|
public time_absolut: DateTime;
|
|
|
|
@column({})
|
|
public x_min: number;
|
|
|
|
@column({})
|
|
public x_max: number;
|
|
|
|
@column({})
|
|
public y_min: number;
|
|
|
|
@column({})
|
|
public y_max: number;
|
|
|
|
@column.dateTime({
|
|
autoCreate: true,
|
|
})
|
|
public created_at: DateTime;
|
|
|
|
@column.dateTime({
|
|
autoCreate: true,
|
|
autoUpdate: true,
|
|
})
|
|
public updated_at: DateTime;
|
|
|
|
@belongsTo(() => Dataset, {
|
|
foreignKey: 'dataset_id',
|
|
})
|
|
public dataset: BelongsTo<typeof Dataset>;
|
|
}
|