mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
feat: journal entries with expenses operations.
This commit is contained in:
@@ -1,70 +1,111 @@
|
||||
import { ISystemUser } from "./User";
|
||||
import { ISystemUser } from './User';
|
||||
|
||||
export interface IPaginationMeta {
|
||||
total: number,
|
||||
page: number,
|
||||
pageSize: number,
|
||||
};
|
||||
total: number;
|
||||
page: number;
|
||||
pageSize: number;
|
||||
}
|
||||
|
||||
export interface IExpensesFilter{
|
||||
page: number,
|
||||
pageSize: number,
|
||||
};
|
||||
export interface IExpensesFilter {
|
||||
page: number;
|
||||
pageSize: number;
|
||||
}
|
||||
|
||||
export interface IExpense {
|
||||
id: number,
|
||||
totalAmount: number,
|
||||
currencyCode: string,
|
||||
description?: string,
|
||||
paymentAccountId: number,
|
||||
peyeeId?: number,
|
||||
referenceNo?: string,
|
||||
publishedAt: Date|null,
|
||||
userId: number,
|
||||
paymentDate: Date,
|
||||
payeeId: number,
|
||||
categories: IExpenseCategory[],
|
||||
id: number;
|
||||
totalAmount: number;
|
||||
currencyCode: string;
|
||||
description?: string;
|
||||
paymentAccountId: number;
|
||||
peyeeId?: number;
|
||||
referenceNo?: string;
|
||||
publishedAt: Date | null;
|
||||
userId: number;
|
||||
paymentDate: Date;
|
||||
payeeId: number;
|
||||
categories: IExpenseCategory[];
|
||||
}
|
||||
|
||||
export interface IExpenseCategory {
|
||||
expenseAccountId: number,
|
||||
index: number,
|
||||
description: string,
|
||||
expenseId: number,
|
||||
amount: number,
|
||||
expenseAccountId: number;
|
||||
index: number;
|
||||
description: string;
|
||||
expenseId: number;
|
||||
amount: number;
|
||||
}
|
||||
|
||||
export interface IExpenseDTO {
|
||||
currencyCode: string,
|
||||
description?: string,
|
||||
paymentAccountId: number,
|
||||
peyeeId?: number,
|
||||
referenceNo?: string,
|
||||
publish: boolean,
|
||||
userId: number,
|
||||
paymentDate: Date,
|
||||
payeeId: number,
|
||||
categories: IExpenseCategoryDTO[],
|
||||
currencyCode: string;
|
||||
description?: string;
|
||||
paymentAccountId: number;
|
||||
peyeeId?: number;
|
||||
referenceNo?: string;
|
||||
publish: boolean;
|
||||
userId: number;
|
||||
paymentDate: Date;
|
||||
payeeId: number;
|
||||
categories: IExpenseCategoryDTO[];
|
||||
}
|
||||
|
||||
export interface IExpenseCategoryDTO {
|
||||
expenseAccountId: number,
|
||||
index: number,
|
||||
description?: string,
|
||||
expenseId: number,
|
||||
};
|
||||
expenseAccountId: number;
|
||||
index: number;
|
||||
description?: string;
|
||||
expenseId: number;
|
||||
}
|
||||
|
||||
export interface IExpensesService {
|
||||
newExpense(tenantid: number, expenseDTO: IExpenseDTO, authorizedUser: ISystemUser): Promise<IExpense>;
|
||||
editExpense(tenantid: number, expenseId: number, expenseDTO: IExpenseDTO, authorizedUser: ISystemUser): void;
|
||||
newExpense(
|
||||
tenantid: number,
|
||||
expenseDTO: IExpenseDTO,
|
||||
authorizedUser: ISystemUser
|
||||
): Promise<IExpense>;
|
||||
|
||||
publishExpense(tenantId: number, expenseId: number, authorizedUser: ISystemUser): Promise<void>;
|
||||
editExpense(
|
||||
tenantid: number,
|
||||
expenseId: number,
|
||||
expenseDTO: IExpenseDTO,
|
||||
authorizedUser: ISystemUser
|
||||
): void;
|
||||
|
||||
deleteExpense(tenantId: number, expenseId: number, authorizedUser: ISystemUser): Promise<void>;
|
||||
deleteBulkExpenses(tenantId: number, expensesIds: number[], authorizedUser: ISystemUser): Promise<void>;
|
||||
publishExpense(
|
||||
tenantId: number,
|
||||
expenseId: number,
|
||||
authorizedUser: ISystemUser
|
||||
): Promise<void>;
|
||||
|
||||
publishBulkExpenses(tenantId: number, expensesIds: number[], authorizedUser: ISystemUser): Promise<void>;
|
||||
deleteExpense(
|
||||
tenantId: number,
|
||||
expenseId: number,
|
||||
authorizedUser: ISystemUser
|
||||
): Promise<void>;
|
||||
|
||||
deleteBulkExpenses(
|
||||
tenantId: number,
|
||||
expensesIds: number[],
|
||||
authorizedUser: ISystemUser
|
||||
): Promise<void>;
|
||||
|
||||
publishBulkExpenses(
|
||||
tenantId: number,
|
||||
expensesIds: number[],
|
||||
authorizedUser: ISystemUser
|
||||
): Promise<{
|
||||
meta: {
|
||||
alreadyPublished: number;
|
||||
published: number;
|
||||
total: number,
|
||||
},
|
||||
}>;
|
||||
|
||||
getExpensesList(
|
||||
tenantId: number,
|
||||
expensesFilter: IExpensesFilter
|
||||
): Promise<{
|
||||
expenses: IExpense[];
|
||||
pagination: IPaginationMeta;
|
||||
filterMeta: IFilterMeta;
|
||||
}>;
|
||||
|
||||
getExpensesList(tenantId: number, expensesFilter: IExpensesFilter): Promise<{ expenses: IExpense[], pagination: IPaginationMeta, filterMeta: IFilterMeta }>;
|
||||
getExpense(tenantId: number, expenseId: number): Promise<IExpense>;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user