Types

 avatar
unknown
typescript
12 days ago
1.1 kB
1
Indexable
// customer types
export interface ICustomerShort {
  id: string;
  kurztext: string;
}

export interface ICustomer extends ICustomerShort {
  langtext: string;
  projekte: IProjectShort[];
  isActive: boolean;
}

//project types

import { IUserShort } from './user';

export interface IProjectShort {
  id: string;
  kurztext: string;
  isActive: boolean;
}

export interface IProject extends IProjectShort {
  langtext: string;
  fak: number;
  nfak: number;
  kundeId: string;
  kundeKurztext: string;
  hauptverantwortlicher: IUserShort;
  gebuchtFak: number;
  gebuchtNfak: number;
  verantwortliche: IUserShort[];
}

// time report types

export interface ITimeReport {
  id: string;
  projekt: IProjectShort;
  kunde: ICustomerShort;
  taetigkeit: string;
  zusatz: string;
  datum: string;
  von: string;
  bis: string;
  fak: number;
  nfak: number;
  abgerechnet: boolean;
}

// the time report type used in the table

interface ITimeReportCustom extends Omit<ITimeReport, 'kunde' | 'projekt'> {
  kundeId: string | null;
  projektId: string | null;
}

Leave a Comment