mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-14 11:50:31 +00:00
161 lines
3.3 KiB
TypeScript
161 lines
3.3 KiB
TypeScript
import { Knex } from 'knex';
|
|
|
|
export interface IProjectCommonDTO {
|
|
contactId: number;
|
|
name: string;
|
|
deadline: Date;
|
|
costEstimate: number;
|
|
}
|
|
|
|
export interface IProject {
|
|
id?: number;
|
|
name: string;
|
|
contactId: number;
|
|
deadline: number;
|
|
costEstimate: number;
|
|
status: string;
|
|
}
|
|
|
|
export interface IProjectCreateDTO extends IProjectCommonDTO {}
|
|
export interface IProjectEditDTO extends IProjectCommonDTO {}
|
|
|
|
export interface IProjectCreatePOJO extends IProject {}
|
|
export interface IProjectEditPOJO extends IProject {}
|
|
|
|
export interface IProjectGetPOJO {
|
|
costEstimate: number;
|
|
costEstimateFormatted: string;
|
|
|
|
deadlineFormatted: string;
|
|
contactDisplayName: string;
|
|
statusFormatted: string;
|
|
|
|
totalActualHours: number;
|
|
totalEstimateHours: number;
|
|
totalInvoicedHours: number;
|
|
totalBillableHours: number;
|
|
|
|
totalActualHoursAmount: number;
|
|
totalActualHoursAmountFormatted: string;
|
|
|
|
totalEstimateHoursAmount: number;
|
|
totalEstimateHoursAmountFormatted: string;
|
|
|
|
totalInvoicedHoursAmount: number;
|
|
totalInvoicedHoursAmountFormatted: string;
|
|
|
|
totalBillableHoursAmount: number;
|
|
totalBillableHoursAmountFormatted: string;
|
|
|
|
totalExpenses: number;
|
|
totalExpensesFormatted: string;
|
|
|
|
totalInvoicedExpenses: number;
|
|
totalInvoicedExpensesFormatted: string;
|
|
|
|
totalBillableExpenses: number;
|
|
totalBillableExpensesFormatted: string;
|
|
|
|
totalInvoiced: number;
|
|
totalInvoicedFormatted: string;
|
|
|
|
totalBillable: number;
|
|
totalBillableFormatted: string;
|
|
}
|
|
|
|
export interface IProjectCreateEventPayload {
|
|
tenantId: number;
|
|
projectDTO: IProjectCreateDTO;
|
|
}
|
|
|
|
export interface IProjectCreatedEventPayload {
|
|
tenantId: number;
|
|
projectDTO: IProjectCreateDTO;
|
|
project: IProject;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IProjectCreatingEventPayload {
|
|
tenantId: number;
|
|
projectDTO: IProjectCreateDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IProjectDeleteEventPayload {
|
|
tenantId: number;
|
|
projectId: number;
|
|
}
|
|
|
|
export interface IProjectDeletingEventPayload {
|
|
tenantId: number;
|
|
oldProject: IProject;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IProjectDeletedEventPayload
|
|
extends IProjectDeletingEventPayload {}
|
|
|
|
export interface IProjectEditEventPayload {
|
|
tenantId: number;
|
|
oldProject: IProject;
|
|
projectDTO: IProjectEditDTO;
|
|
}
|
|
export interface IProjectEditingEventPayload {
|
|
tenantId: number;
|
|
oldProject: IProject;
|
|
projectDTO: IProjectEditDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
export interface IProjectEditedEventPayload {
|
|
tenantId: number;
|
|
project: IProject;
|
|
oldProject: IProject;
|
|
projectDTO: IProjectEditDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export enum IProjectStatus {
|
|
Closed = 'Closed',
|
|
InProgress = 'InProgress',
|
|
}
|
|
|
|
export interface ProjectBillableEntriesQuery {
|
|
toDate?: Date;
|
|
billableType?: ProjectBillableType[];
|
|
}
|
|
|
|
export interface ProjectBillableEntry {
|
|
billableType: string;
|
|
billableId: number;
|
|
billableAmount: number;
|
|
billableCurrency: string;
|
|
billableTransactionNo: string;
|
|
}
|
|
|
|
export enum ProjectBillableType {
|
|
Task = 'Task',
|
|
Expense = 'Expense',
|
|
Bill = 'Bill',
|
|
}
|
|
|
|
export enum ProjectAction {
|
|
CREATE = 'Create',
|
|
EDIT = 'Edit',
|
|
DELETE = 'Delete',
|
|
VIEW = 'View',
|
|
}
|
|
|
|
export enum ProjectTaskAction {
|
|
CREATE = 'Create',
|
|
EDIT = 'Edit',
|
|
DELETE = 'Delete',
|
|
VIEW = 'View',
|
|
}
|
|
|
|
export enum ProjectTimeAction {
|
|
CREATE = 'Create',
|
|
EDIT = 'Edit',
|
|
DELETE = 'Delete',
|
|
VIEW = 'View',
|
|
}
|