Files
personal-measure/web/src/models.d.ts

57 lines
988 B
TypeScript

export enum MeasureType { Text = 'text', Simple = 'simple' }
export interface ApiToken {
id: string;
userId: string;
name: string;
value?: string;
created: Date;
expires?: Date;
}
export interface LoginSubmit {
email: string;
password: string;
}
export interface MeasureConfig {
type: MeasureType;
isVisible: boolean;
timestampDisplayFormat: string;
}
export interface TextMeasureConfig extends MeasureConfig {
showTimestamp: boolean;
}
export interface Measure<C extends MeasureConfig> {
id: string;
userId: string;
slug: string;
name: string;
description: string;
config: C;
}
export interface MeasurementMeta {
}
export interface TextMeasurementMeta extends MeasurementMeta {
entry: string;
}
export interface Measurement<M extends MeasurementMeta> {
id: string;
measureId: string;
value: number;
timestamp: Date;
extData: M;
}
export interface User {
id: string;
displayName: string;
email: string;
isAdmin: boolean;
}