2026-09-10 12:53:23 +03:30
Object . defineProperty ( exports , "__esModule" , { value : true });
const {
PrismaClientKnownRequestError ,
PrismaClientUnknownRequestError ,
PrismaClientRustPanicError ,
PrismaClientInitializationError ,
PrismaClientValidationError ,
NotFoundError ,
getPrismaClient ,
sqltag ,
empty ,
join ,
raw ,
skip ,
Decimal ,
Debug ,
objectEnumValues ,
makeStrictEnum ,
Extensions ,
warnOnce ,
defineDmmfProperty ,
Public ,
getRuntime
} = require ( '@prisma/client/runtime/library.js' )
const Prisma = {}
exports . Prisma = Prisma
exports . $Enums = {}
/**
* Prisma Client JS version: 5.22.0
* Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
*/
Prisma . prismaVersion = {
client : "5.22.0" ,
engine : "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
}
Prisma . PrismaClientKnownRequestError = PrismaClientKnownRequestError ;
Prisma . PrismaClientUnknownRequestError = PrismaClientUnknownRequestError
Prisma . PrismaClientRustPanicError = PrismaClientRustPanicError
Prisma . PrismaClientInitializationError = PrismaClientInitializationError
Prisma . PrismaClientValidationError = PrismaClientValidationError
Prisma . NotFoundError = NotFoundError
Prisma . Decimal = Decimal
/**
* Re-export of sql-template-tag
*/
Prisma . sql = sqltag
Prisma . empty = empty
Prisma . join = join
Prisma . raw = raw
Prisma . validator = Public . validator
/**
* Extensions
*/
Prisma . getExtensionContext = Extensions . getExtensionContext
Prisma . defineExtension = Extensions . defineExtension
/**
* Shorthand utilities for JSON filtering
*/
Prisma . DbNull = objectEnumValues . instances . DbNull
Prisma . JsonNull = objectEnumValues . instances . JsonNull
Prisma . AnyNull = objectEnumValues . instances . AnyNull
Prisma . NullTypes = {
DbNull : objectEnumValues . classes . DbNull ,
JsonNull : objectEnumValues . classes . JsonNull ,
AnyNull : objectEnumValues . classes . AnyNull
}
const path = require ( 'path' )
/**
* Enums
*/
exports . Prisma . TransactionIsolationLevel = makeStrictEnum ({
ReadUncommitted : 'ReadUncommitted' ,
ReadCommitted : 'ReadCommitted' ,
RepeatableRead : 'RepeatableRead' ,
Serializable : 'Serializable'
});
exports . Prisma . CityScalarFieldEnum = {
id : 'id' ,
name : 'name' ,
2026-10-10 09:03:53 +03:30
parentId : 'parentId' ,
2026-09-15 15:41:47 +03:30
percent : 'percent' ,
percentAux : 'percentAux'
2026-09-10 12:53:23 +03:30
};
exports . Prisma . AdminUserScalarFieldEnum = {
id : 'id' ,
fullName : 'fullName' ,
2026-09-23 02:27:30 +03:30
firstName : 'firstName' ,
lastName : 'lastName' ,
2026-09-10 12:53:23 +03:30
mobile : 'mobile' ,
passwordHash : 'passwordHash' ,
role : 'role' ,
2026-09-15 15:41:47 +03:30
userTypeId : 'userTypeId' ,
2026-09-10 12:53:23 +03:30
branchId : 'branchId' ,
wagePercent : 'wagePercent' ,
isActive : 'isActive' ,
2026-09-23 02:27:30 +03:30
createdAt : 'createdAt' ,
avatarFileId : 'avatarFileId' ,
address : 'address' ,
storeName : 'storeName' ,
pasazhName : 'pasazhName' ,
memberCode : 'memberCode'
};
2026-09-25 19:12:39 +03:30
exports . Prisma . AppSessionScalarFieldEnum = {
id : 'id' ,
jti : 'jti' ,
subjectId : 'subjectId' ,
subjectType : 'subjectType' ,
mobile : 'mobile' ,
iamSessionId : 'iamSessionId' ,
iamSub : 'iamSub' ,
ipAddress : 'ipAddress' ,
userAgent : 'userAgent' ,
createdAt : 'createdAt' ,
expiresAt : 'expiresAt' ,
lastSeenAt : 'lastSeenAt' ,
revokedAt : 'revokedAt' ,
revokedReason : 'revokedReason'
};
exports . Prisma . AdminSessionScalarFieldEnum = {
id : 'id' ,
jti : 'jti' ,
adminUserId : 'adminUserId' ,
iamSessionId : 'iamSessionId' ,
iamSub : 'iamSub' ,
ipAddress : 'ipAddress' ,
userAgent : 'userAgent' ,
createdAt : 'createdAt' ,
expiresAt : 'expiresAt' ,
lastSeenAt : 'lastSeenAt' ,
revokedAt : 'revokedAt' ,
revokedReason : 'revokedReason'
};
2026-09-23 02:27:30 +03:30
exports . Prisma . SalesExpertProfileScalarFieldEnum = {
id : 'id' ,
adminUserId : 'adminUserId' ,
cityId : 'cityId' ,
gramLevel : 'gramLevel' ,
phone : 'phone' ,
nationalCode : 'nationalCode' ,
tradingCustomerId : 'tradingCustomerId' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
2026-09-10 12:53:23 +03:30
};
exports . Prisma . CustomerScalarFieldEnum = {
id : 'id' ,
fullName : 'fullName' ,
2026-09-23 02:27:30 +03:30
firstName : 'firstName' ,
lastName : 'lastName' ,
2026-09-10 12:53:23 +03:30
mobile : 'mobile' ,
nationalCode : 'nationalCode' ,
passwordHash : 'passwordHash' ,
cityId : 'cityId' ,
2026-10-10 09:03:53 +03:30
cityNameRaw : 'cityNameRaw' ,
2026-09-15 15:41:47 +03:30
kind : 'kind' ,
phone : 'phone' ,
address : 'address' ,
storeName : 'storeName' ,
pasazhName : 'pasazhName' ,
zone : 'zone' ,
memberCode : 'memberCode' ,
2026-09-10 12:53:23 +03:30
referredByAgentId : 'referredByAgentId' ,
goldCreditLimitGrams : 'goldCreditLimitGrams' ,
goldDebtGrams : 'goldDebtGrams' ,
fiatDebtRial : 'fiatDebtRial' ,
2026-10-10 09:03:53 +03:30
accountingGoldBalance : 'accountingGoldBalance' ,
accountingRialBalance : 'accountingRialBalance' ,
accountingBalanceAt : 'accountingBalanceAt' ,
2026-09-23 02:27:30 +03:30
makingChargeOffsetPercent : 'makingChargeOffsetPercent' ,
2026-09-10 12:53:23 +03:30
verificationStep : 'verificationStep' ,
nationalIdImageUrl : 'nationalIdImageUrl' ,
businessLicenseUrl : 'businessLicenseUrl' ,
shopImageUrl : 'shopImageUrl' ,
2026-10-10 09:03:53 +03:30
verificationRejectionReason : 'verificationRejectionReason' ,
verificationRejectedAt : 'verificationRejectedAt' ,
birthDate : 'birthDate' ,
2026-09-15 15:41:47 +03:30
avatarFileId : 'avatarFileId' ,
canPlaceOrders : 'canPlaceOrders' ,
2026-09-10 12:53:23 +03:30
isActive : 'isActive' ,
2026-09-15 15:41:47 +03:30
isArchived : 'isArchived' ,
2026-09-10 12:53:23 +03:30
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
2026-10-10 09:03:53 +03:30
exports . Prisma . CustomerFavoriteScalarFieldEnum = {
customerId : 'customerId' ,
productId : 'productId' ,
createdAt : 'createdAt'
};
2026-09-10 12:53:23 +03:30
exports . Prisma . CustomerAddressScalarFieldEnum = {
id : 'id' ,
customerId : 'customerId' ,
cityId : 'cityId' ,
addressLine : 'addressLine' ,
isDefault : 'isDefault'
};
exports . Prisma . BranchScalarFieldEnum = {
id : 'id' ,
name : 'name' ,
2026-09-15 15:41:47 +03:30
address : 'address' ,
phone : 'phone' ,
isActive : 'isActive' ,
2026-09-10 12:53:23 +03:30
cityId : 'cityId'
};
exports . Prisma . WorkshopScalarFieldEnum = {
id : 'id' ,
name : 'name' ,
2026-09-15 15:41:47 +03:30
address : 'address' ,
phone : 'phone' ,
supervisorId : 'supervisorId' ,
2026-09-10 12:53:23 +03:30
isActive : 'isActive'
};
exports . Prisma . CategoryScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
2026-09-15 15:41:47 +03:30
type : 'type' ,
imageUrl : 'imageUrl' ,
iconUrl : 'iconUrl' ,
metaTag : 'metaTag' ,
description : 'description' ,
2026-09-10 12:53:23 +03:30
parentId : 'parentId'
};
exports . Prisma . BrandScalarFieldEnum = {
id : 'id' ,
title : 'title'
};
exports . Prisma . CollectionScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
description : 'description' ,
isActive : 'isActive'
};
exports . Prisma . CollectionProductScalarFieldEnum = {
collectionId : 'collectionId' ,
productId : 'productId'
};
exports . Prisma . ProductScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
description : 'description' ,
categoryId : 'categoryId' ,
brandId : 'brandId' ,
2026-09-15 15:41:47 +03:30
productCode : 'productCode' ,
showType : 'showType' ,
2026-09-10 12:53:23 +03:30
isActive : 'isActive' ,
2026-10-10 09:03:53 +03:30
createdAt : 'createdAt' ,
accountingStockWeight : 'accountingStockWeight' ,
accountingStockCount : 'accountingStockCount' ,
accountingStockAt : 'accountingStockAt'
2026-09-10 12:53:23 +03:30
};
exports . Prisma . ProductImageScalarFieldEnum = {
id : 'id' ,
productId : 'productId' ,
url : 'url' ,
2026-09-18 17:30:32 +03:30
sortOrder : 'sortOrder' ,
role : 'role'
2026-09-10 12:53:23 +03:30
};
exports . Prisma . ProductVariantScalarFieldEnum = {
id : 'id' ,
productId : 'productId' ,
title : 'title' ,
sku : 'sku' ,
rashWeightGrams : 'rashWeightGrams' ,
defaultWagePercent : 'defaultWagePercent' ,
2026-09-15 15:41:47 +03:30
qty : 'qty' ,
isPreOrder : 'isPreOrder' ,
2026-09-23 02:27:30 +03:30
isActive : 'isActive' ,
2026-10-25 16:06:17 +03:30
color : 'color' ,
rialWage : 'rialWage' ,
details : 'details' ,
description : 'description' ,
2026-09-23 02:27:30 +03:30
imageId : 'imageId'
2026-09-10 12:53:23 +03:30
};
exports . Prisma . OrderScalarFieldEnum = {
id : 'id' ,
orderNumber : 'orderNumber' ,
customerId : 'customerId' ,
branchId : 'branchId' ,
2026-09-15 15:41:47 +03:30
channel : 'channel' ,
2026-09-10 12:53:23 +03:30
status : 'status' ,
totalGoldWeightGrams : 'totalGoldWeightGrams' ,
wageWeightGrams : 'wageWeightGrams' ,
flatRialCharge : 'flatRialCharge' ,
isSuspendedOverCreditLimit : 'isSuspendedOverCreditLimit' ,
deliveredAt : 'deliveredAt' ,
2026-10-10 09:03:53 +03:30
salesAgentId : 'salesAgentId' ,
referrerCustomerId : 'referrerCustomerId' ,
2026-09-10 12:53:23 +03:30
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
exports . Prisma . OrderItemScalarFieldEnum = {
id : 'id' ,
orderId : 'orderId' ,
productVariantId : 'productVariantId' ,
quantity : 'quantity' ,
rashWeightGramsSnapshot : 'rashWeightGramsSnapshot' ,
wagePercentSnapshot : 'wagePercentSnapshot' ,
discountPercentSnapshot : 'discountPercentSnapshot' ,
computedWeightGrams : 'computedWeightGrams' ,
flatRialCharge : 'flatRialCharge'
};
exports . Prisma . OrderStatusEventScalarFieldEnum = {
id : 'id' ,
orderId : 'orderId' ,
fromStatus : 'fromStatus' ,
toStatus : 'toStatus' ,
note : 'note' ,
actorAdminUserId : 'actorAdminUserId' ,
createdAt : 'createdAt'
};
exports . Prisma . PreOrderScalarFieldEnum = {
id : 'id' ,
customerId : 'customerId' ,
cityId : 'cityId' ,
workshopId : 'workshopId' ,
status : 'status' ,
designImageUrl : 'designImageUrl' ,
colorName : 'colorName' ,
sizeSpec : 'sizeSpec' ,
stoneColor : 'stoneColor' ,
minaColor : 'minaColor' ,
estimatedWeightGrams : 'estimatedWeightGrams' ,
estimatedPriceRial : 'estimatedPriceRial' ,
description : 'description' ,
convertedOrderId : 'convertedOrderId' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
exports . Prisma . PreOrderStatusEventScalarFieldEnum = {
id : 'id' ,
preOrderId : 'preOrderId' ,
changes : 'changes' ,
actorAdminUserId : 'actorAdminUserId' ,
ipAddress : 'ipAddress' ,
createdAt : 'createdAt'
};
exports . Prisma . LedgerEntryScalarFieldEnum = {
id : 'id' ,
customerId : 'customerId' ,
currency : 'currency' ,
direction : 'direction' ,
sourceType : 'sourceType' ,
amount : 'amount' ,
karatPerMille : 'karatPerMille' ,
pricePerGramRialAtEntry : 'pricePerGramRialAtEntry' ,
orderId : 'orderId' ,
confirmed : 'confirmed' ,
confirmedAt : 'confirmedAt' ,
postedByAdminUserId : 'postedByAdminUserId' ,
2026-09-15 15:41:47 +03:30
labName : 'labName' ,
hallmark : 'hallmark' ,
accountName : 'accountName' ,
bankName : 'bankName' ,
transferTo : 'transferTo' ,
originalValue : 'originalValue' ,
priceRial : 'priceRial' ,
receivedAt : 'receivedAt' ,
2026-09-10 12:53:23 +03:30
note : 'note' ,
createdAt : 'createdAt'
};
exports . Prisma . GoldPriceQuoteScalarFieldEnum = {
id : 'id' ,
karatPerMille : 'karatPerMille' ,
pricePerGramRial : 'pricePerGramRial' ,
source : 'source' ,
quotedAt : 'quotedAt'
};
exports . Prisma . WalletBonusScalarFieldEnum = {
id : 'id' ,
customerId : 'customerId' ,
orderId : 'orderId' ,
goldGrams : 'goldGrams' ,
grantedAt : 'grantedAt' ,
expiresAt : 'expiresAt' ,
consumedAt : 'consumedAt' ,
isActive : 'isActive'
};
2026-09-15 15:41:47 +03:30
exports . Prisma . UserTypeScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
isActive : 'isActive' ,
createdAt : 'createdAt'
};
exports . Prisma . PermissionScalarFieldEnum = {
rid : 'rid' ,
userTypeId : 'userTypeId'
};
exports . Prisma . CommentScalarFieldEnum = {
id : 'id' ,
productId : 'productId' ,
customerId : 'customerId' ,
body : 'body' ,
status : 'status' ,
replyToId : 'replyToId' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
exports . Prisma . SettingScalarFieldEnum = {
key : 'key' ,
value : 'value' ,
updatedAt : 'updatedAt'
};
2026-10-10 09:03:53 +03:30
exports . Prisma . AccountingLinkScalarFieldEnum = {
id : 'id' ,
provider : 'provider' ,
entityType : 'entityType' ,
entityId : 'entityId' ,
externalCode : 'externalCode' ,
externalName : 'externalName' ,
origin : 'origin' ,
snapshot : 'snapshot' ,
syncedAt : 'syncedAt' ,
createdAt : 'createdAt'
};
exports . Prisma . AccountingOutboxScalarFieldEnum = {
id : 'id' ,
provider : 'provider' ,
kind : 'kind' ,
entityId : 'entityId' ,
status : 'status' ,
attempts : 'attempts' ,
nextAttemptAt : 'nextAttemptAt' ,
lastError : 'lastError' ,
externalRef : 'externalRef' ,
progress : 'progress' ,
lastRequest : 'lastRequest' ,
lastResponse : 'lastResponse' ,
sentAt : 'sentAt' ,
resolvedById : 'resolvedById' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
exports . Prisma . AccountingIssueScalarFieldEnum = {
id : 'id' ,
provider : 'provider' ,
kind : 'kind' ,
externalCode : 'externalCode' ,
entityId : 'entityId' ,
message : 'message' ,
data : 'data' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt' ,
resolvedAt : 'resolvedAt'
};
2026-09-15 15:41:47 +03:30
exports . Prisma . PromotionScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
description : 'description' ,
scope : 'scope' ,
usage : 'usage' ,
discountPercent : 'discountPercent' ,
isActive : 'isActive' ,
platform : 'platform' ,
startsAt : 'startsAt' ,
endsAt : 'endsAt' ,
productId : 'productId' ,
categoryId : 'categoryId' ,
customerId : 'customerId' ,
brandId : 'brandId' ,
createdAt : 'createdAt' ,
updatedAt : 'updatedAt'
};
exports . Prisma . PromotionExclusionScalarFieldEnum = {
id : 'id' ,
type : 'type' ,
itemId : 'itemId' ,
createdAt : 'createdAt'
};
exports . Prisma . BranchAllocationScalarFieldEnum = {
id : 'id' ,
branchId : 'branchId' ,
allocatorAdminUserId : 'allocatorAdminUserId' ,
note : 'note' ,
createdAt : 'createdAt'
};
exports . Prisma . BranchAllocationItemScalarFieldEnum = {
id : 'id' ,
allocationId : 'allocationId' ,
productId : 'productId' ,
weightGrams : 'weightGrams'
};
exports . Prisma . SmsMessageScalarFieldEnum = {
id : 'id' ,
audience : 'audience' ,
recipients : 'recipients' ,
body : 'body' ,
sentCount : 'sentCount' ,
sentByAdminUserId : 'sentByAdminUserId' ,
createdAt : 'createdAt'
};
exports . Prisma . NotificationScalarFieldEnum = {
id : 'id' ,
title : 'title' ,
body : 'body' ,
audience : 'audience' ,
sentByAdminUserId : 'sentByAdminUserId' ,
createdAt : 'createdAt'
};
exports . Prisma . NotificationRecipientScalarFieldEnum = {
id : 'id' ,
notificationId : 'notificationId' ,
customerId : 'customerId' ,
readAt : 'readAt'
};
exports . Prisma . NewsletterSubscriberScalarFieldEnum = {
id : 'id' ,
email : 'email' ,
mobile : 'mobile' ,
createdAt : 'createdAt'
};
exports . Prisma . CustomerActivityLogScalarFieldEnum = {
id : 'id' ,
customerId : 'customerId' ,
action : 'action' ,
detail : 'detail' ,
createdAt : 'createdAt'
};
exports . Prisma . UploadedFileScalarFieldEnum = {
id : 'id' ,
url : 'url' ,
originalName : 'originalName' ,
mimeType : 'mimeType' ,
sizeBytes : 'sizeBytes' ,
purpose : 'purpose' ,
uploadedByAdminUserId : 'uploadedByAdminUserId' ,
createdAt : 'createdAt'
};
2026-09-23 02:27:30 +03:30
exports . Prisma . CustomerOtpScalarFieldEnum = {
id : 'id' ,
mobile : 'mobile' ,
customerId : 'customerId' ,
codeHash : 'codeHash' ,
expiresAt : 'expiresAt' ,
attempts : 'attempts' ,
consumedAt : 'consumedAt' ,
requestIp : 'requestIp' ,
createdAt : 'createdAt'
};
2026-09-10 12:53:23 +03:30
exports . Prisma . SortOrder = {
asc : 'asc' ,
desc : 'desc'
};
exports . Prisma . JsonNullValueInput = {
JsonNull : Prisma . JsonNull
};
2026-10-10 09:03:53 +03:30
exports . Prisma . NullableJsonNullValueInput = {
DbNull : Prisma . DbNull ,
JsonNull : Prisma . JsonNull
};
2026-09-10 12:53:23 +03:30
exports . Prisma . QueryMode = {
default : 'default' ,
insensitive : 'insensitive'
};
exports . Prisma . NullsOrder = {
first : 'first' ,
last : 'last'
};
exports . Prisma . JsonNullValueFilter = {
DbNull : Prisma . DbNull ,
JsonNull : Prisma . JsonNull ,
AnyNull : Prisma . AnyNull
};
exports . AdminRole = exports . $Enums . AdminRole = {
SUPER_ADMIN : 'SUPER_ADMIN' ,
SYSTEM_APPROVER : 'SYSTEM_APPROVER' ,
SALES_EXPERT : 'SALES_EXPERT' ,
WORKSHOP_SUPERVISOR : 'WORKSHOP_SUPERVISOR' ,
ACCOUNTANT : 'ACCOUNTANT'
};
2026-09-15 15:41:47 +03:30
exports . CustomerKind = exports . $Enums . CustomerKind = {
SALES_AGENT : 'SALES_AGENT' ,
APP_SHOPKEEPER : 'APP_SHOPKEEPER' ,
WALK_IN_SHOPKEEPER : 'WALK_IN_SHOPKEEPER' ,
BANKER : 'BANKER' ,
2026-09-23 02:27:30 +03:30
WORKSHOP_SUPERVISOR : 'WORKSHOP_SUPERVISOR' ,
RETAIL : 'RETAIL'
2026-09-15 15:41:47 +03:30
};
2026-09-10 12:53:23 +03:30
exports . VerificationStep = exports . $Enums . VerificationStep = {
UNVERIFIED : 'UNVERIFIED' ,
STEP_ONE_SUBMITTED : 'STEP_ONE_SUBMITTED' ,
STEP_TWO_SUBMITTED : 'STEP_TWO_SUBMITTED' ,
2026-10-10 09:03:53 +03:30
VERIFIED : 'VERIFIED' ,
REJECTED : 'REJECTED'
2026-09-10 12:53:23 +03:30
};
2026-09-18 17:30:32 +03:30
exports . ProductImageRole = exports . $Enums . ProductImageRole = {
FEATURED : 'FEATURED' ,
FEATURED_MOBILE : 'FEATURED_MOBILE' ,
GALLERY : 'GALLERY' ,
GALLERY_MOBILE : 'GALLERY_MOBILE'
};
2026-09-15 15:41:47 +03:30
exports . OrderChannel = exports . $Enums . OrderChannel = {
RETAIL : 'RETAIL' ,
WHOLESALE : 'WHOLESALE'
};
2026-09-10 12:53:23 +03:30
exports . OrderStatus = exports . $Enums . OrderStatus = {
SUSPENDED : 'SUSPENDED' ,
PLACED : 'PLACED' ,
ADMIN_APPROVED : 'ADMIN_APPROVED' ,
SOURCING : 'SOURCING' ,
PREPARING : 'PREPARING' ,
DELIVERED_TO_AGENT : 'DELIVERED_TO_AGENT' ,
DELIVERED_TO_CUSTOMER : 'DELIVERED_TO_CUSTOMER' ,
CANCELLED : 'CANCELLED'
};
exports . PreOrderStatus = exports . $Enums . PreOrderStatus = {
PLACED : 'PLACED' ,
ADMIN_APPROVED : 'ADMIN_APPROVED' ,
WORKSHOP_APPROVED : 'WORKSHOP_APPROVED' ,
READY_TO_SHIP : 'READY_TO_SHIP' ,
DELIVERED : 'DELIVERED' ,
CANCELLED : 'CANCELLED'
};
exports . LedgerCurrency = exports . $Enums . LedgerCurrency = {
GOLD_GRAM : 'GOLD_GRAM' ,
RIAL : 'RIAL'
};
exports . LedgerDirection = exports . $Enums . LedgerDirection = {
DEBIT : 'DEBIT' ,
CREDIT : 'CREDIT'
};
exports . LedgerSourceType = exports . $Enums . LedgerSourceType = {
ORDER_STOCK : 'ORDER_STOCK' ,
ORDER_PRE_ORDER : 'ORDER_PRE_ORDER' ,
REPAYMENT_MELTED_GOLD : 'REPAYMENT_MELTED_GOLD' ,
REPAYMENT_TRANSFER : 'REPAYMENT_TRANSFER' ,
REPAYMENT_CHEQUE : 'REPAYMENT_CHEQUE' ,
REPAYMENT_CASH : 'REPAYMENT_CASH' ,
WALLET_BONUS : 'WALLET_BONUS' ,
ADJUSTMENT : 'ADJUSTMENT'
};
2026-09-15 15:41:47 +03:30
exports . CommentStatus = exports . $Enums . CommentStatus = {
PENDING : 'PENDING' ,
APPROVED : 'APPROVED' ,
REJECTED : 'REJECTED'
};
2026-10-10 09:03:53 +03:30
exports . AccountingEntityType = exports . $Enums . AccountingEntityType = {
CUSTOMER : 'CUSTOMER' ,
PRODUCT : 'PRODUCT'
};
exports . AccountingOutboxKind = exports . $Enums . AccountingOutboxKind = {
CUSTOMER_PUSH : 'CUSTOMER_PUSH' ,
PRODUCT_PUSH : 'PRODUCT_PUSH' ,
ORDER_DOCUMENT : 'ORDER_DOCUMENT' ,
ORDER_DOCUMENT_DELETE : 'ORDER_DOCUMENT_DELETE'
};
exports . AccountingOutboxStatus = exports . $Enums . AccountingOutboxStatus = {
PENDING : 'PENDING' ,
SENDING : 'SENDING' ,
SENT : 'SENT' ,
FAILED : 'FAILED' ,
NEEDS_REVIEW : 'NEEDS_REVIEW' ,
RESOLVED : 'RESOLVED'
};
2026-09-15 15:41:47 +03:30
exports . PromotionScope = exports . $Enums . PromotionScope = {
PRODUCT : 'PRODUCT' ,
CATEGORY : 'CATEGORY' ,
CUSTOMER : 'CUSTOMER' ,
BRAND : 'BRAND'
};
exports . PromotionUsage = exports . $Enums . PromotionUsage = {
ONCE : 'ONCE' ,
UNTIL_END_DATE : 'UNTIL_END_DATE'
};
exports . MessageAudience = exports . $Enums . MessageAudience = {
SINGLE_NUMBER : 'SINGLE_NUMBER' ,
MULTIPLE_NUMBERS : 'MULTIPLE_NUMBERS' ,
ALL_CUSTOMERS : 'ALL_CUSTOMERS' ,
WHOLESALE_CUSTOMERS : 'WHOLESALE_CUSTOMERS' ,
RETAIL_CUSTOMERS : 'RETAIL_CUSTOMERS' ,
SALES_AGENTS : 'SALES_AGENTS'
};
2026-09-10 12:53:23 +03:30
exports . Prisma . ModelName = {
City : 'City' ,
AdminUser : 'AdminUser' ,
2026-09-25 19:12:39 +03:30
AppSession : 'AppSession' ,
AdminSession : 'AdminSession' ,
2026-09-23 02:27:30 +03:30
SalesExpertProfile : 'SalesExpertProfile' ,
2026-09-10 12:53:23 +03:30
Customer : 'Customer' ,
2026-10-10 09:03:53 +03:30
CustomerFavorite : 'CustomerFavorite' ,
2026-09-10 12:53:23 +03:30
CustomerAddress : 'CustomerAddress' ,
Branch : 'Branch' ,
Workshop : 'Workshop' ,
Category : 'Category' ,
Brand : 'Brand' ,
Collection : 'Collection' ,
CollectionProduct : 'CollectionProduct' ,
Product : 'Product' ,
ProductImage : 'ProductImage' ,
ProductVariant : 'ProductVariant' ,
Order : 'Order' ,
OrderItem : 'OrderItem' ,
OrderStatusEvent : 'OrderStatusEvent' ,
PreOrder : 'PreOrder' ,
PreOrderStatusEvent : 'PreOrderStatusEvent' ,
LedgerEntry : 'LedgerEntry' ,
GoldPriceQuote : 'GoldPriceQuote' ,
2026-09-15 15:41:47 +03:30
WalletBonus : 'WalletBonus' ,
UserType : 'UserType' ,
Permission : 'Permission' ,
Comment : 'Comment' ,
Setting : 'Setting' ,
2026-10-10 09:03:53 +03:30
AccountingLink : 'AccountingLink' ,
AccountingOutbox : 'AccountingOutbox' ,
AccountingIssue : 'AccountingIssue' ,
2026-09-15 15:41:47 +03:30
Promotion : 'Promotion' ,
PromotionExclusion : 'PromotionExclusion' ,
BranchAllocation : 'BranchAllocation' ,
BranchAllocationItem : 'BranchAllocationItem' ,
SmsMessage : 'SmsMessage' ,
Notification : 'Notification' ,
NotificationRecipient : 'NotificationRecipient' ,
NewsletterSubscriber : 'NewsletterSubscriber' ,
CustomerActivityLog : 'CustomerActivityLog' ,
2026-09-23 02:27:30 +03:30
UploadedFile : 'UploadedFile' ,
CustomerOtp : 'CustomerOtp'
2026-09-10 12:53:23 +03:30
};
/**
* Create the Client
*/
const config = {
"generator" : {
"name" : "client" ,
"provider" : {
"fromEnvVar" : null ,
"value" : "prisma-client-js"
},
"output" : {
2026-10-25 12:08:58 +03:30
"value" : "E:\\tehran_taj\\node_modules\\.pnpm\\@prisma+client@5.22.0_prisma@5.22.0\\node_modules\\@prisma\\client" ,
2026-09-10 12:53:23 +03:30
"fromEnvVar" : null
},
"config" : {
"engineType" : "library"
},
"binaryTargets" : [
{
"fromEnvVar" : null ,
"value" : "windows" ,
"native" : true
},
2026-09-10 13:00:05 +03:30
{
"fromEnvVar" : null ,
2026-09-10 13:58:50 +03:30
"value" : "debian-openssl-3.0.x"
2026-09-10 12:53:23 +03:30
}
],
"previewFeatures" : [],
2026-10-25 12:08:58 +03:30
"sourceFilePath" : "E:\\tehran_taj\\apps\\api\\prisma\\schema.prisma"
2026-09-10 12:53:23 +03:30
},
"relativeEnvPaths" : {
2026-10-12 15:37:03 +03:30
"rootEnvPath" : null ,
"schemaEnvPath" : "../../../../../../apps/api/.env"
2026-09-10 12:53:23 +03:30
},
"relativePath" : "../../../../../../apps/api/prisma" ,
"clientVersion" : "5.22.0" ,
"engineVersion" : "605197351a3c8bdd595af2d2a9bc3025bca48ea2" ,
"datasourceNames" : [
"db"
],
"activeProvider" : "postgresql" ,
"postinstall" : false ,
"inlineDatasources" : {
"db" : {
"url" : {
"fromEnvVar" : "DATABASE_URL" ,
"value" : null
}
}
},
2026-10-25 16:06:17 +03:30
"inlineSchema" : "// Gold Banking System — core schema\n// Canonical accounting model: legacy \"System A\" gram ledger (see migration notes).\n// The external \"Tahesab\" service is retired — LedgerEntry is the sole source of truth.\n// All money/weight fields use Decimal, never Float, to avoid rounding drift in debt math.\n\ngenerator client {\n provider = \"prisma-client-js\"\n // native = local Windows/macOS; debian-openssl-3.0.x = node:20-bookworm-slim (Arvan)\n binaryTargets = [\"native\", \"debian-openssl-3.0.x\"]\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\n// ─────────────────────────────────────────────────────────────────────────\n// Enums\n// ─────────────────────────────────────────────────────────────────────────\n\nenum AdminRole {\n SUPER_ADMIN\n SYSTEM_APPROVER // legacy: تایید مدیر سیستم\n SALES_EXPERT // legacy Customer.type=1, also acts as a referral \"reagent\"\n WORKSHOP_SUPERVISOR\n ACCOUNTANT\n}\n\n/// Legacy Customer.type — what kind of wholesale customer this is. Values and\n/// labels taken verbatim from bulkCustomer.vue's userTypes list.\n///\n/// SALES_AGENT is a LEGACY value only: legacy stored a sales agent as a\n/// Customer row with type=1, but the redesigned system models a sales agent\n/// as an AdminUser (role SALES_EXPERT) instead — see admin-users.service.ts\n/// and admin-customers.service.ts's listReagents()/create(). No Customer row\n/// should be created with kind SALES_AGENT going forward; the value is kept\n/// only so legacyTypeToKind()/kindToLegacyType() stay total functions and any\n/// already-migrated data keeps a readable label.\n///\n/// RETAIL marks a \"تک\" (single/retail) customer — legacy kept these in an\n/// entirely separate table (SingleCustomer/`login`) that could never contain\n/// a wholesale/agent/shopkeeper/banker row. The redesigned schema folded both\n/// into one Customer model, so this value is what listSingle() now filters on\n/// to reproduce that same separation.\nenum CustomerKind {\n SALES_AGENT // legacy 1 کارشناس فروش — superseded by AdminRole.SALES_EXPERT, do not use for new rows\n APP_SHOPKEEPER // 2 مغازه دار اپلیکیشن\n WALK_IN_SHOPKEEPER // 3 مغازه دار حضوری\n BANKER // 4 بنکدار\n WORKSHOP_SUPERVISOR // 5 سرپرست کارگاه\n RETAIL // مشتری تک — legacy SingleCustomer\n}\n\nenum VerificationStep {\n UNVERIFIED\n STEP_ONE_SUBMITTED\n STEP_TWO_SUBMITTED\n VERIFIED\n\n /// Legacy had THREE states per step, not two\n /// (MajorCustomerController.php:106-135): 1 = awaiting, 2 = approved,\n /// 3 = REJECTED. Mapping rejected customers to UNVERIFIED would put closed\n /// cases back in the review queue, so the owner ruled it out (2026-10-07).\n /// 14 legacy rows land here; see Customer.verificationRejectionReason.\n REJECTED\n}\n\n/// Legacy kept retail and wholesale orders in two SEPARATE tables\n/// (orders_orders vs orders). The redesigned schema has one Order model, so the\n/// distinction lives here instead.\nenum OrderChannel {\n RETAIL // تک فروشی\n WHOLESALE // عمده فروشی\n}\n\nenum OrderStatus {\n SUSPENDED // credit limit (goldCreditLimitGrams) exceeded at placement\n PLACED\n ADMIN_APPROVED\n SOURCING\n PREPARING\n DELIVERED_TO_AGENT\n DELIVERED_TO_CUSTOMER // debt recognition point — mirrors legacy sts>4\n CANCELLED\n}\n\nenum PreOrderStatus {\n PLACED\n ADMIN_APPROVED\n WORKSHOP_APPROVED\n READY_TO_SHIP\n DELIVERED\n CANCELLED\n}\n\nenum LedgerCurrency {\n GOLD_GRAM\n RIAL\n}\n\nenum LedgerDirection {\n DEBIT // increases what the customer owes\n CREDIT // decreases what the customer owes\n}\n\nenum LedgerSourceType {\n ORDER_STOCK\n ORDER_PRE_OR
" inlineSchemaHash ": " 54 a2d00740a4cca89b49b7d3d033c87da64e26d4d05f43a5a69777e68eba1748 ",
2026-09-10 12:53:23 +03:30
" copyEngine ": true
}
const fs = require('fs')
config.dirname = __dirname
if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) {
const alternativePaths = [
" .. / .. / node_modules / . pnpm / @ prisma + client @ 5.22 . 0_ prisma @ 5.22 . 0 / node_modules / . prisma / client ",
" .. / node_modules / . pnpm / @ prisma + client @ 5.22 . 0_ prisma @ 5.22 . 0 / node_modules / . prisma / client ",
]
const alternativePath = alternativePaths.find((altPath) => {
return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma'))
}) ?? alternativePaths[0]
config.dirname = path.join(process.cwd(), alternativePath)
config.isBundled = true
}
2026-10-25 16:06:17 +03:30
config.runtimeDataModel = JSON.parse(" { \ "models\":{\"City\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"cuid\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parentId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"parent\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"City\",\"relationName\":\"CityTree\",\"relationFromFields\":[\"parentId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Restrict\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"children\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"City\",\"relationName\":\"CityTree\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"percent\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Decimal\",\"isGenerated\":false,\"isUpdatedAt\":false,\"documentation\":\"Legacy cities.percent / percent_aux — per-city wage surcharges the city\\\\nscreen edits through GET cities/get-percent/{id} and get-percent-aux/{id}.\"},{\"name\":\"percentAux\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Decimal\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"customers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Customer\",\"relationName\":\"CityToCustomer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"addresses\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"CustomerAddress\",\"relationName\":\"CityToCustomerAddress\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"branches\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Branch\",\"relationName\":\"BranchToCity\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"preOrders\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PreOrder\",\"relationName\":\"CityToPreOrder\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"salesExpertProfiles\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"SalesExpertProfile\",\"relationName\":\"CityToSalesExpertProfile\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false,\"documentation\":\"Legacy `cities` is a tree (country > province > city > district) and so is\\\\nthis: a city hangs under its `parent`. In the admin pickers a top-level row\\\\n(the country) is a heading, not selectable (henza_admin citiesModel.js:38).\"},\"AdminUser\":{\"dbName\":null,\"fields\":[{\"name\":\"
2026-09-10 12:53:23 +03:30
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
config.engineWasm = undefined
const { warnEnvConflicts } = require('@prisma/client/runtime/library.js')
warnEnvConflicts({
rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath),
schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath)
})
const PrismaClient = getPrismaClient(config)
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)
// file annotations for bundling tools to include these files
path.join(__dirname, " query_engine - windows . dll . node ");
path.join(process.cwd(), " .. / .. / node_modules / . pnpm / @ prisma + client @ 5.22 . 0_ prisma @ 5.22 . 0 / node_modules / . prisma / client / query_engine - windows . dll . node ")
2026-09-10 13:00:05 +03:30
// file annotations for bundling tools to include these files
2026-09-10 13:58:50 +03:30
path.join(__dirname, " libquery_engine - debian - openssl - 3.0 . x . so . node ");
path.join(process.cwd(), " .. / .. / node_modules / . pnpm / @ prisma + client @ 5.22 . 0_ prisma @ 5.22 . 0 / node_modules / . prisma / client / libquery_engine - debian - openssl - 3.0 . x . so . node ")
2026-09-10 12:53:23 +03:30
// file annotations for bundling tools to include these files
path.join(__dirname, " schema . prisma ");
path.join(process.cwd(), " .. / .. / node_modules / . pnpm / @ prisma + client @ 5.22 . 0_ prisma @ 5.22 . 0 / node_modules / . prisma / client / schema . prisma " )