tethys.backend/app/Models/Coverage.ts
Arno Kaimbacher ebb24cc75c - add classes inside app/library for creting Tethys xml: Field.ts, Strategy.ts, XmlModel.ts
- added model DocumentXmlCache.ts
- npm updates
- changed all models inside app/Models to use corrected BaseModel.ts
- added extra extension class DatasetExtension.ts for app/dataset.ts for caching internal and external fields
2023-09-26 17:53:00 +02:00

90 lines
1.8 KiB
TypeScript

import { column, SnakeCaseNamingStrategy, belongsTo, BelongsTo } from '@ioc:Adonis/Lucid/Orm';
import { DateTime } from 'luxon';
import Dataset from './Dataset';
import BaseModel from './BaseModel';
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>;
}