244 lines
5.6 KiB
TypeScript
244 lines
5.6 KiB
TypeScript
import { IDynamicListFilter, IItemEntry, IItemEntryDTO } from '@/interfaces';
|
|
import { Knex } from 'knex';
|
|
import { AttachmentLinkDTO } from './Attachments';
|
|
|
|
export enum VendorCreditAction {
|
|
Create = 'Create',
|
|
Edit = 'Edit',
|
|
Delete = 'Delete',
|
|
View = 'View',
|
|
Refund = 'Refund',
|
|
}
|
|
|
|
export interface IVendorCredit {
|
|
id: number | null;
|
|
vendorId: number;
|
|
amount: number;
|
|
localAmount?: number;
|
|
currencyCode: string;
|
|
exchangeRate: number;
|
|
vendorCreditNumber: string;
|
|
vendorCreditDate: Date;
|
|
referenceNo: string;
|
|
entries?: IItemEntry[];
|
|
openedAt: Date | null;
|
|
isOpen: boolean;
|
|
isPublished: boolean;
|
|
isClosed: boolean;
|
|
isDraft: boolean;
|
|
creditsRemaining: number;
|
|
branchId?: number;
|
|
warehouseId?: number,
|
|
}
|
|
|
|
export interface IVendorCreditEntryDTO extends IItemEntryDTO {}
|
|
|
|
export interface IRefundVendorCredit {
|
|
id?: number | null;
|
|
date: Date;
|
|
referenceNo: string;
|
|
amount: number;
|
|
currencyCode: string;
|
|
exchangeRate: number;
|
|
depositAccountId: number;
|
|
description: string;
|
|
vendorCreditId: number;
|
|
createdAt: Date | null;
|
|
userId: number;
|
|
branchId?: number;
|
|
|
|
vendorCredit?: IVendorCredit
|
|
}
|
|
|
|
export interface IVendorCreditDTO {
|
|
vendorId: number;
|
|
exchangeRate?: number;
|
|
vendorCreditNumber: string;
|
|
referenceNo: string;
|
|
vendorCreditDate: Date;
|
|
note: string;
|
|
open: boolean;
|
|
entries: IVendorCreditEntryDTO[];
|
|
|
|
branchId?: number;
|
|
warehouseId?: number;
|
|
attachments?: AttachmentLinkDTO[];
|
|
}
|
|
|
|
export interface IVendorCreditCreateDTO extends IVendorCreditDTO {}
|
|
export interface IVendorCreditEditDTO extends IVendorCreditDTO {}
|
|
export interface IVendorCreditCreatePayload {
|
|
tenantId: number;
|
|
refundVendorCreditDTO: IRefundVendorCreditDTO;
|
|
vendorCreditId: number;
|
|
}
|
|
|
|
export interface IVendorCreditCreatingPayload {
|
|
tenantId: number;
|
|
vendorCredit: IVendorCredit;
|
|
vendorCreditId: number;
|
|
vendorCreditCreateDTO: IVendorCreditCreateDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditCreatedPayload {
|
|
tenantId: number;
|
|
vendorCredit: IVendorCredit;
|
|
vendorCreditCreateDTO: IVendorCreditCreateDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditCreatedPayload {}
|
|
export interface IVendorCreditDeletedPayload {
|
|
trx: Knex.Transaction;
|
|
tenantId: number;
|
|
vendorCreditId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
}
|
|
|
|
export interface IVendorCreditDeletingPayload {
|
|
trx: Knex.Transaction;
|
|
tenantId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
}
|
|
|
|
export interface IVendorCreditsQueryDTO extends IDynamicListFilter {
|
|
page: number;
|
|
pageSize: number;
|
|
searchKeyword?: string;
|
|
}
|
|
|
|
export interface IVendorCreditEditingPayload {
|
|
tenantId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
vendorCreditDTO: IVendorCreditEditDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditEditedPayload {
|
|
tenantId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
vendorCredit: IVendorCredit;
|
|
vendorCreditId: number;
|
|
vendorCreditDTO: IVendorCreditEditDTO;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IRefundVendorCreditDTO {
|
|
amount: number;
|
|
exchangeRate?: number;
|
|
depositAccountId: number;
|
|
description: string;
|
|
date: Date;
|
|
branchId?: number;
|
|
}
|
|
|
|
export interface IRefundVendorCreditDeletedPayload {
|
|
trx: Knex.Transaction;
|
|
refundCreditId: number;
|
|
oldRefundCredit: IRefundVendorCredit;
|
|
tenantId: number;
|
|
}
|
|
|
|
export interface IRefundVendorCreditDeletePayload {
|
|
trx: Knex.Transaction;
|
|
refundCreditId: number;
|
|
oldRefundCredit: IRefundVendorCredit;
|
|
tenantId: number;
|
|
}
|
|
export interface IRefundVendorCreditDeletingPayload {
|
|
trx: Knex.Transaction;
|
|
refundCreditId: number;
|
|
oldRefundCredit: IRefundVendorCredit;
|
|
tenantId: number;
|
|
}
|
|
|
|
export interface IRefundVendorCreditCreatingPayload {
|
|
trx: Knex.Transaction;
|
|
vendorCredit: IVendorCredit;
|
|
refundVendorCreditDTO: IRefundVendorCreditDTO;
|
|
tenantId: number;
|
|
}
|
|
|
|
export interface IRefundVendorCreditCreatedPayload {
|
|
refundVendorCredit: IRefundVendorCredit;
|
|
vendorCredit: IVendorCredit;
|
|
trx: Knex.Transaction;
|
|
tenantId: number;
|
|
}
|
|
export interface IRefundVendorCreditPOJO {}
|
|
|
|
export interface IApplyCreditToBillEntryDTO {
|
|
amount: number;
|
|
billId: number;
|
|
}
|
|
|
|
export interface IApplyCreditToBillsDTO {
|
|
entries: IApplyCreditToBillEntryDTO[];
|
|
}
|
|
|
|
export interface IVendorCreditOpenedPayload {
|
|
tenantId: number;
|
|
vendorCreditId: number;
|
|
vendorCredit: IVendorCredit;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditOpenPayload {
|
|
tenantId: number;
|
|
vendorCreditId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
}
|
|
|
|
export interface IVendorCreditOpeningPayload {
|
|
tenantId: number;
|
|
vendorCreditId: number;
|
|
oldVendorCredit: IVendorCredit;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditApplyToBillsCreatedPayload {
|
|
tenantId: number;
|
|
vendorCredit: IVendorCredit;
|
|
vendorCreditAppliedBills: IVendorCreditAppliedBill[];
|
|
trx: Knex.Transaction;
|
|
}
|
|
export interface IVendorCreditApplyToBillsCreatingPayload {
|
|
trx: Knex.Transaction;
|
|
}
|
|
export interface IVendorCreditApplyToBillsCreatePayload {
|
|
trx: Knex.Transaction;
|
|
}
|
|
export interface IVendorCreditApplyToBillDeletedPayload {
|
|
tenantId: number;
|
|
vendorCredit: IVendorCredit;
|
|
oldCreditAppliedToBill: IVendorCreditAppliedBill;
|
|
trx: Knex.Transaction;
|
|
}
|
|
|
|
export interface IVendorCreditApplyToInvoiceDTO {
|
|
amount: number;
|
|
billId: number;
|
|
}
|
|
|
|
export interface IVendorCreditApplyToInvoicesDTO {
|
|
entries: IVendorCreditApplyToInvoiceDTO[];
|
|
}
|
|
|
|
export interface IVendorCreditApplyToInvoiceModel {
|
|
billId: number;
|
|
amount: number;
|
|
vendorCreditId: number;
|
|
}
|
|
|
|
export interface IVendorCreditApplyToInvoicesModel {
|
|
entries: IVendorCreditApplyToInvoiceModel[];
|
|
amount: number;
|
|
}
|
|
|
|
export interface IVendorCreditAppliedBill {
|
|
billId: number;
|
|
amount: number;
|
|
vendorCreditId: number;
|
|
}
|