Files
tehran_taj/apps/api/release/vendor/.prisma/client/edge.js
T

886 lines
253 KiB
JavaScript
Raw Normal View History

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/edge.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
}
/**
* Enums
*/
exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
ReadUncommitted: 'ReadUncommitted',
ReadCommitted: 'ReadCommitted',
RepeatableRead: 'RepeatableRead',
Serializable: 'Serializable'
});
exports.Prisma.CityScalarFieldEnum = {
id: 'id',
name: 'name',
parentId: 'parentId',
2026-09-15 15:41:47 +03:30
percent: 'percent',
percentAux: 'percentAux'
2026-09-10 12:53:23 +03:30
};
exports.Prisma.AdminScalarFieldEnum = {
id: 'id',
fullName: 'fullName',
firstName: 'firstName',
lastName: 'lastName',
mobile: 'mobile',
passwordHash: 'passwordHash',
role: 'role',
userTypeId: 'userTypeId',
branchId: 'branchId',
isActive: 'isActive',
createdAt: 'createdAt'
};
2026-09-10 12:53:23 +03:30
exports.Prisma.AdminUserScalarFieldEnum = {
id: 'id',
fullName: 'fullName',
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',
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',
adminId: 'adminId',
2026-09-25 19:12:39 +03:30
iamSessionId: 'iamSessionId',
iamSub: 'iamSub',
ipAddress: 'ipAddress',
userAgent: 'userAgent',
createdAt: 'createdAt',
expiresAt: 'expiresAt',
lastSeenAt: 'lastSeenAt',
revokedAt: 'revokedAt',
revokedReason: 'revokedReason'
};
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',
firstName: 'firstName',
lastName: 'lastName',
2026-09-10 12:53:23 +03:30
mobile: 'mobile',
nationalCode: 'nationalCode',
passwordHash: 'passwordHash',
cityId: 'cityId',
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',
accountingGoldBalance: 'accountingGoldBalance',
accountingRialBalance: 'accountingRialBalance',
accountingBalanceAt: 'accountingBalanceAt',
makingChargeOffsetPercent: 'makingChargeOffsetPercent',
2026-09-10 12:53:23 +03:30
verificationStep: 'verificationStep',
nationalIdImageUrl: 'nationalIdImageUrl',
businessLicenseUrl: 'businessLicenseUrl',
shopImageUrl: 'shopImageUrl',
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'
};
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',
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',
isActive: 'isActive',
color: 'color',
rialWage: 'rialWage',
details: 'details',
description: 'description',
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',
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',
actorAdminId: 'actorAdminId',
2026-09-10 12:53:23 +03:30
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',
actorAdminId: 'actorAdminId',
2026-09-10 12:53:23 +03:30
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',
postedByAdminId: 'postedByAdminId',
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'
};
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',
allocatorAdminId: 'allocatorAdminId',
2026-09-15 15:41:47 +03:30
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',
sentByAdminId: 'sentByAdminId',
2026-09-15 15:41:47 +03:30
createdAt: 'createdAt'
};
exports.Prisma.NotificationScalarFieldEnum = {
id: 'id',
title: 'title',
body: 'body',
audience: 'audience',
sentByAdminId: 'sentByAdminId',
2026-09-15 15:41:47 +03:30
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',
uploadedByAdminId: 'uploadedByAdminId',
2026-09-15 15:41:47 +03:30
createdAt: 'createdAt'
};
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
};
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',
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',
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'
};
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',
Admin: 'Admin',
2026-09-10 12:53:23 +03:30
AdminUser: 'AdminUser',
2026-09-25 19:12:39 +03:30
AppSession: 'AppSession',
AdminSession: 'AdminSession',
SalesExpertProfile: 'SalesExpertProfile',
2026-09-10 12:53:23 +03:30
Customer: 'Customer',
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',
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',
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
},
{
"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": {
"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
}
}
},
"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": "10ad1bc4a821d684d83386a2c37bcf3e456d62228210ecd06ea12b67f136467e",
2026-09-10 12:53:23 +03:30
"copyEngine": true
}
config.dirname = '/'
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).\"},\"Admin\":{\"dbName\":null,\"fields\":[{\"name\":\"id\"
2026-09-10 12:53:23 +03:30
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
config.engineWasm = undefined
config.injectableEdgeEnv = () => ({
parsed: {
DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined
}
})
if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) {
Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined)
}
const PrismaClient = getPrismaClient(config)
exports.PrismaClient = PrismaClient
Object.assign(exports, Prisma)