Files
bigcapital/packages/server/src/interfaces/Times.ts
2023-02-03 11:57:50 +02:00

73 lines
1.8 KiB
TypeScript

import { Knex } from 'knex';
export interface IProjectTime {
id?: number;
duration: number;
description: string;
date: string | Date;
taskId: number;
projectId: number;
}
export interface BaseProjectTimeDTO {
name: string;
rate: number;
chargeType: string;
estimateHours: number;
}
export interface IProjectTimeCreateDTO extends BaseProjectTimeDTO {}
export interface IProjectTimeEditDTO extends BaseProjectTimeDTO {}
export interface IProjectTimeCreatePOJO extends IProjectTime {}
export interface IProjectTimeEditPOJO extends IProjectTime{}
export interface IProjectTimeGetPOJO extends IProjectTime{}
export interface IProjectTimeCreateEventPayload {
tenantId: number;
timeDTO: IProjectTimeCreateDTO;
}
export interface IProjectTimeCreatedEventPayload {
tenantId: number;
timeDTO: IProjectTimeEditDTO;
time: any;
trx: Knex.Transaction;
}
export interface IProjectTimeCreatingEventPayload {
tenantId: number;
timeDTO: IProjectTimeEditDTO;
trx: Knex.Transaction;
}
export interface IProjectTimeDeleteEventPayload {
tenantId: number;
timeId: number;
trx?: Knex.Transaction;
}
export interface IProjectTimeDeletingEventPayload {
tenantId: number;
oldTime: IProjectTime;
trx: Knex.Transaction;
}
export interface IProjectTimeDeletedEventPayload {
tenantId: number;
oldTime: IProjectTime;
trx: Knex.Transaction;
}
export interface IProjectTimeEditEventPayload {
tenantId: number;
oldTime: IProjectTime;
timeDTO: IProjectTimeEditDTO;
}
export interface IProjectTimeEditingEventPayload {
tenantId: number;
oldTime: IProjectTime;
timeDTO: IProjectTimeEditDTO;
trx: Knex.Transaction;
}
export interface IProjectTimeEditedEventPayload {
tenantId: number;
oldTime: IProjectTime;
time: IProjectTime;
timeDTO: IProjectTimeEditDTO;
trx: Knex.Transaction;
}