fix: update SupplierLedger model to use correct enum casing and adjust types

feat: enhance PosAccountsService to include inventoryBankAccount details in responses

refactor: modify PosService to return structured inventory and bank account data

chore: remove isSettled field from CreatePurchaseReceiptDto and adjust related logic

feat: add payments selection in SuppliersService for better payment tracking

chore: apply database migrations to adjust decimal types and enforce constraints

chore: create index on Pos_Accounts for improved query performance

feat: define Supplier and SupplierLedger models in Prisma schema for better data management
This commit is contained in:
2025-12-26 22:09:46 +03:30
parent d59be5995d
commit d98507fc1f
35 changed files with 2670 additions and 2802 deletions
@@ -58,13 +58,11 @@ export const ModelName = {
BankBranch: 'BankBranch',
BankAccount: 'BankAccount',
Inventory: 'Inventory',
InventoryTransfer: 'InventoryTransfer',
InventoryTransferItem: 'InventoryTransferItem',
InventoryBankAccount: 'InventoryBankAccount',
PosAccount: 'PosAccount',
InventoryTransfer: 'InventoryTransfer',
InventoryTransferItem: 'InventoryTransferItem',
Bank: 'Bank',
Supplier: 'Supplier',
SupplierLedger: 'SupplierLedger',
Customer: 'Customer',
Order: 'Order',
SalesInvoice: 'SalesInvoice',
@@ -79,7 +77,9 @@ export const ModelName = {
PurchaseReceiptPayments: 'PurchaseReceiptPayments',
StockMovement: 'StockMovement',
StockBalance: 'StockBalance',
StockAdjustment: 'StockAdjustment'
StockAdjustment: 'StockAdjustment',
Supplier: 'Supplier',
SupplierLedger: 'SupplierLedger'
} as const
export type ModelName = (typeof ModelName)[keyof typeof ModelName]
@@ -193,28 +193,6 @@ export const InventoryScalarFieldEnum = {
export type InventoryScalarFieldEnum = (typeof InventoryScalarFieldEnum)[keyof typeof InventoryScalarFieldEnum]
export const InventoryTransferScalarFieldEnum = {
id: 'id',
code: 'code',
description: 'description',
createdAt: 'createdAt',
fromInventoryId: 'fromInventoryId',
toInventoryId: 'toInventoryId'
} as const
export type InventoryTransferScalarFieldEnum = (typeof InventoryTransferScalarFieldEnum)[keyof typeof InventoryTransferScalarFieldEnum]
export const InventoryTransferItemScalarFieldEnum = {
id: 'id',
count: 'count',
productId: 'productId',
transferId: 'transferId'
} as const
export type InventoryTransferItemScalarFieldEnum = (typeof InventoryTransferItemScalarFieldEnum)[keyof typeof InventoryTransferItemScalarFieldEnum]
export const InventoryBankAccountScalarFieldEnum = {
inventoryId: 'inventoryId',
bankAccountId: 'bankAccountId'
@@ -238,6 +216,28 @@ export const PosAccountScalarFieldEnum = {
export type PosAccountScalarFieldEnum = (typeof PosAccountScalarFieldEnum)[keyof typeof PosAccountScalarFieldEnum]
export const InventoryTransferScalarFieldEnum = {
id: 'id',
code: 'code',
description: 'description',
createdAt: 'createdAt',
fromInventoryId: 'fromInventoryId',
toInventoryId: 'toInventoryId'
} as const
export type InventoryTransferScalarFieldEnum = (typeof InventoryTransferScalarFieldEnum)[keyof typeof InventoryTransferScalarFieldEnum]
export const InventoryTransferItemScalarFieldEnum = {
id: 'id',
count: 'count',
productId: 'productId',
transferId: 'transferId'
} as const
export type InventoryTransferItemScalarFieldEnum = (typeof InventoryTransferItemScalarFieldEnum)[keyof typeof InventoryTransferItemScalarFieldEnum]
export const BankScalarFieldEnum = {
id: 'id',
name: 'name',
@@ -250,40 +250,6 @@ export const BankScalarFieldEnum = {
export type BankScalarFieldEnum = (typeof BankScalarFieldEnum)[keyof typeof BankScalarFieldEnum]
export const SupplierScalarFieldEnum = {
id: 'id',
firstName: 'firstName',
lastName: 'lastName',
email: 'email',
mobileNumber: 'mobileNumber',
address: 'address',
city: 'city',
state: 'state',
country: 'country',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
deletedAt: 'deletedAt'
} as const
export type SupplierScalarFieldEnum = (typeof SupplierScalarFieldEnum)[keyof typeof SupplierScalarFieldEnum]
export const SupplierLedgerScalarFieldEnum = {
id: 'id',
description: 'description',
debit: 'debit',
credit: 'credit',
balance: 'balance',
sourceType: 'sourceType',
sourceId: 'sourceId',
createdAt: 'createdAt',
supplierId: 'supplierId'
} as const
export type SupplierLedgerScalarFieldEnum = (typeof SupplierLedgerScalarFieldEnum)[keyof typeof SupplierLedgerScalarFieldEnum]
export const CustomerScalarFieldEnum = {
id: 'id',
firstName: 'firstName',
@@ -426,10 +392,10 @@ export const PurchaseReceiptScalarFieldEnum = {
code: 'code',
totalAmount: 'totalAmount',
paidAmount: 'paidAmount',
isSettled: 'isSettled',
description: 'description',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
status: 'status',
supplierId: 'supplierId',
inventoryId: 'inventoryId'
} as const
@@ -455,7 +421,9 @@ export const PurchaseReceiptPaymentsScalarFieldEnum = {
id: 'id',
amount: 'amount',
paymentMethod: 'paymentMethod',
type: 'type',
bankAccountId: 'bankAccountId',
inventoryId: 'inventoryId',
description: 'description',
payedAt: 'payedAt',
receiptId: 'receiptId',
@@ -511,6 +479,40 @@ export const StockAdjustmentScalarFieldEnum = {
export type StockAdjustmentScalarFieldEnum = (typeof StockAdjustmentScalarFieldEnum)[keyof typeof StockAdjustmentScalarFieldEnum]
export const SupplierScalarFieldEnum = {
id: 'id',
firstName: 'firstName',
lastName: 'lastName',
email: 'email',
mobileNumber: 'mobileNumber',
address: 'address',
city: 'city',
state: 'state',
country: 'country',
isActive: 'isActive',
createdAt: 'createdAt',
updatedAt: 'updatedAt',
deletedAt: 'deletedAt'
} as const
export type SupplierScalarFieldEnum = (typeof SupplierScalarFieldEnum)[keyof typeof SupplierScalarFieldEnum]
export const SupplierLedgerScalarFieldEnum = {
id: 'id',
description: 'description',
debit: 'debit',
credit: 'credit',
balance: 'balance',
sourceType: 'sourceType',
sourceId: 'sourceId',
createdAt: 'createdAt',
supplierId: 'supplierId'
} as const
export type SupplierLedgerScalarFieldEnum = (typeof SupplierLedgerScalarFieldEnum)[keyof typeof SupplierLedgerScalarFieldEnum]
export const SortOrder = {
asc: 'asc',
desc: 'desc'
@@ -612,14 +614,6 @@ export const InventoryOrderByRelevanceFieldEnum = {
export type InventoryOrderByRelevanceFieldEnum = (typeof InventoryOrderByRelevanceFieldEnum)[keyof typeof InventoryOrderByRelevanceFieldEnum]
export const InventoryTransferOrderByRelevanceFieldEnum = {
code: 'code',
description: 'description'
} as const
export type InventoryTransferOrderByRelevanceFieldEnum = (typeof InventoryTransferOrderByRelevanceFieldEnum)[keyof typeof InventoryTransferOrderByRelevanceFieldEnum]
export const PosAccountOrderByRelevanceFieldEnum = {
name: 'name',
code: 'code',
@@ -629,6 +623,14 @@ export const PosAccountOrderByRelevanceFieldEnum = {
export type PosAccountOrderByRelevanceFieldEnum = (typeof PosAccountOrderByRelevanceFieldEnum)[keyof typeof PosAccountOrderByRelevanceFieldEnum]
export const InventoryTransferOrderByRelevanceFieldEnum = {
code: 'code',
description: 'description'
} as const
export type InventoryTransferOrderByRelevanceFieldEnum = (typeof InventoryTransferOrderByRelevanceFieldEnum)[keyof typeof InventoryTransferOrderByRelevanceFieldEnum]
export const BankOrderByRelevanceFieldEnum = {
name: 'name',
shortName: 'shortName'
@@ -637,27 +639,6 @@ export const BankOrderByRelevanceFieldEnum = {
export type BankOrderByRelevanceFieldEnum = (typeof BankOrderByRelevanceFieldEnum)[keyof typeof BankOrderByRelevanceFieldEnum]
export const SupplierOrderByRelevanceFieldEnum = {
firstName: 'firstName',
lastName: 'lastName',
email: 'email',
mobileNumber: 'mobileNumber',
address: 'address',
city: 'city',
state: 'state',
country: 'country'
} as const
export type SupplierOrderByRelevanceFieldEnum = (typeof SupplierOrderByRelevanceFieldEnum)[keyof typeof SupplierOrderByRelevanceFieldEnum]
export const SupplierLedgerOrderByRelevanceFieldEnum = {
description: 'description'
} as const
export type SupplierLedgerOrderByRelevanceFieldEnum = (typeof SupplierLedgerOrderByRelevanceFieldEnum)[keyof typeof SupplierLedgerOrderByRelevanceFieldEnum]
export const CustomerOrderByRelevanceFieldEnum = {
firstName: 'firstName',
lastName: 'lastName',
@@ -763,3 +744,24 @@ export const StockMovementOrderByRelevanceFieldEnum = {
export type StockMovementOrderByRelevanceFieldEnum = (typeof StockMovementOrderByRelevanceFieldEnum)[keyof typeof StockMovementOrderByRelevanceFieldEnum]
export const SupplierOrderByRelevanceFieldEnum = {
firstName: 'firstName',
lastName: 'lastName',
email: 'email',
mobileNumber: 'mobileNumber',
address: 'address',
city: 'city',
state: 'state',
country: 'country'
} as const
export type SupplierOrderByRelevanceFieldEnum = (typeof SupplierOrderByRelevanceFieldEnum)[keyof typeof SupplierOrderByRelevanceFieldEnum]
export const SupplierLedgerOrderByRelevanceFieldEnum = {
description: 'description'
} as const
export type SupplierLedgerOrderByRelevanceFieldEnum = (typeof SupplierLedgerOrderByRelevanceFieldEnum)[keyof typeof SupplierLedgerOrderByRelevanceFieldEnum]