This commit is contained in:
Chris Chen
2026-06-20 17:51:33 -07:00
parent f55807fa7d
commit 3558c67fd7
55 changed files with 3140 additions and 85 deletions
@@ -0,0 +1,53 @@
export type PayeeType = 'Vendor' | 'Member';
export type CheckStatus = 'Issued' | 'Voided';
export interface PagedResult<T> {
items: T[]; totalCount: number; page: number; pageSize: number; totalPages: number;
}
export interface ExpenseLineDto {
expenseId: number; expenseDate: string; description: string; amount: number;
ministryName: string; categoryName: string;
}
export interface PayeeGroupDto {
payeeType: PayeeType; memberId: number | null; vendorKey: string | null;
payeeName: string; address: string | null; city: string | null;
state: string | null; zip: string | null;
totalAmount: number; lines: ExpenseLineDto[];
}
export interface PayeeCheckInstruction {
payeeType: PayeeType; memberId: number | null; vendorKey: string | null;
payeeName: string; address: string | null; city: string | null;
state: string | null; zip: string | null;
checkNumberOverride: string | null; memo: string | null; expenseIds: number[];
}
export interface IssueChecksRequest { checkDate: string; payees: PayeeCheckInstruction[]; }
export interface IssuedCheckDto { checkId: number; checkNumber: string; payeeName: string; amount: number; }
export interface IssueChecksResultDto { created: IssuedCheckDto[]; }
export interface CheckListItemDto {
id: number; checkNumber: string; checkDate: string; amount: number;
payeeType: PayeeType; payeeName: string; status: CheckStatus; lineCount: number;
signed: boolean; receiptSignedName: string | null; receiptSignedAt: string | null;
}
export interface CheckLineDto { expenseId: number; description: string; amount: number; }
export interface CheckDetailDto extends CheckListItemDto {
memberId: number | null; address: string | null; city: string | null;
state: string | null; zip: string | null; memo: string | null;
voidReason: string | null; voidedAt: string | null; issuedAt: string;
lines: CheckLineDto[];
}
export interface ChurchProfileDto {
id: number; name: string; address: string | null; city: string | null;
state: string | null; zipCode: string | null; bankName: string | null;
bankAccountNumber: string | null; bankRoutingNumber: string | null; nextCheckNumber: number;
}
export type UpdateChurchProfileRequest = Omit<ChurchProfileDto, 'id'>;