import { OptionalNullable } from '@humand-packages/common';

export class TimeTrackingKioskUserForCreation {
    constructor(props: OptionalNullable<TimeTrackingKioskUserForCreation>) {
        this.instanceId = props.instanceId;
        this.userId = props.userId;
        this.regionId = props.regionId ?? null;
        this.siteId = props.siteId ?? null;
        this.deletedAt = props.deletedAt ?? null;
    }

    instanceId: number;
    userId: number;
    regionId: number | null;
    siteId: number | null;
    deletedAt: Date | null;
}

export class TimeTrackingKioskUserCreationAttributes extends TimeTrackingKioskUserForCreation {
    constructor(props: TimeTrackingKioskUserCreationAttributes) {
        super(props);
        Object.assign(this, props);
    }

    id!: string;
}

export class TimeTrackingKioskUser extends TimeTrackingKioskUserForCreation {
    constructor(props: TimeTrackingKioskUser) {
        super(props);
        Object.assign(this, props);
    }

    id!: string;
    updatedAt!: Date;
    deleted!: boolean;
}
