diff --git a/prisma/seed.ts b/prisma/seed.ts index 6a3d1d4..f2caabc 100644 --- a/prisma/seed.ts +++ b/prisma/seed.ts @@ -18,6 +18,12 @@ import * as bcrypt from 'bcryptjs'; const prisma = new PrismaClient(); async function main() { + const existingAdmins = await prisma.adminUser.count(); + if (existingAdmins > 0 && process.env.RUN_SEED !== 'force') { + console.log('Seed skipped; admin users already exist'); + return; + } + console.log('Seeding fabric_trade database...'); await prisma.productFavorite.deleteMany(); diff --git a/runtime/seed.cjs b/runtime/seed.cjs new file mode 100644 index 0000000..2a0cd17 --- /dev/null +++ b/runtime/seed.cjs @@ -0,0 +1,9519 @@ +var __create = Object.create; +var __defProp = Object.defineProperty; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +var __commonJS = (cb, mod) => function __require() { + try { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + } catch (e) { + throw mod = 0, e; + } +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); + +// node_modules/@prisma/client/runtime/library.js +var require_library = __commonJS({ + "node_modules/@prisma/client/runtime/library.js"(exports2, module2) { + "use strict"; + var yu = Object.create; + var jt = Object.defineProperty; + var bu = Object.getOwnPropertyDescriptor; + var Eu = Object.getOwnPropertyNames; + var wu = Object.getPrototypeOf; + var xu = Object.prototype.hasOwnProperty; + var Do = /* @__PURE__ */ __name((e, r) => () => (e && (r = e(e = 0)), r), "Do"); + var ue = /* @__PURE__ */ __name((e, r) => () => (r || e((r = { exports: {} }).exports, r), r.exports), "ue"); + var tr = /* @__PURE__ */ __name((e, r) => { + for (var t in r) jt(e, t, { get: r[t], enumerable: true }); + }, "tr"); + var Oo = /* @__PURE__ */ __name((e, r, t, n) => { + if (r && typeof r == "object" || typeof r == "function") for (let i of Eu(r)) !xu.call(e, i) && i !== t && jt(e, i, { get: /* @__PURE__ */ __name(() => r[i], "get"), enumerable: !(n = bu(r, i)) || n.enumerable }); + return e; + }, "Oo"); + var O = /* @__PURE__ */ __name((e, r, t) => (t = e != null ? yu(wu(e)) : {}, Oo(r || !e || !e.__esModule ? jt(t, "default", { value: e, enumerable: true }) : t, e)), "O"); + var vu = /* @__PURE__ */ __name((e) => Oo(jt({}, "__esModule", { value: true }), e), "vu"); + var hi = ue((_g, is) => { + "use strict"; + is.exports = (e, r = process.argv) => { + let t = e.startsWith("-") ? "" : e.length === 1 ? "-" : "--", n = r.indexOf(t + e), i = r.indexOf("--"); + return n !== -1 && (i === -1 || n < i); + }; + }); + var as = ue((Ng, ss) => { + "use strict"; + var Fc = require("node:os"), os = require("node:tty"), de = hi(), { env: G } = process, Qe; + de("no-color") || de("no-colors") || de("color=false") || de("color=never") ? Qe = 0 : (de("color") || de("colors") || de("color=true") || de("color=always")) && (Qe = 1); + "FORCE_COLOR" in G && (G.FORCE_COLOR === "true" ? Qe = 1 : G.FORCE_COLOR === "false" ? Qe = 0 : Qe = G.FORCE_COLOR.length === 0 ? 1 : Math.min(parseInt(G.FORCE_COLOR, 10), 3)); + function yi(e) { + return e === 0 ? false : { level: e, hasBasic: true, has256: e >= 2, has16m: e >= 3 }; + } + __name(yi, "yi"); + function bi(e, r) { + if (Qe === 0) return 0; + if (de("color=16m") || de("color=full") || de("color=truecolor")) return 3; + if (de("color=256")) return 2; + if (e && !r && Qe === void 0) return 0; + let t = Qe || 0; + if (G.TERM === "dumb") return t; + if (process.platform === "win32") { + let n = Fc.release().split("."); + return Number(n[0]) >= 10 && Number(n[2]) >= 10586 ? Number(n[2]) >= 14931 ? 3 : 2 : 1; + } + if ("CI" in G) return ["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "GITHUB_ACTIONS", "BUILDKITE"].some((n) => n in G) || G.CI_NAME === "codeship" ? 1 : t; + if ("TEAMCITY_VERSION" in G) return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION) ? 1 : 0; + if (G.COLORTERM === "truecolor") return 3; + if ("TERM_PROGRAM" in G) { + let n = parseInt((G.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (G.TERM_PROGRAM) { + case "iTerm.app": + return n >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2; + } + } + return /-256(color)?$/i.test(G.TERM) ? 2 : /^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM) || "COLORTERM" in G ? 1 : t; + } + __name(bi, "bi"); + function Mc(e) { + let r = bi(e, e && e.isTTY); + return yi(r); + } + __name(Mc, "Mc"); + ss.exports = { supportsColor: Mc, stdout: yi(bi(true, os.isatty(1))), stderr: yi(bi(true, os.isatty(2))) }; + }); + var cs = ue((Lg, us) => { + "use strict"; + var $c = as(), br = hi(); + function ls(e) { + if (/^\d{3,4}$/.test(e)) { + let t = /(\d{1,2})(\d{2})/.exec(e) || []; + return { major: 0, minor: parseInt(t[1], 10), patch: parseInt(t[2], 10) }; + } + let r = (e || "").split(".").map((t) => parseInt(t, 10)); + return { major: r[0], minor: r[1], patch: r[2] }; + } + __name(ls, "ls"); + function Ei(e) { + let { CI: r, FORCE_HYPERLINK: t, NETLIFY: n, TEAMCITY_VERSION: i, TERM_PROGRAM: o, TERM_PROGRAM_VERSION: s, VTE_VERSION: a, TERM: l } = process.env; + if (t) return !(t.length > 0 && parseInt(t, 10) === 0); + if (br("no-hyperlink") || br("no-hyperlinks") || br("hyperlink=false") || br("hyperlink=never")) return false; + if (br("hyperlink=true") || br("hyperlink=always") || n) return true; + if (!$c.supportsColor(e) || e && !e.isTTY) return false; + if ("WT_SESSION" in process.env) return true; + if (process.platform === "win32" || r || i) return false; + if (o) { + let u = ls(s || ""); + switch (o) { + case "iTerm.app": + return u.major === 3 ? u.minor >= 1 : u.major > 3; + case "WezTerm": + return u.major >= 20200620; + case "vscode": + return u.major > 1 || u.major === 1 && u.minor >= 72; + case "ghostty": + return true; + } + } + if (a) { + if (a === "0.50.0") return false; + let u = ls(a); + return u.major > 0 || u.minor >= 50; + } + switch (l) { + case "alacritty": + return true; + } + return false; + } + __name(Ei, "Ei"); + us.exports = { supportsHyperlink: Ei, stdout: Ei(process.stdout), stderr: Ei(process.stderr) }; + }); + var ps = ue((Kg, qc) => { + qc.exports = { name: "@prisma/internals", version: "6.19.3", description: "This package is intended for Prisma's internal use", main: "dist/index.js", types: "dist/index.d.ts", repository: { type: "git", url: "https://github.com/prisma/prisma.git", directory: "packages/internals" }, homepage: "https://www.prisma.io", author: "Tim Suchanek ", bugs: "https://github.com/prisma/prisma/issues", license: "Apache-2.0", scripts: { dev: "DEV=true tsx helpers/build.ts", build: "tsx helpers/build.ts", test: "dotenv -e ../../.db.env -- jest --silent", prepublishOnly: "pnpm run build" }, files: ["README.md", "dist", "!**/libquery_engine*", "!dist/get-generators/engines/*", "scripts"], devDependencies: { "@babel/helper-validator-identifier": "7.25.9", "@opentelemetry/api": "1.9.0", "@swc/core": "1.11.5", "@swc/jest": "0.2.37", "@types/babel__helper-validator-identifier": "7.15.2", "@types/jest": "29.5.14", "@types/node": "18.19.76", "@types/resolve": "1.20.6", archiver: "6.0.2", "checkpoint-client": "1.1.33", "cli-truncate": "4.0.0", dotenv: "16.5.0", empathic: "2.0.0", "escape-string-regexp": "5.0.0", execa: "8.0.1", "fast-glob": "3.3.3", "find-up": "7.0.0", "fp-ts": "2.16.9", "fs-extra": "11.3.0", "global-directory": "4.0.0", globby: "11.1.0", "identifier-regex": "1.0.0", "indent-string": "4.0.0", "is-windows": "1.0.2", "is-wsl": "3.1.0", jest: "29.7.0", "jest-junit": "16.0.0", kleur: "4.1.5", "mock-stdin": "1.0.0", "new-github-issue-url": "0.2.1", "node-fetch": "3.3.2", "npm-packlist": "5.1.3", open: "7.4.2", "p-map": "4.0.0", resolve: "1.22.10", "string-width": "7.2.0", "strip-indent": "4.0.0", "temp-dir": "2.0.0", tempy: "1.0.1", "terminal-link": "4.0.0", tmp: "0.2.3", "ts-pattern": "5.6.2", "ts-toolbelt": "9.6.0", typescript: "5.4.5", yarn: "1.22.22" }, dependencies: { "@prisma/config": "workspace:*", "@prisma/debug": "workspace:*", "@prisma/dmmf": "workspace:*", "@prisma/driver-adapter-utils": "workspace:*", "@prisma/engines": "workspace:*", "@prisma/fetch-engine": "workspace:*", "@prisma/generator": "workspace:*", "@prisma/generator-helper": "workspace:*", "@prisma/get-platform": "workspace:*", "@prisma/prisma-schema-wasm": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", "@prisma/schema-engine-wasm": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", "@prisma/schema-files-loader": "workspace:*", arg: "5.0.2", prompts: "2.4.2" }, peerDependencies: { typescript: ">=5.1.0" }, peerDependenciesMeta: { typescript: { optional: true } }, sideEffects: false }; + }); + var Ti = ue((gh, Qc) => { + Qc.exports = { name: "@prisma/engines-version", version: "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", main: "index.js", types: "index.d.ts", license: "Apache-2.0", author: "Tim Suchanek ", prisma: { enginesVersion: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" }, repository: { type: "git", url: "https://github.com/prisma/engines-wrapper.git", directory: "packages/engines-version" }, devDependencies: { "@types/node": "18.19.76", typescript: "4.9.5" }, files: ["index.js", "index.d.ts"], scripts: { build: "tsc -d" } }; + }); + var on = ue((nn) => { + "use strict"; + Object.defineProperty(nn, "__esModule", { value: true }); + nn.enginesVersion = void 0; + nn.enginesVersion = Ti().prisma.enginesVersion; + }); + var hs = ue((Ih, gs) => { + "use strict"; + gs.exports = (e) => { + let r = e.match(/^[ \t]*(?=\S)/gm); + return r ? r.reduce((t, n) => Math.min(t, n.length), 1 / 0) : 0; + }; + }); + var Di = ue((kh, Es) => { + "use strict"; + Es.exports = (e, r = 1, t) => { + if (t = { indent: " ", includeEmptyLines: false, ...t }, typeof e != "string") throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``); + if (typeof r != "number") throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof r}\``); + if (typeof t.indent != "string") throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof t.indent}\``); + if (r === 0) return e; + let n = t.includeEmptyLines ? /^/gm : /^(?!\s*$)/gm; + return e.replace(n, t.indent.repeat(r)); + }; + }); + var vs = ue((jh, tp) => { + tp.exports = { name: "dotenv", version: "16.5.0", description: "Loads environment variables from .env file", main: "lib/main.js", types: "lib/main.d.ts", exports: { ".": { types: "./lib/main.d.ts", require: "./lib/main.js", default: "./lib/main.js" }, "./config": "./config.js", "./config.js": "./config.js", "./lib/env-options": "./lib/env-options.js", "./lib/env-options.js": "./lib/env-options.js", "./lib/cli-options": "./lib/cli-options.js", "./lib/cli-options.js": "./lib/cli-options.js", "./package.json": "./package.json" }, scripts: { "dts-check": "tsc --project tests/types/tsconfig.json", lint: "standard", pretest: "npm run lint && npm run dts-check", test: "tap run --allow-empty-coverage --disable-coverage --timeout=60000", "test:coverage": "tap run --show-full-coverage --timeout=60000 --coverage-report=lcov", prerelease: "npm test", release: "standard-version" }, repository: { type: "git", url: "git://github.com/motdotla/dotenv.git" }, homepage: "https://github.com/motdotla/dotenv#readme", funding: "https://dotenvx.com", keywords: ["dotenv", "env", ".env", "environment", "variables", "config", "settings"], readmeFilename: "README.md", license: "BSD-2-Clause", devDependencies: { "@types/node": "^18.11.3", decache: "^4.6.2", sinon: "^14.0.1", standard: "^17.0.0", "standard-version": "^9.5.0", tap: "^19.2.0", typescript: "^4.8.4" }, engines: { node: ">=12" }, browser: { fs: false } }; + }); + var As = ue((Bh, _e) => { + "use strict"; + var Fi = require("node:fs"), Mi = require("node:path"), np = require("node:os"), ip = require("node:crypto"), op = vs(), Ts = op.version, sp = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg; + function ap(e) { + let r = {}, t = e.toString(); + t = t.replace(/\r\n?/mg, ` +`); + let n; + for (; (n = sp.exec(t)) != null; ) { + let i = n[1], o = n[2] || ""; + o = o.trim(); + let s = o[0]; + o = o.replace(/^(['"`])([\s\S]*)\1$/mg, "$2"), s === '"' && (o = o.replace(/\\n/g, ` +`), o = o.replace(/\\r/g, "\r")), r[i] = o; + } + return r; + } + __name(ap, "ap"); + function lp(e) { + let r = Rs(e), t = B.configDotenv({ path: r }); + if (!t.parsed) { + let s = new Error(`MISSING_DATA: Cannot parse ${r} for an unknown reason`); + throw s.code = "MISSING_DATA", s; + } + let n = Ss(e).split(","), i = n.length, o; + for (let s = 0; s < i; s++) try { + let a = n[s].trim(), l = cp(t, a); + o = B.decrypt(l.ciphertext, l.key); + break; + } catch (a) { + if (s + 1 >= i) throw a; + } + return B.parse(o); + } + __name(lp, "lp"); + function up(e) { + console.log(`[dotenv@${Ts}][WARN] ${e}`); + } + __name(up, "up"); + function ot(e) { + console.log(`[dotenv@${Ts}][DEBUG] ${e}`); + } + __name(ot, "ot"); + function Ss(e) { + return e && e.DOTENV_KEY && e.DOTENV_KEY.length > 0 ? e.DOTENV_KEY : process.env.DOTENV_KEY && process.env.DOTENV_KEY.length > 0 ? process.env.DOTENV_KEY : ""; + } + __name(Ss, "Ss"); + function cp(e, r) { + let t; + try { + t = new URL(r); + } catch (a) { + if (a.code === "ERR_INVALID_URL") { + let l = new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development"); + throw l.code = "INVALID_DOTENV_KEY", l; + } + throw a; + } + let n = t.password; + if (!n) { + let a = new Error("INVALID_DOTENV_KEY: Missing key part"); + throw a.code = "INVALID_DOTENV_KEY", a; + } + let i = t.searchParams.get("environment"); + if (!i) { + let a = new Error("INVALID_DOTENV_KEY: Missing environment part"); + throw a.code = "INVALID_DOTENV_KEY", a; + } + let o = `DOTENV_VAULT_${i.toUpperCase()}`, s = e.parsed[o]; + if (!s) { + let a = new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`); + throw a.code = "NOT_FOUND_DOTENV_ENVIRONMENT", a; + } + return { ciphertext: s, key: n }; + } + __name(cp, "cp"); + function Rs(e) { + let r = null; + if (e && e.path && e.path.length > 0) if (Array.isArray(e.path)) for (let t of e.path) Fi.existsSync(t) && (r = t.endsWith(".vault") ? t : `${t}.vault`); + else r = e.path.endsWith(".vault") ? e.path : `${e.path}.vault`; + else r = Mi.resolve(process.cwd(), ".env.vault"); + return Fi.existsSync(r) ? r : null; + } + __name(Rs, "Rs"); + function Ps(e) { + return e[0] === "~" ? Mi.join(np.homedir(), e.slice(1)) : e; + } + __name(Ps, "Ps"); + function pp(e) { + !!(e && e.debug) && ot("Loading env from encrypted .env.vault"); + let t = B._parseVault(e), n = process.env; + return e && e.processEnv != null && (n = e.processEnv), B.populate(n, t, e), { parsed: t }; + } + __name(pp, "pp"); + function dp(e) { + let r = Mi.resolve(process.cwd(), ".env"), t = "utf8", n = !!(e && e.debug); + e && e.encoding ? t = e.encoding : n && ot("No encoding is specified. UTF-8 is used by default"); + let i = [r]; + if (e && e.path) if (!Array.isArray(e.path)) i = [Ps(e.path)]; + else { + i = []; + for (let l of e.path) i.push(Ps(l)); + } + let o, s = {}; + for (let l of i) try { + let u = B.parse(Fi.readFileSync(l, { encoding: t })); + B.populate(s, u, e); + } catch (u) { + n && ot(`Failed to load ${l} ${u.message}`), o = u; + } + let a = process.env; + return e && e.processEnv != null && (a = e.processEnv), B.populate(a, s, e), o ? { parsed: s, error: o } : { parsed: s }; + } + __name(dp, "dp"); + function mp(e) { + if (Ss(e).length === 0) return B.configDotenv(e); + let r = Rs(e); + return r ? B._configVault(e) : (up(`You set DOTENV_KEY but you are missing a .env.vault file at ${r}. Did you forget to build it?`), B.configDotenv(e)); + } + __name(mp, "mp"); + function fp(e, r) { + let t = Buffer.from(r.slice(-64), "hex"), n = Buffer.from(e, "base64"), i = n.subarray(0, 12), o = n.subarray(-16); + n = n.subarray(12, -16); + try { + let s = ip.createDecipheriv("aes-256-gcm", t, i); + return s.setAuthTag(o), `${s.update(n)}${s.final()}`; + } catch (s) { + let a = s instanceof RangeError, l = s.message === "Invalid key length", u = s.message === "Unsupported state or unable to authenticate data"; + if (a || l) { + let c = new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)"); + throw c.code = "INVALID_DOTENV_KEY", c; + } else if (u) { + let c = new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY"); + throw c.code = "DECRYPTION_FAILED", c; + } else throw s; + } + } + __name(fp, "fp"); + function gp(e, r, t = {}) { + let n = !!(t && t.debug), i = !!(t && t.override); + if (typeof r != "object") { + let o = new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate"); + throw o.code = "OBJECT_REQUIRED", o; + } + for (let o of Object.keys(r)) Object.prototype.hasOwnProperty.call(e, o) ? (i === true && (e[o] = r[o]), n && ot(i === true ? `"${o}" is already defined and WAS overwritten` : `"${o}" is already defined and was NOT overwritten`)) : e[o] = r[o]; + } + __name(gp, "gp"); + var B = { configDotenv: dp, _configVault: pp, _parseVault: lp, config: mp, decrypt: fp, parse: ap, populate: gp }; + _e.exports.configDotenv = B.configDotenv; + _e.exports._configVault = B._configVault; + _e.exports._parseVault = B._parseVault; + _e.exports.config = B.config; + _e.exports.decrypt = B.decrypt; + _e.exports.parse = B.parse; + _e.exports.populate = B.populate; + _e.exports = B; + }); + var Os = ue((Kh, cn) => { + "use strict"; + cn.exports = (e = {}) => { + let r; + if (e.repoUrl) r = e.repoUrl; + else if (e.user && e.repo) r = `https://github.com/${e.user}/${e.repo}`; + else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options"); + let t = new URL(`${r}/issues/new`), n = ["body", "title", "labels", "template", "milestone", "assignee", "projects"]; + for (let i of n) { + let o = e[i]; + if (o !== void 0) { + if (i === "labels" || i === "projects") { + if (!Array.isArray(o)) throw new TypeError(`The \`${i}\` option should be an array`); + o = o.join(","); + } + t.searchParams.set(i, o); + } + } + return t.toString(); + }; + cn.exports.default = cn.exports; + }); + var Ki = ue((vb, ea) => { + "use strict"; + ea.exports = /* @__PURE__ */ (function() { + function e(r, t, n, i, o) { + return r < t || n < t ? r > n ? n + 1 : r + 1 : i === o ? t : t + 1; + } + __name(e, "e"); + return function(r, t) { + if (r === t) return 0; + if (r.length > t.length) { + var n = r; + r = t, t = n; + } + for (var i = r.length, o = t.length; i > 0 && r.charCodeAt(i - 1) === t.charCodeAt(o - 1); ) i--, o--; + for (var s = 0; s < i && r.charCodeAt(s) === t.charCodeAt(s); ) s++; + if (i -= s, o -= s, i === 0 || o < 3) return o; + var a = 0, l, u, c, p, d, f, h, g, I, T, S, b, D = []; + for (l = 0; l < i; l++) D.push(l + 1), D.push(r.charCodeAt(s + l)); + for (var me = D.length - 1; a < o - 3; ) for (I = t.charCodeAt(s + (u = a)), T = t.charCodeAt(s + (c = a + 1)), S = t.charCodeAt(s + (p = a + 2)), b = t.charCodeAt(s + (d = a + 3)), f = a += 4, l = 0; l < me; l += 2) h = D[l], g = D[l + 1], u = e(h, u, c, I, g), c = e(u, c, p, T, g), p = e(c, p, d, S, g), f = e(p, d, f, b, g), D[l] = f, d = p, p = c, c = u, u = h; + for (; a < o; ) for (I = t.charCodeAt(s + (u = a)), f = ++a, l = 0; l < me; l += 2) h = D[l], D[l] = f = e(h, u, f, I, D[l + 1]), u = h; + return f; + }; + })(); + }); + var oa = Do(() => { + "use strict"; + }); + var sa = Do(() => { + "use strict"; + }); + var jf = {}; + tr(jf, { DMMF: /* @__PURE__ */ __name(() => ct, "DMMF"), Debug: /* @__PURE__ */ __name(() => N, "Debug"), Decimal: /* @__PURE__ */ __name(() => Fe, "Decimal"), Extensions: /* @__PURE__ */ __name(() => ni, "Extensions"), MetricsClient: /* @__PURE__ */ __name(() => Lr, "MetricsClient"), PrismaClientInitializationError: /* @__PURE__ */ __name(() => P, "PrismaClientInitializationError"), PrismaClientKnownRequestError: /* @__PURE__ */ __name(() => z, "PrismaClientKnownRequestError"), PrismaClientRustPanicError: /* @__PURE__ */ __name(() => ae, "PrismaClientRustPanicError"), PrismaClientUnknownRequestError: /* @__PURE__ */ __name(() => V, "PrismaClientUnknownRequestError"), PrismaClientValidationError: /* @__PURE__ */ __name(() => Z, "PrismaClientValidationError"), Public: /* @__PURE__ */ __name(() => ii, "Public"), Sql: /* @__PURE__ */ __name(() => ie, "Sql"), createParam: /* @__PURE__ */ __name(() => va, "createParam"), defineDmmfProperty: /* @__PURE__ */ __name(() => Ca, "defineDmmfProperty"), deserializeJsonResponse: /* @__PURE__ */ __name(() => Vr, "deserializeJsonResponse"), deserializeRawResult: /* @__PURE__ */ __name(() => Xn, "deserializeRawResult"), dmmfToRuntimeDataModel: /* @__PURE__ */ __name(() => Ns, "dmmfToRuntimeDataModel"), empty: /* @__PURE__ */ __name(() => Oa, "empty"), getPrismaClient: /* @__PURE__ */ __name(() => fu, "getPrismaClient"), getRuntime: /* @__PURE__ */ __name(() => Kn, "getRuntime"), join: /* @__PURE__ */ __name(() => Da, "join"), makeStrictEnum: /* @__PURE__ */ __name(() => gu, "makeStrictEnum"), makeTypedQueryFactory: /* @__PURE__ */ __name(() => Ia, "makeTypedQueryFactory"), objectEnumValues: /* @__PURE__ */ __name(() => On, "objectEnumValues"), raw: /* @__PURE__ */ __name(() => no, "raw"), serializeJsonQuery: /* @__PURE__ */ __name(() => $n, "serializeJsonQuery"), skip: /* @__PURE__ */ __name(() => Mn, "skip"), sqltag: /* @__PURE__ */ __name(() => io, "sqltag"), warnEnvConflicts: /* @__PURE__ */ __name(() => hu, "warnEnvConflicts"), warnOnce: /* @__PURE__ */ __name(() => at, "warnOnce") }); + module2.exports = vu(jf); + var ni = {}; + tr(ni, { defineExtension: /* @__PURE__ */ __name(() => ko, "defineExtension"), getExtensionContext: /* @__PURE__ */ __name(() => _o, "getExtensionContext") }); + function ko(e) { + return typeof e == "function" ? e : (r) => r.$extends(e); + } + __name(ko, "ko"); + function _o(e) { + return e; + } + __name(_o, "_o"); + var ii = {}; + tr(ii, { validator: /* @__PURE__ */ __name(() => No, "validator") }); + function No(...e) { + return (r) => r; + } + __name(No, "No"); + var Bt = {}; + tr(Bt, { $: /* @__PURE__ */ __name(() => qo, "$"), bgBlack: /* @__PURE__ */ __name(() => ku, "bgBlack"), bgBlue: /* @__PURE__ */ __name(() => Fu, "bgBlue"), bgCyan: /* @__PURE__ */ __name(() => $u, "bgCyan"), bgGreen: /* @__PURE__ */ __name(() => Nu, "bgGreen"), bgMagenta: /* @__PURE__ */ __name(() => Mu, "bgMagenta"), bgRed: /* @__PURE__ */ __name(() => _u, "bgRed"), bgWhite: /* @__PURE__ */ __name(() => qu, "bgWhite"), bgYellow: /* @__PURE__ */ __name(() => Lu, "bgYellow"), black: /* @__PURE__ */ __name(() => Cu, "black"), blue: /* @__PURE__ */ __name(() => nr, "blue"), bold: /* @__PURE__ */ __name(() => W, "bold"), cyan: /* @__PURE__ */ __name(() => De, "cyan"), dim: /* @__PURE__ */ __name(() => Ce, "dim"), gray: /* @__PURE__ */ __name(() => Hr, "gray"), green: /* @__PURE__ */ __name(() => qe, "green"), grey: /* @__PURE__ */ __name(() => Ou, "grey"), hidden: /* @__PURE__ */ __name(() => Ru, "hidden"), inverse: /* @__PURE__ */ __name(() => Su, "inverse"), italic: /* @__PURE__ */ __name(() => Tu, "italic"), magenta: /* @__PURE__ */ __name(() => Iu, "magenta"), red: /* @__PURE__ */ __name(() => ce, "red"), reset: /* @__PURE__ */ __name(() => Pu, "reset"), strikethrough: /* @__PURE__ */ __name(() => Au, "strikethrough"), underline: /* @__PURE__ */ __name(() => Y, "underline"), white: /* @__PURE__ */ __name(() => Du, "white"), yellow: /* @__PURE__ */ __name(() => Ie, "yellow") }); + var oi; + var Lo; + var Fo; + var Mo; + var $o = true; + typeof process < "u" && ({ FORCE_COLOR: oi, NODE_DISABLE_COLORS: Lo, NO_COLOR: Fo, TERM: Mo } = process.env || {}, $o = process.stdout && process.stdout.isTTY); + var qo = { enabled: !Lo && Fo == null && Mo !== "dumb" && (oi != null && oi !== "0" || $o) }; + function F(e, r) { + let t = new RegExp(`\\x1b\\[${r}m`, "g"), n = `\x1B[${e}m`, i = `\x1B[${r}m`; + return function(o) { + return !qo.enabled || o == null ? o : n + (~("" + o).indexOf(i) ? o.replace(t, i + n) : o) + i; + }; + } + __name(F, "F"); + var Pu = F(0, 0); + var W = F(1, 22); + var Ce = F(2, 22); + var Tu = F(3, 23); + var Y = F(4, 24); + var Su = F(7, 27); + var Ru = F(8, 28); + var Au = F(9, 29); + var Cu = F(30, 39); + var ce = F(31, 39); + var qe = F(32, 39); + var Ie = F(33, 39); + var nr = F(34, 39); + var Iu = F(35, 39); + var De = F(36, 39); + var Du = F(37, 39); + var Hr = F(90, 39); + var Ou = F(90, 39); + var ku = F(40, 49); + var _u = F(41, 49); + var Nu = F(42, 49); + var Lu = F(43, 49); + var Fu = F(44, 49); + var Mu = F(45, 49); + var $u = F(46, 49); + var qu = F(47, 49); + var Vu = 100; + var Vo = ["green", "yellow", "blue", "magenta", "cyan", "red"]; + var Yr = []; + var jo = Date.now(); + var ju = 0; + var si = typeof process < "u" ? process.env : {}; + globalThis.DEBUG ??= si.DEBUG ?? ""; + globalThis.DEBUG_COLORS ??= si.DEBUG_COLORS ? si.DEBUG_COLORS === "true" : true; + var zr = { enable(e) { + typeof e == "string" && (globalThis.DEBUG = e); + }, disable() { + let e = globalThis.DEBUG; + return globalThis.DEBUG = "", e; + }, enabled(e) { + let r = globalThis.DEBUG.split(",").map((i) => i.replace(/[.+?^${}()|[\]\\]/g, "\\$&")), t = r.some((i) => i === "" || i[0] === "-" ? false : e.match(RegExp(i.split("*").join(".*") + "$"))), n = r.some((i) => i === "" || i[0] !== "-" ? false : e.match(RegExp(i.slice(1).split("*").join(".*") + "$"))); + return t && !n; + }, log: /* @__PURE__ */ __name((...e) => { + let [r, t, ...n] = e; + (console.warn ?? console.log)(`${r} ${t}`, ...n); + }, "log"), formatters: {} }; + function Bu(e) { + let r = { color: Vo[ju++ % Vo.length], enabled: zr.enabled(e), namespace: e, log: zr.log, extend: /* @__PURE__ */ __name(() => { + }, "extend") }, t = /* @__PURE__ */ __name((...n) => { + let { enabled: i, namespace: o, color: s, log: a } = r; + if (n.length !== 0 && Yr.push([o, ...n]), Yr.length > Vu && Yr.shift(), zr.enabled(o) || i) { + let l = n.map((c) => typeof c == "string" ? c : Uu(c)), u = `+${Date.now() - jo}ms`; + jo = Date.now(), globalThis.DEBUG_COLORS ? a(Bt[s](W(o)), ...l, Bt[s](u)) : a(o, ...l, u); + } + }, "t"); + return new Proxy(t, { get: /* @__PURE__ */ __name((n, i) => r[i], "get"), set: /* @__PURE__ */ __name((n, i, o) => r[i] = o, "set") }); + } + __name(Bu, "Bu"); + var N = new Proxy(Bu, { get: /* @__PURE__ */ __name((e, r) => zr[r], "get"), set: /* @__PURE__ */ __name((e, r, t) => zr[r] = t, "set") }); + function Uu(e, r = 2) { + let t = /* @__PURE__ */ new Set(); + return JSON.stringify(e, (n, i) => { + if (typeof i == "object" && i !== null) { + if (t.has(i)) return "[Circular *]"; + t.add(i); + } else if (typeof i == "bigint") return i.toString(); + return i; + }, r); + } + __name(Uu, "Uu"); + function Bo(e = 7500) { + let r = Yr.map(([t, ...n]) => `${t} ${n.map((i) => typeof i == "string" ? i : JSON.stringify(i)).join(" ")}`).join(` +`); + return r.length < e ? r : r.slice(-e); + } + __name(Bo, "Bo"); + function Uo() { + Yr.length = 0; + } + __name(Uo, "Uo"); + var gr = N; + var Go = O(require("node:fs")); + function ai() { + let e = process.env.PRISMA_QUERY_ENGINE_LIBRARY; + if (!(e && Go.default.existsSync(e)) && process.arch === "ia32") throw new Error('The default query engine type (Node-API, "library") is currently not supported for 32bit Node. Please set `engineType = "binary"` in the "generator" block of your "schema.prisma" file (or use the environment variables "PRISMA_CLIENT_ENGINE_TYPE=binary" and/or "PRISMA_CLI_QUERY_ENGINE_TYPE=binary".)'); + } + __name(ai, "ai"); + var li = ["darwin", "darwin-arm64", "debian-openssl-1.0.x", "debian-openssl-1.1.x", "debian-openssl-3.0.x", "rhel-openssl-1.0.x", "rhel-openssl-1.1.x", "rhel-openssl-3.0.x", "linux-arm64-openssl-1.1.x", "linux-arm64-openssl-1.0.x", "linux-arm64-openssl-3.0.x", "linux-arm-openssl-1.1.x", "linux-arm-openssl-1.0.x", "linux-arm-openssl-3.0.x", "linux-musl", "linux-musl-openssl-3.0.x", "linux-musl-arm64-openssl-1.1.x", "linux-musl-arm64-openssl-3.0.x", "linux-nixos", "linux-static-x64", "linux-static-arm64", "windows", "freebsd11", "freebsd12", "freebsd13", "freebsd14", "freebsd15", "openbsd", "netbsd", "arm"]; + var Ut = "libquery_engine"; + function Gt(e, r) { + let t = r === "url"; + return e.includes("windows") ? t ? "query_engine.dll.node" : `query_engine-${e}.dll.node` : e.includes("darwin") ? t ? `${Ut}.dylib.node` : `${Ut}-${e}.dylib.node` : t ? `${Ut}.so.node` : `${Ut}-${e}.so.node`; + } + __name(Gt, "Gt"); + var Ko = O(require("node:child_process")); + var mi = O(require("node:fs/promises")); + var Ht = O(require("node:os")); + var Oe = /* @__PURE__ */ Symbol.for("@ts-pattern/matcher"); + var Gu = /* @__PURE__ */ Symbol.for("@ts-pattern/isVariadic"); + var Wt = "@ts-pattern/anonymous-select-key"; + var ui = /* @__PURE__ */ __name((e) => !!(e && typeof e == "object"), "ui"); + var Qt = /* @__PURE__ */ __name((e) => e && !!e[Oe], "Qt"); + var Ee = /* @__PURE__ */ __name((e, r, t) => { + if (Qt(e)) { + let n = e[Oe](), { matched: i, selections: o } = n.match(r); + return i && o && Object.keys(o).forEach((s) => t(s, o[s])), i; + } + if (ui(e)) { + if (!ui(r)) return false; + if (Array.isArray(e)) { + if (!Array.isArray(r)) return false; + let n = [], i = [], o = []; + for (let s of e.keys()) { + let a = e[s]; + Qt(a) && a[Gu] ? o.push(a) : o.length ? i.push(a) : n.push(a); + } + if (o.length) { + if (o.length > 1) throw new Error("Pattern error: Using `...P.array(...)` several times in a single pattern is not allowed."); + if (r.length < n.length + i.length) return false; + let s = r.slice(0, n.length), a = i.length === 0 ? [] : r.slice(-i.length), l = r.slice(n.length, i.length === 0 ? 1 / 0 : -i.length); + return n.every((u, c) => Ee(u, s[c], t)) && i.every((u, c) => Ee(u, a[c], t)) && (o.length === 0 || Ee(o[0], l, t)); + } + return e.length === r.length && e.every((s, a) => Ee(s, r[a], t)); + } + return Reflect.ownKeys(e).every((n) => { + let i = e[n]; + return (n in r || Qt(o = i) && o[Oe]().matcherType === "optional") && Ee(i, r[n], t); + var o; + }); + } + return Object.is(r, e); + }, "Ee"); + var Ge = /* @__PURE__ */ __name((e) => { + var r, t, n; + return ui(e) ? Qt(e) ? (r = (t = (n = e[Oe]()).getSelectionKeys) == null ? void 0 : t.call(n)) != null ? r : [] : Array.isArray(e) ? Zr(e, Ge) : Zr(Object.values(e), Ge) : []; + }, "Ge"); + var Zr = /* @__PURE__ */ __name((e, r) => e.reduce((t, n) => t.concat(r(n)), []), "Zr"); + function pe(e) { + return Object.assign(e, { optional: /* @__PURE__ */ __name(() => Qu(e), "optional"), and: /* @__PURE__ */ __name((r) => q(e, r), "and"), or: /* @__PURE__ */ __name((r) => Wu(e, r), "or"), select: /* @__PURE__ */ __name((r) => r === void 0 ? Qo(e) : Qo(r, e), "select") }); + } + __name(pe, "pe"); + function Qu(e) { + return pe({ [Oe]: () => ({ match: /* @__PURE__ */ __name((r) => { + let t = {}, n = /* @__PURE__ */ __name((i, o) => { + t[i] = o; + }, "n"); + return r === void 0 ? (Ge(e).forEach((i) => n(i, void 0)), { matched: true, selections: t }) : { matched: Ee(e, r, n), selections: t }; + }, "match"), getSelectionKeys: /* @__PURE__ */ __name(() => Ge(e), "getSelectionKeys"), matcherType: "optional" }) }); + } + __name(Qu, "Qu"); + function q(...e) { + return pe({ [Oe]: () => ({ match: /* @__PURE__ */ __name((r) => { + let t = {}, n = /* @__PURE__ */ __name((i, o) => { + t[i] = o; + }, "n"); + return { matched: e.every((i) => Ee(i, r, n)), selections: t }; + }, "match"), getSelectionKeys: /* @__PURE__ */ __name(() => Zr(e, Ge), "getSelectionKeys"), matcherType: "and" }) }); + } + __name(q, "q"); + function Wu(...e) { + return pe({ [Oe]: () => ({ match: /* @__PURE__ */ __name((r) => { + let t = {}, n = /* @__PURE__ */ __name((i, o) => { + t[i] = o; + }, "n"); + return Zr(e, Ge).forEach((i) => n(i, void 0)), { matched: e.some((i) => Ee(i, r, n)), selections: t }; + }, "match"), getSelectionKeys: /* @__PURE__ */ __name(() => Zr(e, Ge), "getSelectionKeys"), matcherType: "or" }) }); + } + __name(Wu, "Wu"); + function A(e) { + return { [Oe]: () => ({ match: /* @__PURE__ */ __name((r) => ({ matched: !!e(r) }), "match") }) }; + } + __name(A, "A"); + function Qo(...e) { + let r = typeof e[0] == "string" ? e[0] : void 0, t = e.length === 2 ? e[1] : typeof e[0] == "string" ? void 0 : e[0]; + return pe({ [Oe]: () => ({ match: /* @__PURE__ */ __name((n) => { + let i = { [r ?? Wt]: n }; + return { matched: t === void 0 || Ee(t, n, (o, s) => { + i[o] = s; + }), selections: i }; + }, "match"), getSelectionKeys: /* @__PURE__ */ __name(() => [r ?? Wt].concat(t === void 0 ? [] : Ge(t)), "getSelectionKeys") }) }); + } + __name(Qo, "Qo"); + function ye(e) { + return typeof e == "number"; + } + __name(ye, "ye"); + function Ve(e) { + return typeof e == "string"; + } + __name(Ve, "Ve"); + function je(e) { + return typeof e == "bigint"; + } + __name(je, "je"); + var eg = pe(A(function(e) { + return true; + })); + var Be = /* @__PURE__ */ __name((e) => Object.assign(pe(e), { startsWith: /* @__PURE__ */ __name((r) => { + return Be(q(e, (t = r, A((n) => Ve(n) && n.startsWith(t))))); + var t; + }, "startsWith"), endsWith: /* @__PURE__ */ __name((r) => { + return Be(q(e, (t = r, A((n) => Ve(n) && n.endsWith(t))))); + var t; + }, "endsWith"), minLength: /* @__PURE__ */ __name((r) => Be(q(e, ((t) => A((n) => Ve(n) && n.length >= t))(r))), "minLength"), length: /* @__PURE__ */ __name((r) => Be(q(e, ((t) => A((n) => Ve(n) && n.length === t))(r))), "length"), maxLength: /* @__PURE__ */ __name((r) => Be(q(e, ((t) => A((n) => Ve(n) && n.length <= t))(r))), "maxLength"), includes: /* @__PURE__ */ __name((r) => { + return Be(q(e, (t = r, A((n) => Ve(n) && n.includes(t))))); + var t; + }, "includes"), regex: /* @__PURE__ */ __name((r) => { + return Be(q(e, (t = r, A((n) => Ve(n) && !!n.match(t))))); + var t; + }, "regex") }), "Be"); + var rg = Be(A(Ve)); + var be = /* @__PURE__ */ __name((e) => Object.assign(pe(e), { between: /* @__PURE__ */ __name((r, t) => be(q(e, ((n, i) => A((o) => ye(o) && n <= o && i >= o))(r, t))), "between"), lt: /* @__PURE__ */ __name((r) => be(q(e, ((t) => A((n) => ye(n) && n < t))(r))), "lt"), gt: /* @__PURE__ */ __name((r) => be(q(e, ((t) => A((n) => ye(n) && n > t))(r))), "gt"), lte: /* @__PURE__ */ __name((r) => be(q(e, ((t) => A((n) => ye(n) && n <= t))(r))), "lte"), gte: /* @__PURE__ */ __name((r) => be(q(e, ((t) => A((n) => ye(n) && n >= t))(r))), "gte"), int: /* @__PURE__ */ __name(() => be(q(e, A((r) => ye(r) && Number.isInteger(r)))), "int"), finite: /* @__PURE__ */ __name(() => be(q(e, A((r) => ye(r) && Number.isFinite(r)))), "finite"), positive: /* @__PURE__ */ __name(() => be(q(e, A((r) => ye(r) && r > 0))), "positive"), negative: /* @__PURE__ */ __name(() => be(q(e, A((r) => ye(r) && r < 0))), "negative") }), "be"); + var tg = be(A(ye)); + var Ue = /* @__PURE__ */ __name((e) => Object.assign(pe(e), { between: /* @__PURE__ */ __name((r, t) => Ue(q(e, ((n, i) => A((o) => je(o) && n <= o && i >= o))(r, t))), "between"), lt: /* @__PURE__ */ __name((r) => Ue(q(e, ((t) => A((n) => je(n) && n < t))(r))), "lt"), gt: /* @__PURE__ */ __name((r) => Ue(q(e, ((t) => A((n) => je(n) && n > t))(r))), "gt"), lte: /* @__PURE__ */ __name((r) => Ue(q(e, ((t) => A((n) => je(n) && n <= t))(r))), "lte"), gte: /* @__PURE__ */ __name((r) => Ue(q(e, ((t) => A((n) => je(n) && n >= t))(r))), "gte"), positive: /* @__PURE__ */ __name(() => Ue(q(e, A((r) => je(r) && r > 0))), "positive"), negative: /* @__PURE__ */ __name(() => Ue(q(e, A((r) => je(r) && r < 0))), "negative") }), "Ue"); + var ng = Ue(A(je)); + var ig = pe(A(function(e) { + return typeof e == "boolean"; + })); + var og = pe(A(function(e) { + return typeof e == "symbol"; + })); + var sg = pe(A(function(e) { + return e == null; + })); + var ag = pe(A(function(e) { + return e != null; + })); + var ci = class extends Error { + static { + __name(this, "ci"); + } + constructor(r) { + let t; + try { + t = JSON.stringify(r); + } catch { + t = r; + } + super(`Pattern matching error: no pattern matches value ${t}`), this.input = void 0, this.input = r; + } + }; + var pi = { matched: false, value: void 0 }; + function hr(e) { + return new di(e, pi); + } + __name(hr, "hr"); + var di = class e { + static { + __name(this, "e"); + } + constructor(r, t) { + this.input = void 0, this.state = void 0, this.input = r, this.state = t; + } + with(...r) { + if (this.state.matched) return this; + let t = r[r.length - 1], n = [r[0]], i; + r.length === 3 && typeof r[1] == "function" ? i = r[1] : r.length > 2 && n.push(...r.slice(1, r.length - 1)); + let o = false, s = {}, a = /* @__PURE__ */ __name((u, c) => { + o = true, s[u] = c; + }, "a"), l = !n.some((u) => Ee(u, this.input, a)) || i && !i(this.input) ? pi : { matched: true, value: t(o ? Wt in s ? s[Wt] : s : this.input, this.input) }; + return new e(this.input, l); + } + when(r, t) { + if (this.state.matched) return this; + let n = !!r(this.input); + return new e(this.input, n ? { matched: true, value: t(this.input, this.input) } : pi); + } + otherwise(r) { + return this.state.matched ? this.state.value : r(this.input); + } + exhaustive() { + if (this.state.matched) return this.state.value; + throw new ci(this.input); + } + run() { + return this.exhaustive(); + } + returnType() { + return this; + } + }; + var Ho = require("node:util"); + var Ju = { warn: Ie("prisma:warn") }; + var Ku = { warn: /* @__PURE__ */ __name(() => !process.env.PRISMA_DISABLE_WARNINGS, "warn") }; + function Jt(e, ...r) { + Ku.warn() && console.warn(`${Ju.warn} ${e}`, ...r); + } + __name(Jt, "Jt"); + var Hu = (0, Ho.promisify)(Ko.default.exec); + var ee = gr("prisma:get-platform"); + var Yu = ["1.0.x", "1.1.x", "3.0.x"]; + async function Yo() { + let e = Ht.default.platform(), r = process.arch; + if (e === "freebsd") { + let s = await Yt("freebsd-version"); + if (s && s.trim().length > 0) { + let l = /^(\d+)\.?/.exec(s); + if (l) return { platform: "freebsd", targetDistro: `freebsd${l[1]}`, arch: r }; + } + } + if (e !== "linux") return { platform: e, arch: r }; + let t = await Zu(), n = await sc(), i = ec({ arch: r, archFromUname: n, familyDistro: t.familyDistro }), { libssl: o } = await rc(i); + return { platform: "linux", libssl: o, arch: r, archFromUname: n, ...t }; + } + __name(Yo, "Yo"); + function zu(e) { + let r = /^ID="?([^"\n]*)"?$/im, t = /^ID_LIKE="?([^"\n]*)"?$/im, n = r.exec(e), i = n && n[1] && n[1].toLowerCase() || "", o = t.exec(e), s = o && o[1] && o[1].toLowerCase() || "", a = hr({ id: i, idLike: s }).with({ id: "alpine" }, ({ id: l }) => ({ targetDistro: "musl", familyDistro: l, originalDistro: l })).with({ id: "raspbian" }, ({ id: l }) => ({ targetDistro: "arm", familyDistro: "debian", originalDistro: l })).with({ id: "nixos" }, ({ id: l }) => ({ targetDistro: "nixos", originalDistro: l, familyDistro: "nixos" })).with({ id: "debian" }, { id: "ubuntu" }, ({ id: l }) => ({ targetDistro: "debian", familyDistro: "debian", originalDistro: l })).with({ id: "rhel" }, { id: "centos" }, { id: "fedora" }, ({ id: l }) => ({ targetDistro: "rhel", familyDistro: "rhel", originalDistro: l })).when(({ idLike: l }) => l.includes("debian") || l.includes("ubuntu"), ({ id: l }) => ({ targetDistro: "debian", familyDistro: "debian", originalDistro: l })).when(({ idLike: l }) => i === "arch" || l.includes("arch"), ({ id: l }) => ({ targetDistro: "debian", familyDistro: "arch", originalDistro: l })).when(({ idLike: l }) => l.includes("centos") || l.includes("fedora") || l.includes("rhel") || l.includes("suse"), ({ id: l }) => ({ targetDistro: "rhel", familyDistro: "rhel", originalDistro: l })).otherwise(({ id: l }) => ({ targetDistro: void 0, familyDistro: void 0, originalDistro: l })); + return ee(`Found distro info: +${JSON.stringify(a, null, 2)}`), a; + } + __name(zu, "zu"); + async function Zu() { + let e = "/etc/os-release"; + try { + let r = await mi.default.readFile(e, { encoding: "utf-8" }); + return zu(r); + } catch { + return { targetDistro: void 0, familyDistro: void 0, originalDistro: void 0 }; + } + } + __name(Zu, "Zu"); + function Xu(e) { + let r = /^OpenSSL\s(\d+\.\d+)\.\d+/.exec(e); + if (r) { + let t = `${r[1]}.x`; + return zo(t); + } + } + __name(Xu, "Xu"); + function Wo(e) { + let r = /libssl\.so\.(\d)(\.\d)?/.exec(e); + if (r) { + let t = `${r[1]}${r[2] ?? ".0"}.x`; + return zo(t); + } + } + __name(Wo, "Wo"); + function zo(e) { + let r = (() => { + if (Xo(e)) return e; + let t = e.split("."); + return t[1] = "0", t.join("."); + })(); + if (Yu.includes(r)) return r; + } + __name(zo, "zo"); + function ec(e) { + return hr(e).with({ familyDistro: "musl" }, () => (ee('Trying platform-specific paths for "alpine"'), ["/lib", "/usr/lib"])).with({ familyDistro: "debian" }, ({ archFromUname: r }) => (ee('Trying platform-specific paths for "debian" (and "ubuntu")'), [`/usr/lib/${r}-linux-gnu`, `/lib/${r}-linux-gnu`])).with({ familyDistro: "rhel" }, () => (ee('Trying platform-specific paths for "rhel"'), ["/lib64", "/usr/lib64"])).otherwise(({ familyDistro: r, arch: t, archFromUname: n }) => (ee(`Don't know any platform-specific paths for "${r}" on ${t} (${n})`), [])); + } + __name(ec, "ec"); + async function rc(e) { + let r = 'grep -v "libssl.so.0"', t = await Jo(e); + if (t) { + ee(`Found libssl.so file using platform-specific paths: ${t}`); + let o = Wo(t); + if (ee(`The parsed libssl version is: ${o}`), o) return { libssl: o, strategy: "libssl-specific-path" }; + } + ee('Falling back to "ldconfig" and other generic paths'); + let n = await Yt(`ldconfig -p | sed "s/.*=>s*//" | sed "s|.*/||" | grep libssl | sort | ${r}`); + if (n || (n = await Jo(["/lib64", "/usr/lib64", "/lib", "/usr/lib"])), n) { + ee(`Found libssl.so file using "ldconfig" or other generic paths: ${n}`); + let o = Wo(n); + if (ee(`The parsed libssl version is: ${o}`), o) return { libssl: o, strategy: "ldconfig" }; + } + let i = await Yt("openssl version -v"); + if (i) { + ee(`Found openssl binary with version: ${i}`); + let o = Xu(i); + if (ee(`The parsed openssl version is: ${o}`), o) return { libssl: o, strategy: "openssl-binary" }; + } + return ee("Couldn't find any version of libssl or OpenSSL in the system"), {}; + } + __name(rc, "rc"); + async function Jo(e) { + for (let r of e) { + let t = await tc(r); + if (t) return t; + } + } + __name(Jo, "Jo"); + async function tc(e) { + try { + return (await mi.default.readdir(e)).find((t) => t.startsWith("libssl.so.") && !t.startsWith("libssl.so.0")); + } catch (r) { + if (r.code === "ENOENT") return; + throw r; + } + } + __name(tc, "tc"); + async function ir() { + let { binaryTarget: e } = await Zo(); + return e; + } + __name(ir, "ir"); + function nc(e) { + return e.binaryTarget !== void 0; + } + __name(nc, "nc"); + async function fi() { + let { memoized: e, ...r } = await Zo(); + return r; + } + __name(fi, "fi"); + var Kt = {}; + async function Zo() { + if (nc(Kt)) return Promise.resolve({ ...Kt, memoized: true }); + let e = await Yo(), r = ic(e); + return Kt = { ...e, binaryTarget: r }, { ...Kt, memoized: false }; + } + __name(Zo, "Zo"); + function ic(e) { + let { platform: r, arch: t, archFromUname: n, libssl: i, targetDistro: o, familyDistro: s, originalDistro: a } = e; + r === "linux" && !["x64", "arm64"].includes(t) && Jt(`Prisma only officially supports Linux on amd64 (x86_64) and arm64 (aarch64) system architectures (detected "${t}" instead). If you are using your own custom Prisma engines, you can ignore this warning, as long as you've compiled the engines for your system architecture "${n}".`); + let l = "1.1.x"; + if (r === "linux" && i === void 0) { + let c = hr({ familyDistro: s }).with({ familyDistro: "debian" }, () => "Please manually install OpenSSL via `apt-get update -y && apt-get install -y openssl` and try installing Prisma again. If you're running Prisma on Docker, add this command to your Dockerfile, or switch to an image that already has OpenSSL installed.").otherwise(() => "Please manually install OpenSSL and try installing Prisma again."); + Jt(`Prisma failed to detect the libssl/openssl version to use, and may not work as expected. Defaulting to "openssl-${l}". +${c}`); + } + let u = "debian"; + if (r === "linux" && o === void 0 && ee(`Distro is "${a}". Falling back to Prisma engines built for "${u}".`), r === "darwin" && t === "arm64") return "darwin-arm64"; + if (r === "darwin") return "darwin"; + if (r === "win32") return "windows"; + if (r === "freebsd") return o; + if (r === "openbsd") return "openbsd"; + if (r === "netbsd") return "netbsd"; + if (r === "linux" && o === "nixos") return "linux-nixos"; + if (r === "linux" && t === "arm64") return `${o === "musl" ? "linux-musl-arm64" : "linux-arm64"}-openssl-${i || l}`; + if (r === "linux" && t === "arm") return `linux-arm-openssl-${i || l}`; + if (r === "linux" && o === "musl") { + let c = "linux-musl"; + return !i || Xo(i) ? c : `${c}-openssl-${i}`; + } + return r === "linux" && o && i ? `${o}-openssl-${i}` : (r !== "linux" && Jt(`Prisma detected unknown OS "${r}" and may not work as expected. Defaulting to "linux".`), i ? `${u}-openssl-${i}` : o ? `${o}-openssl-${l}` : `${u}-openssl-${l}`); + } + __name(ic, "ic"); + async function oc(e) { + try { + return await e(); + } catch { + return; + } + } + __name(oc, "oc"); + function Yt(e) { + return oc(async () => { + let r = await Hu(e); + return ee(`Command "${e}" successfully returned "${r.stdout}"`), r.stdout; + }); + } + __name(Yt, "Yt"); + async function sc() { + return typeof Ht.default.machine == "function" ? Ht.default.machine() : (await Yt("uname -m"))?.trim(); + } + __name(sc, "sc"); + function Xo(e) { + return e.startsWith("1."); + } + __name(Xo, "Xo"); + var Xt = {}; + tr(Xt, { beep: /* @__PURE__ */ __name(() => kc, "beep"), clearScreen: /* @__PURE__ */ __name(() => Cc, "clearScreen"), clearTerminal: /* @__PURE__ */ __name(() => Ic, "clearTerminal"), cursorBackward: /* @__PURE__ */ __name(() => mc, "cursorBackward"), cursorDown: /* @__PURE__ */ __name(() => pc, "cursorDown"), cursorForward: /* @__PURE__ */ __name(() => dc, "cursorForward"), cursorGetPosition: /* @__PURE__ */ __name(() => hc, "cursorGetPosition"), cursorHide: /* @__PURE__ */ __name(() => Ec, "cursorHide"), cursorLeft: /* @__PURE__ */ __name(() => ts, "cursorLeft"), cursorMove: /* @__PURE__ */ __name(() => cc, "cursorMove"), cursorNextLine: /* @__PURE__ */ __name(() => yc, "cursorNextLine"), cursorPrevLine: /* @__PURE__ */ __name(() => bc, "cursorPrevLine"), cursorRestorePosition: /* @__PURE__ */ __name(() => gc, "cursorRestorePosition"), cursorSavePosition: /* @__PURE__ */ __name(() => fc, "cursorSavePosition"), cursorShow: /* @__PURE__ */ __name(() => wc, "cursorShow"), cursorTo: /* @__PURE__ */ __name(() => uc, "cursorTo"), cursorUp: /* @__PURE__ */ __name(() => rs, "cursorUp"), enterAlternativeScreen: /* @__PURE__ */ __name(() => Dc, "enterAlternativeScreen"), eraseDown: /* @__PURE__ */ __name(() => Tc, "eraseDown"), eraseEndLine: /* @__PURE__ */ __name(() => vc, "eraseEndLine"), eraseLine: /* @__PURE__ */ __name(() => ns, "eraseLine"), eraseLines: /* @__PURE__ */ __name(() => xc, "eraseLines"), eraseScreen: /* @__PURE__ */ __name(() => gi, "eraseScreen"), eraseStartLine: /* @__PURE__ */ __name(() => Pc, "eraseStartLine"), eraseUp: /* @__PURE__ */ __name(() => Sc, "eraseUp"), exitAlternativeScreen: /* @__PURE__ */ __name(() => Oc, "exitAlternativeScreen"), iTerm: /* @__PURE__ */ __name(() => Lc, "iTerm"), image: /* @__PURE__ */ __name(() => Nc, "image"), link: /* @__PURE__ */ __name(() => _c, "link"), scrollDown: /* @__PURE__ */ __name(() => Ac, "scrollDown"), scrollUp: /* @__PURE__ */ __name(() => Rc, "scrollUp") }); + var Zt = O(require("node:process"), 1); + var zt = globalThis.window?.document !== void 0; + var gg = globalThis.process?.versions?.node !== void 0; + var hg = globalThis.process?.versions?.bun !== void 0; + var yg = globalThis.Deno?.version?.deno !== void 0; + var bg = globalThis.process?.versions?.electron !== void 0; + var Eg = globalThis.navigator?.userAgent?.includes("jsdom") === true; + var wg = typeof WorkerGlobalScope < "u" && globalThis instanceof WorkerGlobalScope; + var xg = typeof DedicatedWorkerGlobalScope < "u" && globalThis instanceof DedicatedWorkerGlobalScope; + var vg = typeof SharedWorkerGlobalScope < "u" && globalThis instanceof SharedWorkerGlobalScope; + var Pg = typeof ServiceWorkerGlobalScope < "u" && globalThis instanceof ServiceWorkerGlobalScope; + var Xr = globalThis.navigator?.userAgentData?.platform; + var Tg = Xr === "macOS" || globalThis.navigator?.platform === "MacIntel" || globalThis.navigator?.userAgent?.includes(" Mac ") === true || globalThis.process?.platform === "darwin"; + var Sg = Xr === "Windows" || globalThis.navigator?.platform === "Win32" || globalThis.process?.platform === "win32"; + var Rg = Xr === "Linux" || globalThis.navigator?.platform?.startsWith("Linux") === true || globalThis.navigator?.userAgent?.includes(" Linux ") === true || globalThis.process?.platform === "linux"; + var Ag = Xr === "iOS" || globalThis.navigator?.platform === "MacIntel" && globalThis.navigator?.maxTouchPoints > 1 || /iPad|iPhone|iPod/.test(globalThis.navigator?.platform); + var Cg = Xr === "Android" || globalThis.navigator?.platform === "Android" || globalThis.navigator?.userAgent?.includes(" Android ") === true || globalThis.process?.platform === "android"; + var C = "\x1B["; + var rt = "\x1B]"; + var yr = "\x07"; + var et = ";"; + var es = !zt && Zt.default.env.TERM_PROGRAM === "Apple_Terminal"; + var ac = !zt && Zt.default.platform === "win32"; + var lc = zt ? () => { + throw new Error("`process.cwd()` only works in Node.js, not the browser."); + } : Zt.default.cwd; + var uc = /* @__PURE__ */ __name((e, r) => { + if (typeof e != "number") throw new TypeError("The `x` argument is required"); + return typeof r != "number" ? C + (e + 1) + "G" : C + (r + 1) + et + (e + 1) + "H"; + }, "uc"); + var cc = /* @__PURE__ */ __name((e, r) => { + if (typeof e != "number") throw new TypeError("The `x` argument is required"); + let t = ""; + return e < 0 ? t += C + -e + "D" : e > 0 && (t += C + e + "C"), r < 0 ? t += C + -r + "A" : r > 0 && (t += C + r + "B"), t; + }, "cc"); + var rs = /* @__PURE__ */ __name((e = 1) => C + e + "A", "rs"); + var pc = /* @__PURE__ */ __name((e = 1) => C + e + "B", "pc"); + var dc = /* @__PURE__ */ __name((e = 1) => C + e + "C", "dc"); + var mc = /* @__PURE__ */ __name((e = 1) => C + e + "D", "mc"); + var ts = C + "G"; + var fc = es ? "\x1B7" : C + "s"; + var gc = es ? "\x1B8" : C + "u"; + var hc = C + "6n"; + var yc = C + "E"; + var bc = C + "F"; + var Ec = C + "?25l"; + var wc = C + "?25h"; + var xc = /* @__PURE__ */ __name((e) => { + let r = ""; + for (let t = 0; t < e; t++) r += ns + (t < e - 1 ? rs() : ""); + return e && (r += ts), r; + }, "xc"); + var vc = C + "K"; + var Pc = C + "1K"; + var ns = C + "2K"; + var Tc = C + "J"; + var Sc = C + "1J"; + var gi = C + "2J"; + var Rc = C + "S"; + var Ac = C + "T"; + var Cc = "\x1Bc"; + var Ic = ac ? `${gi}${C}0f` : `${gi}${C}3J${C}H`; + var Dc = C + "?1049h"; + var Oc = C + "?1049l"; + var kc = yr; + var _c = /* @__PURE__ */ __name((e, r) => [rt, "8", et, et, r, yr, e, rt, "8", et, et, yr].join(""), "_c"); + var Nc = /* @__PURE__ */ __name((e, r = {}) => { + let t = `${rt}1337;File=inline=1`; + return r.width && (t += `;width=${r.width}`), r.height && (t += `;height=${r.height}`), r.preserveAspectRatio === false && (t += ";preserveAspectRatio=0"), t + ":" + Buffer.from(e).toString("base64") + yr; + }, "Nc"); + var Lc = { setCwd: /* @__PURE__ */ __name((e = lc()) => `${rt}50;CurrentDir=${e}${yr}`, "setCwd"), annotation(e, r = {}) { + let t = `${rt}1337;`, n = r.x !== void 0, i = r.y !== void 0; + if ((n || i) && !(n && i && r.length !== void 0)) throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined"); + return e = e.replaceAll("|", ""), t += r.isHidden ? "AddHiddenAnnotation=" : "AddAnnotation=", r.length > 0 ? t += (n ? [e, r.length, r.x, r.y] : [r.length, e]).join("|") : t += e, t + yr; + } }; + var en = O(cs(), 1); + function or(e, r, { target: t = "stdout", ...n } = {}) { + return en.default[t] ? Xt.link(e, r) : n.fallback === false ? e : typeof n.fallback == "function" ? n.fallback(e, r) : `${e} (\u200B${r}\u200B)`; + } + __name(or, "or"); + or.isSupported = en.default.stdout; + or.stderr = (e, r, t = {}) => or(e, r, { target: "stderr", ...t }); + or.stderr.isSupported = en.default.stderr; + function wi(e) { + return or(e, e, { fallback: Y }); + } + __name(wi, "wi"); + var Vc = ps(); + var xi = Vc.version; + function Er(e) { + let r = jc(); + return r || (e?.config.engineType === "library" ? "library" : e?.config.engineType === "binary" ? "binary" : e?.config.engineType === "client" ? "client" : Bc()); + } + __name(Er, "Er"); + function jc() { + let e = process.env.PRISMA_CLIENT_ENGINE_TYPE; + return e === "library" ? "library" : e === "binary" ? "binary" : e === "client" ? "client" : void 0; + } + __name(jc, "jc"); + function Bc() { + return "library"; + } + __name(Bc, "Bc"); + function vi(e) { + return e.name === "DriverAdapterError" && typeof e.cause == "object"; + } + __name(vi, "vi"); + function rn(e) { + return { ok: true, value: e, map(r) { + return rn(r(e)); + }, flatMap(r) { + return r(e); + } }; + } + __name(rn, "rn"); + function sr(e) { + return { ok: false, error: e, map() { + return sr(e); + }, flatMap() { + return sr(e); + } }; + } + __name(sr, "sr"); + var ds = N("driver-adapter-utils"); + var Pi = class { + static { + __name(this, "Pi"); + } + registeredErrors = []; + consumeError(r) { + return this.registeredErrors[r]; + } + registerNewError(r) { + let t = 0; + for (; this.registeredErrors[t] !== void 0; ) t++; + return this.registeredErrors[t] = { error: r }, t; + } + }; + var tn = /* @__PURE__ */ __name((e, r = new Pi()) => { + let t = { adapterName: e.adapterName, errorRegistry: r, queryRaw: ke(r, e.queryRaw.bind(e)), executeRaw: ke(r, e.executeRaw.bind(e)), executeScript: ke(r, e.executeScript.bind(e)), dispose: ke(r, e.dispose.bind(e)), provider: e.provider, startTransaction: /* @__PURE__ */ __name(async (...n) => (await ke(r, e.startTransaction.bind(e))(...n)).map((o) => Uc(r, o)), "startTransaction") }; + return e.getConnectionInfo && (t.getConnectionInfo = Gc(r, e.getConnectionInfo.bind(e))), t; + }, "tn"); + var Uc = /* @__PURE__ */ __name((e, r) => ({ adapterName: r.adapterName, provider: r.provider, options: r.options, queryRaw: ke(e, r.queryRaw.bind(r)), executeRaw: ke(e, r.executeRaw.bind(r)), commit: ke(e, r.commit.bind(r)), rollback: ke(e, r.rollback.bind(r)) }), "Uc"); + function ke(e, r) { + return async (...t) => { + try { + return rn(await r(...t)); + } catch (n) { + if (ds("[error@wrapAsync]", n), vi(n)) return sr(n.cause); + let i = e.registerNewError(n); + return sr({ kind: "GenericJs", id: i }); + } + }; + } + __name(ke, "ke"); + function Gc(e, r) { + return (...t) => { + try { + return rn(r(...t)); + } catch (n) { + if (ds("[error@wrapSync]", n), vi(n)) return sr(n.cause); + let i = e.registerNewError(n); + return sr({ kind: "GenericJs", id: i }); + } + }; + } + __name(Gc, "Gc"); + var Wc = O(on()); + var M = O(require("node:path")); + var Jc = O(on()); + var wh = N("prisma:engines"); + function ms() { + return M.default.join(__dirname, "../"); + } + __name(ms, "ms"); + M.default.join(__dirname, "../query-engine-darwin"); + M.default.join(__dirname, "../query-engine-darwin-arm64"); + M.default.join(__dirname, "../query-engine-debian-openssl-1.0.x"); + M.default.join(__dirname, "../query-engine-debian-openssl-1.1.x"); + M.default.join(__dirname, "../query-engine-debian-openssl-3.0.x"); + M.default.join(__dirname, "../query-engine-linux-static-x64"); + M.default.join(__dirname, "../query-engine-linux-static-arm64"); + M.default.join(__dirname, "../query-engine-rhel-openssl-1.0.x"); + M.default.join(__dirname, "../query-engine-rhel-openssl-1.1.x"); + M.default.join(__dirname, "../query-engine-rhel-openssl-3.0.x"); + M.default.join(__dirname, "../libquery_engine-darwin.dylib.node"); + M.default.join(__dirname, "../libquery_engine-darwin-arm64.dylib.node"); + M.default.join(__dirname, "../libquery_engine-debian-openssl-1.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-debian-openssl-1.1.x.so.node"); + M.default.join(__dirname, "../libquery_engine-debian-openssl-3.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-linux-arm64-openssl-1.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-linux-arm64-openssl-1.1.x.so.node"); + M.default.join(__dirname, "../libquery_engine-linux-arm64-openssl-3.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-linux-musl.so.node"); + M.default.join(__dirname, "../libquery_engine-linux-musl-openssl-3.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-rhel-openssl-1.0.x.so.node"); + M.default.join(__dirname, "../libquery_engine-rhel-openssl-1.1.x.so.node"); + M.default.join(__dirname, "../libquery_engine-rhel-openssl-3.0.x.so.node"); + M.default.join(__dirname, "../query_engine-windows.dll.node"); + var Si = O(require("node:fs")); + var fs = gr("chmodPlusX"); + function Ri(e) { + if (process.platform === "win32") return; + let r = Si.default.statSync(e), t = r.mode | 64 | 8 | 1; + if (r.mode === t) { + fs(`Execution permissions of ${e} are fine`); + return; + } + let n = t.toString(8).slice(-3); + fs(`Have to call chmodPlusX on ${e}`), Si.default.chmodSync(e, n); + } + __name(Ri, "Ri"); + function Ai(e) { + let r = e.e, t = /* @__PURE__ */ __name((a) => `Prisma cannot find the required \`${a}\` system library in your system`, "t"), n = r.message.includes("cannot open shared object file"), i = `Please refer to the documentation about Prisma's system requirements: ${wi("https://pris.ly/d/system-requirements")}`, o = `Unable to require(\`${Ce(e.id)}\`).`, s = hr({ message: r.message, code: r.code }).with({ code: "ENOENT" }, () => "File does not exist.").when(({ message: a }) => n && a.includes("libz"), () => `${t("libz")}. Please install it and try again.`).when(({ message: a }) => n && a.includes("libgcc_s"), () => `${t("libgcc_s")}. Please install it and try again.`).when(({ message: a }) => n && a.includes("libssl"), () => { + let a = e.platformInfo.libssl ? `openssl-${e.platformInfo.libssl}` : "openssl"; + return `${t("libssl")}. Please install ${a} and try again.`; + }).when(({ message: a }) => a.includes("GLIBC"), () => `Prisma has detected an incompatible version of the \`glibc\` C standard library installed in your system. This probably means your system may be too old to run Prisma. ${i}`).when(({ message: a }) => e.platformInfo.platform === "linux" && a.includes("symbol not found"), () => `The Prisma engines are not compatible with your system ${e.platformInfo.originalDistro} on (${e.platformInfo.archFromUname}) which uses the \`${e.platformInfo.binaryTarget}\` binaryTarget by default. ${i}`).otherwise(() => `The Prisma engines do not seem to be compatible with your system. ${i}`); + return `${o} +${s} + +Details: ${r.message}`; + } + __name(Ai, "Ai"); + var ys = O(hs(), 1); + function Ci(e) { + let r = (0, ys.default)(e); + if (r === 0) return e; + let t = new RegExp(`^[ \\t]{${r}}`, "gm"); + return e.replace(t, ""); + } + __name(Ci, "Ci"); + var bs = "prisma+postgres"; + var sn = `${bs}:`; + function an(e) { + return e?.toString().startsWith(`${sn}//`) ?? false; + } + __name(an, "an"); + function Ii(e) { + if (!an(e)) return false; + let { host: r } = new URL(e); + return r.includes("localhost") || r.includes("127.0.0.1") || r.includes("[::1]"); + } + __name(Ii, "Ii"); + var ws = O(Di()); + function ki(e) { + return String(new Oi(e)); + } + __name(ki, "ki"); + var Oi = class { + static { + __name(this, "Oi"); + } + constructor(r) { + this.config = r; + } + toString() { + let { config: r } = this, t = r.provider.fromEnvVar ? `env("${r.provider.fromEnvVar}")` : r.provider.value, n = JSON.parse(JSON.stringify({ provider: t, binaryTargets: Kc(r.binaryTargets) })); + return `generator ${r.name} { +${(0, ws.default)(Hc(n), 2)} +}`; + } + }; + function Kc(e) { + let r; + if (e.length > 0) { + let t = e.find((n) => n.fromEnvVar !== null); + t ? r = `env("${t.fromEnvVar}")` : r = e.map((n) => n.native ? "native" : n.value); + } else r = void 0; + return r; + } + __name(Kc, "Kc"); + function Hc(e) { + let r = Object.keys(e).reduce((t, n) => Math.max(t, n.length), 0); + return Object.entries(e).map(([t, n]) => `${t.padEnd(r)} = ${Yc(n)}`).join(` +`); + } + __name(Hc, "Hc"); + function Yc(e) { + return JSON.parse(JSON.stringify(e, (r, t) => Array.isArray(t) ? `[${t.map((n) => JSON.stringify(n)).join(", ")}]` : JSON.stringify(t))); + } + __name(Yc, "Yc"); + var nt = {}; + tr(nt, { error: /* @__PURE__ */ __name(() => Xc, "error"), info: /* @__PURE__ */ __name(() => Zc, "info"), log: /* @__PURE__ */ __name(() => zc, "log"), query: /* @__PURE__ */ __name(() => ep, "query"), should: /* @__PURE__ */ __name(() => xs, "should"), tags: /* @__PURE__ */ __name(() => tt, "tags"), warn: /* @__PURE__ */ __name(() => _i, "warn") }); + var tt = { error: ce("prisma:error"), warn: Ie("prisma:warn"), info: De("prisma:info"), query: nr("prisma:query") }; + var xs = { warn: /* @__PURE__ */ __name(() => !process.env.PRISMA_DISABLE_WARNINGS, "warn") }; + function zc(...e) { + console.log(...e); + } + __name(zc, "zc"); + function _i(e, ...r) { + xs.warn() && console.warn(`${tt.warn} ${e}`, ...r); + } + __name(_i, "_i"); + function Zc(e, ...r) { + console.info(`${tt.info} ${e}`, ...r); + } + __name(Zc, "Zc"); + function Xc(e, ...r) { + console.error(`${tt.error} ${e}`, ...r); + } + __name(Xc, "Xc"); + function ep(e, ...r) { + console.log(`${tt.query} ${e}`, ...r); + } + __name(ep, "ep"); + function ln(e, r) { + if (!e) throw new Error(`${r}. This should never happen. If you see this error, please, open an issue at https://pris.ly/prisma-prisma-bug-report`); + } + __name(ln, "ln"); + function ar(e, r) { + throw new Error(r); + } + __name(ar, "ar"); + function Ni({ onlyFirst: e = false } = {}) { + let t = ["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))", "(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|"); + return new RegExp(t, e ? void 0 : "g"); + } + __name(Ni, "Ni"); + var rp = Ni(); + function wr(e) { + if (typeof e != "string") throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``); + return e.replace(rp, ""); + } + __name(wr, "wr"); + var it = O(require("node:path")); + function Li(e) { + return it.default.sep === it.default.posix.sep ? e : e.split(it.default.sep).join(it.default.posix.sep); + } + __name(Li, "Li"); + var qi = O(As()); + var un = O(require("node:fs")); + var xr = O(require("node:path")); + function Cs(e) { + let r = e.ignoreProcessEnv ? {} : process.env, t = /* @__PURE__ */ __name((n) => n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o, s) { + let a = /(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s); + if (!a) return o; + let l = a[1], u, c; + if (l === "\\") c = a[0], u = c.replace("\\$", "$"); + else { + let p = a[2]; + c = a[0].substring(l.length), u = Object.hasOwnProperty.call(r, p) ? r[p] : e.parsed[p] || "", u = t(u); + } + return o.replace(c, u); + }, n) ?? n, "t"); + for (let n in e.parsed) { + let i = Object.hasOwnProperty.call(r, n) ? r[n] : e.parsed[n]; + e.parsed[n] = t(i); + } + for (let n in e.parsed) r[n] = e.parsed[n]; + return e; + } + __name(Cs, "Cs"); + var $i = gr("prisma:tryLoadEnv"); + function st({ rootEnvPath: e, schemaEnvPath: r }, t = { conflictCheck: "none" }) { + let n = Is(e); + t.conflictCheck !== "none" && hp(n, r, t.conflictCheck); + let i = null; + return Ds(n?.path, r) || (i = Is(r)), !n && !i && $i("No Environment variables loaded"), i?.dotenvResult.error ? console.error(ce(W("Schema Env Error: ")) + i.dotenvResult.error) : { message: [n?.message, i?.message].filter(Boolean).join(` +`), parsed: { ...n?.dotenvResult?.parsed, ...i?.dotenvResult?.parsed } }; + } + __name(st, "st"); + function hp(e, r, t) { + let n = e?.dotenvResult.parsed, i = !Ds(e?.path, r); + if (n && r && i && un.default.existsSync(r)) { + let o = qi.default.parse(un.default.readFileSync(r)), s = []; + for (let a in o) n[a] === o[a] && s.push(a); + if (s.length > 0) { + let a = xr.default.relative(process.cwd(), e.path), l = xr.default.relative(process.cwd(), r); + if (t === "error") { + let u = `There is a conflict between env var${s.length > 1 ? "s" : ""} in ${Y(a)} and ${Y(l)} +Conflicting env vars: +${s.map((c) => ` ${W(c)}`).join(` +`)} + +We suggest to move the contents of ${Y(l)} to ${Y(a)} to consolidate your env vars. +`; + throw new Error(u); + } else if (t === "warn") { + let u = `Conflict for env var${s.length > 1 ? "s" : ""} ${s.map((c) => W(c)).join(", ")} in ${Y(a)} and ${Y(l)} +Env vars from ${Y(l)} overwrite the ones from ${Y(a)} + `; + console.warn(`${Ie("warn(prisma)")} ${u}`); + } + } + } + } + __name(hp, "hp"); + function Is(e) { + if (yp(e)) { + $i(`Environment variables loaded from ${e}`); + let r = qi.default.config({ path: e, debug: process.env.DOTENV_CONFIG_DEBUG ? true : void 0 }); + return { dotenvResult: Cs(r), message: Ce(`Environment variables loaded from ${xr.default.relative(process.cwd(), e)}`), path: e }; + } else $i(`Environment variables not found at ${e}`); + return null; + } + __name(Is, "Is"); + function Ds(e, r) { + return e && r && xr.default.resolve(e) === xr.default.resolve(r); + } + __name(Ds, "Ds"); + function yp(e) { + return !!(e && un.default.existsSync(e)); + } + __name(yp, "yp"); + function Vi(e, r) { + return Object.prototype.hasOwnProperty.call(e, r); + } + __name(Vi, "Vi"); + function pn(e, r) { + let t = {}; + for (let n of Object.keys(e)) t[n] = r(e[n], n); + return t; + } + __name(pn, "pn"); + function ji(e, r) { + if (e.length === 0) return; + let t = e[0]; + for (let n = 1; n < e.length; n++) r(t, e[n]) < 0 && (t = e[n]); + return t; + } + __name(ji, "ji"); + function x(e, r) { + Object.defineProperty(e, "name", { value: r, configurable: true }); + } + __name(x, "x"); + var ks = /* @__PURE__ */ new Set(); + var at = /* @__PURE__ */ __name((e, r, ...t) => { + ks.has(e) || (ks.add(e), _i(r, ...t)); + }, "at"); + var P = class e extends Error { + static { + __name(this, "e"); + } + clientVersion; + errorCode; + retryable; + constructor(r, t, n) { + super(r), this.name = "PrismaClientInitializationError", this.clientVersion = t, this.errorCode = n, Error.captureStackTrace(e); + } + get [Symbol.toStringTag]() { + return "PrismaClientInitializationError"; + } + }; + x(P, "PrismaClientInitializationError"); + var z = class extends Error { + static { + __name(this, "z"); + } + code; + meta; + clientVersion; + batchRequestIdx; + constructor(r, { code: t, clientVersion: n, meta: i, batchRequestIdx: o }) { + super(r), this.name = "PrismaClientKnownRequestError", this.code = t, this.clientVersion = n, this.meta = i, Object.defineProperty(this, "batchRequestIdx", { value: o, enumerable: false, writable: true }); + } + get [Symbol.toStringTag]() { + return "PrismaClientKnownRequestError"; + } + }; + x(z, "PrismaClientKnownRequestError"); + var ae = class extends Error { + static { + __name(this, "ae"); + } + clientVersion; + constructor(r, t) { + super(r), this.name = "PrismaClientRustPanicError", this.clientVersion = t; + } + get [Symbol.toStringTag]() { + return "PrismaClientRustPanicError"; + } + }; + x(ae, "PrismaClientRustPanicError"); + var V = class extends Error { + static { + __name(this, "V"); + } + clientVersion; + batchRequestIdx; + constructor(r, { clientVersion: t, batchRequestIdx: n }) { + super(r), this.name = "PrismaClientUnknownRequestError", this.clientVersion = t, Object.defineProperty(this, "batchRequestIdx", { value: n, writable: true, enumerable: false }); + } + get [Symbol.toStringTag]() { + return "PrismaClientUnknownRequestError"; + } + }; + x(V, "PrismaClientUnknownRequestError"); + var Z = class extends Error { + static { + __name(this, "Z"); + } + name = "PrismaClientValidationError"; + clientVersion; + constructor(r, { clientVersion: t }) { + super(r), this.clientVersion = t; + } + get [Symbol.toStringTag]() { + return "PrismaClientValidationError"; + } + }; + x(Z, "PrismaClientValidationError"); + var we = class { + static { + __name(this, "we"); + } + _map = /* @__PURE__ */ new Map(); + get(r) { + return this._map.get(r)?.value; + } + set(r, t) { + this._map.set(r, { value: t }); + } + getOrCreate(r, t) { + let n = this._map.get(r); + if (n) return n.value; + let i = t(); + return this.set(r, i), i; + } + }; + function We(e) { + return e.substring(0, 1).toLowerCase() + e.substring(1); + } + __name(We, "We"); + function _s(e, r) { + let t = {}; + for (let n of e) { + let i = n[r]; + t[i] = n; + } + return t; + } + __name(_s, "_s"); + function lt(e) { + let r; + return { get() { + return r || (r = { value: e() }), r.value; + } }; + } + __name(lt, "lt"); + function Ns(e) { + return { models: Bi(e.models), enums: Bi(e.enums), types: Bi(e.types) }; + } + __name(Ns, "Ns"); + function Bi(e) { + let r = {}; + for (let { name: t, ...n } of e) r[t] = n; + return r; + } + __name(Bi, "Bi"); + function vr(e) { + return e instanceof Date || Object.prototype.toString.call(e) === "[object Date]"; + } + __name(vr, "vr"); + function mn(e) { + return e.toString() !== "Invalid Date"; + } + __name(mn, "mn"); + var Pr = 9e15; + var Ye = 1e9; + var Ui = "0123456789abcdef"; + var hn = "2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058"; + var yn = "3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789"; + var Gi = { precision: 20, rounding: 4, modulo: 1, toExpNeg: -7, toExpPos: 21, minE: -Pr, maxE: Pr, crypto: false }; + var $s; + var Ne; + var w = true; + var En = "[DecimalError] "; + var He = En + "Invalid argument: "; + var qs = En + "Precision limit exceeded"; + var Vs = En + "crypto unavailable"; + var js = "[object Decimal]"; + var X = Math.floor; + var U = Math.pow; + var bp = /^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i; + var Ep = /^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i; + var wp = /^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i; + var Bs = /^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i; + var fe = 1e7; + var E = 7; + var xp = 9007199254740991; + var vp = hn.length - 1; + var Qi = yn.length - 1; + var m = { toStringTag: js }; + m.absoluteValue = m.abs = function() { + var e = new this.constructor(this); + return e.s < 0 && (e.s = 1), y(e); + }; + m.ceil = function() { + return y(new this.constructor(this), this.e + 1, 2); + }; + m.clampedTo = m.clamp = function(e, r) { + var t, n = this, i = n.constructor; + if (e = new i(e), r = new i(r), !e.s || !r.s) return new i(NaN); + if (e.gt(r)) throw Error(He + r); + return t = n.cmp(e), t < 0 ? e : n.cmp(r) > 0 ? r : new i(n); + }; + m.comparedTo = m.cmp = function(e) { + var r, t, n, i, o = this, s = o.d, a = (e = new o.constructor(e)).d, l = o.s, u = e.s; + if (!s || !a) return !l || !u ? NaN : l !== u ? l : s === a ? 0 : !s ^ l < 0 ? 1 : -1; + if (!s[0] || !a[0]) return s[0] ? l : a[0] ? -u : 0; + if (l !== u) return l; + if (o.e !== e.e) return o.e > e.e ^ l < 0 ? 1 : -1; + for (n = s.length, i = a.length, r = 0, t = n < i ? n : i; r < t; ++r) if (s[r] !== a[r]) return s[r] > a[r] ^ l < 0 ? 1 : -1; + return n === i ? 0 : n > i ^ l < 0 ? 1 : -1; + }; + m.cosine = m.cos = function() { + var e, r, t = this, n = t.constructor; + return t.d ? t.d[0] ? (e = n.precision, r = n.rounding, n.precision = e + Math.max(t.e, t.sd()) + E, n.rounding = 1, t = Pp(n, Js(n, t)), n.precision = e, n.rounding = r, y(Ne == 2 || Ne == 3 ? t.neg() : t, e, r, true)) : new n(1) : new n(NaN); + }; + m.cubeRoot = m.cbrt = function() { + var e, r, t, n, i, o, s, a, l, u, c = this, p = c.constructor; + if (!c.isFinite() || c.isZero()) return new p(c); + for (w = false, o = c.s * U(c.s * c, 1 / 3), !o || Math.abs(o) == 1 / 0 ? (t = J(c.d), e = c.e, (o = (e - t.length + 1) % 3) && (t += o == 1 || o == -2 ? "0" : "00"), o = U(t, 1 / 3), e = X((e + 1) / 3) - (e % 3 == (e < 0 ? -1 : 2)), o == 1 / 0 ? t = "5e" + e : (t = o.toExponential(), t = t.slice(0, t.indexOf("e") + 1) + e), n = new p(t), n.s = c.s) : n = new p(o.toString()), s = (e = p.precision) + 3; ; ) if (a = n, l = a.times(a).times(a), u = l.plus(c), n = L(u.plus(c).times(a), u.plus(l), s + 2, 1), J(a.d).slice(0, s) === (t = J(n.d)).slice(0, s)) if (t = t.slice(s - 3, s + 1), t == "9999" || !i && t == "4999") { + if (!i && (y(a, e + 1, 0), a.times(a).times(a).eq(c))) { + n = a; + break; + } + s += 4, i = 1; + } else { + (!+t || !+t.slice(1) && t.charAt(0) == "5") && (y(n, e + 1, 1), r = !n.times(n).times(n).eq(c)); + break; + } + return w = true, y(n, e, p.rounding, r); + }; + m.decimalPlaces = m.dp = function() { + var e, r = this.d, t = NaN; + if (r) { + if (e = r.length - 1, t = (e - X(this.e / E)) * E, e = r[e], e) for (; e % 10 == 0; e /= 10) t--; + t < 0 && (t = 0); + } + return t; + }; + m.dividedBy = m.div = function(e) { + return L(this, new this.constructor(e)); + }; + m.dividedToIntegerBy = m.divToInt = function(e) { + var r = this, t = r.constructor; + return y(L(r, new t(e), 0, 1, 1), t.precision, t.rounding); + }; + m.equals = m.eq = function(e) { + return this.cmp(e) === 0; + }; + m.floor = function() { + return y(new this.constructor(this), this.e + 1, 3); + }; + m.greaterThan = m.gt = function(e) { + return this.cmp(e) > 0; + }; + m.greaterThanOrEqualTo = m.gte = function(e) { + var r = this.cmp(e); + return r == 1 || r === 0; + }; + m.hyperbolicCosine = m.cosh = function() { + var e, r, t, n, i, o = this, s = o.constructor, a = new s(1); + if (!o.isFinite()) return new s(o.s ? 1 / 0 : NaN); + if (o.isZero()) return a; + t = s.precision, n = s.rounding, s.precision = t + Math.max(o.e, o.sd()) + 4, s.rounding = 1, i = o.d.length, i < 32 ? (e = Math.ceil(i / 3), r = (1 / xn(4, e)).toString()) : (e = 16, r = "2.3283064365386962890625e-10"), o = Tr(s, 1, o.times(r), new s(1), true); + for (var l, u = e, c = new s(8); u--; ) l = o.times(o), o = a.minus(l.times(c.minus(l.times(c)))); + return y(o, s.precision = t, s.rounding = n, true); + }; + m.hyperbolicSine = m.sinh = function() { + var e, r, t, n, i = this, o = i.constructor; + if (!i.isFinite() || i.isZero()) return new o(i); + if (r = o.precision, t = o.rounding, o.precision = r + Math.max(i.e, i.sd()) + 4, o.rounding = 1, n = i.d.length, n < 3) i = Tr(o, 2, i, i, true); + else { + e = 1.4 * Math.sqrt(n), e = e > 16 ? 16 : e | 0, i = i.times(1 / xn(5, e)), i = Tr(o, 2, i, i, true); + for (var s, a = new o(5), l = new o(16), u = new o(20); e--; ) s = i.times(i), i = i.times(a.plus(s.times(l.times(s).plus(u)))); + } + return o.precision = r, o.rounding = t, y(i, r, t, true); + }; + m.hyperbolicTangent = m.tanh = function() { + var e, r, t = this, n = t.constructor; + return t.isFinite() ? t.isZero() ? new n(t) : (e = n.precision, r = n.rounding, n.precision = e + 7, n.rounding = 1, L(t.sinh(), t.cosh(), n.precision = e, n.rounding = r)) : new n(t.s); + }; + m.inverseCosine = m.acos = function() { + var e = this, r = e.constructor, t = e.abs().cmp(1), n = r.precision, i = r.rounding; + return t !== -1 ? t === 0 ? e.isNeg() ? xe(r, n, i) : new r(0) : new r(NaN) : e.isZero() ? xe(r, n + 4, i).times(0.5) : (r.precision = n + 6, r.rounding = 1, e = new r(1).minus(e).div(e.plus(1)).sqrt().atan(), r.precision = n, r.rounding = i, e.times(2)); + }; + m.inverseHyperbolicCosine = m.acosh = function() { + var e, r, t = this, n = t.constructor; + return t.lte(1) ? new n(t.eq(1) ? 0 : NaN) : t.isFinite() ? (e = n.precision, r = n.rounding, n.precision = e + Math.max(Math.abs(t.e), t.sd()) + 4, n.rounding = 1, w = false, t = t.times(t).minus(1).sqrt().plus(t), w = true, n.precision = e, n.rounding = r, t.ln()) : new n(t); + }; + m.inverseHyperbolicSine = m.asinh = function() { + var e, r, t = this, n = t.constructor; + return !t.isFinite() || t.isZero() ? new n(t) : (e = n.precision, r = n.rounding, n.precision = e + 2 * Math.max(Math.abs(t.e), t.sd()) + 6, n.rounding = 1, w = false, t = t.times(t).plus(1).sqrt().plus(t), w = true, n.precision = e, n.rounding = r, t.ln()); + }; + m.inverseHyperbolicTangent = m.atanh = function() { + var e, r, t, n, i = this, o = i.constructor; + return i.isFinite() ? i.e >= 0 ? new o(i.abs().eq(1) ? i.s / 0 : i.isZero() ? i : NaN) : (e = o.precision, r = o.rounding, n = i.sd(), Math.max(n, e) < 2 * -i.e - 1 ? y(new o(i), e, r, true) : (o.precision = t = n - i.e, i = L(i.plus(1), new o(1).minus(i), t + e, 1), o.precision = e + 4, o.rounding = 1, i = i.ln(), o.precision = e, o.rounding = r, i.times(0.5))) : new o(NaN); + }; + m.inverseSine = m.asin = function() { + var e, r, t, n, i = this, o = i.constructor; + return i.isZero() ? new o(i) : (r = i.abs().cmp(1), t = o.precision, n = o.rounding, r !== -1 ? r === 0 ? (e = xe(o, t + 4, n).times(0.5), e.s = i.s, e) : new o(NaN) : (o.precision = t + 6, o.rounding = 1, i = i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(), o.precision = t, o.rounding = n, i.times(2))); + }; + m.inverseTangent = m.atan = function() { + var e, r, t, n, i, o, s, a, l, u = this, c = u.constructor, p = c.precision, d = c.rounding; + if (u.isFinite()) { + if (u.isZero()) return new c(u); + if (u.abs().eq(1) && p + 4 <= Qi) return s = xe(c, p + 4, d).times(0.25), s.s = u.s, s; + } else { + if (!u.s) return new c(NaN); + if (p + 4 <= Qi) return s = xe(c, p + 4, d).times(0.5), s.s = u.s, s; + } + for (c.precision = a = p + 10, c.rounding = 1, t = Math.min(28, a / E + 2 | 0), e = t; e; --e) u = u.div(u.times(u).plus(1).sqrt().plus(1)); + for (w = false, r = Math.ceil(a / E), n = 1, l = u.times(u), s = new c(u), i = u; e !== -1; ) if (i = i.times(l), o = s.minus(i.div(n += 2)), i = i.times(l), s = o.plus(i.div(n += 2)), s.d[r] !== void 0) for (e = r; s.d[e] === o.d[e] && e--; ) ; + return t && (s = s.times(2 << t - 1)), w = true, y(s, c.precision = p, c.rounding = d, true); + }; + m.isFinite = function() { + return !!this.d; + }; + m.isInteger = m.isInt = function() { + return !!this.d && X(this.e / E) > this.d.length - 2; + }; + m.isNaN = function() { + return !this.s; + }; + m.isNegative = m.isNeg = function() { + return this.s < 0; + }; + m.isPositive = m.isPos = function() { + return this.s > 0; + }; + m.isZero = function() { + return !!this.d && this.d[0] === 0; + }; + m.lessThan = m.lt = function(e) { + return this.cmp(e) < 0; + }; + m.lessThanOrEqualTo = m.lte = function(e) { + return this.cmp(e) < 1; + }; + m.logarithm = m.log = function(e) { + var r, t, n, i, o, s, a, l, u = this, c = u.constructor, p = c.precision, d = c.rounding, f = 5; + if (e == null) e = new c(10), r = true; + else { + if (e = new c(e), t = e.d, e.s < 0 || !t || !t[0] || e.eq(1)) return new c(NaN); + r = e.eq(10); + } + if (t = u.d, u.s < 0 || !t || !t[0] || u.eq(1)) return new c(t && !t[0] ? -1 / 0 : u.s != 1 ? NaN : t ? 0 : 1 / 0); + if (r) if (t.length > 1) o = true; + else { + for (i = t[0]; i % 10 === 0; ) i /= 10; + o = i !== 1; + } + if (w = false, a = p + f, s = Ke(u, a), n = r ? bn(c, a + 10) : Ke(e, a), l = L(s, n, a, 1), ut(l.d, i = p, d)) do + if (a += 10, s = Ke(u, a), n = r ? bn(c, a + 10) : Ke(e, a), l = L(s, n, a, 1), !o) { + +J(l.d).slice(i + 1, i + 15) + 1 == 1e14 && (l = y(l, p + 1, 0)); + break; + } + while (ut(l.d, i += 10, d)); + return w = true, y(l, p, d); + }; + m.minus = m.sub = function(e) { + var r, t, n, i, o, s, a, l, u, c, p, d, f = this, h = f.constructor; + if (e = new h(e), !f.d || !e.d) return !f.s || !e.s ? e = new h(NaN) : f.d ? e.s = -e.s : e = new h(e.d || f.s !== e.s ? f : NaN), e; + if (f.s != e.s) return e.s = -e.s, f.plus(e); + if (u = f.d, d = e.d, a = h.precision, l = h.rounding, !u[0] || !d[0]) { + if (d[0]) e.s = -e.s; + else if (u[0]) e = new h(f); + else return new h(l === 3 ? -0 : 0); + return w ? y(e, a, l) : e; + } + if (t = X(e.e / E), c = X(f.e / E), u = u.slice(), o = c - t, o) { + for (p = o < 0, p ? (r = u, o = -o, s = d.length) : (r = d, t = c, s = u.length), n = Math.max(Math.ceil(a / E), s) + 2, o > n && (o = n, r.length = 1), r.reverse(), n = o; n--; ) r.push(0); + r.reverse(); + } else { + for (n = u.length, s = d.length, p = n < s, p && (s = n), n = 0; n < s; n++) if (u[n] != d[n]) { + p = u[n] < d[n]; + break; + } + o = 0; + } + for (p && (r = u, u = d, d = r, e.s = -e.s), s = u.length, n = d.length - s; n > 0; --n) u[s++] = 0; + for (n = d.length; n > o; ) { + if (u[--n] < d[n]) { + for (i = n; i && u[--i] === 0; ) u[i] = fe - 1; + --u[i], u[n] += fe; + } + u[n] -= d[n]; + } + for (; u[--s] === 0; ) u.pop(); + for (; u[0] === 0; u.shift()) --t; + return u[0] ? (e.d = u, e.e = wn(u, t), w ? y(e, a, l) : e) : new h(l === 3 ? -0 : 0); + }; + m.modulo = m.mod = function(e) { + var r, t = this, n = t.constructor; + return e = new n(e), !t.d || !e.s || e.d && !e.d[0] ? new n(NaN) : !e.d || t.d && !t.d[0] ? y(new n(t), n.precision, n.rounding) : (w = false, n.modulo == 9 ? (r = L(t, e.abs(), 0, 3, 1), r.s *= e.s) : r = L(t, e, 0, n.modulo, 1), r = r.times(e), w = true, t.minus(r)); + }; + m.naturalExponential = m.exp = function() { + return Wi(this); + }; + m.naturalLogarithm = m.ln = function() { + return Ke(this); + }; + m.negated = m.neg = function() { + var e = new this.constructor(this); + return e.s = -e.s, y(e); + }; + m.plus = m.add = function(e) { + var r, t, n, i, o, s, a, l, u, c, p = this, d = p.constructor; + if (e = new d(e), !p.d || !e.d) return !p.s || !e.s ? e = new d(NaN) : p.d || (e = new d(e.d || p.s === e.s ? p : NaN)), e; + if (p.s != e.s) return e.s = -e.s, p.minus(e); + if (u = p.d, c = e.d, a = d.precision, l = d.rounding, !u[0] || !c[0]) return c[0] || (e = new d(p)), w ? y(e, a, l) : e; + if (o = X(p.e / E), n = X(e.e / E), u = u.slice(), i = o - n, i) { + for (i < 0 ? (t = u, i = -i, s = c.length) : (t = c, n = o, s = u.length), o = Math.ceil(a / E), s = o > s ? o + 1 : s + 1, i > s && (i = s, t.length = 1), t.reverse(); i--; ) t.push(0); + t.reverse(); + } + for (s = u.length, i = c.length, s - i < 0 && (i = s, t = c, c = u, u = t), r = 0; i; ) r = (u[--i] = u[i] + c[i] + r) / fe | 0, u[i] %= fe; + for (r && (u.unshift(r), ++n), s = u.length; u[--s] == 0; ) u.pop(); + return e.d = u, e.e = wn(u, n), w ? y(e, a, l) : e; + }; + m.precision = m.sd = function(e) { + var r, t = this; + if (e !== void 0 && e !== !!e && e !== 1 && e !== 0) throw Error(He + e); + return t.d ? (r = Us(t.d), e && t.e + 1 > r && (r = t.e + 1)) : r = NaN, r; + }; + m.round = function() { + var e = this, r = e.constructor; + return y(new r(e), e.e + 1, r.rounding); + }; + m.sine = m.sin = function() { + var e, r, t = this, n = t.constructor; + return t.isFinite() ? t.isZero() ? new n(t) : (e = n.precision, r = n.rounding, n.precision = e + Math.max(t.e, t.sd()) + E, n.rounding = 1, t = Sp(n, Js(n, t)), n.precision = e, n.rounding = r, y(Ne > 2 ? t.neg() : t, e, r, true)) : new n(NaN); + }; + m.squareRoot = m.sqrt = function() { + var e, r, t, n, i, o, s = this, a = s.d, l = s.e, u = s.s, c = s.constructor; + if (u !== 1 || !a || !a[0]) return new c(!u || u < 0 && (!a || a[0]) ? NaN : a ? s : 1 / 0); + for (w = false, u = Math.sqrt(+s), u == 0 || u == 1 / 0 ? (r = J(a), (r.length + l) % 2 == 0 && (r += "0"), u = Math.sqrt(r), l = X((l + 1) / 2) - (l < 0 || l % 2), u == 1 / 0 ? r = "5e" + l : (r = u.toExponential(), r = r.slice(0, r.indexOf("e") + 1) + l), n = new c(r)) : n = new c(u.toString()), t = (l = c.precision) + 3; ; ) if (o = n, n = o.plus(L(s, o, t + 2, 1)).times(0.5), J(o.d).slice(0, t) === (r = J(n.d)).slice(0, t)) if (r = r.slice(t - 3, t + 1), r == "9999" || !i && r == "4999") { + if (!i && (y(o, l + 1, 0), o.times(o).eq(s))) { + n = o; + break; + } + t += 4, i = 1; + } else { + (!+r || !+r.slice(1) && r.charAt(0) == "5") && (y(n, l + 1, 1), e = !n.times(n).eq(s)); + break; + } + return w = true, y(n, l, c.rounding, e); + }; + m.tangent = m.tan = function() { + var e, r, t = this, n = t.constructor; + return t.isFinite() ? t.isZero() ? new n(t) : (e = n.precision, r = n.rounding, n.precision = e + 10, n.rounding = 1, t = t.sin(), t.s = 1, t = L(t, new n(1).minus(t.times(t)).sqrt(), e + 10, 0), n.precision = e, n.rounding = r, y(Ne == 2 || Ne == 4 ? t.neg() : t, e, r, true)) : new n(NaN); + }; + m.times = m.mul = function(e) { + var r, t, n, i, o, s, a, l, u, c = this, p = c.constructor, d = c.d, f = (e = new p(e)).d; + if (e.s *= c.s, !d || !d[0] || !f || !f[0]) return new p(!e.s || d && !d[0] && !f || f && !f[0] && !d ? NaN : !d || !f ? e.s / 0 : e.s * 0); + for (t = X(c.e / E) + X(e.e / E), l = d.length, u = f.length, l < u && (o = d, d = f, f = o, s = l, l = u, u = s), o = [], s = l + u, n = s; n--; ) o.push(0); + for (n = u; --n >= 0; ) { + for (r = 0, i = l + n; i > n; ) a = o[i] + f[n] * d[i - n - 1] + r, o[i--] = a % fe | 0, r = a / fe | 0; + o[i] = (o[i] + r) % fe | 0; + } + for (; !o[--s]; ) o.pop(); + return r ? ++t : o.shift(), e.d = o, e.e = wn(o, t), w ? y(e, p.precision, p.rounding) : e; + }; + m.toBinary = function(e, r) { + return Ji(this, 2, e, r); + }; + m.toDecimalPlaces = m.toDP = function(e, r) { + var t = this, n = t.constructor; + return t = new n(t), e === void 0 ? t : (ne(e, 0, Ye), r === void 0 ? r = n.rounding : ne(r, 0, 8), y(t, e + t.e + 1, r)); + }; + m.toExponential = function(e, r) { + var t, n = this, i = n.constructor; + return e === void 0 ? t = ve(n, true) : (ne(e, 0, Ye), r === void 0 ? r = i.rounding : ne(r, 0, 8), n = y(new i(n), e + 1, r), t = ve(n, true, e + 1)), n.isNeg() && !n.isZero() ? "-" + t : t; + }; + m.toFixed = function(e, r) { + var t, n, i = this, o = i.constructor; + return e === void 0 ? t = ve(i) : (ne(e, 0, Ye), r === void 0 ? r = o.rounding : ne(r, 0, 8), n = y(new o(i), e + i.e + 1, r), t = ve(n, false, e + n.e + 1)), i.isNeg() && !i.isZero() ? "-" + t : t; + }; + m.toFraction = function(e) { + var r, t, n, i, o, s, a, l, u, c, p, d, f = this, h = f.d, g = f.constructor; + if (!h) return new g(f); + if (u = t = new g(1), n = l = new g(0), r = new g(n), o = r.e = Us(h) - f.e - 1, s = o % E, r.d[0] = U(10, s < 0 ? E + s : s), e == null) e = o > 0 ? r : u; + else { + if (a = new g(e), !a.isInt() || a.lt(u)) throw Error(He + a); + e = a.gt(r) ? o > 0 ? r : u : a; + } + for (w = false, a = new g(J(h)), c = g.precision, g.precision = o = h.length * E * 2; p = L(a, r, 0, 1, 1), i = t.plus(p.times(n)), i.cmp(e) != 1; ) t = n, n = i, i = u, u = l.plus(p.times(i)), l = i, i = r, r = a.minus(p.times(i)), a = i; + return i = L(e.minus(t), n, 0, 1, 1), l = l.plus(i.times(u)), t = t.plus(i.times(n)), l.s = u.s = f.s, d = L(u, n, o, 1).minus(f).abs().cmp(L(l, t, o, 1).minus(f).abs()) < 1 ? [u, n] : [l, t], g.precision = c, w = true, d; + }; + m.toHexadecimal = m.toHex = function(e, r) { + return Ji(this, 16, e, r); + }; + m.toNearest = function(e, r) { + var t = this, n = t.constructor; + if (t = new n(t), e == null) { + if (!t.d) return t; + e = new n(1), r = n.rounding; + } else { + if (e = new n(e), r === void 0 ? r = n.rounding : ne(r, 0, 8), !t.d) return e.s ? t : e; + if (!e.d) return e.s && (e.s = t.s), e; + } + return e.d[0] ? (w = false, t = L(t, e, 0, r, 1).times(e), w = true, y(t)) : (e.s = t.s, t = e), t; + }; + m.toNumber = function() { + return +this; + }; + m.toOctal = function(e, r) { + return Ji(this, 8, e, r); + }; + m.toPower = m.pow = function(e) { + var r, t, n, i, o, s, a = this, l = a.constructor, u = +(e = new l(e)); + if (!a.d || !e.d || !a.d[0] || !e.d[0]) return new l(U(+a, u)); + if (a = new l(a), a.eq(1)) return a; + if (n = l.precision, o = l.rounding, e.eq(1)) return y(a, n, o); + if (r = X(e.e / E), r >= e.d.length - 1 && (t = u < 0 ? -u : u) <= xp) return i = Gs(l, a, t, n), e.s < 0 ? new l(1).div(i) : y(i, n, o); + if (s = a.s, s < 0) { + if (r < e.d.length - 1) return new l(NaN); + if ((e.d[r] & 1) == 0 && (s = 1), a.e == 0 && a.d[0] == 1 && a.d.length == 1) return a.s = s, a; + } + return t = U(+a, u), r = t == 0 || !isFinite(t) ? X(u * (Math.log("0." + J(a.d)) / Math.LN10 + a.e + 1)) : new l(t + "").e, r > l.maxE + 1 || r < l.minE - 1 ? new l(r > 0 ? s / 0 : 0) : (w = false, l.rounding = a.s = 1, t = Math.min(12, (r + "").length), i = Wi(e.times(Ke(a, n + t)), n), i.d && (i = y(i, n + 5, 1), ut(i.d, n, o) && (r = n + 10, i = y(Wi(e.times(Ke(a, r + t)), r), r + 5, 1), +J(i.d).slice(n + 1, n + 15) + 1 == 1e14 && (i = y(i, n + 1, 0)))), i.s = s, w = true, l.rounding = o, y(i, n, o)); + }; + m.toPrecision = function(e, r) { + var t, n = this, i = n.constructor; + return e === void 0 ? t = ve(n, n.e <= i.toExpNeg || n.e >= i.toExpPos) : (ne(e, 1, Ye), r === void 0 ? r = i.rounding : ne(r, 0, 8), n = y(new i(n), e, r), t = ve(n, e <= n.e || n.e <= i.toExpNeg, e)), n.isNeg() && !n.isZero() ? "-" + t : t; + }; + m.toSignificantDigits = m.toSD = function(e, r) { + var t = this, n = t.constructor; + return e === void 0 ? (e = n.precision, r = n.rounding) : (ne(e, 1, Ye), r === void 0 ? r = n.rounding : ne(r, 0, 8)), y(new n(t), e, r); + }; + m.toString = function() { + var e = this, r = e.constructor, t = ve(e, e.e <= r.toExpNeg || e.e >= r.toExpPos); + return e.isNeg() && !e.isZero() ? "-" + t : t; + }; + m.truncated = m.trunc = function() { + return y(new this.constructor(this), this.e + 1, 1); + }; + m.valueOf = m.toJSON = function() { + var e = this, r = e.constructor, t = ve(e, e.e <= r.toExpNeg || e.e >= r.toExpPos); + return e.isNeg() ? "-" + t : t; + }; + function J(e) { + var r, t, n, i = e.length - 1, o = "", s = e[0]; + if (i > 0) { + for (o += s, r = 1; r < i; r++) n = e[r] + "", t = E - n.length, t && (o += Je(t)), o += n; + s = e[r], n = s + "", t = E - n.length, t && (o += Je(t)); + } else if (s === 0) return "0"; + for (; s % 10 === 0; ) s /= 10; + return o + s; + } + __name(J, "J"); + function ne(e, r, t) { + if (e !== ~~e || e < r || e > t) throw Error(He + e); + } + __name(ne, "ne"); + function ut(e, r, t, n) { + var i, o, s, a; + for (o = e[0]; o >= 10; o /= 10) --r; + return --r < 0 ? (r += E, i = 0) : (i = Math.ceil((r + 1) / E), r %= E), o = U(10, E - r), a = e[i] % o | 0, n == null ? r < 3 ? (r == 0 ? a = a / 100 | 0 : r == 1 && (a = a / 10 | 0), s = t < 4 && a == 99999 || t > 3 && a == 49999 || a == 5e4 || a == 0) : s = (t < 4 && a + 1 == o || t > 3 && a + 1 == o / 2) && (e[i + 1] / o / 100 | 0) == U(10, r - 2) - 1 || (a == o / 2 || a == 0) && (e[i + 1] / o / 100 | 0) == 0 : r < 4 ? (r == 0 ? a = a / 1e3 | 0 : r == 1 ? a = a / 100 | 0 : r == 2 && (a = a / 10 | 0), s = (n || t < 4) && a == 9999 || !n && t > 3 && a == 4999) : s = ((n || t < 4) && a + 1 == o || !n && t > 3 && a + 1 == o / 2) && (e[i + 1] / o / 1e3 | 0) == U(10, r - 3) - 1, s; + } + __name(ut, "ut"); + function fn(e, r, t) { + for (var n, i = [0], o, s = 0, a = e.length; s < a; ) { + for (o = i.length; o--; ) i[o] *= r; + for (i[0] += Ui.indexOf(e.charAt(s++)), n = 0; n < i.length; n++) i[n] > t - 1 && (i[n + 1] === void 0 && (i[n + 1] = 0), i[n + 1] += i[n] / t | 0, i[n] %= t); + } + return i.reverse(); + } + __name(fn, "fn"); + function Pp(e, r) { + var t, n, i; + if (r.isZero()) return r; + n = r.d.length, n < 32 ? (t = Math.ceil(n / 3), i = (1 / xn(4, t)).toString()) : (t = 16, i = "2.3283064365386962890625e-10"), e.precision += t, r = Tr(e, 1, r.times(i), new e(1)); + for (var o = t; o--; ) { + var s = r.times(r); + r = s.times(s).minus(s).times(8).plus(1); + } + return e.precision -= t, r; + } + __name(Pp, "Pp"); + var L = /* @__PURE__ */ (function() { + function e(n, i, o) { + var s, a = 0, l = n.length; + for (n = n.slice(); l--; ) s = n[l] * i + a, n[l] = s % o | 0, a = s / o | 0; + return a && n.unshift(a), n; + } + __name(e, "e"); + function r(n, i, o, s) { + var a, l; + if (o != s) l = o > s ? 1 : -1; + else for (a = l = 0; a < o; a++) if (n[a] != i[a]) { + l = n[a] > i[a] ? 1 : -1; + break; + } + return l; + } + __name(r, "r"); + function t(n, i, o, s) { + for (var a = 0; o--; ) n[o] -= a, a = n[o] < i[o] ? 1 : 0, n[o] = a * s + n[o] - i[o]; + for (; !n[0] && n.length > 1; ) n.shift(); + } + __name(t, "t"); + return function(n, i, o, s, a, l) { + var u, c, p, d, f, h, g, I, T, S, b, D, me, se, Kr, j, te, Ae, K, fr, Vt = n.constructor, ti = n.s == i.s ? 1 : -1, H = n.d, k = i.d; + if (!H || !H[0] || !k || !k[0]) return new Vt(!n.s || !i.s || (H ? k && H[0] == k[0] : !k) ? NaN : H && H[0] == 0 || !k ? ti * 0 : ti / 0); + for (l ? (f = 1, c = n.e - i.e) : (l = fe, f = E, c = X(n.e / f) - X(i.e / f)), K = k.length, te = H.length, T = new Vt(ti), S = T.d = [], p = 0; k[p] == (H[p] || 0); p++) ; + if (k[p] > (H[p] || 0) && c--, o == null ? (se = o = Vt.precision, s = Vt.rounding) : a ? se = o + (n.e - i.e) + 1 : se = o, se < 0) S.push(1), h = true; + else { + if (se = se / f + 2 | 0, p = 0, K == 1) { + for (d = 0, k = k[0], se++; (p < te || d) && se--; p++) Kr = d * l + (H[p] || 0), S[p] = Kr / k | 0, d = Kr % k | 0; + h = d || p < te; + } else { + for (d = l / (k[0] + 1) | 0, d > 1 && (k = e(k, d, l), H = e(H, d, l), K = k.length, te = H.length), j = K, b = H.slice(0, K), D = b.length; D < K; ) b[D++] = 0; + fr = k.slice(), fr.unshift(0), Ae = k[0], k[1] >= l / 2 && ++Ae; + do + d = 0, u = r(k, b, K, D), u < 0 ? (me = b[0], K != D && (me = me * l + (b[1] || 0)), d = me / Ae | 0, d > 1 ? (d >= l && (d = l - 1), g = e(k, d, l), I = g.length, D = b.length, u = r(g, b, I, D), u == 1 && (d--, t(g, K < I ? fr : k, I, l))) : (d == 0 && (u = d = 1), g = k.slice()), I = g.length, I < D && g.unshift(0), t(b, g, D, l), u == -1 && (D = b.length, u = r(k, b, K, D), u < 1 && (d++, t(b, K < D ? fr : k, D, l))), D = b.length) : u === 0 && (d++, b = [0]), S[p++] = d, u && b[0] ? b[D++] = H[j] || 0 : (b = [H[j]], D = 1); + while ((j++ < te || b[0] !== void 0) && se--); + h = b[0] !== void 0; + } + S[0] || S.shift(); + } + if (f == 1) T.e = c, $s = h; + else { + for (p = 1, d = S[0]; d >= 10; d /= 10) p++; + T.e = p + c * f - 1, y(T, a ? o + T.e + 1 : o, s, h); + } + return T; + }; + })(); + function y(e, r, t, n) { + var i, o, s, a, l, u, c, p, d, f = e.constructor; + e: if (r != null) { + if (p = e.d, !p) return e; + for (i = 1, a = p[0]; a >= 10; a /= 10) i++; + if (o = r - i, o < 0) o += E, s = r, c = p[d = 0], l = c / U(10, i - s - 1) % 10 | 0; + else if (d = Math.ceil((o + 1) / E), a = p.length, d >= a) if (n) { + for (; a++ <= d; ) p.push(0); + c = l = 0, i = 1, o %= E, s = o - E + 1; + } else break e; + else { + for (c = a = p[d], i = 1; a >= 10; a /= 10) i++; + o %= E, s = o - E + i, l = s < 0 ? 0 : c / U(10, i - s - 1) % 10 | 0; + } + if (n = n || r < 0 || p[d + 1] !== void 0 || (s < 0 ? c : c % U(10, i - s - 1)), u = t < 4 ? (l || n) && (t == 0 || t == (e.s < 0 ? 3 : 2)) : l > 5 || l == 5 && (t == 4 || n || t == 6 && (o > 0 ? s > 0 ? c / U(10, i - s) : 0 : p[d - 1]) % 10 & 1 || t == (e.s < 0 ? 8 : 7)), r < 1 || !p[0]) return p.length = 0, u ? (r -= e.e + 1, p[0] = U(10, (E - r % E) % E), e.e = -r || 0) : p[0] = e.e = 0, e; + if (o == 0 ? (p.length = d, a = 1, d--) : (p.length = d + 1, a = U(10, E - o), p[d] = s > 0 ? (c / U(10, i - s) % U(10, s) | 0) * a : 0), u) for (; ; ) if (d == 0) { + for (o = 1, s = p[0]; s >= 10; s /= 10) o++; + for (s = p[0] += a, a = 1; s >= 10; s /= 10) a++; + o != a && (e.e++, p[0] == fe && (p[0] = 1)); + break; + } else { + if (p[d] += a, p[d] != fe) break; + p[d--] = 0, a = 1; + } + for (o = p.length; p[--o] === 0; ) p.pop(); + } + return w && (e.e > f.maxE ? (e.d = null, e.e = NaN) : e.e < f.minE && (e.e = 0, e.d = [0])), e; + } + __name(y, "y"); + function ve(e, r, t) { + if (!e.isFinite()) return Ws(e); + var n, i = e.e, o = J(e.d), s = o.length; + return r ? (t && (n = t - s) > 0 ? o = o.charAt(0) + "." + o.slice(1) + Je(n) : s > 1 && (o = o.charAt(0) + "." + o.slice(1)), o = o + (e.e < 0 ? "e" : "e+") + e.e) : i < 0 ? (o = "0." + Je(-i - 1) + o, t && (n = t - s) > 0 && (o += Je(n))) : i >= s ? (o += Je(i + 1 - s), t && (n = t - i - 1) > 0 && (o = o + "." + Je(n))) : ((n = i + 1) < s && (o = o.slice(0, n) + "." + o.slice(n)), t && (n = t - s) > 0 && (i + 1 === s && (o += "."), o += Je(n))), o; + } + __name(ve, "ve"); + function wn(e, r) { + var t = e[0]; + for (r *= E; t >= 10; t /= 10) r++; + return r; + } + __name(wn, "wn"); + function bn(e, r, t) { + if (r > vp) throw w = true, t && (e.precision = t), Error(qs); + return y(new e(hn), r, 1, true); + } + __name(bn, "bn"); + function xe(e, r, t) { + if (r > Qi) throw Error(qs); + return y(new e(yn), r, t, true); + } + __name(xe, "xe"); + function Us(e) { + var r = e.length - 1, t = r * E + 1; + if (r = e[r], r) { + for (; r % 10 == 0; r /= 10) t--; + for (r = e[0]; r >= 10; r /= 10) t++; + } + return t; + } + __name(Us, "Us"); + function Je(e) { + for (var r = ""; e--; ) r += "0"; + return r; + } + __name(Je, "Je"); + function Gs(e, r, t, n) { + var i, o = new e(1), s = Math.ceil(n / E + 4); + for (w = false; ; ) { + if (t % 2 && (o = o.times(r), Fs(o.d, s) && (i = true)), t = X(t / 2), t === 0) { + t = o.d.length - 1, i && o.d[t] === 0 && ++o.d[t]; + break; + } + r = r.times(r), Fs(r.d, s); + } + return w = true, o; + } + __name(Gs, "Gs"); + function Ls(e) { + return e.d[e.d.length - 1] & 1; + } + __name(Ls, "Ls"); + function Qs(e, r, t) { + for (var n, i, o = new e(r[0]), s = 0; ++s < r.length; ) { + if (i = new e(r[s]), !i.s) { + o = i; + break; + } + n = o.cmp(i), (n === t || n === 0 && o.s === t) && (o = i); + } + return o; + } + __name(Qs, "Qs"); + function Wi(e, r) { + var t, n, i, o, s, a, l, u = 0, c = 0, p = 0, d = e.constructor, f = d.rounding, h = d.precision; + if (!e.d || !e.d[0] || e.e > 17) return new d(e.d ? e.d[0] ? e.s < 0 ? 0 : 1 / 0 : 1 : e.s ? e.s < 0 ? 0 : e : NaN); + for (r == null ? (w = false, l = h) : l = r, a = new d(0.03125); e.e > -2; ) e = e.times(a), p += 5; + for (n = Math.log(U(2, p)) / Math.LN10 * 2 + 5 | 0, l += n, t = o = s = new d(1), d.precision = l; ; ) { + if (o = y(o.times(e), l, 1), t = t.times(++c), a = s.plus(L(o, t, l, 1)), J(a.d).slice(0, l) === J(s.d).slice(0, l)) { + for (i = p; i--; ) s = y(s.times(s), l, 1); + if (r == null) if (u < 3 && ut(s.d, l - n, f, u)) d.precision = l += 10, t = o = a = new d(1), c = 0, u++; + else return y(s, d.precision = h, f, w = true); + else return d.precision = h, s; + } + s = a; + } + } + __name(Wi, "Wi"); + function Ke(e, r) { + var t, n, i, o, s, a, l, u, c, p, d, f = 1, h = 10, g = e, I = g.d, T = g.constructor, S = T.rounding, b = T.precision; + if (g.s < 0 || !I || !I[0] || !g.e && I[0] == 1 && I.length == 1) return new T(I && !I[0] ? -1 / 0 : g.s != 1 ? NaN : I ? 0 : g); + if (r == null ? (w = false, c = b) : c = r, T.precision = c += h, t = J(I), n = t.charAt(0), Math.abs(o = g.e) < 15e14) { + for (; n < 7 && n != 1 || n == 1 && t.charAt(1) > 3; ) g = g.times(e), t = J(g.d), n = t.charAt(0), f++; + o = g.e, n > 1 ? (g = new T("0." + t), o++) : g = new T(n + "." + t.slice(1)); + } else return u = bn(T, c + 2, b).times(o + ""), g = Ke(new T(n + "." + t.slice(1)), c - h).plus(u), T.precision = b, r == null ? y(g, b, S, w = true) : g; + for (p = g, l = s = g = L(g.minus(1), g.plus(1), c, 1), d = y(g.times(g), c, 1), i = 3; ; ) { + if (s = y(s.times(d), c, 1), u = l.plus(L(s, new T(i), c, 1)), J(u.d).slice(0, c) === J(l.d).slice(0, c)) if (l = l.times(2), o !== 0 && (l = l.plus(bn(T, c + 2, b).times(o + ""))), l = L(l, new T(f), c, 1), r == null) if (ut(l.d, c - h, S, a)) T.precision = c += h, u = s = g = L(p.minus(1), p.plus(1), c, 1), d = y(g.times(g), c, 1), i = a = 1; + else return y(l, T.precision = b, S, w = true); + else return T.precision = b, l; + l = u, i += 2; + } + } + __name(Ke, "Ke"); + function Ws(e) { + return String(e.s * e.s / 0); + } + __name(Ws, "Ws"); + function gn(e, r) { + var t, n, i; + for ((t = r.indexOf(".")) > -1 && (r = r.replace(".", "")), (n = r.search(/e/i)) > 0 ? (t < 0 && (t = n), t += +r.slice(n + 1), r = r.substring(0, n)) : t < 0 && (t = r.length), n = 0; r.charCodeAt(n) === 48; n++) ; + for (i = r.length; r.charCodeAt(i - 1) === 48; --i) ; + if (r = r.slice(n, i), r) { + if (i -= n, e.e = t = t - n - 1, e.d = [], n = (t + 1) % E, t < 0 && (n += E), n < i) { + for (n && e.d.push(+r.slice(0, n)), i -= E; n < i; ) e.d.push(+r.slice(n, n += E)); + r = r.slice(n), n = E - r.length; + } else n -= i; + for (; n--; ) r += "0"; + e.d.push(+r), w && (e.e > e.constructor.maxE ? (e.d = null, e.e = NaN) : e.e < e.constructor.minE && (e.e = 0, e.d = [0])); + } else e.e = 0, e.d = [0]; + return e; + } + __name(gn, "gn"); + function Tp(e, r) { + var t, n, i, o, s, a, l, u, c; + if (r.indexOf("_") > -1) { + if (r = r.replace(/(\d)_(?=\d)/g, "$1"), Bs.test(r)) return gn(e, r); + } else if (r === "Infinity" || r === "NaN") return +r || (e.s = NaN), e.e = NaN, e.d = null, e; + if (Ep.test(r)) t = 16, r = r.toLowerCase(); + else if (bp.test(r)) t = 2; + else if (wp.test(r)) t = 8; + else throw Error(He + r); + for (o = r.search(/p/i), o > 0 ? (l = +r.slice(o + 1), r = r.substring(2, o)) : r = r.slice(2), o = r.indexOf("."), s = o >= 0, n = e.constructor, s && (r = r.replace(".", ""), a = r.length, o = a - o, i = Gs(n, new n(t), o, o * 2)), u = fn(r, t, fe), c = u.length - 1, o = c; u[o] === 0; --o) u.pop(); + return o < 0 ? new n(e.s * 0) : (e.e = wn(u, c), e.d = u, w = false, s && (e = L(e, i, a * 4)), l && (e = e.times(Math.abs(l) < 54 ? U(2, l) : Le.pow(2, l))), w = true, e); + } + __name(Tp, "Tp"); + function Sp(e, r) { + var t, n = r.d.length; + if (n < 3) return r.isZero() ? r : Tr(e, 2, r, r); + t = 1.4 * Math.sqrt(n), t = t > 16 ? 16 : t | 0, r = r.times(1 / xn(5, t)), r = Tr(e, 2, r, r); + for (var i, o = new e(5), s = new e(16), a = new e(20); t--; ) i = r.times(r), r = r.times(o.plus(i.times(s.times(i).minus(a)))); + return r; + } + __name(Sp, "Sp"); + function Tr(e, r, t, n, i) { + var o, s, a, l, u = 1, c = e.precision, p = Math.ceil(c / E); + for (w = false, l = t.times(t), a = new e(n); ; ) { + if (s = L(a.times(l), new e(r++ * r++), c, 1), a = i ? n.plus(s) : n.minus(s), n = L(s.times(l), new e(r++ * r++), c, 1), s = a.plus(n), s.d[p] !== void 0) { + for (o = p; s.d[o] === a.d[o] && o--; ) ; + if (o == -1) break; + } + o = a, a = n, n = s, s = o, u++; + } + return w = true, s.d.length = p + 1, s; + } + __name(Tr, "Tr"); + function xn(e, r) { + for (var t = e; --r; ) t *= e; + return t; + } + __name(xn, "xn"); + function Js(e, r) { + var t, n = r.s < 0, i = xe(e, e.precision, 1), o = i.times(0.5); + if (r = r.abs(), r.lte(o)) return Ne = n ? 4 : 1, r; + if (t = r.divToInt(i), t.isZero()) Ne = n ? 3 : 2; + else { + if (r = r.minus(t.times(i)), r.lte(o)) return Ne = Ls(t) ? n ? 2 : 3 : n ? 4 : 1, r; + Ne = Ls(t) ? n ? 1 : 4 : n ? 3 : 2; + } + return r.minus(i).abs(); + } + __name(Js, "Js"); + function Ji(e, r, t, n) { + var i, o, s, a, l, u, c, p, d, f = e.constructor, h = t !== void 0; + if (h ? (ne(t, 1, Ye), n === void 0 ? n = f.rounding : ne(n, 0, 8)) : (t = f.precision, n = f.rounding), !e.isFinite()) c = Ws(e); + else { + for (c = ve(e), s = c.indexOf("."), h ? (i = 2, r == 16 ? t = t * 4 - 3 : r == 8 && (t = t * 3 - 2)) : i = r, s >= 0 && (c = c.replace(".", ""), d = new f(1), d.e = c.length - s, d.d = fn(ve(d), 10, i), d.e = d.d.length), p = fn(c, 10, i), o = l = p.length; p[--l] == 0; ) p.pop(); + if (!p[0]) c = h ? "0p+0" : "0"; + else { + if (s < 0 ? o-- : (e = new f(e), e.d = p, e.e = o, e = L(e, d, t, n, 0, i), p = e.d, o = e.e, u = $s), s = p[t], a = i / 2, u = u || p[t + 1] !== void 0, u = n < 4 ? (s !== void 0 || u) && (n === 0 || n === (e.s < 0 ? 3 : 2)) : s > a || s === a && (n === 4 || u || n === 6 && p[t - 1] & 1 || n === (e.s < 0 ? 8 : 7)), p.length = t, u) for (; ++p[--t] > i - 1; ) p[t] = 0, t || (++o, p.unshift(1)); + for (l = p.length; !p[l - 1]; --l) ; + for (s = 0, c = ""; s < l; s++) c += Ui.charAt(p[s]); + if (h) { + if (l > 1) if (r == 16 || r == 8) { + for (s = r == 16 ? 4 : 3, --l; l % s; l++) c += "0"; + for (p = fn(c, i, r), l = p.length; !p[l - 1]; --l) ; + for (s = 1, c = "1."; s < l; s++) c += Ui.charAt(p[s]); + } else c = c.charAt(0) + "." + c.slice(1); + c = c + (o < 0 ? "p" : "p+") + o; + } else if (o < 0) { + for (; ++o; ) c = "0" + c; + c = "0." + c; + } else if (++o > l) for (o -= l; o--; ) c += "0"; + else o < l && (c = c.slice(0, o) + "." + c.slice(o)); + } + c = (r == 16 ? "0x" : r == 2 ? "0b" : r == 8 ? "0o" : "") + c; + } + return e.s < 0 ? "-" + c : c; + } + __name(Ji, "Ji"); + function Fs(e, r) { + if (e.length > r) return e.length = r, true; + } + __name(Fs, "Fs"); + function Rp(e) { + return new this(e).abs(); + } + __name(Rp, "Rp"); + function Ap(e) { + return new this(e).acos(); + } + __name(Ap, "Ap"); + function Cp(e) { + return new this(e).acosh(); + } + __name(Cp, "Cp"); + function Ip(e, r) { + return new this(e).plus(r); + } + __name(Ip, "Ip"); + function Dp(e) { + return new this(e).asin(); + } + __name(Dp, "Dp"); + function Op(e) { + return new this(e).asinh(); + } + __name(Op, "Op"); + function kp(e) { + return new this(e).atan(); + } + __name(kp, "kp"); + function _p(e) { + return new this(e).atanh(); + } + __name(_p, "_p"); + function Np(e, r) { + e = new this(e), r = new this(r); + var t, n = this.precision, i = this.rounding, o = n + 4; + return !e.s || !r.s ? t = new this(NaN) : !e.d && !r.d ? (t = xe(this, o, 1).times(r.s > 0 ? 0.25 : 0.75), t.s = e.s) : !r.d || e.isZero() ? (t = r.s < 0 ? xe(this, n, i) : new this(0), t.s = e.s) : !e.d || r.isZero() ? (t = xe(this, o, 1).times(0.5), t.s = e.s) : r.s < 0 ? (this.precision = o, this.rounding = 1, t = this.atan(L(e, r, o, 1)), r = xe(this, o, 1), this.precision = n, this.rounding = i, t = e.s < 0 ? t.minus(r) : t.plus(r)) : t = this.atan(L(e, r, o, 1)), t; + } + __name(Np, "Np"); + function Lp(e) { + return new this(e).cbrt(); + } + __name(Lp, "Lp"); + function Fp(e) { + return y(e = new this(e), e.e + 1, 2); + } + __name(Fp, "Fp"); + function Mp(e, r, t) { + return new this(e).clamp(r, t); + } + __name(Mp, "Mp"); + function $p(e) { + if (!e || typeof e != "object") throw Error(En + "Object expected"); + var r, t, n, i = e.defaults === true, o = ["precision", 1, Ye, "rounding", 0, 8, "toExpNeg", -Pr, 0, "toExpPos", 0, Pr, "maxE", 0, Pr, "minE", -Pr, 0, "modulo", 0, 9]; + for (r = 0; r < o.length; r += 3) if (t = o[r], i && (this[t] = Gi[t]), (n = e[t]) !== void 0) if (X(n) === n && n >= o[r + 1] && n <= o[r + 2]) this[t] = n; + else throw Error(He + t + ": " + n); + if (t = "crypto", i && (this[t] = Gi[t]), (n = e[t]) !== void 0) if (n === true || n === false || n === 0 || n === 1) if (n) if (typeof crypto < "u" && crypto && (crypto.getRandomValues || crypto.randomBytes)) this[t] = true; + else throw Error(Vs); + else this[t] = false; + else throw Error(He + t + ": " + n); + return this; + } + __name($p, "$p"); + function qp(e) { + return new this(e).cos(); + } + __name(qp, "qp"); + function Vp(e) { + return new this(e).cosh(); + } + __name(Vp, "Vp"); + function Ks(e) { + var r, t, n; + function i(o) { + var s, a, l, u = this; + if (!(u instanceof i)) return new i(o); + if (u.constructor = i, Ms(o)) { + u.s = o.s, w ? !o.d || o.e > i.maxE ? (u.e = NaN, u.d = null) : o.e < i.minE ? (u.e = 0, u.d = [0]) : (u.e = o.e, u.d = o.d.slice()) : (u.e = o.e, u.d = o.d ? o.d.slice() : o.d); + return; + } + if (l = typeof o, l === "number") { + if (o === 0) { + u.s = 1 / o < 0 ? -1 : 1, u.e = 0, u.d = [0]; + return; + } + if (o < 0 ? (o = -o, u.s = -1) : u.s = 1, o === ~~o && o < 1e7) { + for (s = 0, a = o; a >= 10; a /= 10) s++; + w ? s > i.maxE ? (u.e = NaN, u.d = null) : s < i.minE ? (u.e = 0, u.d = [0]) : (u.e = s, u.d = [o]) : (u.e = s, u.d = [o]); + return; + } + if (o * 0 !== 0) { + o || (u.s = NaN), u.e = NaN, u.d = null; + return; + } + return gn(u, o.toString()); + } + if (l === "string") return (a = o.charCodeAt(0)) === 45 ? (o = o.slice(1), u.s = -1) : (a === 43 && (o = o.slice(1)), u.s = 1), Bs.test(o) ? gn(u, o) : Tp(u, o); + if (l === "bigint") return o < 0 ? (o = -o, u.s = -1) : u.s = 1, gn(u, o.toString()); + throw Error(He + o); + } + __name(i, "i"); + if (i.prototype = m, i.ROUND_UP = 0, i.ROUND_DOWN = 1, i.ROUND_CEIL = 2, i.ROUND_FLOOR = 3, i.ROUND_HALF_UP = 4, i.ROUND_HALF_DOWN = 5, i.ROUND_HALF_EVEN = 6, i.ROUND_HALF_CEIL = 7, i.ROUND_HALF_FLOOR = 8, i.EUCLID = 9, i.config = i.set = $p, i.clone = Ks, i.isDecimal = Ms, i.abs = Rp, i.acos = Ap, i.acosh = Cp, i.add = Ip, i.asin = Dp, i.asinh = Op, i.atan = kp, i.atanh = _p, i.atan2 = Np, i.cbrt = Lp, i.ceil = Fp, i.clamp = Mp, i.cos = qp, i.cosh = Vp, i.div = jp, i.exp = Bp, i.floor = Up, i.hypot = Gp, i.ln = Qp, i.log = Wp, i.log10 = Kp, i.log2 = Jp, i.max = Hp, i.min = Yp, i.mod = zp, i.mul = Zp, i.pow = Xp, i.random = ed, i.round = rd, i.sign = td, i.sin = nd, i.sinh = id, i.sqrt = od, i.sub = sd, i.sum = ad, i.tan = ld, i.tanh = ud, i.trunc = cd, e === void 0 && (e = {}), e && e.defaults !== true) for (n = ["precision", "rounding", "toExpNeg", "toExpPos", "maxE", "minE", "modulo", "crypto"], r = 0; r < n.length; ) e.hasOwnProperty(t = n[r++]) || (e[t] = this[t]); + return i.config(e), i; + } + __name(Ks, "Ks"); + function jp(e, r) { + return new this(e).div(r); + } + __name(jp, "jp"); + function Bp(e) { + return new this(e).exp(); + } + __name(Bp, "Bp"); + function Up(e) { + return y(e = new this(e), e.e + 1, 3); + } + __name(Up, "Up"); + function Gp() { + var e, r, t = new this(0); + for (w = false, e = 0; e < arguments.length; ) if (r = new this(arguments[e++]), r.d) t.d && (t = t.plus(r.times(r))); + else { + if (r.s) return w = true, new this(1 / 0); + t = r; + } + return w = true, t.sqrt(); + } + __name(Gp, "Gp"); + function Ms(e) { + return e instanceof Le || e && e.toStringTag === js || false; + } + __name(Ms, "Ms"); + function Qp(e) { + return new this(e).ln(); + } + __name(Qp, "Qp"); + function Wp(e, r) { + return new this(e).log(r); + } + __name(Wp, "Wp"); + function Jp(e) { + return new this(e).log(2); + } + __name(Jp, "Jp"); + function Kp(e) { + return new this(e).log(10); + } + __name(Kp, "Kp"); + function Hp() { + return Qs(this, arguments, -1); + } + __name(Hp, "Hp"); + function Yp() { + return Qs(this, arguments, 1); + } + __name(Yp, "Yp"); + function zp(e, r) { + return new this(e).mod(r); + } + __name(zp, "zp"); + function Zp(e, r) { + return new this(e).mul(r); + } + __name(Zp, "Zp"); + function Xp(e, r) { + return new this(e).pow(r); + } + __name(Xp, "Xp"); + function ed(e) { + var r, t, n, i, o = 0, s = new this(1), a = []; + if (e === void 0 ? e = this.precision : ne(e, 1, Ye), n = Math.ceil(e / E), this.crypto) if (crypto.getRandomValues) for (r = crypto.getRandomValues(new Uint32Array(n)); o < n; ) i = r[o], i >= 429e7 ? r[o] = crypto.getRandomValues(new Uint32Array(1))[0] : a[o++] = i % 1e7; + else if (crypto.randomBytes) { + for (r = crypto.randomBytes(n *= 4); o < n; ) i = r[o] + (r[o + 1] << 8) + (r[o + 2] << 16) + ((r[o + 3] & 127) << 24), i >= 214e7 ? crypto.randomBytes(4).copy(r, o) : (a.push(i % 1e7), o += 4); + o = n / 4; + } else throw Error(Vs); + else for (; o < n; ) a[o++] = Math.random() * 1e7 | 0; + for (n = a[--o], e %= E, n && e && (i = U(10, E - e), a[o] = (n / i | 0) * i); a[o] === 0; o--) a.pop(); + if (o < 0) t = 0, a = [0]; + else { + for (t = -1; a[0] === 0; t -= E) a.shift(); + for (n = 1, i = a[0]; i >= 10; i /= 10) n++; + n < E && (t -= E - n); + } + return s.e = t, s.d = a, s; + } + __name(ed, "ed"); + function rd(e) { + return y(e = new this(e), e.e + 1, this.rounding); + } + __name(rd, "rd"); + function td(e) { + return e = new this(e), e.d ? e.d[0] ? e.s : 0 * e.s : e.s || NaN; + } + __name(td, "td"); + function nd(e) { + return new this(e).sin(); + } + __name(nd, "nd"); + function id(e) { + return new this(e).sinh(); + } + __name(id, "id"); + function od(e) { + return new this(e).sqrt(); + } + __name(od, "od"); + function sd(e, r) { + return new this(e).sub(r); + } + __name(sd, "sd"); + function ad() { + var e = 0, r = arguments, t = new this(r[e]); + for (w = false; t.s && ++e < r.length; ) t = t.plus(r[e]); + return w = true, y(t, this.precision, this.rounding); + } + __name(ad, "ad"); + function ld(e) { + return new this(e).tan(); + } + __name(ld, "ld"); + function ud(e) { + return new this(e).tanh(); + } + __name(ud, "ud"); + function cd(e) { + return y(e = new this(e), e.e + 1, 1); + } + __name(cd, "cd"); + m[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")] = m.toString; + m[Symbol.toStringTag] = "Decimal"; + var Le = m.constructor = Ks(Gi); + hn = new Le(hn); + yn = new Le(yn); + var Fe = Le; + function Sr(e) { + return Le.isDecimal(e) ? true : e !== null && typeof e == "object" && typeof e.s == "number" && typeof e.e == "number" && typeof e.toFixed == "function" && Array.isArray(e.d); + } + __name(Sr, "Sr"); + var ct = {}; + tr(ct, { ModelAction: /* @__PURE__ */ __name(() => Rr, "ModelAction"), datamodelEnumToSchemaEnum: /* @__PURE__ */ __name(() => pd, "datamodelEnumToSchemaEnum") }); + function pd(e) { + return { name: e.name, values: e.values.map((r) => r.name) }; + } + __name(pd, "pd"); + var Rr = ((b) => (b.findUnique = "findUnique", b.findUniqueOrThrow = "findUniqueOrThrow", b.findFirst = "findFirst", b.findFirstOrThrow = "findFirstOrThrow", b.findMany = "findMany", b.create = "create", b.createMany = "createMany", b.createManyAndReturn = "createManyAndReturn", b.update = "update", b.updateMany = "updateMany", b.updateManyAndReturn = "updateManyAndReturn", b.upsert = "upsert", b.delete = "delete", b.deleteMany = "deleteMany", b.groupBy = "groupBy", b.count = "count", b.aggregate = "aggregate", b.findRaw = "findRaw", b.aggregateRaw = "aggregateRaw", b))(Rr || {}); + var Xs = O(Di()); + var Zs = O(require("node:fs")); + var Hs = { keyword: De, entity: De, value: /* @__PURE__ */ __name((e) => W(nr(e)), "value"), punctuation: nr, directive: De, function: De, variable: /* @__PURE__ */ __name((e) => W(nr(e)), "variable"), string: /* @__PURE__ */ __name((e) => W(qe(e)), "string"), boolean: Ie, number: De, comment: Hr }; + var dd = /* @__PURE__ */ __name((e) => e, "dd"); + var vn = {}; + var md = 0; + var v = { manual: vn.Prism && vn.Prism.manual, disableWorkerMessageHandler: vn.Prism && vn.Prism.disableWorkerMessageHandler, util: { encode: /* @__PURE__ */ __name(function(e) { + if (e instanceof ge) { + let r = e; + return new ge(r.type, v.util.encode(r.content), r.alias); + } else return Array.isArray(e) ? e.map(v.util.encode) : e.replace(/&/g, "&").replace(/ e.length) return; + if (Ae instanceof ge) continue; + if (me && j != r.length - 1) { + S.lastIndex = te; + var p = S.exec(e); + if (!p) break; + var c = p.index + (D ? p[1].length : 0), d = p.index + p[0].length, a = j, l = te; + for (let k = r.length; a < k && (l < d || !r[a].type && !r[a - 1].greedy); ++a) l += r[a].length, c >= l && (++j, te = l); + if (r[j] instanceof ge) continue; + u = a - j, Ae = e.slice(te, l), p.index -= te; + } else { + S.lastIndex = 0; + var p = S.exec(Ae), u = 1; + } + if (!p) { + if (o) break; + continue; + } + D && (se = p[1] ? p[1].length : 0); + var c = p.index + se, p = p[0].slice(se), d = c + p.length, f = Ae.slice(0, c), h = Ae.slice(d); + let K = [j, u]; + f && (++j, te += f.length, K.push(f)); + let fr = new ge(g, b ? v.tokenize(p, b) : p, Kr, p, me); + if (K.push(fr), h && K.push(h), Array.prototype.splice.apply(r, K), u != 1 && v.matchGrammar(e, r, t, j, te, true, g), o) break; + } + } + } + }, "matchGrammar"), tokenize: /* @__PURE__ */ __name(function(e, r) { + let t = [e], n = r.rest; + if (n) { + for (let i in n) r[i] = n[i]; + delete r.rest; + } + return v.matchGrammar(e, t, r, 0, 0, false), t; + }, "tokenize"), hooks: { all: {}, add: /* @__PURE__ */ __name(function(e, r) { + let t = v.hooks.all; + t[e] = t[e] || [], t[e].push(r); + }, "add"), run: /* @__PURE__ */ __name(function(e, r) { + let t = v.hooks.all[e]; + if (!(!t || !t.length)) for (var n = 0, i; i = t[n++]; ) i(r); + }, "run") }, Token: ge }; + v.languages.clike = { comment: [{ pattern: /(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/, lookbehind: true }, { pattern: /(^|[^\\:])\/\/.*/, lookbehind: true, greedy: true }], string: { pattern: /(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/, greedy: true }, "class-name": { pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[\w.\\]+/i, lookbehind: true, inside: { punctuation: /[.\\]/ } }, keyword: /\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/, boolean: /\b(?:true|false)\b/, function: /\w+(?=\()/, number: /\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i, operator: /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/, punctuation: /[{}[\];(),.:]/ }; + v.languages.javascript = v.languages.extend("clike", { "class-name": [v.languages.clike["class-name"], { pattern: /(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/, lookbehind: true }], keyword: [{ pattern: /((?:^|})\s*)(?:catch|finally)\b/, lookbehind: true }, { pattern: /(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/, lookbehind: true }], number: /\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/, function: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/, operator: /-[-=]?|\+[+=]?|!=?=?|<>?>?=?|=(?:==?|>)?|&[&=]?|\|[|=]?|\*\*?=?|\/=?|~|\^=?|%=?|\?|\.{3}/ }); + v.languages.javascript["class-name"][0].pattern = /(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/; + v.languages.insertBefore("javascript", "keyword", { regex: { pattern: /((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*($|[\r\n,.;})\]]))/, lookbehind: true, greedy: true }, "function-variable": { pattern: /[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/, alias: "function" }, parameter: [{ pattern: /(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/, lookbehind: true, inside: v.languages.javascript }, { pattern: /[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i, inside: v.languages.javascript }, { pattern: /(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/, lookbehind: true, inside: v.languages.javascript }, { pattern: /((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/, lookbehind: true, inside: v.languages.javascript }], constant: /\b[A-Z](?:[A-Z_]|\dx?)*\b/ }); + v.languages.markup && v.languages.markup.tag.addInlined("script", "javascript"); + v.languages.js = v.languages.javascript; + v.languages.typescript = v.languages.extend("javascript", { keyword: /\b(?:abstract|as|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|var|void|while|with|yield)\b/, builtin: /\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/ }); + v.languages.ts = v.languages.typescript; + function ge(e, r, t, n, i) { + this.type = e, this.content = r, this.alias = t, this.length = (n || "").length | 0, this.greedy = !!i; + } + __name(ge, "ge"); + ge.stringify = function(e, r) { + return typeof e == "string" ? e : Array.isArray(e) ? e.map(function(t) { + return ge.stringify(t, r); + }).join("") : fd(e.type)(e.content); + }; + function fd(e) { + return Hs[e] || dd; + } + __name(fd, "fd"); + function Ys(e) { + return gd(e, v.languages.javascript); + } + __name(Ys, "Ys"); + function gd(e, r) { + return v.tokenize(e, r).map((n) => ge.stringify(n)).join(""); + } + __name(gd, "gd"); + function zs(e) { + return Ci(e); + } + __name(zs, "zs"); + var Pn = class e { + static { + __name(this, "e"); + } + firstLineNumber; + lines; + static read(r) { + let t; + try { + t = Zs.default.readFileSync(r, "utf-8"); + } catch { + return null; + } + return e.fromContent(t); + } + static fromContent(r) { + let t = r.split(/\r?\n/); + return new e(1, t); + } + constructor(r, t) { + this.firstLineNumber = r, this.lines = t; + } + get lastLineNumber() { + return this.firstLineNumber + this.lines.length - 1; + } + mapLineAt(r, t) { + if (r < this.firstLineNumber || r > this.lines.length + this.firstLineNumber) return this; + let n = r - this.firstLineNumber, i = [...this.lines]; + return i[n] = t(i[n]), new e(this.firstLineNumber, i); + } + mapLines(r) { + return new e(this.firstLineNumber, this.lines.map((t, n) => r(t, this.firstLineNumber + n))); + } + lineAt(r) { + return this.lines[r - this.firstLineNumber]; + } + prependSymbolAt(r, t) { + return this.mapLines((n, i) => i === r ? `${t} ${n}` : ` ${n}`); + } + slice(r, t) { + let n = this.lines.slice(r - 1, t).join(` +`); + return new e(r, zs(n).split(` +`)); + } + highlight() { + let r = Ys(this.toString()); + return new e(this.firstLineNumber, r.split(` +`)); + } + toString() { + return this.lines.join(` +`); + } + }; + var hd = { red: ce, gray: Hr, dim: Ce, bold: W, underline: Y, highlightSource: /* @__PURE__ */ __name((e) => e.highlight(), "highlightSource") }; + var yd = { red: /* @__PURE__ */ __name((e) => e, "red"), gray: /* @__PURE__ */ __name((e) => e, "gray"), dim: /* @__PURE__ */ __name((e) => e, "dim"), bold: /* @__PURE__ */ __name((e) => e, "bold"), underline: /* @__PURE__ */ __name((e) => e, "underline"), highlightSource: /* @__PURE__ */ __name((e) => e, "highlightSource") }; + function bd({ message: e, originalMethod: r, isPanic: t, callArguments: n }) { + return { functionName: `prisma.${r}()`, message: e, isPanic: t ?? false, callArguments: n }; + } + __name(bd, "bd"); + function Ed({ callsite: e, message: r, originalMethod: t, isPanic: n, callArguments: i }, o) { + let s = bd({ message: r, originalMethod: t, isPanic: n, callArguments: i }); + if (!e || typeof window < "u" || process.env.NODE_ENV === "production") return s; + let a = e.getLocation(); + if (!a || !a.lineNumber || !a.columnNumber) return s; + let l = Math.max(1, a.lineNumber - 3), u = Pn.read(a.fileName)?.slice(l, a.lineNumber), c = u?.lineAt(a.lineNumber); + if (u && c) { + let p = xd(c), d = wd(c); + if (!d) return s; + s.functionName = `${d.code})`, s.location = a, n || (u = u.mapLineAt(a.lineNumber, (h) => h.slice(0, d.openingBraceIndex))), u = o.highlightSource(u); + let f = String(u.lastLineNumber).length; + if (s.contextLines = u.mapLines((h, g) => o.gray(String(g).padStart(f)) + " " + h).mapLines((h) => o.dim(h)).prependSymbolAt(a.lineNumber, o.bold(o.red("\u2192"))), i) { + let h = p + f + 1; + h += 2, s.callArguments = (0, Xs.default)(i, h).slice(h); + } + } + return s; + } + __name(Ed, "Ed"); + function wd(e) { + let r = Object.keys(Rr).join("|"), n = new RegExp(String.raw`\.(${r})\(`).exec(e); + if (n) { + let i = n.index + n[0].length, o = e.lastIndexOf(" ", n.index) + 1; + return { code: e.slice(o, i), openingBraceIndex: i }; + } + return null; + } + __name(wd, "wd"); + function xd(e) { + let r = 0; + for (let t = 0; t < e.length; t++) { + if (e.charAt(t) !== " ") return r; + r++; + } + return r; + } + __name(xd, "xd"); + function vd({ functionName: e, location: r, message: t, isPanic: n, contextLines: i, callArguments: o }, s) { + let a = [""], l = r ? " in" : ":"; + if (n ? (a.push(s.red(`Oops, an unknown error occurred! This is ${s.bold("on us")}, you did nothing wrong.`)), a.push(s.red(`It occurred in the ${s.bold(`\`${e}\``)} invocation${l}`))) : a.push(s.red(`Invalid ${s.bold(`\`${e}\``)} invocation${l}`)), r && a.push(s.underline(Pd(r))), i) { + a.push(""); + let u = [i.toString()]; + o && (u.push(o), u.push(s.dim(")"))), a.push(u.join("")), o && a.push(""); + } else a.push(""), o && a.push(o), a.push(""); + return a.push(t), a.join(` +`); + } + __name(vd, "vd"); + function Pd(e) { + let r = [e.fileName]; + return e.lineNumber && r.push(String(e.lineNumber)), e.columnNumber && r.push(String(e.columnNumber)), r.join(":"); + } + __name(Pd, "Pd"); + function Tn(e) { + let r = e.showColors ? hd : yd, t; + return t = Ed(e, r), vd(t, r); + } + __name(Tn, "Tn"); + var la = O(Ki()); + function na(e, r, t) { + let n = ia(e), i = Td(n), o = Rd(i); + o ? Sn(o, r, t) : r.addErrorMessage(() => "Unknown error"); + } + __name(na, "na"); + function ia(e) { + return e.errors.flatMap((r) => r.kind === "Union" ? ia(r) : [r]); + } + __name(ia, "ia"); + function Td(e) { + let r = /* @__PURE__ */ new Map(), t = []; + for (let n of e) { + if (n.kind !== "InvalidArgumentType") { + t.push(n); + continue; + } + let i = `${n.selectionPath.join(".")}:${n.argumentPath.join(".")}`, o = r.get(i); + o ? r.set(i, { ...n, argument: { ...n.argument, typeNames: Sd(o.argument.typeNames, n.argument.typeNames) } }) : r.set(i, n); + } + return t.push(...r.values()), t; + } + __name(Td, "Td"); + function Sd(e, r) { + return [...new Set(e.concat(r))]; + } + __name(Sd, "Sd"); + function Rd(e) { + return ji(e, (r, t) => { + let n = ra(r), i = ra(t); + return n !== i ? n - i : ta(r) - ta(t); + }); + } + __name(Rd, "Rd"); + function ra(e) { + let r = 0; + return Array.isArray(e.selectionPath) && (r += e.selectionPath.length), Array.isArray(e.argumentPath) && (r += e.argumentPath.length), r; + } + __name(ra, "ra"); + function ta(e) { + switch (e.kind) { + case "InvalidArgumentValue": + case "ValueTooLarge": + return 20; + case "InvalidArgumentType": + return 10; + case "RequiredArgumentMissing": + return -10; + default: + return 0; + } + } + __name(ta, "ta"); + var le = class { + static { + __name(this, "le"); + } + constructor(r, t) { + this.name = r; + this.value = t; + } + isRequired = false; + makeRequired() { + return this.isRequired = true, this; + } + write(r) { + let { colors: { green: t } } = r.context; + r.addMarginSymbol(t(this.isRequired ? "+" : "?")), r.write(t(this.name)), this.isRequired || r.write(t("?")), r.write(t(": ")), typeof this.value == "string" ? r.write(t(this.value)) : r.write(this.value); + } + }; + sa(); + var Ar = class { + static { + __name(this, "Ar"); + } + constructor(r = 0, t) { + this.context = t; + this.currentIndent = r; + } + lines = []; + currentLine = ""; + currentIndent = 0; + marginSymbol; + afterNextNewLineCallback; + write(r) { + return typeof r == "string" ? this.currentLine += r : r.write(this), this; + } + writeJoined(r, t, n = (i, o) => o.write(i)) { + let i = t.length - 1; + for (let o = 0; o < t.length; o++) n(t[o], this), o !== i && this.write(r); + return this; + } + writeLine(r) { + return this.write(r).newLine(); + } + newLine() { + this.lines.push(this.indentedCurrentLine()), this.currentLine = "", this.marginSymbol = void 0; + let r = this.afterNextNewLineCallback; + return this.afterNextNewLineCallback = void 0, r?.(), this; + } + withIndent(r) { + return this.indent(), r(this), this.unindent(), this; + } + afterNextNewline(r) { + return this.afterNextNewLineCallback = r, this; + } + indent() { + return this.currentIndent++, this; + } + unindent() { + return this.currentIndent > 0 && this.currentIndent--, this; + } + addMarginSymbol(r) { + return this.marginSymbol = r, this; + } + toString() { + return this.lines.concat(this.indentedCurrentLine()).join(` +`); + } + getCurrentLineLength() { + return this.currentLine.length; + } + indentedCurrentLine() { + let r = this.currentLine.padStart(this.currentLine.length + 2 * this.currentIndent); + return this.marginSymbol ? this.marginSymbol + r.slice(1) : r; + } + }; + oa(); + var Rn = class { + static { + __name(this, "Rn"); + } + constructor(r) { + this.value = r; + } + write(r) { + r.write(this.value); + } + markAsError() { + this.value.markAsError(); + } + }; + var An = /* @__PURE__ */ __name((e) => e, "An"); + var Cn = { bold: An, red: An, green: An, dim: An, enabled: false }; + var aa = { bold: W, red: ce, green: qe, dim: Ce, enabled: true }; + var Cr = { write(e) { + e.writeLine(","); + } }; + var Pe = class { + static { + __name(this, "Pe"); + } + constructor(r) { + this.contents = r; + } + isUnderlined = false; + color = /* @__PURE__ */ __name((r) => r, "color"); + underline() { + return this.isUnderlined = true, this; + } + setColor(r) { + return this.color = r, this; + } + write(r) { + let t = r.getCurrentLineLength(); + r.write(this.color(this.contents)), this.isUnderlined && r.afterNextNewline(() => { + r.write(" ".repeat(t)).writeLine(this.color("~".repeat(this.contents.length))); + }); + } + }; + var ze = class { + static { + __name(this, "ze"); + } + hasError = false; + markAsError() { + return this.hasError = true, this; + } + }; + var Ir = class extends ze { + static { + __name(this, "Ir"); + } + items = []; + addItem(r) { + return this.items.push(new Rn(r)), this; + } + getField(r) { + return this.items[r]; + } + getPrintWidth() { + return this.items.length === 0 ? 2 : Math.max(...this.items.map((t) => t.value.getPrintWidth())) + 2; + } + write(r) { + if (this.items.length === 0) { + this.writeEmpty(r); + return; + } + this.writeWithItems(r); + } + writeEmpty(r) { + let t = new Pe("[]"); + this.hasError && t.setColor(r.context.colors.red).underline(), r.write(t); + } + writeWithItems(r) { + let { colors: t } = r.context; + r.writeLine("[").withIndent(() => r.writeJoined(Cr, this.items).newLine()).write("]"), this.hasError && r.afterNextNewline(() => { + r.writeLine(t.red("~".repeat(this.getPrintWidth()))); + }); + } + asObject() { + } + }; + var Dr = class e extends ze { + static { + __name(this, "e"); + } + fields = {}; + suggestions = []; + addField(r) { + this.fields[r.name] = r; + } + addSuggestion(r) { + this.suggestions.push(r); + } + getField(r) { + return this.fields[r]; + } + getDeepField(r) { + let [t, ...n] = r, i = this.getField(t); + if (!i) return; + let o = i; + for (let s of n) { + let a; + if (o.value instanceof e ? a = o.value.getField(s) : o.value instanceof Ir && (a = o.value.getField(Number(s))), !a) return; + o = a; + } + return o; + } + getDeepFieldValue(r) { + return r.length === 0 ? this : this.getDeepField(r)?.value; + } + hasField(r) { + return !!this.getField(r); + } + removeAllFields() { + this.fields = {}; + } + removeField(r) { + delete this.fields[r]; + } + getFields() { + return this.fields; + } + isEmpty() { + return Object.keys(this.fields).length === 0; + } + getFieldValue(r) { + return this.getField(r)?.value; + } + getDeepSubSelectionValue(r) { + let t = this; + for (let n of r) { + if (!(t instanceof e)) return; + let i = t.getSubSelectionValue(n); + if (!i) return; + t = i; + } + return t; + } + getDeepSelectionParent(r) { + let t = this.getSelectionParent(); + if (!t) return; + let n = t; + for (let i of r) { + let o = n.value.getFieldValue(i); + if (!o || !(o instanceof e)) return; + let s = o.getSelectionParent(); + if (!s) return; + n = s; + } + return n; + } + getSelectionParent() { + let r = this.getField("select")?.value.asObject(); + if (r) return { kind: "select", value: r }; + let t = this.getField("include")?.value.asObject(); + if (t) return { kind: "include", value: t }; + } + getSubSelectionValue(r) { + return this.getSelectionParent()?.value.fields[r].value; + } + getPrintWidth() { + let r = Object.values(this.fields); + return r.length == 0 ? 2 : Math.max(...r.map((n) => n.getPrintWidth())) + 2; + } + write(r) { + let t = Object.values(this.fields); + if (t.length === 0 && this.suggestions.length === 0) { + this.writeEmpty(r); + return; + } + this.writeWithContents(r, t); + } + asObject() { + return this; + } + writeEmpty(r) { + let t = new Pe("{}"); + this.hasError && t.setColor(r.context.colors.red).underline(), r.write(t); + } + writeWithContents(r, t) { + r.writeLine("{").withIndent(() => { + r.writeJoined(Cr, [...t, ...this.suggestions]).newLine(); + }), r.write("}"), this.hasError && r.afterNextNewline(() => { + r.writeLine(r.context.colors.red("~".repeat(this.getPrintWidth()))); + }); + } + }; + var Q = class extends ze { + static { + __name(this, "Q"); + } + constructor(t) { + super(); + this.text = t; + } + getPrintWidth() { + return this.text.length; + } + write(t) { + let n = new Pe(this.text); + this.hasError && n.underline().setColor(t.context.colors.red), t.write(n); + } + asObject() { + } + }; + var pt = class { + static { + __name(this, "pt"); + } + fields = []; + addField(r, t) { + return this.fields.push({ write(n) { + let { green: i, dim: o } = n.context.colors; + n.write(i(o(`${r}: ${t}`))).addMarginSymbol(i(o("+"))); + } }), this; + } + write(r) { + let { colors: { green: t } } = r.context; + r.writeLine(t("{")).withIndent(() => { + r.writeJoined(Cr, this.fields).newLine(); + }).write(t("}")).addMarginSymbol(t("+")); + } + }; + function Sn(e, r, t) { + switch (e.kind) { + case "MutuallyExclusiveFields": + Ad(e, r); + break; + case "IncludeOnScalar": + Cd(e, r); + break; + case "EmptySelection": + Id(e, r, t); + break; + case "UnknownSelectionField": + _d(e, r); + break; + case "InvalidSelectionValue": + Nd(e, r); + break; + case "UnknownArgument": + Ld(e, r); + break; + case "UnknownInputField": + Fd(e, r); + break; + case "RequiredArgumentMissing": + Md(e, r); + break; + case "InvalidArgumentType": + $d(e, r); + break; + case "InvalidArgumentValue": + qd(e, r); + break; + case "ValueTooLarge": + Vd(e, r); + break; + case "SomeFieldsMissing": + jd(e, r); + break; + case "TooManyFieldsGiven": + Bd(e, r); + break; + case "Union": + na(e, r, t); + break; + default: + throw new Error("not implemented: " + e.kind); + } + } + __name(Sn, "Sn"); + function Ad(e, r) { + let t = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + t && (t.getField(e.firstField)?.markAsError(), t.getField(e.secondField)?.markAsError()), r.addErrorMessage((n) => `Please ${n.bold("either")} use ${n.green(`\`${e.firstField}\``)} or ${n.green(`\`${e.secondField}\``)}, but ${n.red("not both")} at the same time.`); + } + __name(Ad, "Ad"); + function Cd(e, r) { + let [t, n] = Or(e.selectionPath), i = e.outputType, o = r.arguments.getDeepSelectionParent(t)?.value; + if (o && (o.getField(n)?.markAsError(), i)) for (let s of i.fields) s.isRelation && o.addSuggestion(new le(s.name, "true")); + r.addErrorMessage((s) => { + let a = `Invalid scalar field ${s.red(`\`${n}\``)} for ${s.bold("include")} statement`; + return i ? a += ` on model ${s.bold(i.name)}. ${dt(s)}` : a += ".", a += ` +Note that ${s.bold("include")} statements only accept relation fields.`, a; + }); + } + __name(Cd, "Cd"); + function Id(e, r, t) { + let n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + if (n) { + let i = n.getField("omit")?.value.asObject(); + if (i) { + Dd(e, r, i); + return; + } + if (n.hasField("select")) { + Od(e, r); + return; + } + } + if (t?.[We(e.outputType.name)]) { + kd(e, r); + return; + } + r.addErrorMessage(() => `Unknown field at "${e.selectionPath.join(".")} selection"`); + } + __name(Id, "Id"); + function Dd(e, r, t) { + t.removeAllFields(); + for (let n of e.outputType.fields) t.addSuggestion(new le(n.name, "false")); + r.addErrorMessage((n) => `The ${n.red("omit")} statement includes every field of the model ${n.bold(e.outputType.name)}. At least one field must be included in the result`); + } + __name(Dd, "Dd"); + function Od(e, r) { + let t = e.outputType, n = r.arguments.getDeepSelectionParent(e.selectionPath)?.value, i = n?.isEmpty() ?? false; + n && (n.removeAllFields(), pa(n, t)), r.addErrorMessage((o) => i ? `The ${o.red("`select`")} statement for type ${o.bold(t.name)} must not be empty. ${dt(o)}` : `The ${o.red("`select`")} statement for type ${o.bold(t.name)} needs ${o.bold("at least one truthy value")}.`); + } + __name(Od, "Od"); + function kd(e, r) { + let t = new pt(); + for (let i of e.outputType.fields) i.isRelation || t.addField(i.name, "false"); + let n = new le("omit", t).makeRequired(); + if (e.selectionPath.length === 0) r.arguments.addSuggestion(n); + else { + let [i, o] = Or(e.selectionPath), a = r.arguments.getDeepSelectionParent(i)?.value.asObject()?.getField(o); + if (a) { + let l = a?.value.asObject() ?? new Dr(); + l.addSuggestion(n), a.value = l; + } + } + r.addErrorMessage((i) => `The global ${i.red("omit")} configuration excludes every field of the model ${i.bold(e.outputType.name)}. At least one field must be included in the result`); + } + __name(kd, "kd"); + function _d(e, r) { + let t = da(e.selectionPath, r); + if (t.parentKind !== "unknown") { + t.field.markAsError(); + let n = t.parent; + switch (t.parentKind) { + case "select": + pa(n, e.outputType); + break; + case "include": + Ud(n, e.outputType); + break; + case "omit": + Gd(n, e.outputType); + break; + } + } + r.addErrorMessage((n) => { + let i = [`Unknown field ${n.red(`\`${t.fieldName}\``)}`]; + return t.parentKind !== "unknown" && i.push(`for ${n.bold(t.parentKind)} statement`), i.push(`on model ${n.bold(`\`${e.outputType.name}\``)}.`), i.push(dt(n)), i.join(" "); + }); + } + __name(_d, "_d"); + function Nd(e, r) { + let t = da(e.selectionPath, r); + t.parentKind !== "unknown" && t.field.value.markAsError(), r.addErrorMessage((n) => `Invalid value for selection field \`${n.red(t.fieldName)}\`: ${e.underlyingError}`); + } + __name(Nd, "Nd"); + function Ld(e, r) { + let t = e.argumentPath[0], n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + n && (n.getField(t)?.markAsError(), Qd(n, e.arguments)), r.addErrorMessage((i) => ua(i, t, e.arguments.map((o) => o.name))); + } + __name(Ld, "Ld"); + function Fd(e, r) { + let [t, n] = Or(e.argumentPath), i = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + if (i) { + i.getDeepField(e.argumentPath)?.markAsError(); + let o = i.getDeepFieldValue(t)?.asObject(); + o && ma(o, e.inputType); + } + r.addErrorMessage((o) => ua(o, n, e.inputType.fields.map((s) => s.name))); + } + __name(Fd, "Fd"); + function ua(e, r, t) { + let n = [`Unknown argument \`${e.red(r)}\`.`], i = Jd(r, t); + return i && n.push(`Did you mean \`${e.green(i)}\`?`), t.length > 0 && n.push(dt(e)), n.join(" "); + } + __name(ua, "ua"); + function Md(e, r) { + let t; + r.addErrorMessage((l) => t?.value instanceof Q && t.value.text === "null" ? `Argument \`${l.green(o)}\` must not be ${l.red("null")}.` : `Argument \`${l.green(o)}\` is missing.`); + let n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + if (!n) return; + let [i, o] = Or(e.argumentPath), s = new pt(), a = n.getDeepFieldValue(i)?.asObject(); + if (a) { + if (t = a.getField(o), t && a.removeField(o), e.inputTypes.length === 1 && e.inputTypes[0].kind === "object") { + for (let l of e.inputTypes[0].fields) s.addField(l.name, l.typeNames.join(" | ")); + a.addSuggestion(new le(o, s).makeRequired()); + } else { + let l = e.inputTypes.map(ca).join(" | "); + a.addSuggestion(new le(o, l).makeRequired()); + } + if (e.dependentArgumentPath) { + n.getDeepField(e.dependentArgumentPath)?.markAsError(); + let [, l] = Or(e.dependentArgumentPath); + r.addErrorMessage((u) => `Argument \`${u.green(o)}\` is required because argument \`${u.green(l)}\` was provided.`); + } + } + } + __name(Md, "Md"); + function ca(e) { + return e.kind === "list" ? `${ca(e.elementType)}[]` : e.name; + } + __name(ca, "ca"); + function $d(e, r) { + let t = e.argument.name, n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + n && n.getDeepFieldValue(e.argumentPath)?.markAsError(), r.addErrorMessage((i) => { + let o = In("or", e.argument.typeNames.map((s) => i.green(s))); + return `Argument \`${i.bold(t)}\`: Invalid value provided. Expected ${o}, provided ${i.red(e.inferredType)}.`; + }); + } + __name($d, "$d"); + function qd(e, r) { + let t = e.argument.name, n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + n && n.getDeepFieldValue(e.argumentPath)?.markAsError(), r.addErrorMessage((i) => { + let o = [`Invalid value for argument \`${i.bold(t)}\``]; + if (e.underlyingError && o.push(`: ${e.underlyingError}`), o.push("."), e.argument.typeNames.length > 0) { + let s = In("or", e.argument.typeNames.map((a) => i.green(a))); + o.push(` Expected ${s}.`); + } + return o.join(""); + }); + } + __name(qd, "qd"); + function Vd(e, r) { + let t = e.argument.name, n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(), i; + if (n) { + let s = n.getDeepField(e.argumentPath)?.value; + s?.markAsError(), s instanceof Q && (i = s.text); + } + r.addErrorMessage((o) => { + let s = ["Unable to fit value"]; + return i && s.push(o.red(i)), s.push(`into a 64-bit signed integer for field \`${o.bold(t)}\``), s.join(" "); + }); + } + __name(Vd, "Vd"); + function jd(e, r) { + let t = e.argumentPath[e.argumentPath.length - 1], n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(); + if (n) { + let i = n.getDeepFieldValue(e.argumentPath)?.asObject(); + i && ma(i, e.inputType); + } + r.addErrorMessage((i) => { + let o = [`Argument \`${i.bold(t)}\` of type ${i.bold(e.inputType.name)} needs`]; + return e.constraints.minFieldCount === 1 ? e.constraints.requiredFields ? o.push(`${i.green("at least one of")} ${In("or", e.constraints.requiredFields.map((s) => `\`${i.bold(s)}\``))} arguments.`) : o.push(`${i.green("at least one")} argument.`) : o.push(`${i.green(`at least ${e.constraints.minFieldCount}`)} arguments.`), o.push(dt(i)), o.join(" "); + }); + } + __name(jd, "jd"); + function Bd(e, r) { + let t = e.argumentPath[e.argumentPath.length - 1], n = r.arguments.getDeepSubSelectionValue(e.selectionPath)?.asObject(), i = []; + if (n) { + let o = n.getDeepFieldValue(e.argumentPath)?.asObject(); + o && (o.markAsError(), i = Object.keys(o.getFields())); + } + r.addErrorMessage((o) => { + let s = [`Argument \`${o.bold(t)}\` of type ${o.bold(e.inputType.name)} needs`]; + return e.constraints.minFieldCount === 1 && e.constraints.maxFieldCount == 1 ? s.push(`${o.green("exactly one")} argument,`) : e.constraints.maxFieldCount == 1 ? s.push(`${o.green("at most one")} argument,`) : s.push(`${o.green(`at most ${e.constraints.maxFieldCount}`)} arguments,`), s.push(`but you provided ${In("and", i.map((a) => o.red(a)))}. Please choose`), e.constraints.maxFieldCount === 1 ? s.push("one.") : s.push(`${e.constraints.maxFieldCount}.`), s.join(" "); + }); + } + __name(Bd, "Bd"); + function pa(e, r) { + for (let t of r.fields) e.hasField(t.name) || e.addSuggestion(new le(t.name, "true")); + } + __name(pa, "pa"); + function Ud(e, r) { + for (let t of r.fields) t.isRelation && !e.hasField(t.name) && e.addSuggestion(new le(t.name, "true")); + } + __name(Ud, "Ud"); + function Gd(e, r) { + for (let t of r.fields) !e.hasField(t.name) && !t.isRelation && e.addSuggestion(new le(t.name, "true")); + } + __name(Gd, "Gd"); + function Qd(e, r) { + for (let t of r) e.hasField(t.name) || e.addSuggestion(new le(t.name, t.typeNames.join(" | "))); + } + __name(Qd, "Qd"); + function da(e, r) { + let [t, n] = Or(e), i = r.arguments.getDeepSubSelectionValue(t)?.asObject(); + if (!i) return { parentKind: "unknown", fieldName: n }; + let o = i.getFieldValue("select")?.asObject(), s = i.getFieldValue("include")?.asObject(), a = i.getFieldValue("omit")?.asObject(), l = o?.getField(n); + return o && l ? { parentKind: "select", parent: o, field: l, fieldName: n } : (l = s?.getField(n), s && l ? { parentKind: "include", field: l, parent: s, fieldName: n } : (l = a?.getField(n), a && l ? { parentKind: "omit", field: l, parent: a, fieldName: n } : { parentKind: "unknown", fieldName: n })); + } + __name(da, "da"); + function ma(e, r) { + if (r.kind === "object") for (let t of r.fields) e.hasField(t.name) || e.addSuggestion(new le(t.name, t.typeNames.join(" | "))); + } + __name(ma, "ma"); + function Or(e) { + let r = [...e], t = r.pop(); + if (!t) throw new Error("unexpected empty path"); + return [r, t]; + } + __name(Or, "Or"); + function dt({ green: e, enabled: r }) { + return "Available options are " + (r ? `listed in ${e("green")}` : "marked with ?") + "."; + } + __name(dt, "dt"); + function In(e, r) { + if (r.length === 1) return r[0]; + let t = [...r], n = t.pop(); + return `${t.join(", ")} ${e} ${n}`; + } + __name(In, "In"); + var Wd = 3; + function Jd(e, r) { + let t = 1 / 0, n; + for (let i of r) { + let o = (0, la.default)(e, i); + o > Wd || o < t && (t = o, n = i); + } + return n; + } + __name(Jd, "Jd"); + var mt = class { + static { + __name(this, "mt"); + } + modelName; + name; + typeName; + isList; + isEnum; + constructor(r, t, n, i, o) { + this.modelName = r, this.name = t, this.typeName = n, this.isList = i, this.isEnum = o; + } + _toGraphQLInputType() { + let r = this.isList ? "List" : "", t = this.isEnum ? "Enum" : ""; + return `${r}${t}${this.typeName}FieldRefInput<${this.modelName}>`; + } + }; + function kr(e) { + return e instanceof mt; + } + __name(kr, "kr"); + var Dn = /* @__PURE__ */ Symbol(); + var Yi = /* @__PURE__ */ new WeakMap(); + var Me = class { + static { + __name(this, "Me"); + } + constructor(r) { + r === Dn ? Yi.set(this, `Prisma.${this._getName()}`) : Yi.set(this, `new Prisma.${this._getNamespace()}.${this._getName()}()`); + } + _getName() { + return this.constructor.name; + } + toString() { + return Yi.get(this); + } + }; + var ft = class extends Me { + static { + __name(this, "ft"); + } + _getNamespace() { + return "NullTypes"; + } + }; + var gt = class extends ft { + static { + __name(this, "gt"); + } + #e; + }; + zi(gt, "DbNull"); + var ht = class extends ft { + static { + __name(this, "ht"); + } + #e; + }; + zi(ht, "JsonNull"); + var yt = class extends ft { + static { + __name(this, "yt"); + } + #e; + }; + zi(yt, "AnyNull"); + var On = { classes: { DbNull: gt, JsonNull: ht, AnyNull: yt }, instances: { DbNull: new gt(Dn), JsonNull: new ht(Dn), AnyNull: new yt(Dn) } }; + function zi(e, r) { + Object.defineProperty(e, "name", { value: r, configurable: true }); + } + __name(zi, "zi"); + var fa = ": "; + var kn = class { + static { + __name(this, "kn"); + } + constructor(r, t) { + this.name = r; + this.value = t; + } + hasError = false; + markAsError() { + this.hasError = true; + } + getPrintWidth() { + return this.name.length + this.value.getPrintWidth() + fa.length; + } + write(r) { + let t = new Pe(this.name); + this.hasError && t.underline().setColor(r.context.colors.red), r.write(t).write(fa).write(this.value); + } + }; + var Zi = class { + static { + __name(this, "Zi"); + } + arguments; + errorMessages = []; + constructor(r) { + this.arguments = r; + } + write(r) { + r.write(this.arguments); + } + addErrorMessage(r) { + this.errorMessages.push(r); + } + renderAllMessages(r) { + return this.errorMessages.map((t) => t(r)).join(` +`); + } + }; + function _r(e) { + return new Zi(ga(e)); + } + __name(_r, "_r"); + function ga(e) { + let r = new Dr(); + for (let [t, n] of Object.entries(e)) { + let i = new kn(t, ha(n)); + r.addField(i); + } + return r; + } + __name(ga, "ga"); + function ha(e) { + if (typeof e == "string") return new Q(JSON.stringify(e)); + if (typeof e == "number" || typeof e == "boolean") return new Q(String(e)); + if (typeof e == "bigint") return new Q(`${e}n`); + if (e === null) return new Q("null"); + if (e === void 0) return new Q("undefined"); + if (Sr(e)) return new Q(`new Prisma.Decimal("${e.toFixed()}")`); + if (e instanceof Uint8Array) return Buffer.isBuffer(e) ? new Q(`Buffer.alloc(${e.byteLength})`) : new Q(`new Uint8Array(${e.byteLength})`); + if (e instanceof Date) { + let r = mn(e) ? e.toISOString() : "Invalid Date"; + return new Q(`new Date("${r}")`); + } + return e instanceof Me ? new Q(`Prisma.${e._getName()}`) : kr(e) ? new Q(`prisma.${We(e.modelName)}.$fields.${e.name}`) : Array.isArray(e) ? Kd(e) : typeof e == "object" ? ga(e) : new Q(Object.prototype.toString.call(e)); + } + __name(ha, "ha"); + function Kd(e) { + let r = new Ir(); + for (let t of e) r.addItem(ha(t)); + return r; + } + __name(Kd, "Kd"); + function _n(e, r) { + let t = r === "pretty" ? aa : Cn, n = e.renderAllMessages(t), i = new Ar(0, { colors: t }).write(e).toString(); + return { message: n, args: i }; + } + __name(_n, "_n"); + function Nn({ args: e, errors: r, errorFormat: t, callsite: n, originalMethod: i, clientVersion: o, globalOmit: s }) { + let a = _r(e); + for (let p of r) Sn(p, a, s); + let { message: l, args: u } = _n(a, t), c = Tn({ message: l, callsite: n, originalMethod: i, showColors: t === "pretty", callArguments: u }); + throw new Z(c, { clientVersion: o }); + } + __name(Nn, "Nn"); + function Te(e) { + return e.replace(/^./, (r) => r.toLowerCase()); + } + __name(Te, "Te"); + function ba(e, r, t) { + let n = Te(t); + return !r.result || !(r.result.$allModels || r.result[n]) ? e : Hd({ ...e, ...ya(r.name, e, r.result.$allModels), ...ya(r.name, e, r.result[n]) }); + } + __name(ba, "ba"); + function Hd(e) { + let r = new we(), t = /* @__PURE__ */ __name((n, i) => r.getOrCreate(n, () => i.has(n) ? [n] : (i.add(n), e[n] ? e[n].needs.flatMap((o) => t(o, i)) : [n])), "t"); + return pn(e, (n) => ({ ...n, needs: t(n.name, /* @__PURE__ */ new Set()) })); + } + __name(Hd, "Hd"); + function ya(e, r, t) { + return t ? pn(t, ({ needs: n, compute: i }, o) => ({ name: o, needs: n ? Object.keys(n).filter((s) => n[s]) : [], compute: Yd(r, o, i) })) : {}; + } + __name(ya, "ya"); + function Yd(e, r, t) { + let n = e?.[r]?.compute; + return n ? (i) => t({ ...i, [r]: n(i) }) : t; + } + __name(Yd, "Yd"); + function Ea(e, r) { + if (!r) return e; + let t = { ...e }; + for (let n of Object.values(r)) if (e[n.name]) for (let i of n.needs) t[i] = true; + return t; + } + __name(Ea, "Ea"); + function wa(e, r) { + if (!r) return e; + let t = { ...e }; + for (let n of Object.values(r)) if (!e[n.name]) for (let i of n.needs) delete t[i]; + return t; + } + __name(wa, "wa"); + var Ln = class { + static { + __name(this, "Ln"); + } + constructor(r, t) { + this.extension = r; + this.previous = t; + } + computedFieldsCache = new we(); + modelExtensionsCache = new we(); + queryCallbacksCache = new we(); + clientExtensions = lt(() => this.extension.client ? { ...this.previous?.getAllClientExtensions(), ...this.extension.client } : this.previous?.getAllClientExtensions()); + batchCallbacks = lt(() => { + let r = this.previous?.getAllBatchQueryCallbacks() ?? [], t = this.extension.query?.$__internalBatch; + return t ? r.concat(t) : r; + }); + getAllComputedFields(r) { + return this.computedFieldsCache.getOrCreate(r, () => ba(this.previous?.getAllComputedFields(r), this.extension, r)); + } + getAllClientExtensions() { + return this.clientExtensions.get(); + } + getAllModelExtensions(r) { + return this.modelExtensionsCache.getOrCreate(r, () => { + let t = Te(r); + return !this.extension.model || !(this.extension.model[t] || this.extension.model.$allModels) ? this.previous?.getAllModelExtensions(r) : { ...this.previous?.getAllModelExtensions(r), ...this.extension.model.$allModels, ...this.extension.model[t] }; + }); + } + getAllQueryCallbacks(r, t) { + return this.queryCallbacksCache.getOrCreate(`${r}:${t}`, () => { + let n = this.previous?.getAllQueryCallbacks(r, t) ?? [], i = [], o = this.extension.query; + return !o || !(o[r] || o.$allModels || o[t] || o.$allOperations) ? n : (o[r] !== void 0 && (o[r][t] !== void 0 && i.push(o[r][t]), o[r].$allOperations !== void 0 && i.push(o[r].$allOperations)), r !== "$none" && o.$allModels !== void 0 && (o.$allModels[t] !== void 0 && i.push(o.$allModels[t]), o.$allModels.$allOperations !== void 0 && i.push(o.$allModels.$allOperations)), o[t] !== void 0 && i.push(o[t]), o.$allOperations !== void 0 && i.push(o.$allOperations), n.concat(i)); + }); + } + getAllBatchQueryCallbacks() { + return this.batchCallbacks.get(); + } + }; + var Nr = class e { + static { + __name(this, "e"); + } + constructor(r) { + this.head = r; + } + static empty() { + return new e(); + } + static single(r) { + return new e(new Ln(r)); + } + isEmpty() { + return this.head === void 0; + } + append(r) { + return new e(new Ln(r, this.head)); + } + getAllComputedFields(r) { + return this.head?.getAllComputedFields(r); + } + getAllClientExtensions() { + return this.head?.getAllClientExtensions(); + } + getAllModelExtensions(r) { + return this.head?.getAllModelExtensions(r); + } + getAllQueryCallbacks(r, t) { + return this.head?.getAllQueryCallbacks(r, t) ?? []; + } + getAllBatchQueryCallbacks() { + return this.head?.getAllBatchQueryCallbacks() ?? []; + } + }; + var Fn = class { + static { + __name(this, "Fn"); + } + constructor(r) { + this.name = r; + } + }; + function xa(e) { + return e instanceof Fn; + } + __name(xa, "xa"); + function va(e) { + return new Fn(e); + } + __name(va, "va"); + var Pa = /* @__PURE__ */ Symbol(); + var bt = class { + static { + __name(this, "bt"); + } + constructor(r) { + if (r !== Pa) throw new Error("Skip instance can not be constructed directly"); + } + ifUndefined(r) { + return r === void 0 ? Mn : r; + } + }; + var Mn = new bt(Pa); + function Se(e) { + return e instanceof bt; + } + __name(Se, "Se"); + var zd = { findUnique: "findUnique", findUniqueOrThrow: "findUniqueOrThrow", findFirst: "findFirst", findFirstOrThrow: "findFirstOrThrow", findMany: "findMany", count: "aggregate", create: "createOne", createMany: "createMany", createManyAndReturn: "createManyAndReturn", update: "updateOne", updateMany: "updateMany", updateManyAndReturn: "updateManyAndReturn", upsert: "upsertOne", delete: "deleteOne", deleteMany: "deleteMany", executeRaw: "executeRaw", queryRaw: "queryRaw", aggregate: "aggregate", groupBy: "groupBy", runCommandRaw: "runCommandRaw", findRaw: "findRaw", aggregateRaw: "aggregateRaw" }; + var Ta = "explicitly `undefined` values are not allowed"; + function $n({ modelName: e, action: r, args: t, runtimeDataModel: n, extensions: i = Nr.empty(), callsite: o, clientMethod: s, errorFormat: a, clientVersion: l, previewFeatures: u, globalOmit: c }) { + let p = new Xi({ runtimeDataModel: n, modelName: e, action: r, rootArgs: t, callsite: o, extensions: i, selectionPath: [], argumentPath: [], originalMethod: s, errorFormat: a, clientVersion: l, previewFeatures: u, globalOmit: c }); + return { modelName: e, action: zd[r], query: Et(t, p) }; + } + __name($n, "$n"); + function Et({ select: e, include: r, ...t } = {}, n) { + let i = t.omit; + return delete t.omit, { arguments: Ra(t, n), selection: Zd(e, r, i, n) }; + } + __name(Et, "Et"); + function Zd(e, r, t, n) { + return e ? (r ? n.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "include", secondField: "select", selectionPath: n.getSelectionPath() }) : t && n.throwValidationError({ kind: "MutuallyExclusiveFields", firstField: "omit", secondField: "select", selectionPath: n.getSelectionPath() }), tm(e, n)) : Xd(n, r, t); + } + __name(Zd, "Zd"); + function Xd(e, r, t) { + let n = {}; + return e.modelOrType && !e.isRawAction() && (n.$composites = true, n.$scalars = true), r && em(n, r, e), rm(n, t, e), n; + } + __name(Xd, "Xd"); + function em(e, r, t) { + for (let [n, i] of Object.entries(r)) { + if (Se(i)) continue; + let o = t.nestSelection(n); + if (eo(i, o), i === false || i === void 0) { + e[n] = false; + continue; + } + let s = t.findField(n); + if (s && s.kind !== "object" && t.throwValidationError({ kind: "IncludeOnScalar", selectionPath: t.getSelectionPath().concat(n), outputType: t.getOutputTypeDescription() }), s) { + e[n] = Et(i === true ? {} : i, o); + continue; + } + if (i === true) { + e[n] = true; + continue; + } + e[n] = Et(i, o); + } + } + __name(em, "em"); + function rm(e, r, t) { + let n = t.getComputedFields(), i = { ...t.getGlobalOmit(), ...r }, o = wa(i, n); + for (let [s, a] of Object.entries(o)) { + if (Se(a)) continue; + eo(a, t.nestSelection(s)); + let l = t.findField(s); + n?.[s] && !l || (e[s] = !a); + } + } + __name(rm, "rm"); + function tm(e, r) { + let t = {}, n = r.getComputedFields(), i = Ea(e, n); + for (let [o, s] of Object.entries(i)) { + if (Se(s)) continue; + let a = r.nestSelection(o); + eo(s, a); + let l = r.findField(o); + if (!(n?.[o] && !l)) { + if (s === false || s === void 0 || Se(s)) { + t[o] = false; + continue; + } + if (s === true) { + l?.kind === "object" ? t[o] = Et({}, a) : t[o] = true; + continue; + } + t[o] = Et(s, a); + } + } + return t; + } + __name(tm, "tm"); + function Sa(e, r) { + if (e === null) return null; + if (typeof e == "string" || typeof e == "number" || typeof e == "boolean") return e; + if (typeof e == "bigint") return { $type: "BigInt", value: String(e) }; + if (vr(e)) { + if (mn(e)) return { $type: "DateTime", value: e.toISOString() }; + r.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: r.getSelectionPath(), argumentPath: r.getArgumentPath(), argument: { name: r.getArgumentName(), typeNames: ["Date"] }, underlyingError: "Provided Date object is invalid" }); + } + if (xa(e)) return { $type: "Param", value: e.name }; + if (kr(e)) return { $type: "FieldRef", value: { _ref: e.name, _container: e.modelName } }; + if (Array.isArray(e)) return nm(e, r); + if (ArrayBuffer.isView(e)) { + let { buffer: t, byteOffset: n, byteLength: i } = e; + return { $type: "Bytes", value: Buffer.from(t, n, i).toString("base64") }; + } + if (im(e)) return e.values; + if (Sr(e)) return { $type: "Decimal", value: e.toFixed() }; + if (e instanceof Me) { + if (e !== On.instances[e._getName()]) throw new Error("Invalid ObjectEnumValue"); + return { $type: "Enum", value: e._getName() }; + } + if (om(e)) return e.toJSON(); + if (typeof e == "object") return Ra(e, r); + r.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: r.getSelectionPath(), argumentPath: r.getArgumentPath(), argument: { name: r.getArgumentName(), typeNames: [] }, underlyingError: `We could not serialize ${Object.prototype.toString.call(e)} value. Serialize the object to JSON or implement a ".toJSON()" method on it` }); + } + __name(Sa, "Sa"); + function Ra(e, r) { + if (e.$type) return { $type: "Raw", value: e }; + let t = {}; + for (let n in e) { + let i = e[n], o = r.nestArgument(n); + Se(i) || (i !== void 0 ? t[n] = Sa(i, o) : r.isPreviewFeatureOn("strictUndefinedChecks") && r.throwValidationError({ kind: "InvalidArgumentValue", argumentPath: o.getArgumentPath(), selectionPath: r.getSelectionPath(), argument: { name: r.getArgumentName(), typeNames: [] }, underlyingError: Ta })); + } + return t; + } + __name(Ra, "Ra"); + function nm(e, r) { + let t = []; + for (let n = 0; n < e.length; n++) { + let i = r.nestArgument(String(n)), o = e[n]; + if (o === void 0 || Se(o)) { + let s = o === void 0 ? "undefined" : "Prisma.skip"; + r.throwValidationError({ kind: "InvalidArgumentValue", selectionPath: i.getSelectionPath(), argumentPath: i.getArgumentPath(), argument: { name: `${r.getArgumentName()}[${n}]`, typeNames: [] }, underlyingError: `Can not use \`${s}\` value within array. Use \`null\` or filter out \`${s}\` values` }); + } + t.push(Sa(o, i)); + } + return t; + } + __name(nm, "nm"); + function im(e) { + return typeof e == "object" && e !== null && e.__prismaRawParameters__ === true; + } + __name(im, "im"); + function om(e) { + return typeof e == "object" && e !== null && typeof e.toJSON == "function"; + } + __name(om, "om"); + function eo(e, r) { + e === void 0 && r.isPreviewFeatureOn("strictUndefinedChecks") && r.throwValidationError({ kind: "InvalidSelectionValue", selectionPath: r.getSelectionPath(), underlyingError: Ta }); + } + __name(eo, "eo"); + var Xi = class e { + static { + __name(this, "e"); + } + constructor(r) { + this.params = r; + this.params.modelName && (this.modelOrType = this.params.runtimeDataModel.models[this.params.modelName] ?? this.params.runtimeDataModel.types[this.params.modelName]); + } + modelOrType; + throwValidationError(r) { + Nn({ errors: [r], originalMethod: this.params.originalMethod, args: this.params.rootArgs ?? {}, callsite: this.params.callsite, errorFormat: this.params.errorFormat, clientVersion: this.params.clientVersion, globalOmit: this.params.globalOmit }); + } + getSelectionPath() { + return this.params.selectionPath; + } + getArgumentPath() { + return this.params.argumentPath; + } + getArgumentName() { + return this.params.argumentPath[this.params.argumentPath.length - 1]; + } + getOutputTypeDescription() { + if (!(!this.params.modelName || !this.modelOrType)) return { name: this.params.modelName, fields: this.modelOrType.fields.map((r) => ({ name: r.name, typeName: "boolean", isRelation: r.kind === "object" })) }; + } + isRawAction() { + return ["executeRaw", "queryRaw", "runCommandRaw", "findRaw", "aggregateRaw"].includes(this.params.action); + } + isPreviewFeatureOn(r) { + return this.params.previewFeatures.includes(r); + } + getComputedFields() { + if (this.params.modelName) return this.params.extensions.getAllComputedFields(this.params.modelName); + } + findField(r) { + return this.modelOrType?.fields.find((t) => t.name === r); + } + nestSelection(r) { + let t = this.findField(r), n = t?.kind === "object" ? t.type : void 0; + return new e({ ...this.params, modelName: n, selectionPath: this.params.selectionPath.concat(r) }); + } + getGlobalOmit() { + return this.params.modelName && this.shouldApplyGlobalOmit() ? this.params.globalOmit?.[We(this.params.modelName)] ?? {} : {}; + } + shouldApplyGlobalOmit() { + switch (this.params.action) { + case "findFirst": + case "findFirstOrThrow": + case "findUniqueOrThrow": + case "findMany": + case "upsert": + case "findUnique": + case "createManyAndReturn": + case "create": + case "update": + case "updateManyAndReturn": + case "delete": + return true; + case "executeRaw": + case "aggregateRaw": + case "runCommandRaw": + case "findRaw": + case "createMany": + case "deleteMany": + case "groupBy": + case "updateMany": + case "count": + case "aggregate": + case "queryRaw": + return false; + default: + ar(this.params.action, "Unknown action"); + } + } + nestArgument(r) { + return new e({ ...this.params, argumentPath: this.params.argumentPath.concat(r) }); + } + }; + function Aa(e) { + if (!e._hasPreviewFlag("metrics")) throw new Z("`metrics` preview feature must be enabled in order to access metrics API", { clientVersion: e._clientVersion }); + } + __name(Aa, "Aa"); + var Lr = class { + static { + __name(this, "Lr"); + } + _client; + constructor(r) { + this._client = r; + } + prometheus(r) { + return Aa(this._client), this._client._engine.metrics({ format: "prometheus", ...r }); + } + json(r) { + return Aa(this._client), this._client._engine.metrics({ format: "json", ...r }); + } + }; + function Ca(e, r) { + let t = lt(() => sm(r)); + Object.defineProperty(e, "dmmf", { get: /* @__PURE__ */ __name(() => t.get(), "get") }); + } + __name(Ca, "Ca"); + function sm(e) { + return { datamodel: { models: ro(e.models), enums: ro(e.enums), types: ro(e.types) } }; + } + __name(sm, "sm"); + function ro(e) { + return Object.entries(e).map(([r, t]) => ({ name: r, ...t })); + } + __name(ro, "ro"); + var to = /* @__PURE__ */ new WeakMap(); + var qn = "$$PrismaTypedSql"; + var wt = class { + static { + __name(this, "wt"); + } + constructor(r, t) { + to.set(this, { sql: r, values: t }), Object.defineProperty(this, qn, { value: qn }); + } + get sql() { + return to.get(this).sql; + } + get values() { + return to.get(this).values; + } + }; + function Ia(e) { + return (...r) => new wt(e, r); + } + __name(Ia, "Ia"); + function Vn(e) { + return e != null && e[qn] === qn; + } + __name(Vn, "Vn"); + var cu = O(Ti()); + var pu = require("node:async_hooks"); + var du = require("node:events"); + var mu = O(require("node:fs")); + var ri = O(require("node:path")); + var ie = class e { + static { + __name(this, "e"); + } + constructor(r, t) { + if (r.length - 1 !== t.length) throw r.length === 0 ? new TypeError("Expected at least 1 string") : new TypeError(`Expected ${r.length} strings to have ${r.length - 1} values`); + let n = t.reduce((s, a) => s + (a instanceof e ? a.values.length : 1), 0); + this.values = new Array(n), this.strings = new Array(n + 1), this.strings[0] = r[0]; + let i = 0, o = 0; + for (; i < t.length; ) { + let s = t[i++], a = r[i]; + if (s instanceof e) { + this.strings[o] += s.strings[0]; + let l = 0; + for (; l < s.values.length; ) this.values[o++] = s.values[l++], this.strings[o] = s.strings[l]; + this.strings[o] += a; + } else this.values[o++] = s, this.strings[o] = a; + } + } + get sql() { + let r = this.strings.length, t = 1, n = this.strings[0]; + for (; t < r; ) n += `?${this.strings[t++]}`; + return n; + } + get statement() { + let r = this.strings.length, t = 1, n = this.strings[0]; + for (; t < r; ) n += `:${t}${this.strings[t++]}`; + return n; + } + get text() { + let r = this.strings.length, t = 1, n = this.strings[0]; + for (; t < r; ) n += `$${t}${this.strings[t++]}`; + return n; + } + inspect() { + return { sql: this.sql, statement: this.statement, text: this.text, values: this.values }; + } + }; + function Da(e, r = ",", t = "", n = "") { + if (e.length === 0) throw new TypeError("Expected `join([])` to be called with an array of multiple elements, but got an empty array"); + return new ie([t, ...Array(e.length - 1).fill(r), n], e); + } + __name(Da, "Da"); + function no(e) { + return new ie([e], []); + } + __name(no, "no"); + var Oa = no(""); + function io(e, ...r) { + return new ie(e, r); + } + __name(io, "io"); + function xt(e) { + return { getKeys() { + return Object.keys(e); + }, getPropertyValue(r) { + return e[r]; + } }; + } + __name(xt, "xt"); + function re(e, r) { + return { getKeys() { + return [e]; + }, getPropertyValue() { + return r(); + } }; + } + __name(re, "re"); + function lr(e) { + let r = new we(); + return { getKeys() { + return e.getKeys(); + }, getPropertyValue(t) { + return r.getOrCreate(t, () => e.getPropertyValue(t)); + }, getPropertyDescriptor(t) { + return e.getPropertyDescriptor?.(t); + } }; + } + __name(lr, "lr"); + var jn = { enumerable: true, configurable: true, writable: true }; + function Bn(e) { + let r = new Set(e); + return { getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf"), getOwnPropertyDescriptor: /* @__PURE__ */ __name(() => jn, "getOwnPropertyDescriptor"), has: /* @__PURE__ */ __name((t, n) => r.has(n), "has"), set: /* @__PURE__ */ __name((t, n, i) => r.add(n) && Reflect.set(t, n, i), "set"), ownKeys: /* @__PURE__ */ __name(() => [...r], "ownKeys") }; + } + __name(Bn, "Bn"); + var ka = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom"); + function he(e, r) { + let t = am(r), n = /* @__PURE__ */ new Set(), i = new Proxy(e, { get(o, s) { + if (n.has(s)) return o[s]; + let a = t.get(s); + return a ? a.getPropertyValue(s) : o[s]; + }, has(o, s) { + if (n.has(s)) return true; + let a = t.get(s); + return a ? a.has?.(s) ?? true : Reflect.has(o, s); + }, ownKeys(o) { + let s = _a(Reflect.ownKeys(o), t), a = _a(Array.from(t.keys()), t); + return [.../* @__PURE__ */ new Set([...s, ...a, ...n])]; + }, set(o, s, a) { + return t.get(s)?.getPropertyDescriptor?.(s)?.writable === false ? false : (n.add(s), Reflect.set(o, s, a)); + }, getOwnPropertyDescriptor(o, s) { + let a = Reflect.getOwnPropertyDescriptor(o, s); + if (a && !a.configurable) return a; + let l = t.get(s); + return l ? l.getPropertyDescriptor ? { ...jn, ...l?.getPropertyDescriptor(s) } : jn : a; + }, defineProperty(o, s, a) { + return n.add(s), Reflect.defineProperty(o, s, a); + }, getPrototypeOf: /* @__PURE__ */ __name(() => Object.prototype, "getPrototypeOf") }); + return i[ka] = function() { + let o = { ...this }; + return delete o[ka], o; + }, i; + } + __name(he, "he"); + function am(e) { + let r = /* @__PURE__ */ new Map(); + for (let t of e) { + let n = t.getKeys(); + for (let i of n) r.set(i, t); + } + return r; + } + __name(am, "am"); + function _a(e, r) { + return e.filter((t) => r.get(t)?.has?.(t) ?? true); + } + __name(_a, "_a"); + function Fr(e) { + return { getKeys() { + return e; + }, has() { + return false; + }, getPropertyValue() { + } }; + } + __name(Fr, "Fr"); + function Mr(e, r) { + return { batch: e, transaction: r?.kind === "batch" ? { isolationLevel: r.options.isolationLevel } : void 0 }; + } + __name(Mr, "Mr"); + function Na(e) { + if (e === void 0) return ""; + let r = _r(e); + return new Ar(0, { colors: Cn }).write(r).toString(); + } + __name(Na, "Na"); + var lm = "P2037"; + function $r({ error: e, user_facing_error: r }, t, n) { + return r.error_code ? new z(um(r, n), { code: r.error_code, clientVersion: t, meta: r.meta, batchRequestIdx: r.batch_request_idx }) : new V(e, { clientVersion: t, batchRequestIdx: r.batch_request_idx }); + } + __name($r, "$r"); + function um(e, r) { + let t = e.message; + return (r === "postgresql" || r === "postgres" || r === "mysql") && e.error_code === lm && (t += ` +Prisma Accelerate has built-in connection pooling to prevent such errors: https://pris.ly/client/error-accelerate`), t; + } + __name(um, "um"); + var vt = ""; + function La(e) { + var r = e.split(` +`); + return r.reduce(function(t, n) { + var i = dm(n) || fm(n) || ym(n) || xm(n) || Em(n); + return i && t.push(i), t; + }, []); + } + __name(La, "La"); + var cm = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\/|[a-z]:\\|\\\\).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i; + var pm = /\((\S*)(?::(\d+))(?::(\d+))\)/; + function dm(e) { + var r = cm.exec(e); + if (!r) return null; + var t = r[2] && r[2].indexOf("native") === 0, n = r[2] && r[2].indexOf("eval") === 0, i = pm.exec(r[2]); + return n && i != null && (r[2] = i[1], r[3] = i[2], r[4] = i[3]), { file: t ? null : r[2], methodName: r[1] || vt, arguments: t ? [r[2]] : [], lineNumber: r[3] ? +r[3] : null, column: r[4] ? +r[4] : null }; + } + __name(dm, "dm"); + var mm = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i; + function fm(e) { + var r = mm.exec(e); + return r ? { file: r[2], methodName: r[1] || vt, arguments: [], lineNumber: +r[3], column: r[4] ? +r[4] : null } : null; + } + __name(fm, "fm"); + var gm = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i; + var hm = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i; + function ym(e) { + var r = gm.exec(e); + if (!r) return null; + var t = r[3] && r[3].indexOf(" > eval") > -1, n = hm.exec(r[3]); + return t && n != null && (r[3] = n[1], r[4] = n[2], r[5] = null), { file: r[3], methodName: r[1] || vt, arguments: r[2] ? r[2].split(",") : [], lineNumber: r[4] ? +r[4] : null, column: r[5] ? +r[5] : null }; + } + __name(ym, "ym"); + var bm = /^\s*(?:([^@]*)(?:\((.*?)\))?@)?(\S.*?):(\d+)(?::(\d+))?\s*$/i; + function Em(e) { + var r = bm.exec(e); + return r ? { file: r[3], methodName: r[1] || vt, arguments: [], lineNumber: +r[4], column: r[5] ? +r[5] : null } : null; + } + __name(Em, "Em"); + var wm = /^\s*at (?:((?:\[object object\])?[^\\/]+(?: \[as \S+\])?) )?\(?(.*?):(\d+)(?::(\d+))?\)?\s*$/i; + function xm(e) { + var r = wm.exec(e); + return r ? { file: r[2], methodName: r[1] || vt, arguments: [], lineNumber: +r[3], column: r[4] ? +r[4] : null } : null; + } + __name(xm, "xm"); + var oo = class { + static { + __name(this, "oo"); + } + getLocation() { + return null; + } + }; + var so = class { + static { + __name(this, "so"); + } + _error; + constructor() { + this._error = new Error(); + } + getLocation() { + let r = this._error.stack; + if (!r) return null; + let n = La(r).find((i) => { + if (!i.file) return false; + let o = Li(i.file); + return o !== "" && !o.includes("@prisma") && !o.includes("/packages/client/src/runtime/") && !o.endsWith("/runtime/binary.js") && !o.endsWith("/runtime/library.js") && !o.endsWith("/runtime/edge.js") && !o.endsWith("/runtime/edge-esm.js") && !o.startsWith("internal/") && !i.methodName.includes("new ") && !i.methodName.includes("getCallSite") && !i.methodName.includes("Proxy.") && i.methodName.split(".").length < 4; + }); + return !n || !n.file ? null : { fileName: n.file, lineNumber: n.lineNumber, columnNumber: n.column }; + } + }; + function Ze(e) { + return e === "minimal" ? typeof $EnabledCallSite == "function" && e !== "minimal" ? new $EnabledCallSite() : new oo() : new so(); + } + __name(Ze, "Ze"); + var Fa = { _avg: true, _count: true, _sum: true, _min: true, _max: true }; + function qr(e = {}) { + let r = Pm(e); + return Object.entries(r).reduce((n, [i, o]) => (Fa[i] !== void 0 ? n.select[i] = { select: o } : n[i] = o, n), { select: {} }); + } + __name(qr, "qr"); + function Pm(e = {}) { + return typeof e._count == "boolean" ? { ...e, _count: { _all: e._count } } : e; + } + __name(Pm, "Pm"); + function Un(e = {}) { + return (r) => (typeof e._count == "boolean" && (r._count = r._count._all), r); + } + __name(Un, "Un"); + function Ma(e, r) { + let t = Un(e); + return r({ action: "aggregate", unpacker: t, argsMapper: qr })(e); + } + __name(Ma, "Ma"); + function Tm(e = {}) { + let { select: r, ...t } = e; + return typeof r == "object" ? qr({ ...t, _count: r }) : qr({ ...t, _count: { _all: true } }); + } + __name(Tm, "Tm"); + function Sm(e = {}) { + return typeof e.select == "object" ? (r) => Un(e)(r)._count : (r) => Un(e)(r)._count._all; + } + __name(Sm, "Sm"); + function $a(e, r) { + return r({ action: "count", unpacker: Sm(e), argsMapper: Tm })(e); + } + __name($a, "$a"); + function Rm(e = {}) { + let r = qr(e); + if (Array.isArray(r.by)) for (let t of r.by) typeof t == "string" && (r.select[t] = true); + else typeof r.by == "string" && (r.select[r.by] = true); + return r; + } + __name(Rm, "Rm"); + function Am(e = {}) { + return (r) => (typeof e?._count == "boolean" && r.forEach((t) => { + t._count = t._count._all; + }), r); + } + __name(Am, "Am"); + function qa(e, r) { + return r({ action: "groupBy", unpacker: Am(e), argsMapper: Rm })(e); + } + __name(qa, "qa"); + function Va(e, r, t) { + if (r === "aggregate") return (n) => Ma(n, t); + if (r === "count") return (n) => $a(n, t); + if (r === "groupBy") return (n) => qa(n, t); + } + __name(Va, "Va"); + function ja(e, r) { + let t = r.fields.filter((i) => !i.relationName), n = _s(t, "name"); + return new Proxy({}, { get(i, o) { + if (o in i || typeof o == "symbol") return i[o]; + let s = n[o]; + if (s) return new mt(e, o, s.type, s.isList, s.kind === "enum"); + }, ...Bn(Object.keys(n)) }); + } + __name(ja, "ja"); + var Ba = /* @__PURE__ */ __name((e) => Array.isArray(e) ? e : e.split("."), "Ba"); + var ao = /* @__PURE__ */ __name((e, r) => Ba(r).reduce((t, n) => t && t[n], e), "ao"); + var Ua = /* @__PURE__ */ __name((e, r, t) => Ba(r).reduceRight((n, i, o, s) => Object.assign({}, ao(e, s.slice(0, o)), { [i]: n }), t), "Ua"); + function Cm(e, r) { + return e === void 0 || r === void 0 ? [] : [...r, "select", e]; + } + __name(Cm, "Cm"); + function Im(e, r, t) { + return r === void 0 ? e ?? {} : Ua(r, t, e || true); + } + __name(Im, "Im"); + function lo(e, r, t, n, i, o) { + let a = e._runtimeDataModel.models[r].fields.reduce((l, u) => ({ ...l, [u.name]: u }), {}); + return (l) => { + let u = Ze(e._errorFormat), c = Cm(n, i), p = Im(l, o, c), d = t({ dataPath: c, callsite: u })(p), f = Dm(e, r); + return new Proxy(d, { get(h, g) { + if (!f.includes(g)) return h[g]; + let T = [a[g].type, t, g], S = [c, p]; + return lo(e, ...T, ...S); + }, ...Bn([...f, ...Object.getOwnPropertyNames(d)]) }); + }; + } + __name(lo, "lo"); + function Dm(e, r) { + return e._runtimeDataModel.models[r].fields.filter((t) => t.kind === "object").map((t) => t.name); + } + __name(Dm, "Dm"); + var Om = ["findUnique", "findUniqueOrThrow", "findFirst", "findFirstOrThrow", "create", "update", "upsert", "delete"]; + var km = ["aggregate", "count", "groupBy"]; + function uo(e, r) { + let t = e._extensions.getAllModelExtensions(r) ?? {}, n = [_m(e, r), Lm(e, r), xt(t), re("name", () => r), re("$name", () => r), re("$parent", () => e._appliedParent)]; + return he({}, n); + } + __name(uo, "uo"); + function _m(e, r) { + let t = Te(r), n = Object.keys(Rr).concat("count"); + return { getKeys() { + return n; + }, getPropertyValue(i) { + let o = i, s = /* @__PURE__ */ __name((a) => (l) => { + let u = Ze(e._errorFormat); + return e._createPrismaPromise((c) => { + let p = { args: l, dataPath: [], action: o, model: r, clientMethod: `${t}.${i}`, jsModelName: t, transaction: c, callsite: u }; + return e._request({ ...p, ...a }); + }, { action: o, args: l, model: r }); + }, "s"); + return Om.includes(o) ? lo(e, r, s) : Nm(i) ? Va(e, i, s) : s({}); + } }; + } + __name(_m, "_m"); + function Nm(e) { + return km.includes(e); + } + __name(Nm, "Nm"); + function Lm(e, r) { + return lr(re("fields", () => { + let t = e._runtimeDataModel.models[r]; + return ja(r, t); + })); + } + __name(Lm, "Lm"); + function Ga(e) { + return e.replace(/^./, (r) => r.toUpperCase()); + } + __name(Ga, "Ga"); + var co = /* @__PURE__ */ Symbol(); + function Pt(e) { + let r = [Fm(e), Mm(e), re(co, () => e), re("$parent", () => e._appliedParent)], t = e._extensions.getAllClientExtensions(); + return t && r.push(xt(t)), he(e, r); + } + __name(Pt, "Pt"); + function Fm(e) { + let r = Object.getPrototypeOf(e._originalClient), t = [...new Set(Object.getOwnPropertyNames(r))]; + return { getKeys() { + return t; + }, getPropertyValue(n) { + return e[n]; + } }; + } + __name(Fm, "Fm"); + function Mm(e) { + let r = Object.keys(e._runtimeDataModel.models), t = r.map(Te), n = [...new Set(r.concat(t))]; + return lr({ getKeys() { + return n; + }, getPropertyValue(i) { + let o = Ga(i); + if (e._runtimeDataModel.models[o] !== void 0) return uo(e, o); + if (e._runtimeDataModel.models[i] !== void 0) return uo(e, i); + }, getPropertyDescriptor(i) { + if (!t.includes(i)) return { enumerable: false }; + } }); + } + __name(Mm, "Mm"); + function Qa(e) { + return e[co] ? e[co] : e; + } + __name(Qa, "Qa"); + function Wa(e) { + if (typeof e == "function") return e(this); + if (e.client?.__AccelerateEngine) { + let t = e.client.__AccelerateEngine; + this._originalClient._engine = new t(this._originalClient._accelerateEngineConfig); + } + let r = Object.create(this._originalClient, { _extensions: { value: this._extensions.append(e) }, _appliedParent: { value: this, configurable: true }, $on: { value: void 0 } }); + return Pt(r); + } + __name(Wa, "Wa"); + function Ja({ result: e, modelName: r, select: t, omit: n, extensions: i }) { + let o = i.getAllComputedFields(r); + if (!o) return e; + let s = [], a = []; + for (let l of Object.values(o)) { + if (n) { + if (n[l.name]) continue; + let u = l.needs.filter((c) => n[c]); + u.length > 0 && a.push(Fr(u)); + } else if (t) { + if (!t[l.name]) continue; + let u = l.needs.filter((c) => !t[c]); + u.length > 0 && a.push(Fr(u)); + } + $m(e, l.needs) && s.push(qm(l, he(e, s))); + } + return s.length > 0 || a.length > 0 ? he(e, [...s, ...a]) : e; + } + __name(Ja, "Ja"); + function $m(e, r) { + return r.every((t) => Vi(e, t)); + } + __name($m, "$m"); + function qm(e, r) { + return lr(re(e.name, () => e.compute(r))); + } + __name(qm, "qm"); + function Gn({ visitor: e, result: r, args: t, runtimeDataModel: n, modelName: i }) { + if (Array.isArray(r)) { + for (let s = 0; s < r.length; s++) r[s] = Gn({ result: r[s], args: t, modelName: i, runtimeDataModel: n, visitor: e }); + return r; + } + let o = e(r, i, t) ?? r; + return t.include && Ka({ includeOrSelect: t.include, result: o, parentModelName: i, runtimeDataModel: n, visitor: e }), t.select && Ka({ includeOrSelect: t.select, result: o, parentModelName: i, runtimeDataModel: n, visitor: e }), o; + } + __name(Gn, "Gn"); + function Ka({ includeOrSelect: e, result: r, parentModelName: t, runtimeDataModel: n, visitor: i }) { + for (let [o, s] of Object.entries(e)) { + if (!s || r[o] == null || Se(s)) continue; + let l = n.models[t].fields.find((c) => c.name === o); + if (!l || l.kind !== "object" || !l.relationName) continue; + let u = typeof s == "object" ? s : {}; + r[o] = Gn({ visitor: i, result: r[o], args: u, modelName: l.type, runtimeDataModel: n }); + } + } + __name(Ka, "Ka"); + function Ha({ result: e, modelName: r, args: t, extensions: n, runtimeDataModel: i, globalOmit: o }) { + return n.isEmpty() || e == null || typeof e != "object" || !i.models[r] ? e : Gn({ result: e, args: t ?? {}, modelName: r, runtimeDataModel: i, visitor: /* @__PURE__ */ __name((a, l, u) => { + let c = Te(l); + return Ja({ result: a, modelName: c, select: u.select, omit: u.select ? void 0 : { ...o?.[c], ...u.omit }, extensions: n }); + }, "visitor") }); + } + __name(Ha, "Ha"); + var Vm = ["$connect", "$disconnect", "$on", "$transaction", "$extends"]; + var Ya = Vm; + function za(e) { + if (e instanceof ie) return jm(e); + if (Vn(e)) return Bm(e); + if (Array.isArray(e)) { + let t = [e[0]]; + for (let n = 1; n < e.length; n++) t[n] = Tt(e[n]); + return t; + } + let r = {}; + for (let t in e) r[t] = Tt(e[t]); + return r; + } + __name(za, "za"); + function jm(e) { + return new ie(e.strings, e.values); + } + __name(jm, "jm"); + function Bm(e) { + return new wt(e.sql, e.values); + } + __name(Bm, "Bm"); + function Tt(e) { + if (typeof e != "object" || e == null || e instanceof Me || kr(e)) return e; + if (Sr(e)) return new Fe(e.toFixed()); + if (vr(e)) return /* @__PURE__ */ new Date(+e); + if (ArrayBuffer.isView(e)) return e.slice(0); + if (Array.isArray(e)) { + let r = e.length, t; + for (t = Array(r); r--; ) t[r] = Tt(e[r]); + return t; + } + if (typeof e == "object") { + let r = {}; + for (let t in e) t === "__proto__" ? Object.defineProperty(r, t, { value: Tt(e[t]), configurable: true, enumerable: true, writable: true }) : r[t] = Tt(e[t]); + return r; + } + ar(e, "Unknown value"); + } + __name(Tt, "Tt"); + function Xa(e, r, t, n = 0) { + return e._createPrismaPromise((i) => { + let o = r.customDataProxyFetch; + return "transaction" in r && i !== void 0 && (r.transaction?.kind === "batch" && r.transaction.lock.then(), r.transaction = i), n === t.length ? e._executeRequest(r) : t[n]({ model: r.model, operation: r.model ? r.action : r.clientMethod, args: za(r.args ?? {}), __internalParams: r, query: /* @__PURE__ */ __name((s, a = r) => { + let l = a.customDataProxyFetch; + return a.customDataProxyFetch = nl(o, l), a.args = s, Xa(e, a, t, n + 1); + }, "query") }); + }); + } + __name(Xa, "Xa"); + function el(e, r) { + let { jsModelName: t, action: n, clientMethod: i } = r, o = t ? n : i; + if (e._extensions.isEmpty()) return e._executeRequest(r); + let s = e._extensions.getAllQueryCallbacks(t ?? "$none", o); + return Xa(e, r, s); + } + __name(el, "el"); + function rl(e) { + return (r) => { + let t = { requests: r }, n = r[0].extensions.getAllBatchQueryCallbacks(); + return n.length ? tl(t, n, 0, e) : e(t); + }; + } + __name(rl, "rl"); + function tl(e, r, t, n) { + if (t === r.length) return n(e); + let i = e.customDataProxyFetch, o = e.requests[0].transaction; + return r[t]({ args: { queries: e.requests.map((s) => ({ model: s.modelName, operation: s.action, args: s.args })), transaction: o ? { isolationLevel: o.kind === "batch" ? o.isolationLevel : void 0 } : void 0 }, __internalParams: e, query(s, a = e) { + let l = a.customDataProxyFetch; + return a.customDataProxyFetch = nl(i, l), tl(a, r, t + 1, n); + } }); + } + __name(tl, "tl"); + var Za = /* @__PURE__ */ __name((e) => e, "Za"); + function nl(e = Za, r = Za) { + return (t) => e(r(t)); + } + __name(nl, "nl"); + var il = N("prisma:client"); + var ol = { Vercel: "vercel", "Netlify CI": "netlify" }; + function sl({ postinstall: e, ciName: r, clientVersion: t, generator: n }) { + if (il("checkPlatformCaching:postinstall", e), il("checkPlatformCaching:ciName", r), e === true && !(n?.output && typeof (n.output.fromEnvVar ?? n.output.value) == "string") && r && r in ol) { + let i = `Prisma has detected that this project was built on ${r}, which caches dependencies. This leads to an outdated Prisma Client because Prisma's auto-generation isn't triggered. To fix this, make sure to run the \`prisma generate\` command during the build process. + +Learn how: https://pris.ly/d/${ol[r]}-build`; + throw console.error(i), new P(i, t); + } + } + __name(sl, "sl"); + function al(e, r) { + return e ? e.datasources ? e.datasources : e.datasourceUrl ? { [r[0]]: { url: e.datasourceUrl } } : {} : {}; + } + __name(al, "al"); + var dl = O(require("node:fs")); + var St = O(require("node:path")); + function Qn(e) { + let { runtimeBinaryTarget: r } = e; + return `Add "${r}" to \`binaryTargets\` in the "schema.prisma" file and run \`prisma generate\` after saving it: + +${Um(e)}`; + } + __name(Qn, "Qn"); + function Um(e) { + let { generator: r, generatorBinaryTargets: t, runtimeBinaryTarget: n } = e, i = { fromEnvVar: null, value: n }, o = [...t, i]; + return ki({ ...r, binaryTargets: o }); + } + __name(Um, "Um"); + function Xe(e) { + let { runtimeBinaryTarget: r } = e; + return `Prisma Client could not locate the Query Engine for runtime "${r}".`; + } + __name(Xe, "Xe"); + function er(e) { + let { searchedLocations: r } = e; + return `The following locations have been searched: +${[...new Set(r)].map((i) => ` ${i}`).join(` +`)}`; + } + __name(er, "er"); + function ll(e) { + let { runtimeBinaryTarget: r } = e; + return `${Xe(e)} + +This happened because \`binaryTargets\` have been pinned, but the actual deployment also required "${r}". +${Qn(e)} + +${er(e)}`; + } + __name(ll, "ll"); + function Wn(e) { + return `We would appreciate if you could take the time to share some information with us. +Please help us by answering a few questions: https://pris.ly/${e}`; + } + __name(Wn, "Wn"); + function Jn(e) { + let { errorStack: r } = e; + return r?.match(/\/\.next|\/next@|\/next\//) ? ` + +We detected that you are using Next.js, learn how to fix this: https://pris.ly/d/engine-not-found-nextjs.` : ""; + } + __name(Jn, "Jn"); + function ul(e) { + let { queryEngineName: r } = e; + return `${Xe(e)}${Jn(e)} + +This is likely caused by a bundler that has not copied "${r}" next to the resulting bundle. +Ensure that "${r}" has been copied next to the bundle or in "${e.expectedLocation}". + +${Wn("engine-not-found-bundler-investigation")} + +${er(e)}`; + } + __name(ul, "ul"); + function cl(e) { + let { runtimeBinaryTarget: r, generatorBinaryTargets: t } = e, n = t.find((i) => i.native); + return `${Xe(e)} + +This happened because Prisma Client was generated for "${n?.value ?? "unknown"}", but the actual deployment required "${r}". +${Qn(e)} + +${er(e)}`; + } + __name(cl, "cl"); + function pl(e) { + let { queryEngineName: r } = e; + return `${Xe(e)}${Jn(e)} + +This is likely caused by tooling that has not copied "${r}" to the deployment folder. +Ensure that you ran \`prisma generate\` and that "${r}" has been copied to "${e.expectedLocation}". + +${Wn("engine-not-found-tooling-investigation")} + +${er(e)}`; + } + __name(pl, "pl"); + var Gm = N("prisma:client:engines:resolveEnginePath"); + var Qm = /* @__PURE__ */ __name(() => new RegExp("runtime[\\\\/]library\\.m?js$"), "Qm"); + async function ml(e, r) { + let t = { binary: process.env.PRISMA_QUERY_ENGINE_BINARY, library: process.env.PRISMA_QUERY_ENGINE_LIBRARY }[e] ?? r.prismaPath; + if (t !== void 0) return t; + let { enginePath: n, searchedLocations: i } = await Wm(e, r); + if (Gm("enginePath", n), n !== void 0 && e === "binary" && Ri(n), n !== void 0) return r.prismaPath = n; + let o = await ir(), s = r.generator?.binaryTargets ?? [], a = s.some((d) => d.native), l = !s.some((d) => d.value === o), u = __filename.match(Qm()) === null, c = { searchedLocations: i, generatorBinaryTargets: s, generator: r.generator, runtimeBinaryTarget: o, queryEngineName: fl(e, o), expectedLocation: St.default.relative(process.cwd(), r.dirname), errorStack: new Error().stack }, p; + throw a && l ? p = cl(c) : l ? p = ll(c) : u ? p = ul(c) : p = pl(c), new P(p, r.clientVersion); + } + __name(ml, "ml"); + async function Wm(e, r) { + let t = await ir(), n = [], i = [r.dirname, St.default.resolve(__dirname, ".."), r.generator?.output?.value ?? __dirname, St.default.resolve(__dirname, "../../../.prisma/client"), "/tmp/prisma-engines", r.cwd]; + __filename.includes("resolveEnginePath") && i.push(ms()); + for (let o of i) { + let s = fl(e, t), a = St.default.join(o, s); + if (n.push(o), dl.default.existsSync(a)) return { enginePath: a, searchedLocations: n }; + } + return { enginePath: void 0, searchedLocations: n }; + } + __name(Wm, "Wm"); + function fl(e, r) { + return e === "library" ? Gt(r, "fs") : `query-engine-${r}${r === "windows" ? ".exe" : ""}`; + } + __name(fl, "fl"); + function gl(e) { + return e ? e.replace(/".*"/g, '"X"').replace(/[\s:\[]([+-]?([0-9]*[.])?[0-9]+)/g, (r) => `${r[0]}5`) : ""; + } + __name(gl, "gl"); + function hl(e) { + return e.split(` +`).map((r) => r.replace(/^\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)\s*/, "").replace(/\+\d+\s*ms$/, "")).join(` +`); + } + __name(hl, "hl"); + var yl = O(Os()); + function bl({ title: e, user: r = "prisma", repo: t = "prisma", template: n = "bug_report.yml", body: i }) { + return (0, yl.default)({ user: r, repo: t, template: n, title: e, body: i }); + } + __name(bl, "bl"); + function El({ version: e, binaryTarget: r, title: t, description: n, engineVersion: i, database: o, query: s }) { + let a = Bo(6e3 - (s?.length ?? 0)), l = hl(wr(a)), u = n ? `# Description +\`\`\` +${n} +\`\`\`` : "", c = wr(`Hi Prisma Team! My Prisma Client just crashed. This is the report: +## Versions + +| Name | Version | +|-----------------|--------------------| +| Node | ${process.version?.padEnd(19)}| +| OS | ${r?.padEnd(19)}| +| Prisma Client | ${e?.padEnd(19)}| +| Query Engine | ${i?.padEnd(19)}| +| Database | ${o?.padEnd(19)}| + +${u} + +## Logs +\`\`\` +${l} +\`\`\` + +## Client Snippet +\`\`\`ts +// PLEASE FILL YOUR CODE SNIPPET HERE +\`\`\` + +## Schema +\`\`\`prisma +// PLEASE ADD YOUR SCHEMA HERE IF POSSIBLE +\`\`\` + +## Prisma Engine Query +\`\`\` +${s ? gl(s) : ""} +\`\`\` +`), p = bl({ title: t, body: c }); + return `${t} + +This is a non-recoverable error which probably happens when the Prisma Query Engine has a panic. + +${Y(p)} + +If you want the Prisma team to look into it, please open the link above \u{1F64F} +To increase the chance of success, please post your schema and a snippet of +how you used Prisma Client in the issue. +`; + } + __name(El, "El"); + function wl(e, r) { + throw new Error(r); + } + __name(wl, "wl"); + function Jm(e) { + return e !== null && typeof e == "object" && typeof e.$type == "string"; + } + __name(Jm, "Jm"); + function Km(e, r) { + let t = {}; + for (let n of Object.keys(e)) t[n] = r(e[n], n); + return t; + } + __name(Km, "Km"); + function Vr(e) { + return e === null ? e : Array.isArray(e) ? e.map(Vr) : typeof e == "object" ? Jm(e) ? Hm(e) : e.constructor !== null && e.constructor.name !== "Object" ? e : Km(e, Vr) : e; + } + __name(Vr, "Vr"); + function Hm({ $type: e, value: r }) { + switch (e) { + case "BigInt": + return BigInt(r); + case "Bytes": { + let { buffer: t, byteOffset: n, byteLength: i } = Buffer.from(r, "base64"); + return new Uint8Array(t, n, i); + } + case "DateTime": + return new Date(r); + case "Decimal": + return new Le(r); + case "Json": + return JSON.parse(r); + default: + wl(r, "Unknown tagged value"); + } + } + __name(Hm, "Hm"); + var xl = "6.19.3"; + var zm = /* @__PURE__ */ __name(() => globalThis.process?.release?.name === "node", "zm"); + var Zm = /* @__PURE__ */ __name(() => !!globalThis.Bun || !!globalThis.process?.versions?.bun, "Zm"); + var Xm = /* @__PURE__ */ __name(() => !!globalThis.Deno, "Xm"); + var ef = /* @__PURE__ */ __name(() => typeof globalThis.Netlify == "object", "ef"); + var rf = /* @__PURE__ */ __name(() => typeof globalThis.EdgeRuntime == "object", "rf"); + var tf = /* @__PURE__ */ __name(() => globalThis.navigator?.userAgent === "Cloudflare-Workers", "tf"); + function nf() { + return [[ef, "netlify"], [rf, "edge-light"], [tf, "workerd"], [Xm, "deno"], [Zm, "bun"], [zm, "node"]].flatMap((t) => t[0]() ? [t[1]] : []).at(0) ?? ""; + } + __name(nf, "nf"); + var of = { node: "Node.js", workerd: "Cloudflare Workers", deno: "Deno and Deno Deploy", netlify: "Netlify Edge Functions", "edge-light": "Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)" }; + function Kn() { + let e = nf(); + return { id: e, prettyName: of[e] || e, isEdge: ["workerd", "deno", "netlify", "edge-light"].includes(e) }; + } + __name(Kn, "Kn"); + function jr({ inlineDatasources: e, overrideDatasources: r, env: t, clientVersion: n }) { + let i, o = Object.keys(e)[0], s = e[o]?.url, a = r[o]?.url; + if (o === void 0 ? i = void 0 : a ? i = a : s?.value ? i = s.value : s?.fromEnvVar && (i = t[s.fromEnvVar]), s?.fromEnvVar !== void 0 && i === void 0) throw new P(`error: Environment variable not found: ${s.fromEnvVar}.`, n); + if (i === void 0) throw new P("error: Missing URL environment variable, value, or override.", n); + return i; + } + __name(jr, "jr"); + var Hn = class extends Error { + static { + __name(this, "Hn"); + } + clientVersion; + cause; + constructor(r, t) { + super(r), this.clientVersion = t.clientVersion, this.cause = t.cause; + } + get [Symbol.toStringTag]() { + return this.name; + } + }; + var oe = class extends Hn { + static { + __name(this, "oe"); + } + isRetryable; + constructor(r, t) { + super(r, t), this.isRetryable = t.isRetryable ?? true; + } + }; + function R(e, r) { + return { ...e, isRetryable: r }; + } + __name(R, "R"); + var ur = class extends oe { + static { + __name(this, "ur"); + } + name = "InvalidDatasourceError"; + code = "P6001"; + constructor(r, t) { + super(r, R(t, false)); + } + }; + x(ur, "InvalidDatasourceError"); + function vl(e) { + let r = { clientVersion: e.clientVersion }, t = Object.keys(e.inlineDatasources)[0], n = jr({ inlineDatasources: e.inlineDatasources, overrideDatasources: e.overrideDatasources, clientVersion: e.clientVersion, env: { ...e.env, ...typeof process < "u" ? process.env : {} } }), i; + try { + i = new URL(n); + } catch { + throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\``, r); + } + let { protocol: o, searchParams: s } = i; + if (o !== "prisma:" && o !== sn) throw new ur(`Error validating datasource \`${t}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``, r); + let a = s.get("api_key"); + if (a === null || a.length < 1) throw new ur(`Error validating datasource \`${t}\`: the URL must contain a valid API key`, r); + let l = Ii(i) ? "http:" : "https:"; + process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR && i.searchParams.has("use_http") && (l = "http:"); + let u = new URL(i.href.replace(o, l)); + return { apiKey: a, url: u }; + } + __name(vl, "vl"); + var Pl = O(on()); + var Yn = class { + static { + __name(this, "Yn"); + } + apiKey; + tracingHelper; + logLevel; + logQueries; + engineHash; + constructor({ apiKey: r, tracingHelper: t, logLevel: n, logQueries: i, engineHash: o }) { + this.apiKey = r, this.tracingHelper = t, this.logLevel = n, this.logQueries = i, this.engineHash = o; + } + build({ traceparent: r, transactionId: t } = {}) { + let n = { Accept: "application/json", Authorization: `Bearer ${this.apiKey}`, "Content-Type": "application/json", "Prisma-Engine-Hash": this.engineHash, "Prisma-Engine-Version": Pl.enginesVersion }; + this.tracingHelper.isEnabled() && (n.traceparent = r ?? this.tracingHelper.getTraceParent()), t && (n["X-Transaction-Id"] = t); + let i = this.#e(); + return i.length > 0 && (n["X-Capture-Telemetry"] = i.join(", ")), n; + } + #e() { + let r = []; + return this.tracingHelper.isEnabled() && r.push("tracing"), this.logLevel && r.push(this.logLevel), this.logQueries && r.push("query"), r; + } + }; + function sf(e) { + return e[0] * 1e3 + e[1] / 1e6; + } + __name(sf, "sf"); + function po(e) { + return new Date(sf(e)); + } + __name(po, "po"); + var Br = class extends oe { + static { + __name(this, "Br"); + } + name = "ForcedRetryError"; + code = "P5001"; + constructor(r) { + super("This request must be retried", R(r, true)); + } + }; + x(Br, "ForcedRetryError"); + var cr = class extends oe { + static { + __name(this, "cr"); + } + name = "NotImplementedYetError"; + code = "P5004"; + constructor(r, t) { + super(r, R(t, false)); + } + }; + x(cr, "NotImplementedYetError"); + var $ = class extends oe { + static { + __name(this, "$"); + } + response; + constructor(r, t) { + super(r, t), this.response = t.response; + let n = this.response.headers.get("prisma-request-id"); + if (n) { + let i = `(The request id was: ${n})`; + this.message = this.message + " " + i; + } + } + }; + var pr = class extends $ { + static { + __name(this, "pr"); + } + name = "SchemaMissingError"; + code = "P5005"; + constructor(r) { + super("Schema needs to be uploaded", R(r, true)); + } + }; + x(pr, "SchemaMissingError"); + var mo = "This request could not be understood by the server"; + var Rt = class extends $ { + static { + __name(this, "Rt"); + } + name = "BadRequestError"; + code = "P5000"; + constructor(r, t, n) { + super(t || mo, R(r, false)), n && (this.code = n); + } + }; + x(Rt, "BadRequestError"); + var At = class extends $ { + static { + __name(this, "At"); + } + name = "HealthcheckTimeoutError"; + code = "P5013"; + logs; + constructor(r, t) { + super("Engine not started: healthcheck timeout", R(r, true)), this.logs = t; + } + }; + x(At, "HealthcheckTimeoutError"); + var Ct = class extends $ { + static { + __name(this, "Ct"); + } + name = "EngineStartupError"; + code = "P5014"; + logs; + constructor(r, t, n) { + super(t, R(r, true)), this.logs = n; + } + }; + x(Ct, "EngineStartupError"); + var It = class extends $ { + static { + __name(this, "It"); + } + name = "EngineVersionNotSupportedError"; + code = "P5012"; + constructor(r) { + super("Engine version is not supported", R(r, false)); + } + }; + x(It, "EngineVersionNotSupportedError"); + var fo = "Request timed out"; + var Dt = class extends $ { + static { + __name(this, "Dt"); + } + name = "GatewayTimeoutError"; + code = "P5009"; + constructor(r, t = fo) { + super(t, R(r, false)); + } + }; + x(Dt, "GatewayTimeoutError"); + var af = "Interactive transaction error"; + var Ot = class extends $ { + static { + __name(this, "Ot"); + } + name = "InteractiveTransactionError"; + code = "P5015"; + constructor(r, t = af) { + super(t, R(r, false)); + } + }; + x(Ot, "InteractiveTransactionError"); + var lf = "Request parameters are invalid"; + var kt = class extends $ { + static { + __name(this, "kt"); + } + name = "InvalidRequestError"; + code = "P5011"; + constructor(r, t = lf) { + super(t, R(r, false)); + } + }; + x(kt, "InvalidRequestError"); + var go = "Requested resource does not exist"; + var _t = class extends $ { + static { + __name(this, "_t"); + } + name = "NotFoundError"; + code = "P5003"; + constructor(r, t = go) { + super(t, R(r, false)); + } + }; + x(_t, "NotFoundError"); + var ho = "Unknown server error"; + var Ur = class extends $ { + static { + __name(this, "Ur"); + } + name = "ServerError"; + code = "P5006"; + logs; + constructor(r, t, n) { + super(t || ho, R(r, true)), this.logs = n; + } + }; + x(Ur, "ServerError"); + var yo = "Unauthorized, check your connection string"; + var Nt = class extends $ { + static { + __name(this, "Nt"); + } + name = "UnauthorizedError"; + code = "P5007"; + constructor(r, t = yo) { + super(t, R(r, false)); + } + }; + x(Nt, "UnauthorizedError"); + var bo = "Usage exceeded, retry again later"; + var Lt = class extends $ { + static { + __name(this, "Lt"); + } + name = "UsageExceededError"; + code = "P5008"; + constructor(r, t = bo) { + super(t, R(r, true)); + } + }; + x(Lt, "UsageExceededError"); + async function uf(e) { + let r; + try { + r = await e.text(); + } catch { + return { type: "EmptyError" }; + } + try { + let t = JSON.parse(r); + if (typeof t == "string") switch (t) { + case "InternalDataProxyError": + return { type: "DataProxyError", body: t }; + default: + return { type: "UnknownTextError", body: t }; + } + if (typeof t == "object" && t !== null) { + if ("is_panic" in t && "message" in t && "error_code" in t) return { type: "QueryEngineError", body: t }; + if ("EngineNotStarted" in t || "InteractiveTransactionMisrouted" in t || "InvalidRequestError" in t) { + let n = Object.values(t)[0].reason; + return typeof n == "string" && !["SchemaMissing", "EngineVersionNotSupported"].includes(n) ? { type: "UnknownJsonError", body: t } : { type: "DataProxyError", body: t }; + } + } + return { type: "UnknownJsonError", body: t }; + } catch { + return r === "" ? { type: "EmptyError" } : { type: "UnknownTextError", body: r }; + } + } + __name(uf, "uf"); + async function Ft(e, r) { + if (e.ok) return; + let t = { clientVersion: r, response: e }, n = await uf(e); + if (n.type === "QueryEngineError") throw new z(n.body.message, { code: n.body.error_code, clientVersion: r }); + if (n.type === "DataProxyError") { + if (n.body === "InternalDataProxyError") throw new Ur(t, "Internal Data Proxy error"); + if ("EngineNotStarted" in n.body) { + if (n.body.EngineNotStarted.reason === "SchemaMissing") return new pr(t); + if (n.body.EngineNotStarted.reason === "EngineVersionNotSupported") throw new It(t); + if ("EngineStartupError" in n.body.EngineNotStarted.reason) { + let { msg: i, logs: o } = n.body.EngineNotStarted.reason.EngineStartupError; + throw new Ct(t, i, o); + } + if ("KnownEngineStartupError" in n.body.EngineNotStarted.reason) { + let { msg: i, error_code: o } = n.body.EngineNotStarted.reason.KnownEngineStartupError; + throw new P(i, r, o); + } + if ("HealthcheckTimeout" in n.body.EngineNotStarted.reason) { + let { logs: i } = n.body.EngineNotStarted.reason.HealthcheckTimeout; + throw new At(t, i); + } + } + if ("InteractiveTransactionMisrouted" in n.body) { + let i = { IDParseError: "Could not parse interactive transaction ID", NoQueryEngineFoundError: "Could not find Query Engine for the specified host and transaction ID", TransactionStartError: "Could not start interactive transaction" }; + throw new Ot(t, i[n.body.InteractiveTransactionMisrouted.reason]); + } + if ("InvalidRequestError" in n.body) throw new kt(t, n.body.InvalidRequestError.reason); + } + if (e.status === 401 || e.status === 403) throw new Nt(t, Gr(yo, n)); + if (e.status === 404) return new _t(t, Gr(go, n)); + if (e.status === 429) throw new Lt(t, Gr(bo, n)); + if (e.status === 504) throw new Dt(t, Gr(fo, n)); + if (e.status >= 500) throw new Ur(t, Gr(ho, n)); + if (e.status >= 400) throw new Rt(t, Gr(mo, n)); + } + __name(Ft, "Ft"); + function Gr(e, r) { + return r.type === "EmptyError" ? e : `${e}: ${JSON.stringify(r)}`; + } + __name(Gr, "Gr"); + function Tl(e) { + let r = Math.pow(2, e) * 50, t = Math.ceil(Math.random() * r) - Math.ceil(r / 2), n = r + t; + return new Promise((i) => setTimeout(() => i(n), n)); + } + __name(Tl, "Tl"); + var $e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; + function Sl(e) { + let r = new TextEncoder().encode(e), t = "", n = r.byteLength, i = n % 3, o = n - i, s, a, l, u, c; + for (let p = 0; p < o; p = p + 3) c = r[p] << 16 | r[p + 1] << 8 | r[p + 2], s = (c & 16515072) >> 18, a = (c & 258048) >> 12, l = (c & 4032) >> 6, u = c & 63, t += $e[s] + $e[a] + $e[l] + $e[u]; + return i == 1 ? (c = r[o], s = (c & 252) >> 2, a = (c & 3) << 4, t += $e[s] + $e[a] + "==") : i == 2 && (c = r[o] << 8 | r[o + 1], s = (c & 64512) >> 10, a = (c & 1008) >> 4, l = (c & 15) << 2, t += $e[s] + $e[a] + $e[l] + "="), t; + } + __name(Sl, "Sl"); + function Rl(e) { + if (!!e.generator?.previewFeatures.some((t) => t.toLowerCase().includes("metrics"))) throw new P("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate", e.clientVersion); + } + __name(Rl, "Rl"); + var Al = { "@prisma/debug": "workspace:*", "@prisma/engines-version": "7.1.1-3.c2990dca591cba766e3b7ef5d9e8a84796e47ab7", "@prisma/fetch-engine": "workspace:*", "@prisma/get-platform": "workspace:*" }; + var Mt = class extends oe { + static { + __name(this, "Mt"); + } + name = "RequestError"; + code = "P5010"; + constructor(r, t) { + super(`Cannot fetch data from service: +${r}`, R(t, true)); + } + }; + x(Mt, "RequestError"); + async function dr(e, r, t = (n) => n) { + let { clientVersion: n, ...i } = r, o = t(fetch); + try { + return await o(e, i); + } catch (s) { + let a = s.message ?? "Unknown error"; + throw new Mt(a, { clientVersion: n, cause: s }); + } + } + __name(dr, "dr"); + var pf = /^[1-9][0-9]*\.[0-9]+\.[0-9]+$/; + var Cl = N("prisma:client:dataproxyEngine"); + async function df(e, r) { + let t = Al["@prisma/engines-version"], n = r.clientVersion ?? "unknown"; + if (process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION || globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION) return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION || globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION; + if (e.includes("accelerate") && n !== "0.0.0" && n !== "in-memory") return n; + let [i, o] = n?.split("-") ?? []; + if (o === void 0 && pf.test(i)) return i; + if (o !== void 0 || n === "0.0.0" || n === "in-memory") { + let [s] = t.split("-") ?? [], [a, l, u] = s.split("."), c = mf(`<=${a}.${l}.${u}`), p = await dr(c, { clientVersion: n }); + if (!p.ok) throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text() || ""}`); + let d = await p.text(); + Cl("length of body fetched from unpkg.com", d.length); + let f; + try { + f = JSON.parse(d); + } catch (h) { + throw console.error("JSON.parse error: body fetched from unpkg.com: ", d), h; + } + return f.version; + } + throw new cr("Only `major.minor.patch` versions are supported by Accelerate.", { clientVersion: n }); + } + __name(df, "df"); + async function Il(e, r) { + let t = await df(e, r); + return Cl("version", t), t; + } + __name(Il, "Il"); + function mf(e) { + return encodeURI(`https://unpkg.com/prisma@${e}/package.json`); + } + __name(mf, "mf"); + var Dl = 3; + var $t = N("prisma:client:dataproxyEngine"); + var qt = class { + static { + __name(this, "qt"); + } + name = "DataProxyEngine"; + inlineSchema; + inlineSchemaHash; + inlineDatasources; + config; + logEmitter; + env; + clientVersion; + engineHash; + tracingHelper; + remoteClientVersion; + host; + headerBuilder; + startPromise; + protocol; + constructor(r) { + Rl(r), this.config = r, this.env = r.env, this.inlineSchema = Sl(r.inlineSchema), this.inlineDatasources = r.inlineDatasources, this.inlineSchemaHash = r.inlineSchemaHash, this.clientVersion = r.clientVersion, this.engineHash = r.engineVersion, this.logEmitter = r.logEmitter, this.tracingHelper = r.tracingHelper; + } + apiKey() { + return this.headerBuilder.apiKey; + } + version() { + return this.engineHash; + } + async start() { + this.startPromise !== void 0 && await this.startPromise, this.startPromise = (async () => { + let { apiKey: r, url: t } = this.getURLAndAPIKey(); + this.host = t.host, this.protocol = t.protocol, this.headerBuilder = new Yn({ apiKey: r, tracingHelper: this.tracingHelper, logLevel: this.config.logLevel ?? "error", logQueries: this.config.logQueries, engineHash: this.engineHash }), this.remoteClientVersion = await Il(this.host, this.config), $t("host", this.host), $t("protocol", this.protocol); + })(), await this.startPromise; + } + async stop() { + } + propagateResponseExtensions(r) { + r?.logs?.length && r.logs.forEach((t) => { + switch (t.level) { + case "debug": + case "trace": + $t(t); + break; + case "error": + case "warn": + case "info": { + this.logEmitter.emit(t.level, { timestamp: po(t.timestamp), message: t.attributes.message ?? "", target: t.target ?? "BinaryEngine" }); + break; + } + case "query": { + this.logEmitter.emit("query", { query: t.attributes.query ?? "", timestamp: po(t.timestamp), duration: t.attributes.duration_ms ?? 0, params: t.attributes.params ?? "", target: t.target ?? "BinaryEngine" }); + break; + } + default: + t.level; + } + }), r?.traces?.length && this.tracingHelper.dispatchEngineSpans(r.traces); + } + onBeforeExit() { + throw new Error('"beforeExit" hook is not applicable to the remote query engine'); + } + async url(r) { + return await this.start(), `${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${r}`; + } + async uploadSchema() { + let r = { name: "schemaUpload", internal: true }; + return this.tracingHelper.runInChildSpan(r, async () => { + let t = await dr(await this.url("schema"), { method: "PUT", headers: this.headerBuilder.build(), body: this.inlineSchema, clientVersion: this.clientVersion }); + t.ok || $t("schema response status", t.status); + let n = await Ft(t, this.clientVersion); + if (n) throw this.logEmitter.emit("warn", { message: `Error while uploading schema: ${n.message}`, timestamp: /* @__PURE__ */ new Date(), target: "" }), n; + this.logEmitter.emit("info", { message: `Schema (re)uploaded (hash: ${this.inlineSchemaHash})`, timestamp: /* @__PURE__ */ new Date(), target: "" }); + }); + } + request(r, { traceparent: t, interactiveTransaction: n, customDataProxyFetch: i }) { + return this.requestInternal({ body: r, traceparent: t, interactiveTransaction: n, customDataProxyFetch: i }); + } + async requestBatch(r, { traceparent: t, transaction: n, customDataProxyFetch: i }) { + let o = n?.kind === "itx" ? n.options : void 0, s = Mr(r, n); + return (await this.requestInternal({ body: s, customDataProxyFetch: i, interactiveTransaction: o, traceparent: t })).map((l) => (l.extensions && this.propagateResponseExtensions(l.extensions), "errors" in l ? this.convertProtocolErrorsToClientError(l.errors) : l)); + } + requestInternal({ body: r, traceparent: t, customDataProxyFetch: n, interactiveTransaction: i }) { + return this.withRetry({ actionGerund: "querying", callback: /* @__PURE__ */ __name(async ({ logHttpCall: o }) => { + let s = i ? `${i.payload.endpoint}/graphql` : await this.url("graphql"); + o(s); + let a = await dr(s, { method: "POST", headers: this.headerBuilder.build({ traceparent: t, transactionId: i?.id }), body: JSON.stringify(r), clientVersion: this.clientVersion }, n); + a.ok || $t("graphql response status", a.status), await this.handleError(await Ft(a, this.clientVersion)); + let l = await a.json(); + if (l.extensions && this.propagateResponseExtensions(l.extensions), "errors" in l) throw this.convertProtocolErrorsToClientError(l.errors); + return "batchResult" in l ? l.batchResult : l; + }, "callback") }); + } + async transaction(r, t, n) { + let i = { start: "starting", commit: "committing", rollback: "rolling back" }; + return this.withRetry({ actionGerund: `${i[r]} transaction`, callback: /* @__PURE__ */ __name(async ({ logHttpCall: o }) => { + if (r === "start") { + let s = JSON.stringify({ max_wait: n.maxWait, timeout: n.timeout, isolation_level: n.isolationLevel }), a = await this.url("transaction/start"); + o(a); + let l = await dr(a, { method: "POST", headers: this.headerBuilder.build({ traceparent: t.traceparent }), body: s, clientVersion: this.clientVersion }); + await this.handleError(await Ft(l, this.clientVersion)); + let u = await l.json(), { extensions: c } = u; + c && this.propagateResponseExtensions(c); + let p = u.id, d = u["data-proxy"].endpoint; + return { id: p, payload: { endpoint: d } }; + } else { + let s = `${n.payload.endpoint}/${r}`; + o(s); + let a = await dr(s, { method: "POST", headers: this.headerBuilder.build({ traceparent: t.traceparent }), clientVersion: this.clientVersion }); + await this.handleError(await Ft(a, this.clientVersion)); + let l = await a.json(), { extensions: u } = l; + u && this.propagateResponseExtensions(u); + return; + } + }, "callback") }); + } + getURLAndAPIKey() { + return vl({ clientVersion: this.clientVersion, env: this.env, inlineDatasources: this.inlineDatasources, overrideDatasources: this.config.overrideDatasources }); + } + metrics() { + throw new cr("Metrics are not yet supported for Accelerate", { clientVersion: this.clientVersion }); + } + async withRetry(r) { + for (let t = 0; ; t++) { + let n = /* @__PURE__ */ __name((i) => { + this.logEmitter.emit("info", { message: `Calling ${i} (n=${t})`, timestamp: /* @__PURE__ */ new Date(), target: "" }); + }, "n"); + try { + return await r.callback({ logHttpCall: n }); + } catch (i) { + if (!(i instanceof oe) || !i.isRetryable) throw i; + if (t >= Dl) throw i instanceof Br ? i.cause : i; + this.logEmitter.emit("warn", { message: `Attempt ${t + 1}/${Dl} failed for ${r.actionGerund}: ${i.message ?? "(unknown)"}`, timestamp: /* @__PURE__ */ new Date(), target: "" }); + let o = await Tl(t); + this.logEmitter.emit("warn", { message: `Retrying after ${o}ms`, timestamp: /* @__PURE__ */ new Date(), target: "" }); + } + } + } + async handleError(r) { + if (r instanceof pr) throw await this.uploadSchema(), new Br({ clientVersion: this.clientVersion, cause: r }); + if (r) throw r; + } + convertProtocolErrorsToClientError(r) { + return r.length === 1 ? $r(r[0], this.config.clientVersion, this.config.activeProvider) : new V(JSON.stringify(r), { clientVersion: this.config.clientVersion }); + } + applyPendingMigrations() { + throw new Error("Method not implemented."); + } + }; + function Ol(e) { + if (e?.kind === "itx") return e.options.id; + } + __name(Ol, "Ol"); + var wo = O(require("node:os")); + var kl = O(require("node:path")); + var Eo = /* @__PURE__ */ Symbol("PrismaLibraryEngineCache"); + function ff() { + let e = globalThis; + return e[Eo] === void 0 && (e[Eo] = {}), e[Eo]; + } + __name(ff, "ff"); + function gf(e) { + let r = ff(); + if (r[e] !== void 0) return r[e]; + let t = kl.default.toNamespacedPath(e), n = { exports: {} }, i = 0; + return process.platform !== "win32" && (i = wo.default.constants.dlopen.RTLD_LAZY | wo.default.constants.dlopen.RTLD_DEEPBIND), process.dlopen(n, t, i), r[e] = n.exports, n.exports; + } + __name(gf, "gf"); + var _l = { async loadLibrary(e) { + let r = await fi(), t = await ml("library", e); + try { + return e.tracingHelper.runInChildSpan({ name: "loadLibrary", internal: true }, () => gf(t)); + } catch (n) { + let i = Ai({ e: n, platformInfo: r, id: t }); + throw new P(i, e.clientVersion); + } + } }; + var xo; + var Nl = { async loadLibrary(e) { + let { clientVersion: r, adapter: t, engineWasm: n } = e; + if (t === void 0) throw new P(`The \`adapter\` option for \`PrismaClient\` is required in this context (${Kn().prettyName})`, r); + if (n === void 0) throw new P("WASM engine was unexpectedly `undefined`", r); + xo === void 0 && (xo = (async () => { + let o = await n.getRuntime(), s = await n.getQueryEngineWasmModule(); + if (s == null) throw new P("The loaded wasm module was unexpectedly `undefined` or `null` once loaded", r); + let a = { "./query_engine_bg.js": o }, l = new WebAssembly.Instance(s, a), u = l.exports.__wbindgen_start; + return o.__wbg_set_wasm(l.exports), u(), o.QueryEngine; + })()); + let i = await xo; + return { debugPanic() { + return Promise.reject("{}"); + }, dmmf() { + return Promise.resolve("{}"); + }, version() { + return { commit: "unknown", version: "unknown" }; + }, QueryEngine: i }; + } }; + var hf = "P2036"; + var Re = N("prisma:client:libraryEngine"); + function yf(e) { + return e.item_type === "query" && "query" in e; + } + __name(yf, "yf"); + function bf(e) { + return "level" in e ? e.level === "error" && e.message === "PANIC" : false; + } + __name(bf, "bf"); + var Ll = [...li, "native"]; + var Ef = 0xffffffffffffffffn; + var vo = 1n; + function wf() { + let e = vo++; + return vo > Ef && (vo = 1n), e; + } + __name(wf, "wf"); + var Qr = class { + static { + __name(this, "Qr"); + } + name = "LibraryEngine"; + engine; + libraryInstantiationPromise; + libraryStartingPromise; + libraryStoppingPromise; + libraryStarted; + executingQueryPromise; + config; + QueryEngineConstructor; + libraryLoader; + library; + logEmitter; + libQueryEnginePath; + binaryTarget; + datasourceOverrides; + datamodel; + logQueries; + logLevel; + lastQuery; + loggerRustPanic; + tracingHelper; + adapterPromise; + versionInfo; + constructor(r, t) { + this.libraryLoader = t ?? _l, r.engineWasm !== void 0 && (this.libraryLoader = t ?? Nl), this.config = r, this.libraryStarted = false, this.logQueries = r.logQueries ?? false, this.logLevel = r.logLevel ?? "error", this.logEmitter = r.logEmitter, this.datamodel = r.inlineSchema, this.tracingHelper = r.tracingHelper, r.enableDebugLogs && (this.logLevel = "debug"); + let n = Object.keys(r.overrideDatasources)[0], i = r.overrideDatasources[n]?.url; + n !== void 0 && i !== void 0 && (this.datasourceOverrides = { [n]: i }), this.libraryInstantiationPromise = this.instantiateLibrary(); + } + wrapEngine(r) { + return { applyPendingMigrations: r.applyPendingMigrations?.bind(r), commitTransaction: this.withRequestId(r.commitTransaction.bind(r)), connect: this.withRequestId(r.connect.bind(r)), disconnect: this.withRequestId(r.disconnect.bind(r)), metrics: r.metrics?.bind(r), query: this.withRequestId(r.query.bind(r)), rollbackTransaction: this.withRequestId(r.rollbackTransaction.bind(r)), sdlSchema: r.sdlSchema?.bind(r), startTransaction: this.withRequestId(r.startTransaction.bind(r)), trace: r.trace.bind(r), free: r.free?.bind(r) }; + } + withRequestId(r) { + return async (...t) => { + let n = wf().toString(); + try { + return await r(...t, n); + } finally { + if (this.tracingHelper.isEnabled()) { + let i = await this.engine?.trace(n); + if (i) { + let o = JSON.parse(i); + this.tracingHelper.dispatchEngineSpans(o.spans); + } + } + } + }; + } + async applyPendingMigrations() { + throw new Error("Cannot call this method from this type of engine instance"); + } + async transaction(r, t, n) { + await this.start(); + let i = await this.adapterPromise, o = JSON.stringify(t), s; + if (r === "start") { + let l = JSON.stringify({ max_wait: n.maxWait, timeout: n.timeout, isolation_level: n.isolationLevel }); + s = await this.engine?.startTransaction(l, o); + } else r === "commit" ? s = await this.engine?.commitTransaction(n.id, o) : r === "rollback" && (s = await this.engine?.rollbackTransaction(n.id, o)); + let a = this.parseEngineResponse(s); + if (xf(a)) { + let l = this.getExternalAdapterError(a, i?.errorRegistry); + throw l ? l.error : new z(a.message, { code: a.error_code, clientVersion: this.config.clientVersion, meta: a.meta }); + } else if (typeof a.message == "string") throw new V(a.message, { clientVersion: this.config.clientVersion }); + return a; + } + async instantiateLibrary() { + if (Re("internalSetup"), this.libraryInstantiationPromise) return this.libraryInstantiationPromise; + ai(), this.binaryTarget = await this.getCurrentBinaryTarget(), await this.tracingHelper.runInChildSpan("load_engine", () => this.loadEngine()), this.version(); + } + async getCurrentBinaryTarget() { + { + if (this.binaryTarget) return this.binaryTarget; + let r = await this.tracingHelper.runInChildSpan("detect_platform", () => ir()); + if (!Ll.includes(r)) throw new P(`Unknown ${ce("PRISMA_QUERY_ENGINE_LIBRARY")} ${ce(W(r))}. Possible binaryTargets: ${qe(Ll.join(", "))} or a path to the query engine library. +You may have to run ${qe("prisma generate")} for your changes to take effect.`, this.config.clientVersion); + return r; + } + } + parseEngineResponse(r) { + if (!r) throw new V("Response from the Engine was empty", { clientVersion: this.config.clientVersion }); + try { + return JSON.parse(r); + } catch { + throw new V("Unable to JSON.parse response from engine", { clientVersion: this.config.clientVersion }); + } + } + async loadEngine() { + if (!this.engine) { + this.QueryEngineConstructor || (this.library = await this.libraryLoader.loadLibrary(this.config), this.QueryEngineConstructor = this.library.QueryEngine); + try { + let r = new WeakRef(this); + this.adapterPromise || (this.adapterPromise = this.config.adapter?.connect()?.then(tn)); + let t = await this.adapterPromise; + t && Re("Using driver adapter: %O", t), this.engine = this.wrapEngine(new this.QueryEngineConstructor({ datamodel: this.datamodel, env: process.env, logQueries: this.config.logQueries ?? false, ignoreEnvVarErrors: true, datasourceOverrides: this.datasourceOverrides ?? {}, logLevel: this.logLevel, configDir: this.config.cwd, engineProtocol: "json", enableTracing: this.tracingHelper.isEnabled() }, (n) => { + r.deref()?.logger(n); + }, t)); + } catch (r) { + let t = r, n = this.parseInitError(t.message); + throw typeof n == "string" ? t : new P(n.message, this.config.clientVersion, n.error_code); + } + } + } + logger(r) { + let t = this.parseEngineResponse(r); + t && (t.level = t?.level.toLowerCase() ?? "unknown", yf(t) ? this.logEmitter.emit("query", { timestamp: /* @__PURE__ */ new Date(), query: t.query, params: t.params, duration: Number(t.duration_ms), target: t.module_path }) : bf(t) ? this.loggerRustPanic = new ae(Po(this, `${t.message}: ${t.reason} in ${t.file}:${t.line}:${t.column}`), this.config.clientVersion) : this.logEmitter.emit(t.level, { timestamp: /* @__PURE__ */ new Date(), message: t.message, target: t.module_path })); + } + parseInitError(r) { + try { + return JSON.parse(r); + } catch { + } + return r; + } + parseRequestError(r) { + try { + return JSON.parse(r); + } catch { + } + return r; + } + onBeforeExit() { + throw new Error('"beforeExit" hook is not applicable to the library engine since Prisma 5.0.0, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.'); + } + async start() { + if (this.libraryInstantiationPromise || (this.libraryInstantiationPromise = this.instantiateLibrary()), await this.libraryInstantiationPromise, await this.libraryStoppingPromise, this.libraryStartingPromise) return Re(`library already starting, this.libraryStarted: ${this.libraryStarted}`), this.libraryStartingPromise; + if (this.libraryStarted) return; + let r = /* @__PURE__ */ __name(async () => { + Re("library starting"); + try { + let t = { traceparent: this.tracingHelper.getTraceParent() }; + await this.engine?.connect(JSON.stringify(t)), this.libraryStarted = true, this.adapterPromise || (this.adapterPromise = this.config.adapter?.connect()?.then(tn)), await this.adapterPromise, Re("library started"); + } catch (t) { + let n = this.parseInitError(t.message); + throw typeof n == "string" ? t : new P(n.message, this.config.clientVersion, n.error_code); + } finally { + this.libraryStartingPromise = void 0; + } + }, "r"); + return this.libraryStartingPromise = this.tracingHelper.runInChildSpan("connect", r), this.libraryStartingPromise; + } + async stop() { + if (await this.libraryInstantiationPromise, await this.libraryStartingPromise, await this.executingQueryPromise, this.libraryStoppingPromise) return Re("library is already stopping"), this.libraryStoppingPromise; + if (!this.libraryStarted) { + await (await this.adapterPromise)?.dispose(), this.adapterPromise = void 0; + return; + } + let r = /* @__PURE__ */ __name(async () => { + await new Promise((n) => setImmediate(n)), Re("library stopping"); + let t = { traceparent: this.tracingHelper.getTraceParent() }; + await this.engine?.disconnect(JSON.stringify(t)), this.engine?.free && this.engine.free(), this.engine = void 0, this.libraryStarted = false, this.libraryStoppingPromise = void 0, this.libraryInstantiationPromise = void 0, await (await this.adapterPromise)?.dispose(), this.adapterPromise = void 0, Re("library stopped"); + }, "r"); + return this.libraryStoppingPromise = this.tracingHelper.runInChildSpan("disconnect", r), this.libraryStoppingPromise; + } + version() { + return this.versionInfo = this.library?.version(), this.versionInfo?.version ?? "unknown"; + } + debugPanic(r) { + return this.library?.debugPanic(r); + } + async request(r, { traceparent: t, interactiveTransaction: n }) { + Re(`sending request, this.libraryStarted: ${this.libraryStarted}`); + let i = JSON.stringify({ traceparent: t }), o = JSON.stringify(r); + try { + await this.start(); + let s = await this.adapterPromise; + this.executingQueryPromise = this.engine?.query(o, i, n?.id), this.lastQuery = o; + let a = this.parseEngineResponse(await this.executingQueryPromise); + if (a.errors) throw a.errors.length === 1 ? this.buildQueryError(a.errors[0], s?.errorRegistry) : new V(JSON.stringify(a.errors), { clientVersion: this.config.clientVersion }); + if (this.loggerRustPanic) throw this.loggerRustPanic; + return { data: a }; + } catch (s) { + if (s instanceof P) throw s; + if (s.code === "GenericFailure" && s.message?.startsWith("PANIC:")) throw new ae(Po(this, s.message), this.config.clientVersion); + let a = this.parseRequestError(s.message); + throw typeof a == "string" ? s : new V(`${a.message} +${a.backtrace}`, { clientVersion: this.config.clientVersion }); + } + } + async requestBatch(r, { transaction: t, traceparent: n }) { + Re("requestBatch"); + let i = Mr(r, t); + await this.start(); + let o = await this.adapterPromise; + this.lastQuery = JSON.stringify(i), this.executingQueryPromise = this.engine?.query(this.lastQuery, JSON.stringify({ traceparent: n }), Ol(t)); + let s = await this.executingQueryPromise, a = this.parseEngineResponse(s); + if (a.errors) throw a.errors.length === 1 ? this.buildQueryError(a.errors[0], o?.errorRegistry) : new V(JSON.stringify(a.errors), { clientVersion: this.config.clientVersion }); + let { batchResult: l, errors: u } = a; + if (Array.isArray(l)) return l.map((c) => c.errors && c.errors.length > 0 ? this.loggerRustPanic ?? this.buildQueryError(c.errors[0], o?.errorRegistry) : { data: c }); + throw u && u.length === 1 ? new Error(u[0].error) : new Error(JSON.stringify(a)); + } + buildQueryError(r, t) { + if (r.user_facing_error.is_panic) return new ae(Po(this, r.user_facing_error.message), this.config.clientVersion); + let n = this.getExternalAdapterError(r.user_facing_error, t); + return n ? n.error : $r(r, this.config.clientVersion, this.config.activeProvider); + } + getExternalAdapterError(r, t) { + if (r.error_code === hf && t) { + let n = r.meta?.id; + ln(typeof n == "number", "Malformed external JS error received from the engine"); + let i = t.consumeError(n); + return ln(i, "External error with reported id was not registered"), i; + } + } + async metrics(r) { + await this.start(); + let t = await this.engine.metrics(JSON.stringify(r)); + return r.format === "prometheus" ? t : this.parseEngineResponse(t); + } + }; + function xf(e) { + return typeof e == "object" && e !== null && e.error_code !== void 0; + } + __name(xf, "xf"); + function Po(e, r) { + return El({ binaryTarget: e.binaryTarget, title: r, version: e.config.clientVersion, engineVersion: e.versionInfo?.commit, database: e.config.activeProvider, query: e.lastQuery }); + } + __name(Po, "Po"); + function Fl({ url: e, adapter: r, copyEngine: t, targetBuildType: n }) { + let i = [], o = [], s = /* @__PURE__ */ __name((g) => { + i.push({ _tag: "warning", value: g }); + }, "s"), a = /* @__PURE__ */ __name((g) => { + let I = g.join(` +`); + o.push({ _tag: "error", value: I }); + }, "a"), l = !!e?.startsWith("prisma://"), u = an(e), c = !!r, p = l || u; + !c && t && p && n !== "client" && n !== "wasm-compiler-edge" && s(["recommend--no-engine", "In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]); + let d = p || !t; + c && (d || n === "edge") && (n === "edge" ? a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.", "Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]) : p ? a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.", "Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]) : t || a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.", "Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."])); + let f = { accelerate: d, ppg: u, driverAdapters: c }; + function h(g) { + return g.length > 0; + } + __name(h, "h"); + return h(o) ? { ok: false, diagnostics: { warnings: i, errors: o }, isUsing: f } : { ok: true, diagnostics: { warnings: i }, isUsing: f }; + } + __name(Fl, "Fl"); + function Ml({ copyEngine: e = true }, r) { + let t; + try { + t = jr({ inlineDatasources: r.inlineDatasources, overrideDatasources: r.overrideDatasources, env: { ...r.env, ...process.env }, clientVersion: r.clientVersion }); + } catch { + } + let { ok: n, isUsing: i, diagnostics: o } = Fl({ url: t, adapter: r.adapter, copyEngine: e, targetBuildType: "library" }); + for (let p of o.warnings) at(...p.value); + if (!n) { + let p = o.errors[0]; + throw new Z(p.value, { clientVersion: r.clientVersion }); + } + let s = Er(r.generator), a = s === "library", l = s === "binary", u = s === "client", c = (i.accelerate || i.ppg) && !i.driverAdapters; + return i.accelerate ? new qt(r) : (i.driverAdapters, a ? new Qr(r) : new Qr(r)); + } + __name(Ml, "Ml"); + function $l({ generator: e }) { + return e?.previewFeatures ?? []; + } + __name($l, "$l"); + var ql = /* @__PURE__ */ __name((e) => ({ command: e }), "ql"); + var Vl = /* @__PURE__ */ __name((e) => e.strings.reduce((r, t, n) => `${r}@P${n}${t}`), "Vl"); + function Wr(e) { + try { + return jl(e, "fast"); + } catch { + return jl(e, "slow"); + } + } + __name(Wr, "Wr"); + function jl(e, r) { + return JSON.stringify(e.map((t) => Ul(t, r))); + } + __name(jl, "jl"); + function Ul(e, r) { + if (Array.isArray(e)) return e.map((t) => Ul(t, r)); + if (typeof e == "bigint") return { prisma__type: "bigint", prisma__value: e.toString() }; + if (vr(e)) return { prisma__type: "date", prisma__value: e.toJSON() }; + if (Fe.isDecimal(e)) return { prisma__type: "decimal", prisma__value: e.toJSON() }; + if (Buffer.isBuffer(e)) return { prisma__type: "bytes", prisma__value: e.toString("base64") }; + if (vf(e)) return { prisma__type: "bytes", prisma__value: Buffer.from(e).toString("base64") }; + if (ArrayBuffer.isView(e)) { + let { buffer: t, byteOffset: n, byteLength: i } = e; + return { prisma__type: "bytes", prisma__value: Buffer.from(t, n, i).toString("base64") }; + } + return typeof e == "object" && r === "slow" ? Gl(e) : e; + } + __name(Ul, "Ul"); + function vf(e) { + return e instanceof ArrayBuffer || e instanceof SharedArrayBuffer ? true : typeof e == "object" && e !== null ? e[Symbol.toStringTag] === "ArrayBuffer" || e[Symbol.toStringTag] === "SharedArrayBuffer" : false; + } + __name(vf, "vf"); + function Gl(e) { + if (typeof e != "object" || e === null) return e; + if (typeof e.toJSON == "function") return e.toJSON(); + if (Array.isArray(e)) return e.map(Bl); + let r = {}; + for (let t of Object.keys(e)) r[t] = Bl(e[t]); + return r; + } + __name(Gl, "Gl"); + function Bl(e) { + return typeof e == "bigint" ? e.toString() : Gl(e); + } + __name(Bl, "Bl"); + var Pf = /^(\s*alter\s)/i; + var Ql = N("prisma:client"); + function To(e, r, t, n) { + if (!(e !== "postgresql" && e !== "cockroachdb") && t.length > 0 && Pf.exec(r)) throw new Error(`Running ALTER using ${n} is not supported +Using the example below you can still execute your query with Prisma, but please note that it is vulnerable to SQL injection attacks and requires you to take care of input sanitization. + +Example: + await prisma.$executeRawUnsafe(\`ALTER USER prisma WITH PASSWORD '\${password}'\`) + +More Information: https://pris.ly/d/execute-raw +`); + } + __name(To, "To"); + var So = /* @__PURE__ */ __name(({ clientMethod: e, activeProvider: r }) => (t) => { + let n = "", i; + if (Vn(t)) n = t.sql, i = { values: Wr(t.values), __prismaRawParameters__: true }; + else if (Array.isArray(t)) { + let [o, ...s] = t; + n = o, i = { values: Wr(s || []), __prismaRawParameters__: true }; + } else switch (r) { + case "sqlite": + case "mysql": { + n = t.sql, i = { values: Wr(t.values), __prismaRawParameters__: true }; + break; + } + case "cockroachdb": + case "postgresql": + case "postgres": { + n = t.text, i = { values: Wr(t.values), __prismaRawParameters__: true }; + break; + } + case "sqlserver": { + n = Vl(t), i = { values: Wr(t.values), __prismaRawParameters__: true }; + break; + } + default: + throw new Error(`The ${r} provider does not support ${e}`); + } + return i?.values ? Ql(`prisma.${e}(${n}, ${i.values})`) : Ql(`prisma.${e}(${n})`), { query: n, parameters: i }; + }, "So"); + var Wl = { requestArgsToMiddlewareArgs(e) { + return [e.strings, ...e.values]; + }, middlewareArgsToRequestArgs(e) { + let [r, ...t] = e; + return new ie(r, t); + } }; + var Jl = { requestArgsToMiddlewareArgs(e) { + return [e]; + }, middlewareArgsToRequestArgs(e) { + return e[0]; + } }; + function Ro(e) { + return function(t, n) { + let i, o = /* @__PURE__ */ __name((s = e) => { + try { + return s === void 0 || s?.kind === "itx" ? i ??= Kl(t(s)) : Kl(t(s)); + } catch (a) { + return Promise.reject(a); + } + }, "o"); + return { get spec() { + return n; + }, then(s, a) { + return o().then(s, a); + }, catch(s) { + return o().catch(s); + }, finally(s) { + return o().finally(s); + }, requestTransaction(s) { + let a = o(s); + return a.requestTransaction ? a.requestTransaction(s) : a; + }, [Symbol.toStringTag]: "PrismaPromise" }; + }; + } + __name(Ro, "Ro"); + function Kl(e) { + return typeof e.then == "function" ? e : Promise.resolve(e); + } + __name(Kl, "Kl"); + var Tf = xi.split(".")[0]; + var Sf = { isEnabled() { + return false; + }, getTraceParent() { + return "00-10-10-00"; + }, dispatchEngineSpans() { + }, getActiveContext() { + }, runInChildSpan(e, r) { + return r(); + } }; + var Ao = class { + static { + __name(this, "Ao"); + } + isEnabled() { + return this.getGlobalTracingHelper().isEnabled(); + } + getTraceParent(r) { + return this.getGlobalTracingHelper().getTraceParent(r); + } + dispatchEngineSpans(r) { + return this.getGlobalTracingHelper().dispatchEngineSpans(r); + } + getActiveContext() { + return this.getGlobalTracingHelper().getActiveContext(); + } + runInChildSpan(r, t) { + return this.getGlobalTracingHelper().runInChildSpan(r, t); + } + getGlobalTracingHelper() { + let r = globalThis[`V${Tf}_PRISMA_INSTRUMENTATION`], t = globalThis.PRISMA_INSTRUMENTATION; + return r?.helper ?? t?.helper ?? Sf; + } + }; + function Hl() { + return new Ao(); + } + __name(Hl, "Hl"); + function Yl(e, r = () => { + }) { + let t, n = new Promise((i) => t = i); + return { then(i) { + return --e === 0 && t(r()), i?.(n); + } }; + } + __name(Yl, "Yl"); + function zl(e) { + return typeof e == "string" ? e : e.reduce((r, t) => { + let n = typeof t == "string" ? t : t.level; + return n === "query" ? r : r && (t === "info" || r === "info") ? "info" : n; + }, void 0); + } + __name(zl, "zl"); + function zn(e) { + return typeof e.batchRequestIdx == "number"; + } + __name(zn, "zn"); + function Zl(e) { + if (e.action !== "findUnique" && e.action !== "findUniqueOrThrow") return; + let r = []; + return e.modelName && r.push(e.modelName), e.query.arguments && r.push(Co(e.query.arguments)), r.push(Co(e.query.selection)), r.join(""); + } + __name(Zl, "Zl"); + function Co(e) { + return `(${Object.keys(e).sort().map((t) => { + let n = e[t]; + return typeof n == "object" && n !== null ? `(${t} ${Co(n)})` : t; + }).join(" ")})`; + } + __name(Co, "Co"); + var Rf = { aggregate: false, aggregateRaw: false, createMany: true, createManyAndReturn: true, createOne: true, deleteMany: true, deleteOne: true, executeRaw: true, findFirst: false, findFirstOrThrow: false, findMany: false, findRaw: false, findUnique: false, findUniqueOrThrow: false, groupBy: false, queryRaw: false, runCommandRaw: true, updateMany: true, updateManyAndReturn: true, updateOne: true, upsertOne: true }; + function Io(e) { + return Rf[e]; + } + __name(Io, "Io"); + var Zn = class { + static { + __name(this, "Zn"); + } + constructor(r) { + this.options = r; + this.batches = {}; + } + batches; + tickActive = false; + request(r) { + let t = this.options.batchBy(r); + return t ? (this.batches[t] || (this.batches[t] = [], this.tickActive || (this.tickActive = true, process.nextTick(() => { + this.dispatchBatches(), this.tickActive = false; + }))), new Promise((n, i) => { + this.batches[t].push({ request: r, resolve: n, reject: i }); + })) : this.options.singleLoader(r); + } + dispatchBatches() { + for (let r in this.batches) { + let t = this.batches[r]; + delete this.batches[r], t.length === 1 ? this.options.singleLoader(t[0].request).then((n) => { + n instanceof Error ? t[0].reject(n) : t[0].resolve(n); + }).catch((n) => { + t[0].reject(n); + }) : (t.sort((n, i) => this.options.batchOrder(n.request, i.request)), this.options.batchLoader(t.map((n) => n.request)).then((n) => { + if (n instanceof Error) for (let i = 0; i < t.length; i++) t[i].reject(n); + else for (let i = 0; i < t.length; i++) { + let o = n[i]; + o instanceof Error ? t[i].reject(o) : t[i].resolve(o); + } + }).catch((n) => { + for (let i = 0; i < t.length; i++) t[i].reject(n); + })); + } + } + get [Symbol.toStringTag]() { + return "DataLoader"; + } + }; + function mr(e, r) { + if (r === null) return r; + switch (e) { + case "bigint": + return BigInt(r); + case "bytes": { + let { buffer: t, byteOffset: n, byteLength: i } = Buffer.from(r, "base64"); + return new Uint8Array(t, n, i); + } + case "decimal": + return new Fe(r); + case "datetime": + case "date": + return new Date(r); + case "time": + return /* @__PURE__ */ new Date(`1970-01-01T${r}Z`); + case "bigint-array": + return r.map((t) => mr("bigint", t)); + case "bytes-array": + return r.map((t) => mr("bytes", t)); + case "decimal-array": + return r.map((t) => mr("decimal", t)); + case "datetime-array": + return r.map((t) => mr("datetime", t)); + case "date-array": + return r.map((t) => mr("date", t)); + case "time-array": + return r.map((t) => mr("time", t)); + default: + return r; + } + } + __name(mr, "mr"); + function Xn(e) { + let r = [], t = Af(e); + for (let n = 0; n < e.rows.length; n++) { + let i = e.rows[n], o = { ...t }; + for (let s = 0; s < i.length; s++) o[e.columns[s]] = mr(e.types[s], i[s]); + r.push(o); + } + return r; + } + __name(Xn, "Xn"); + function Af(e) { + let r = {}; + for (let t = 0; t < e.columns.length; t++) r[e.columns[t]] = null; + return r; + } + __name(Af, "Af"); + var Cf = N("prisma:client:request_handler"); + var ei = class { + static { + __name(this, "ei"); + } + client; + dataloader; + logEmitter; + constructor(r, t) { + this.logEmitter = t, this.client = r, this.dataloader = new Zn({ batchLoader: rl(async ({ requests: n, customDataProxyFetch: i }) => { + let { transaction: o, otelParentCtx: s } = n[0], a = n.map((p) => p.protocolQuery), l = this.client._tracingHelper.getTraceParent(s), u = n.some((p) => Io(p.protocolQuery.action)); + return (await this.client._engine.requestBatch(a, { traceparent: l, transaction: If(o), containsWrite: u, customDataProxyFetch: i })).map((p, d) => { + if (p instanceof Error) return p; + try { + return this.mapQueryEngineResult(n[d], p); + } catch (f) { + return f; + } + }); + }), singleLoader: /* @__PURE__ */ __name(async (n) => { + let i = n.transaction?.kind === "itx" ? Xl(n.transaction) : void 0, o = await this.client._engine.request(n.protocolQuery, { traceparent: this.client._tracingHelper.getTraceParent(), interactiveTransaction: i, isWrite: Io(n.protocolQuery.action), customDataProxyFetch: n.customDataProxyFetch }); + return this.mapQueryEngineResult(n, o); + }, "singleLoader"), batchBy: /* @__PURE__ */ __name((n) => n.transaction?.id ? `transaction-${n.transaction.id}` : Zl(n.protocolQuery), "batchBy"), batchOrder(n, i) { + return n.transaction?.kind === "batch" && i.transaction?.kind === "batch" ? n.transaction.index - i.transaction.index : 0; + } }); + } + async request(r) { + try { + return await this.dataloader.request(r); + } catch (t) { + let { clientMethod: n, callsite: i, transaction: o, args: s, modelName: a } = r; + this.handleAndLogRequestError({ error: t, clientMethod: n, callsite: i, transaction: o, args: s, modelName: a, globalOmit: r.globalOmit }); + } + } + mapQueryEngineResult({ dataPath: r, unpacker: t }, n) { + let i = n?.data, o = this.unpack(i, r, t); + return process.env.PRISMA_CLIENT_GET_TIME ? { data: o } : o; + } + handleAndLogRequestError(r) { + try { + this.handleRequestError(r); + } catch (t) { + throw this.logEmitter && this.logEmitter.emit("error", { message: t.message, target: r.clientMethod, timestamp: /* @__PURE__ */ new Date() }), t; + } + } + handleRequestError({ error: r, clientMethod: t, callsite: n, transaction: i, args: o, modelName: s, globalOmit: a }) { + if (Cf(r), Df(r, i)) throw r; + if (r instanceof z && Of(r)) { + let u = eu(r.meta); + Nn({ args: o, errors: [u], callsite: n, errorFormat: this.client._errorFormat, originalMethod: t, clientVersion: this.client._clientVersion, globalOmit: a }); + } + let l = r.message; + if (n && (l = Tn({ callsite: n, originalMethod: t, isPanic: r.isPanic, showColors: this.client._errorFormat === "pretty", message: l })), l = this.sanitizeMessage(l), r.code) { + let u = s ? { modelName: s, ...r.meta } : r.meta; + throw new z(l, { code: r.code, clientVersion: this.client._clientVersion, meta: u, batchRequestIdx: r.batchRequestIdx }); + } else { + if (r.isPanic) throw new ae(l, this.client._clientVersion); + if (r instanceof V) throw new V(l, { clientVersion: this.client._clientVersion, batchRequestIdx: r.batchRequestIdx }); + if (r instanceof P) throw new P(l, this.client._clientVersion); + if (r instanceof ae) throw new ae(l, this.client._clientVersion); + } + throw r.clientVersion = this.client._clientVersion, r; + } + sanitizeMessage(r) { + return this.client._errorFormat && this.client._errorFormat !== "pretty" ? wr(r) : r; + } + unpack(r, t, n) { + if (!r || (r.data && (r = r.data), !r)) return r; + let i = Object.keys(r)[0], o = Object.values(r)[0], s = t.filter((u) => u !== "select" && u !== "include"), a = ao(o, s), l = i === "queryRaw" ? Xn(a) : Vr(a); + return n ? n(l) : l; + } + get [Symbol.toStringTag]() { + return "RequestHandler"; + } + }; + function If(e) { + if (e) { + if (e.kind === "batch") return { kind: "batch", options: { isolationLevel: e.isolationLevel } }; + if (e.kind === "itx") return { kind: "itx", options: Xl(e) }; + ar(e, "Unknown transaction kind"); + } + } + __name(If, "If"); + function Xl(e) { + return { id: e.id, payload: e.payload }; + } + __name(Xl, "Xl"); + function Df(e, r) { + return zn(e) && r?.kind === "batch" && e.batchRequestIdx !== r.index; + } + __name(Df, "Df"); + function Of(e) { + return e.code === "P2009" || e.code === "P2012"; + } + __name(Of, "Of"); + function eu(e) { + if (e.kind === "Union") return { kind: "Union", errors: e.errors.map(eu) }; + if (Array.isArray(e.selectionPath)) { + let [, ...r] = e.selectionPath; + return { ...e, selectionPath: r }; + } + return e; + } + __name(eu, "eu"); + var ru = xl; + var su = O(Ki()); + var _ = class extends Error { + static { + __name(this, "_"); + } + constructor(r) { + super(r + ` +Read more at https://pris.ly/d/client-constructor`), this.name = "PrismaClientConstructorValidationError"; + } + get [Symbol.toStringTag]() { + return "PrismaClientConstructorValidationError"; + } + }; + x(_, "PrismaClientConstructorValidationError"); + var tu = ["datasources", "datasourceUrl", "errorFormat", "adapter", "log", "transactionOptions", "omit", "__internal"]; + var nu = ["pretty", "colorless", "minimal"]; + var iu = ["info", "query", "warn", "error"]; + var kf = { datasources: /* @__PURE__ */ __name((e, { datasourceNames: r }) => { + if (e) { + if (typeof e != "object" || Array.isArray(e)) throw new _(`Invalid value ${JSON.stringify(e)} for "datasources" provided to PrismaClient constructor`); + for (let [t, n] of Object.entries(e)) { + if (!r.includes(t)) { + let i = Jr(t, r) || ` Available datasources: ${r.join(", ")}`; + throw new _(`Unknown datasource ${t} provided to PrismaClient constructor.${i}`); + } + if (typeof n != "object" || Array.isArray(n)) throw new _(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`); + if (n && typeof n == "object") for (let [i, o] of Object.entries(n)) { + if (i !== "url") throw new _(`Invalid value ${JSON.stringify(e)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`); + if (typeof o != "string") throw new _(`Invalid value ${JSON.stringify(o)} for datasource "${t}" provided to PrismaClient constructor. +It should have this form: { url: "CONNECTION_STRING" }`); + } + } + } + }, "datasources"), adapter: /* @__PURE__ */ __name((e, r) => { + if (!e && Er(r.generator) === "client") throw new _('Using engine type "client" requires a driver adapter to be provided to PrismaClient constructor.'); + if (e !== null) { + if (e === void 0) throw new _('"adapter" property must not be undefined, use null to conditionally disable driver adapters.'); + if (Er(r.generator) === "binary") throw new _('Cannot use a driver adapter with the "binary" Query Engine. Please use the "library" Query Engine.'); + } + }, "adapter"), datasourceUrl: /* @__PURE__ */ __name((e) => { + if (typeof e < "u" && typeof e != "string") throw new _(`Invalid value ${JSON.stringify(e)} for "datasourceUrl" provided to PrismaClient constructor. +Expected string or undefined.`); + }, "datasourceUrl"), errorFormat: /* @__PURE__ */ __name((e) => { + if (e) { + if (typeof e != "string") throw new _(`Invalid value ${JSON.stringify(e)} for "errorFormat" provided to PrismaClient constructor.`); + if (!nu.includes(e)) { + let r = Jr(e, nu); + throw new _(`Invalid errorFormat ${e} provided to PrismaClient constructor.${r}`); + } + } + }, "errorFormat"), log: /* @__PURE__ */ __name((e) => { + if (!e) return; + if (!Array.isArray(e)) throw new _(`Invalid value ${JSON.stringify(e)} for "log" provided to PrismaClient constructor.`); + function r(t) { + if (typeof t == "string" && !iu.includes(t)) { + let n = Jr(t, iu); + throw new _(`Invalid log level "${t}" provided to PrismaClient constructor.${n}`); + } + } + __name(r, "r"); + for (let t of e) { + r(t); + let n = { level: r, emit: /* @__PURE__ */ __name((i) => { + let o = ["stdout", "event"]; + if (!o.includes(i)) { + let s = Jr(i, o); + throw new _(`Invalid value ${JSON.stringify(i)} for "emit" in logLevel provided to PrismaClient constructor.${s}`); + } + }, "emit") }; + if (t && typeof t == "object") for (let [i, o] of Object.entries(t)) if (n[i]) n[i](o); + else throw new _(`Invalid property ${i} for "log" provided to PrismaClient constructor`); + } + }, "log"), transactionOptions: /* @__PURE__ */ __name((e) => { + if (!e) return; + let r = e.maxWait; + if (r != null && r <= 0) throw new _(`Invalid value ${r} for maxWait in "transactionOptions" provided to PrismaClient constructor. maxWait needs to be greater than 0`); + let t = e.timeout; + if (t != null && t <= 0) throw new _(`Invalid value ${t} for timeout in "transactionOptions" provided to PrismaClient constructor. timeout needs to be greater than 0`); + }, "transactionOptions"), omit: /* @__PURE__ */ __name((e, r) => { + if (typeof e != "object") throw new _('"omit" option is expected to be an object.'); + if (e === null) throw new _('"omit" option can not be `null`'); + let t = []; + for (let [n, i] of Object.entries(e)) { + let o = Nf(n, r.runtimeDataModel); + if (!o) { + t.push({ kind: "UnknownModel", modelKey: n }); + continue; + } + for (let [s, a] of Object.entries(i)) { + let l = o.fields.find((u) => u.name === s); + if (!l) { + t.push({ kind: "UnknownField", modelKey: n, fieldName: s }); + continue; + } + if (l.relationName) { + t.push({ kind: "RelationInOmit", modelKey: n, fieldName: s }); + continue; + } + typeof a != "boolean" && t.push({ kind: "InvalidFieldValue", modelKey: n, fieldName: s }); + } + } + if (t.length > 0) throw new _(Lf(e, t)); + }, "omit"), __internal: /* @__PURE__ */ __name((e) => { + if (!e) return; + let r = ["debug", "engine", "configOverride"]; + if (typeof e != "object") throw new _(`Invalid value ${JSON.stringify(e)} for "__internal" to PrismaClient constructor`); + for (let [t] of Object.entries(e)) if (!r.includes(t)) { + let n = Jr(t, r); + throw new _(`Invalid property ${JSON.stringify(t)} for "__internal" provided to PrismaClient constructor.${n}`); + } + }, "__internal") }; + function au(e, r) { + for (let [t, n] of Object.entries(e)) { + if (!tu.includes(t)) { + let i = Jr(t, tu); + throw new _(`Unknown property ${t} provided to PrismaClient constructor.${i}`); + } + kf[t](n, r); + } + if (e.datasourceUrl && e.datasources) throw new _('Can not use "datasourceUrl" and "datasources" options at the same time. Pick one of them'); + } + __name(au, "au"); + function Jr(e, r) { + if (r.length === 0 || typeof e != "string") return ""; + let t = _f(e, r); + return t ? ` Did you mean "${t}"?` : ""; + } + __name(Jr, "Jr"); + function _f(e, r) { + if (r.length === 0) return null; + let t = r.map((i) => ({ value: i, distance: (0, su.default)(e, i) })); + t.sort((i, o) => i.distance < o.distance ? -1 : 1); + let n = t[0]; + return n.distance < 3 ? n.value : null; + } + __name(_f, "_f"); + function Nf(e, r) { + return ou(r.models, e) ?? ou(r.types, e); + } + __name(Nf, "Nf"); + function ou(e, r) { + let t = Object.keys(e).find((n) => We(n) === r); + if (t) return e[t]; + } + __name(ou, "ou"); + function Lf(e, r) { + let t = _r(e); + for (let o of r) switch (o.kind) { + case "UnknownModel": + t.arguments.getField(o.modelKey)?.markAsError(), t.addErrorMessage(() => `Unknown model name: ${o.modelKey}.`); + break; + case "UnknownField": + t.arguments.getDeepField([o.modelKey, o.fieldName])?.markAsError(), t.addErrorMessage(() => `Model "${o.modelKey}" does not have a field named "${o.fieldName}".`); + break; + case "RelationInOmit": + t.arguments.getDeepField([o.modelKey, o.fieldName])?.markAsError(), t.addErrorMessage(() => 'Relations are already excluded by default and can not be specified in "omit".'); + break; + case "InvalidFieldValue": + t.arguments.getDeepFieldValue([o.modelKey, o.fieldName])?.markAsError(), t.addErrorMessage(() => "Omit field option value must be a boolean."); + break; + } + let { message: n, args: i } = _n(t, "colorless"); + return `Error validating "omit" option: + +${i} + +${n}`; + } + __name(Lf, "Lf"); + function lu(e) { + return e.length === 0 ? Promise.resolve([]) : new Promise((r, t) => { + let n = new Array(e.length), i = null, o = false, s = 0, a = /* @__PURE__ */ __name(() => { + o || (s++, s === e.length && (o = true, i ? t(i) : r(n))); + }, "a"), l = /* @__PURE__ */ __name((u) => { + o || (o = true, t(u)); + }, "l"); + for (let u = 0; u < e.length; u++) e[u].then((c) => { + n[u] = c, a(); + }, (c) => { + if (!zn(c)) { + l(c); + return; + } + c.batchRequestIdx === u ? l(c) : (i || (i = c), a()); + }); + }); + } + __name(lu, "lu"); + var rr = N("prisma:client"); + typeof globalThis == "object" && (globalThis.NODE_CLIENT = true); + var Ff = { requestArgsToMiddlewareArgs: /* @__PURE__ */ __name((e) => e, "requestArgsToMiddlewareArgs"), middlewareArgsToRequestArgs: /* @__PURE__ */ __name((e) => e, "middlewareArgsToRequestArgs") }; + var Mf = /* @__PURE__ */ Symbol.for("prisma.client.transaction.id"); + var $f = { id: 0, nextId() { + return ++this.id; + } }; + function fu(e) { + class r { + static { + __name(this, "r"); + } + _originalClient = this; + _runtimeDataModel; + _requestHandler; + _connectionPromise; + _disconnectionPromise; + _engineConfig; + _accelerateEngineConfig; + _clientVersion; + _errorFormat; + _tracingHelper; + _previewFeatures; + _activeProvider; + _globalOmit; + _extensions; + _engine; + _appliedParent; + _createPrismaPromise = Ro(); + constructor(n) { + e = n?.__internal?.configOverride?.(e) ?? e, sl(e), n && au(n, e); + let i = new du.EventEmitter().on("error", () => { + }); + this._extensions = Nr.empty(), this._previewFeatures = $l(e), this._clientVersion = e.clientVersion ?? ru, this._activeProvider = e.activeProvider, this._globalOmit = n?.omit, this._tracingHelper = Hl(); + let o = e.relativeEnvPaths && { rootEnvPath: e.relativeEnvPaths.rootEnvPath && ri.default.resolve(e.dirname, e.relativeEnvPaths.rootEnvPath), schemaEnvPath: e.relativeEnvPaths.schemaEnvPath && ri.default.resolve(e.dirname, e.relativeEnvPaths.schemaEnvPath) }, s; + if (n?.adapter) { + s = n.adapter; + let l = e.activeProvider === "postgresql" || e.activeProvider === "cockroachdb" ? "postgres" : e.activeProvider; + if (s.provider !== l) throw new P(`The Driver Adapter \`${s.adapterName}\`, based on \`${s.provider}\`, is not compatible with the provider \`${l}\` specified in the Prisma schema.`, this._clientVersion); + if (n.datasources || n.datasourceUrl !== void 0) throw new P("Custom datasource configuration is not compatible with Prisma Driver Adapters. Please define the database connection string directly in the Driver Adapter configuration.", this._clientVersion); + } + let a = !s && o && st(o, { conflictCheck: "none" }) || e.injectableEdgeEnv?.(); + try { + let l = n ?? {}, u = l.__internal ?? {}, c = u.debug === true; + c && N.enable("prisma:client"); + let p = ri.default.resolve(e.dirname, e.relativePath); + mu.default.existsSync(p) || (p = e.dirname), rr("dirname", e.dirname), rr("relativePath", e.relativePath), rr("cwd", p); + let d = u.engine || {}; + if (l.errorFormat ? this._errorFormat = l.errorFormat : process.env.NODE_ENV === "production" ? this._errorFormat = "minimal" : process.env.NO_COLOR ? this._errorFormat = "colorless" : this._errorFormat = "colorless", this._runtimeDataModel = e.runtimeDataModel, this._engineConfig = { cwd: p, dirname: e.dirname, enableDebugLogs: c, allowTriggerPanic: d.allowTriggerPanic, prismaPath: d.binaryPath ?? void 0, engineEndpoint: d.endpoint, generator: e.generator, showColors: this._errorFormat === "pretty", logLevel: l.log && zl(l.log), logQueries: l.log && !!(typeof l.log == "string" ? l.log === "query" : l.log.find((f) => typeof f == "string" ? f === "query" : f.level === "query")), env: a?.parsed ?? {}, flags: [], engineWasm: e.engineWasm, compilerWasm: e.compilerWasm, clientVersion: e.clientVersion, engineVersion: e.engineVersion, previewFeatures: this._previewFeatures, activeProvider: e.activeProvider, inlineSchema: e.inlineSchema, overrideDatasources: al(l, e.datasourceNames), inlineDatasources: e.inlineDatasources, inlineSchemaHash: e.inlineSchemaHash, tracingHelper: this._tracingHelper, transactionOptions: { maxWait: l.transactionOptions?.maxWait ?? 2e3, timeout: l.transactionOptions?.timeout ?? 5e3, isolationLevel: l.transactionOptions?.isolationLevel }, logEmitter: i, isBundled: e.isBundled, adapter: s }, this._accelerateEngineConfig = { ...this._engineConfig, accelerateUtils: { resolveDatasourceUrl: jr, getBatchRequestPayload: Mr, prismaGraphQLToJSError: $r, PrismaClientUnknownRequestError: V, PrismaClientInitializationError: P, PrismaClientKnownRequestError: z, debug: N("prisma:client:accelerateEngine"), engineVersion: cu.version, clientVersion: e.clientVersion } }, rr("clientVersion", e.clientVersion), this._engine = Ml(e, this._engineConfig), this._requestHandler = new ei(this, i), l.log) for (let f of l.log) { + let h = typeof f == "string" ? f : f.emit === "stdout" ? f.level : null; + h && this.$on(h, (g) => { + nt.log(`${nt.tags[h] ?? ""}`, g.message || g.query); + }); + } + } catch (l) { + throw l.clientVersion = this._clientVersion, l; + } + return this._appliedParent = Pt(this); + } + get [Symbol.toStringTag]() { + return "PrismaClient"; + } + $on(n, i) { + return n === "beforeExit" ? this._engine.onBeforeExit(i) : n && this._engineConfig.logEmitter.on(n, i), this; + } + $connect() { + try { + return this._engine.start(); + } catch (n) { + throw n.clientVersion = this._clientVersion, n; + } + } + async $disconnect() { + try { + await this._engine.stop(); + } catch (n) { + throw n.clientVersion = this._clientVersion, n; + } finally { + Uo(); + } + } + $executeRawInternal(n, i, o, s) { + let a = this._activeProvider; + return this._request({ action: "executeRaw", args: o, transaction: n, clientMethod: i, argsMapper: So({ clientMethod: i, activeProvider: a }), callsite: Ze(this._errorFormat), dataPath: [], middlewareArgsMapper: s }); + } + $executeRaw(n, ...i) { + return this._createPrismaPromise((o) => { + if (n.raw !== void 0 || n.sql !== void 0) { + let [s, a] = uu(n, i); + return To(this._activeProvider, s.text, s.values, Array.isArray(n) ? "prisma.$executeRaw``" : "prisma.$executeRaw(sql``)"), this.$executeRawInternal(o, "$executeRaw", s, a); + } + throw new Z("`$executeRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#executeraw\n", { clientVersion: this._clientVersion }); + }); + } + $executeRawUnsafe(n, ...i) { + return this._createPrismaPromise((o) => (To(this._activeProvider, n, i, "prisma.$executeRawUnsafe(, [...values])"), this.$executeRawInternal(o, "$executeRawUnsafe", [n, ...i]))); + } + $runCommandRaw(n) { + if (e.activeProvider !== "mongodb") throw new Z(`The ${e.activeProvider} provider does not support $runCommandRaw. Use the mongodb provider.`, { clientVersion: this._clientVersion }); + return this._createPrismaPromise((i) => this._request({ args: n, clientMethod: "$runCommandRaw", dataPath: [], action: "runCommandRaw", argsMapper: ql, callsite: Ze(this._errorFormat), transaction: i })); + } + async $queryRawInternal(n, i, o, s) { + let a = this._activeProvider; + return this._request({ action: "queryRaw", args: o, transaction: n, clientMethod: i, argsMapper: So({ clientMethod: i, activeProvider: a }), callsite: Ze(this._errorFormat), dataPath: [], middlewareArgsMapper: s }); + } + $queryRaw(n, ...i) { + return this._createPrismaPromise((o) => { + if (n.raw !== void 0 || n.sql !== void 0) return this.$queryRawInternal(o, "$queryRaw", ...uu(n, i)); + throw new Z("`$queryRaw` is a tag function, please use it like the following:\n```\nconst result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`\n```\n\nOr read our docs at https://www.prisma.io/docs/concepts/components/prisma-client/raw-database-access#queryraw\n", { clientVersion: this._clientVersion }); + }); + } + $queryRawTyped(n) { + return this._createPrismaPromise((i) => { + if (!this._hasPreviewFlag("typedSql")) throw new Z("`typedSql` preview feature must be enabled in order to access $queryRawTyped API", { clientVersion: this._clientVersion }); + return this.$queryRawInternal(i, "$queryRawTyped", n); + }); + } + $queryRawUnsafe(n, ...i) { + return this._createPrismaPromise((o) => this.$queryRawInternal(o, "$queryRawUnsafe", [n, ...i])); + } + _transactionWithArray({ promises: n, options: i }) { + let o = $f.nextId(), s = Yl(n.length), a = n.map((l, u) => { + if (l?.[Symbol.toStringTag] !== "PrismaPromise") throw new Error("All elements of the array need to be Prisma Client promises. Hint: Please make sure you are not awaiting the Prisma client calls you intended to pass in the $transaction function."); + let c = i?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel, p = { kind: "batch", id: o, index: u, isolationLevel: c, lock: s }; + return l.requestTransaction?.(p) ?? l; + }); + return lu(a); + } + async _transactionWithCallback({ callback: n, options: i }) { + let o = { traceparent: this._tracingHelper.getTraceParent() }, s = { maxWait: i?.maxWait ?? this._engineConfig.transactionOptions.maxWait, timeout: i?.timeout ?? this._engineConfig.transactionOptions.timeout, isolationLevel: i?.isolationLevel ?? this._engineConfig.transactionOptions.isolationLevel }, a = await this._engine.transaction("start", o, s), l; + try { + let u = { kind: "itx", ...a }; + l = await n(this._createItxClient(u)), await this._engine.transaction("commit", o, a); + } catch (u) { + throw await this._engine.transaction("rollback", o, a).catch(() => { + }), u; + } + return l; + } + _createItxClient(n) { + return he(Pt(he(Qa(this), [re("_appliedParent", () => this._appliedParent._createItxClient(n)), re("_createPrismaPromise", () => Ro(n)), re(Mf, () => n.id)])), [Fr(Ya)]); + } + $transaction(n, i) { + let o; + typeof n == "function" ? this._engineConfig.adapter?.adapterName === "@prisma/adapter-d1" ? o = /* @__PURE__ */ __name(() => { + throw new Error("Cloudflare D1 does not support interactive transactions. We recommend you to refactor your queries with that limitation in mind, and use batch transactions with `prisma.$transactions([])` where applicable."); + }, "o") : o = /* @__PURE__ */ __name(() => this._transactionWithCallback({ callback: n, options: i }), "o") : o = /* @__PURE__ */ __name(() => this._transactionWithArray({ promises: n, options: i }), "o"); + let s = { name: "transaction", attributes: { method: "$transaction" } }; + return this._tracingHelper.runInChildSpan(s, o); + } + _request(n) { + n.otelParentCtx = this._tracingHelper.getActiveContext(); + let i = n.middlewareArgsMapper ?? Ff, o = { args: i.requestArgsToMiddlewareArgs(n.args), dataPath: n.dataPath, runInTransaction: !!n.transaction, action: n.action, model: n.model }, s = { operation: { name: "operation", attributes: { method: o.action, model: o.model, name: o.model ? `${o.model}.${o.action}` : o.action } } }, a = /* @__PURE__ */ __name(async (l) => { + let { runInTransaction: u, args: c, ...p } = l, d = { ...n, ...p }; + c && (d.args = i.middlewareArgsToRequestArgs(c)), n.transaction !== void 0 && u === false && delete d.transaction; + let f = await el(this, d); + return d.model ? Ha({ result: f, modelName: d.model, args: d.args, extensions: this._extensions, runtimeDataModel: this._runtimeDataModel, globalOmit: this._globalOmit }) : f; + }, "a"); + return this._tracingHelper.runInChildSpan(s.operation, () => new pu.AsyncResource("prisma-client-request").runInAsyncScope(() => a(o))); + } + async _executeRequest({ args: n, clientMethod: i, dataPath: o, callsite: s, action: a, model: l, argsMapper: u, transaction: c, unpacker: p, otelParentCtx: d, customDataProxyFetch: f }) { + try { + n = u ? u(n) : n; + let h = { name: "serialize" }, g = this._tracingHelper.runInChildSpan(h, () => $n({ modelName: l, runtimeDataModel: this._runtimeDataModel, action: a, args: n, clientMethod: i, callsite: s, extensions: this._extensions, errorFormat: this._errorFormat, clientVersion: this._clientVersion, previewFeatures: this._previewFeatures, globalOmit: this._globalOmit })); + return N.enabled("prisma:client") && (rr("Prisma Client call:"), rr(`prisma.${i}(${Na(n)})`), rr("Generated request:"), rr(JSON.stringify(g, null, 2) + ` +`)), c?.kind === "batch" && await c.lock, this._requestHandler.request({ protocolQuery: g, modelName: l, action: a, clientMethod: i, dataPath: o, callsite: s, args: n, extensions: this._extensions, transaction: c, unpacker: p, otelParentCtx: d, otelChildCtx: this._tracingHelper.getActiveContext(), globalOmit: this._globalOmit, customDataProxyFetch: f }); + } catch (h) { + throw h.clientVersion = this._clientVersion, h; + } + } + $metrics = new Lr(this); + _hasPreviewFlag(n) { + return !!this._engineConfig.previewFeatures?.includes(n); + } + $applyPendingMigrations() { + return this._engine.applyPendingMigrations(); + } + $extends = Wa; + } + return r; + } + __name(fu, "fu"); + function uu(e, r) { + return qf(e) ? [new ie(e, r), Wl] : [e, Jl]; + } + __name(uu, "uu"); + function qf(e) { + return Array.isArray(e) && Array.isArray(e.raw); + } + __name(qf, "qf"); + var Vf = /* @__PURE__ */ new Set(["toJSON", "$$typeof", "asymmetricMatch", Symbol.iterator, Symbol.toStringTag, Symbol.isConcatSpreadable, Symbol.toPrimitive]); + function gu(e) { + return new Proxy(e, { get(r, t) { + if (t in r) return r[t]; + if (!Vf.has(t)) throw new TypeError(`Invalid enum value: ${String(t)}`); + } }); + } + __name(gu, "gu"); + function hu(e) { + st(e, { conflictCheck: "warn" }); + } + __name(hu, "hu"); + } +}); + +// node_modules/.prisma/client/index.js +var require_client = __commonJS({ + "node_modules/.prisma/client/index.js"(exports2) { + Object.defineProperty(exports2, "__esModule", { value: true }); + var { + PrismaClientKnownRequestError: PrismaClientKnownRequestError2, + PrismaClientUnknownRequestError: PrismaClientUnknownRequestError2, + PrismaClientRustPanicError: PrismaClientRustPanicError2, + PrismaClientInitializationError: PrismaClientInitializationError2, + PrismaClientValidationError: PrismaClientValidationError2, + getPrismaClient: getPrismaClient2, + sqltag: sqltag2, + empty: empty2, + join: join2, + raw: raw2, + skip: skip2, + Decimal: Decimal2, + Debug: Debug2, + objectEnumValues: objectEnumValues2, + makeStrictEnum: makeStrictEnum2, + Extensions: Extensions2, + warnOnce: warnOnce2, + defineDmmfProperty: defineDmmfProperty2, + Public: Public2, + getRuntime: getRuntime2, + createParam: createParam2 + } = require_library(); + var Prisma = {}; + exports2.Prisma = Prisma; + exports2.$Enums = {}; + Prisma.prismaVersion = { + client: "6.19.3", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" + }; + Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError2; + Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError2; + Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError2; + Prisma.PrismaClientInitializationError = PrismaClientInitializationError2; + Prisma.PrismaClientValidationError = PrismaClientValidationError2; + Prisma.Decimal = Decimal2; + Prisma.sql = sqltag2; + Prisma.empty = empty2; + Prisma.join = join2; + Prisma.raw = raw2; + Prisma.validator = Public2.validator; + Prisma.getExtensionContext = Extensions2.getExtensionContext; + Prisma.defineExtension = Extensions2.defineExtension; + Prisma.DbNull = objectEnumValues2.instances.DbNull; + Prisma.JsonNull = objectEnumValues2.instances.JsonNull; + Prisma.AnyNull = objectEnumValues2.instances.AnyNull; + Prisma.NullTypes = { + DbNull: objectEnumValues2.classes.DbNull, + JsonNull: objectEnumValues2.classes.JsonNull, + AnyNull: objectEnumValues2.classes.AnyNull + }; + var path = require("path"); + exports2.Prisma.TransactionIsolationLevel = makeStrictEnum2({ + ReadUncommitted: "ReadUncommitted", + ReadCommitted: "ReadCommitted", + RepeatableRead: "RepeatableRead", + Serializable: "Serializable" + }); + exports2.Prisma.CompanyScalarFieldEnum = { + id: "id", + name: "name", + slug: "slug", + description: "description", + logoUrl: "logoUrl", + isActive: "isActive", + displayOrder: "displayOrder", + maxMeteragePerInvoice: "maxMeteragePerInvoice", + cashInvoiceValidityHours: "cashInvoiceValidityHours", + cashInvoiceValidUntilHour: "cashInvoiceValidUntilHour", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.BankAccountScalarFieldEnum = { + id: "id", + companyId: "companyId", + bankName: "bankName", + accountHolder: "accountHolder", + accountNumber: "accountNumber", + cardNumber: "cardNumber", + iban: "iban", + notes: "notes", + isActive: "isActive", + displayOrder: "displayOrder", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CatalogScalarFieldEnum = { + id: "id", + companyId: "companyId", + name: "name", + code: "code", + description: "description", + displayOrder: "displayOrder", + isActive: "isActive", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.ProductScalarFieldEnum = { + id: "id", + companyId: "companyId", + catalogId: "catalogId", + name: "name", + code: "code", + color: "color", + description: "description", + minMeterage: "minMeterage", + orderMultiplier: "orderMultiplier", + basePrice: "basePrice", + stock: "stock", + isActive: "isActive", + usageCategory: "usageCategory", + season: "season", + widthCm: "widthCm", + composition: "composition", + weightGrams: "weightGrams", + weaveType: "weaveType", + colorsJson: "colorsJson", + tagsJson: "tagsJson", + imageUrlsJson: "imageUrlsJson", + subtitle: "subtitle", + rollMeters: "rollMeters", + isNew: "isNew", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerScalarFieldEnum = { + id: "id", + firstName: "firstName", + lastName: "lastName", + phone: "phone", + nationalId: "nationalId", + customerType: "customerType", + appRole: "appRole", + agentCode: "agentCode", + businessName: "businessName", + levelLabel: "levelLabel", + nextLevelLabel: "nextLevelLabel", + pointsToNext: "pointsToNext", + levelProgress: "levelProgress", + assignedAgentId: "assignedAgentId", + avatarLetter: "avatarLetter", + avatarColor: "avatarColor", + avatarUrl: "avatarUrl", + companyId: "companyId", + levelDefId: "levelDefId", + isActive: "isActive", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.AdminUserScalarFieldEnum = { + id: "id", + fullName: "fullName", + phone: "phone", + email: "email", + passwordHash: "passwordHash", + role: "role", + isActive: "isActive", + lastLoginAt: "lastLoginAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.OtpChallengeScalarFieldEnum = { + id: "id", + phone: "phone", + code: "code", + firstName: "firstName", + lastName: "lastName", + isRegister: "isRegister", + attempts: "attempts", + expiresAt: "expiresAt", + createdAt: "createdAt" + }; + exports2.Prisma.CartScalarFieldEnum = { + id: "id", + userId: "userId", + companyId: "companyId", + notes: "notes", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CartItemScalarFieldEnum = { + id: "id", + cartId: "cartId", + productId: "productId", + catalogCode: "catalogCode", + productName: "productName", + productCode: "productCode", + color: "color", + meterage: "meterage", + unitPrice: "unitPrice", + notes: "notes", + companyId: "companyId", + companyName: "companyName" + }; + exports2.Prisma.OrderScalarFieldEnum = { + id: "id", + orderNumber: "orderNumber", + userId: "userId", + companyId: "companyId", + companyName: "companyName", + settlementType: "settlementType", + checkMode: "checkMode", + status: "status", + totalMeterage: "totalMeterage", + totalAmount: "totalAmount", + shippingCost: "shippingCost", + totalDiscount: "totalDiscount", + finalAmount: "finalAmount", + notes: "notes", + checkRassDays: "checkRassDays", + checkRassDate: "checkRassDate", + cashInvoiceExpiresAt: "cashInvoiceExpiresAt", + cashReminderSentAt: "cashReminderSentAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.OrderItemScalarFieldEnum = { + id: "id", + orderId: "orderId", + productId: "productId", + catalogCode: "catalogCode", + productName: "productName", + productCode: "productCode", + color: "color", + requestedMeterage: "requestedMeterage", + confirmedMeterage: "confirmedMeterage", + unitPrice: "unitPrice", + unitDiscount: "unitDiscount", + lineTotal: "lineTotal", + notes: "notes", + companyId: "companyId", + companyName: "companyName" + }; + exports2.Prisma.OrderStatusHistoryScalarFieldEnum = { + id: "id", + orderId: "orderId", + fromStatus: "fromStatus", + toStatus: "toStatus", + changedBy: "changedBy", + note: "note", + reason: "reason", + changedAt: "changedAt" + }; + exports2.Prisma.CheckScalarFieldEnum = { + id: "id", + orderId: "orderId", + row: "row", + amount: "amount", + dueDate: "dueDate", + sayadId: "sayadId", + checkNumber: "checkNumber", + ownerNationalId: "ownerNationalId", + ownerFirstName: "ownerFirstName", + ownerLastName: "ownerLastName", + bankName: "bankName", + branchName: "branchName", + frontImage: "frontImage", + backImage: "backImage", + notes: "notes", + mode: "mode", + status: "status", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CashPaymentReceiptScalarFieldEnum = { + id: "id", + orderId: "orderId", + amount: "amount", + paidAmount: "paidAmount", + transferDate: "transferDate", + transferTime: "transferTime", + trackingNumber: "trackingNumber", + destinationAccountId: "destinationAccountId", + receiptImage: "receiptImage", + notes: "notes", + expiresAt: "expiresAt", + status: "status", + submittedAt: "submittedAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.ShipmentScalarFieldEnum = { + id: "id", + orderId: "orderId", + carrier: "carrier", + trackingNumber: "trackingNumber", + meterage: "meterage", + status: "status", + shippedAt: "shippedAt", + deliveredAt: "deliveredAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.SystemSettingsScalarFieldEnum = { + id: "id", + maxMeteragePerInvoice: "maxMeteragePerInvoice", + cashInvoiceValidityHours: "cashInvoiceValidityHours", + defaultSettlementCheck: "defaultSettlementCheck", + defaultSettlementCash: "defaultSettlementCash", + minOrderRollsPerProduct: "minOrderRollsPerProduct", + showCatalogPublicPrice: "showCatalogPublicPrice", + allowAgentPricing: "allowAgentPricing", + agentMinUnitPrice: "agentMinUnitPrice", + smsOrderRegistered: "smsOrderRegistered", + smsPricingReady: "smsPricingReady", + smsPaymentReminder: "smsPaymentReminder", + smsCheckReview: "smsCheckReview", + smsShippingUpdate: "smsShippingUpdate", + supportPhone: "supportPhone", + supportEmail: "supportEmail", + categoryImagesJson: "categoryImagesJson", + updatedAt: "updatedAt" + }; + exports2.Prisma.AppBannerScalarFieldEnum = { + id: "id", + slot: "slot", + title: "title", + subtitle: "subtitle", + ctaLabel: "ctaLabel", + ctaLink: "ctaLink", + imageUrl: "imageUrl", + displayOrder: "displayOrder", + isActive: "isActive", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.AdminNotificationScalarFieldEnum = { + id: "id", + title: "title", + body: "body", + tone: "tone", + link: "link", + isRead: "isRead", + sentAt: "sentAt" + }; + exports2.Prisma.CustomerNotificationScalarFieldEnum = { + id: "id", + customerId: "customerId", + orderId: "orderId", + event: "event", + title: "title", + body: "body", + tone: "tone", + link: "link", + isRead: "isRead", + smsSent: "smsSent", + sentAt: "sentAt" + }; + exports2.Prisma.InternalMessageScalarFieldEnum = { + id: "id", + senderName: "senderName", + subject: "subject", + preview: "preview", + isRead: "isRead", + sentAt: "sentAt" + }; + exports2.Prisma.MeetingInteractionScalarFieldEnum = { + id: "id", + customerId: "customerId", + agentId: "agentId", + type: "type", + title: "title", + description: "description", + subject: "subject", + content: "content", + date: "date", + time: "time", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.ReminderScalarFieldEnum = { + id: "id", + ownerId: "ownerId", + customerId: "customerId", + title: "title", + description: "description", + note: "note", + date: "date", + time: "time", + interactionType: "interactionType", + completed: "completed", + completedAt: "completedAt", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.ProductFavoriteScalarFieldEnum = { + id: "id", + customerId: "customerId", + productId: "productId", + createdAt: "createdAt" + }; + exports2.Prisma.BrandScalarFieldEnum = { + id: "id", + name: "name", + slug: "slug", + description: "description", + isActive: "isActive", + displayOrder: "displayOrder", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CustomerBrandScalarFieldEnum = { + customerId: "customerId", + brandId: "brandId", + createdAt: "createdAt" + }; + exports2.Prisma.CustomerLevelDefScalarFieldEnum = { + id: "id", + code: "code", + label: "label", + sortOrder: "sortOrder", + criteriaJson: "criteriaJson", + isActive: "isActive", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.LevelBenefitScalarFieldEnum = { + id: "id", + levelId: "levelId", + title: "title", + description: "description" + }; + exports2.Prisma.CatalogRequestScalarFieldEnum = { + id: "id", + customerId: "customerId", + status: "status", + note: "note", + createdAt: "createdAt", + updatedAt: "updatedAt" + }; + exports2.Prisma.CatalogRequestItemScalarFieldEnum = { + id: "id", + requestId: "requestId", + productId: "productId", + quantity: "quantity", + holderType: "holderType", + holderCustomerId: "holderCustomerId" + }; + exports2.Prisma.CatalogItemMovementScalarFieldEnum = { + id: "id", + itemId: "itemId", + fromHolder: "fromHolder", + toHolder: "toHolder", + note: "note", + movedAt: "movedAt" + }; + exports2.Prisma.StockNotifyRequestScalarFieldEnum = { + id: "id", + customerId: "customerId", + productId: "productId", + active: "active", + createdAt: "createdAt", + notifiedAt: "notifiedAt" + }; + exports2.Prisma.ProductSuggestionScalarFieldEnum = { + id: "id", + customerId: "customerId", + productId: "productId", + note: "note", + createdByAdminId: "createdByAdminId", + isActive: "isActive", + createdAt: "createdAt" + }; + exports2.Prisma.SortOrder = { + asc: "asc", + desc: "desc" + }; + exports2.Prisma.NullableJsonNullValueInput = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull + }; + exports2.Prisma.QueryMode = { + default: "default", + insensitive: "insensitive" + }; + exports2.Prisma.NullsOrder = { + first: "first", + last: "last" + }; + exports2.Prisma.JsonNullValueFilter = { + DbNull: Prisma.DbNull, + JsonNull: Prisma.JsonNull, + AnyNull: Prisma.AnyNull + }; + exports2.SettlementType = exports2.$Enums.SettlementType = { + cash: "cash", + check: "check" + }; + exports2.CheckRegistrationMode = exports2.$Enums.CheckRegistrationMode = { + full: "full", + brief: "brief" + }; + exports2.OrderStatus = exports2.$Enums.OrderStatus = { + cart: "cart", + awaiting_settlement: "awaiting_settlement", + cash_in_progress: "cash_in_progress", + check_in_progress: "check_in_progress", + submitted: "submitted", + awaiting_review: "awaiting_review", + pricing: "pricing", + needs_correction: "needs_correction", + awaiting_settlement_fix: "awaiting_settlement_fix", + cash_invoice_issued: "cash_invoice_issued", + awaiting_cash_payment: "awaiting_cash_payment", + cash_payment_submitted: "cash_payment_submitted", + awaiting_cash_confirmation: "awaiting_cash_confirmation", + cash_confirmed: "cash_confirmed", + awaiting_check_review: "awaiting_check_review", + check_needs_fix: "check_needs_fix", + check_rejected: "check_rejected", + checks_approved: "checks_approved", + final_approved: "final_approved", + preparing: "preparing", + ready_to_ship: "ready_to_ship", + shipped: "shipped", + delivered: "delivered", + cancelled: "cancelled", + rejected: "rejected", + expired: "expired" + }; + exports2.CheckStatus = exports2.$Enums.CheckStatus = { + pending_review: "pending_review", + approved: "approved", + rejected: "rejected" + }; + exports2.CashPaymentStatus = exports2.$Enums.CashPaymentStatus = { + pending_review: "pending_review", + approved: "approved", + rejected: "rejected", + expired: "expired" + }; + exports2.ShipmentStatus = exports2.$Enums.ShipmentStatus = { + preparing: "preparing", + ready: "ready", + shipped: "shipped", + delivered: "delivered" + }; + exports2.CustomerType = exports2.$Enums.CustomerType = { + wholesale: "wholesale", + retail: "retail" + }; + exports2.AppUserRole = exports2.$Enums.AppUserRole = { + customer: "customer", + agent: "agent" + }; + exports2.InteractionType = exports2.$Enums.InteractionType = { + in_person: "in_person", + call: "call", + message: "message", + note: "note" + }; + exports2.ProductSeason = exports2.$Enums.ProductSeason = { + summer: "summer", + winter: "winter", + all_season: "all_season" + }; + exports2.ProductUsageCategory = exports2.$Enums.ProductUsageCategory = { + trousers: "trousers", + suit: "suit", + shirt: "shirt", + other: "other" + }; + exports2.AdminRole = exports2.$Enums.AdminRole = { + admin: "admin", + sales: "sales", + finance: "finance", + warehouse: "warehouse" + }; + exports2.NotificationTone = exports2.$Enums.NotificationTone = { + info: "info", + warning: "warning", + success: "success", + danger: "danger" + }; + exports2.CatalogRequestStatus = exports2.$Enums.CatalogRequestStatus = { + new: "new", + approved: "approved", + ready_to_ship: "ready_to_ship", + delivered: "delivered", + returned: "returned", + cancelled: "cancelled" + }; + exports2.CatalogItemHolderType = exports2.$Enums.CatalogItemHolderType = { + warehouse: "warehouse", + customer: "customer", + agent: "agent" + }; + exports2.Prisma.ModelName = { + Company: "Company", + BankAccount: "BankAccount", + Catalog: "Catalog", + Product: "Product", + Customer: "Customer", + AdminUser: "AdminUser", + OtpChallenge: "OtpChallenge", + Cart: "Cart", + CartItem: "CartItem", + Order: "Order", + OrderItem: "OrderItem", + OrderStatusHistory: "OrderStatusHistory", + Check: "Check", + CashPaymentReceipt: "CashPaymentReceipt", + Shipment: "Shipment", + SystemSettings: "SystemSettings", + AppBanner: "AppBanner", + AdminNotification: "AdminNotification", + CustomerNotification: "CustomerNotification", + InternalMessage: "InternalMessage", + MeetingInteraction: "MeetingInteraction", + Reminder: "Reminder", + ProductFavorite: "ProductFavorite", + Brand: "Brand", + CustomerBrand: "CustomerBrand", + CustomerLevelDef: "CustomerLevelDef", + LevelBenefit: "LevelBenefit", + CatalogRequest: "CatalogRequest", + CatalogRequestItem: "CatalogRequestItem", + CatalogItemMovement: "CatalogItemMovement", + StockNotifyRequest: "StockNotifyRequest", + ProductSuggestion: "ProductSuggestion" + }; + var config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "E:\\fabric-nademitex\\fabric_nademitex_server\\node_modules\\@prisma\\client", + "fromEnvVar": null + }, + "config": { + "engineType": "library" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "windows", + "native": true + }, + { + "fromEnvVar": null, + "value": "debian-openssl-3.0.x" + } + ], + "previewFeatures": [], + "sourceFilePath": "E:\\fabric-nademitex\\fabric_nademitex_server\\prisma\\schema.prisma" + }, + "relativeEnvPaths": { + "rootEnvPath": null + }, + "relativePath": "../../../prisma", + "clientVersion": "6.19.3", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": 'generator client {\n provider = "prisma-client-js"\n binaryTargets = ["native", "debian-openssl-3.0.x"]\n}\n\ndatasource db {\n provider = "postgresql"\n url = env("DATABASE_URL")\n}\n\nenum SettlementType {\n cash\n check\n}\n\nenum CheckRegistrationMode {\n full\n brief\n}\n\nenum OrderStatus {\n cart\n awaiting_settlement\n cash_in_progress\n check_in_progress\n submitted\n awaiting_review\n pricing\n needs_correction\n awaiting_settlement_fix\n cash_invoice_issued\n awaiting_cash_payment\n cash_payment_submitted\n awaiting_cash_confirmation\n cash_confirmed\n awaiting_check_review\n check_needs_fix\n check_rejected\n checks_approved\n final_approved\n preparing\n ready_to_ship\n shipped\n delivered\n cancelled\n rejected\n expired\n}\n\nenum CheckStatus {\n pending_review\n approved\n rejected\n}\n\nenum CashPaymentStatus {\n pending_review\n approved\n rejected\n expired\n}\n\nenum ShipmentStatus {\n preparing\n ready\n shipped\n delivered\n}\n\nenum CustomerType {\n wholesale\n retail\n}\n\nenum AppUserRole {\n customer\n agent\n}\n\nenum InteractionType {\n in_person\n call\n message\n note\n}\n\nenum ProductSeason {\n summer\n winter\n all_season\n}\n\nenum ProductUsageCategory {\n trousers\n suit\n shirt\n other\n}\n\nenum AdminRole {\n admin\n sales\n finance\n warehouse\n}\n\nenum NotificationTone {\n info\n warning\n success\n danger\n}\n\n/// \u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)\nenum CatalogRequestStatus {\n new\n approved\n ready_to_ship\n delivered\n returned\n cancelled\n}\n\nenum CatalogItemHolderType {\n warehouse\n customer\n agent\n}\n\nmodel Company {\n id String @id @default(cuid())\n name String\n slug String @unique\n description String?\n logoUrl String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n /// \u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F\n maxMeteragePerInvoice Int?\n cashInvoiceValidityHours Int @default(8)\n cashInvoiceValidUntilHour Int?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n bankAccounts BankAccount[]\n catalogs Catalog[]\n products Product[]\n orders Order[]\n customers Customer[]\n}\n\nmodel BankAccount {\n id String @id @default(cuid())\n companyId String\n bankName String\n accountHolder String\n accountNumber String\n cardNumber String\n iban String\n notes String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n cashReceipts CashPaymentReceipt[]\n\n @@index([companyId])\n}\n\nmodel Catalog {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n description String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n products Product[]\n\n @@unique([companyId, code])\n @@index([companyId])\n}\n\nmodel Product {\n id String @id @default(cuid())\n companyId String\n catalogId String\n name String\n code String\n color String\n description String?\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n basePrice Float?\n stock Float?\n isActive Boolean @default(true)\n /// \u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n usageCategory ProductUsageCategory @default(other)\n season ProductSeason @default(all_season)\n widthCm Float?\n composition String?\n weightGrams Float?\n weaveType String?\n colorsJson Json?\n tagsJson Json?\n imageUrlsJson Json?\n subtitle String?\n rollMeters Float @default(50)\n isNew Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n catalog Catalog @relation(fields: [catalogId], references: [id], onDelete: Cascade)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n stockNotifyRequests StockNotifyRequest[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([catalogId])\n @@index([companyId])\n @@index([usageCategory])\n @@index([season])\n}\n\nmodel Customer {\n id String @id @default(cuid())\n firstName String\n lastName String\n phone String @unique\n nationalId String?\n customerType CustomerType @default(wholesale)\n /// \u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647\n appRole AppUserRole @default(customer)\n agentCode String?\n businessName String?\n levelLabel String?\n nextLevelLabel String?\n pointsToNext Int?\n levelProgress Int? @default(0)\n assignedAgentId String?\n avatarLetter String?\n avatarColor String?\n avatarUrl String?\n companyId String?\n levelDefId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company? @relation(fields: [companyId], references: [id], onDelete: SetNull)\n levelDef CustomerLevelDef? @relation(fields: [levelDefId], references: [id], onDelete: SetNull)\n assignedAgent Customer? @relation("AgentCustomers", fields: [assignedAgentId], references: [id], onDelete: SetNull)\n agentCustomers Customer[] @relation("AgentCustomers")\n carts Cart[]\n orders Order[]\n notifications CustomerNotification[]\n meetings MeetingInteraction[] @relation("MeetingCustomer")\n meetingsAsAgent MeetingInteraction[] @relation("MeetingAgent")\n reminders Reminder[] @relation("ReminderOwner")\n remindersAbout Reminder[] @relation("ReminderCustomer")\n favorites ProductFavorite[]\n catalogRequests CatalogRequest[]\n stockNotifyRequests StockNotifyRequest[]\n productSuggestions ProductSuggestion[]\n customerBrands CustomerBrand[]\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel AdminUser {\n id String @id @default(cuid())\n fullName String\n phone String @unique\n email String @unique\n passwordHash String\n role AdminRole @default(admin)\n isActive Boolean @default(true)\n lastLoginAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel OtpChallenge {\n id String @id @default(cuid())\n phone String\n code String\n firstName String?\n lastName String?\n isRegister Boolean @default(false)\n attempts Int @default(0)\n expiresAt DateTime\n createdAt DateTime @default(now())\n\n @@index([phone])\n}\n\nmodel Cart {\n id String @id @default(cuid())\n userId String\n companyId String?\n notes String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Cascade)\n items CartItem[]\n\n @@index([userId])\n}\n\nmodel CartItem {\n id String @id @default(cuid())\n cartId String\n productId String\n catalogCode String\n productName String\n productCode String\n color String\n meterage Float\n unitPrice Float?\n notes String?\n companyId String\n companyName String\n\n cart Cart @relation(fields: [cartId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n\n @@unique([cartId, productId])\n @@index([cartId])\n}\n\nmodel Order {\n id String @id @default(cuid())\n orderNumber String @unique\n userId String\n companyId String\n companyName String\n // \u0631\u0648\u0634 \u062A\u0633\u0648\u06CC\u0647 \u0628\u0639\u062F \u0627\u0632 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0627\u062F\u0645\u06CC\u0646 \u062A\u0648\u0633\u0637 \u0645\u0634\u062A\u0631\u06CC \u0627\u0646\u062A\u062E\u0627\u0628 \u0645\u06CC\u200C\u0634\u0648\u062F\n settlementType SettlementType?\n checkMode CheckRegistrationMode?\n status OrderStatus @default(awaiting_review)\n totalMeterage Float @default(0)\n totalAmount Float?\n shippingCost Float?\n totalDiscount Float?\n finalAmount Float?\n notes String?\n checkRassDays Int?\n checkRassDate DateTime?\n cashInvoiceExpiresAt DateTime?\n /// \u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F\n cashReminderSentAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n user Customer @relation(fields: [userId], references: [id], onDelete: Restrict)\n company Company @relation(fields: [companyId], references: [id], onDelete: Restrict)\n items OrderItem[]\n checks Check[]\n cashReceipt CashPaymentReceipt?\n shipment Shipment?\n statusHistory OrderStatusHistory[]\n notifications CustomerNotification[]\n\n @@index([userId])\n @@index([companyId])\n @@index([status])\n @@index([createdAt])\n @@index([status, cashInvoiceExpiresAt])\n}\n\nmodel OrderItem {\n id String @id @default(cuid())\n orderId String\n productId String?\n catalogCode String\n productName String\n productCode String?\n color String\n requestedMeterage Float\n confirmedMeterage Float?\n unitPrice Float?\n unitDiscount Float? @default(0)\n lineTotal Float?\n notes String?\n companyId String\n companyName String\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n product Product? @relation(fields: [productId], references: [id], onDelete: SetNull)\n\n @@index([orderId])\n @@index([companyId])\n}\n\nmodel OrderStatusHistory {\n id String @id @default(cuid())\n orderId String\n fromStatus OrderStatus?\n toStatus OrderStatus\n changedBy String\n note String?\n reason String?\n changedAt DateTime @default(now())\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n}\n\nmodel Check {\n id String @id @default(cuid())\n orderId String\n row Int\n amount Float\n dueDate DateTime\n sayadId String?\n checkNumber String?\n ownerNationalId String?\n ownerFirstName String?\n ownerLastName String?\n bankName String?\n branchName String?\n frontImage String?\n backImage String?\n notes String?\n mode CheckRegistrationMode @default(full)\n status CheckStatus @default(pending_review)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n\n @@index([orderId])\n @@index([dueDate])\n}\n\nmodel CashPaymentReceipt {\n id String @id @default(cuid())\n orderId String @unique\n amount Float\n paidAmount Float?\n transferDate DateTime?\n transferTime String?\n trackingNumber String?\n destinationAccountId String?\n receiptImage String?\n notes String?\n expiresAt DateTime?\n status CashPaymentStatus @default(pending_review)\n submittedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n destinationAccount BankAccount? @relation(fields: [destinationAccountId], references: [id], onDelete: SetNull)\n}\n\nmodel Shipment {\n id String @id @default(cuid())\n orderId String @unique\n carrier String\n trackingNumber String?\n meterage Float\n status ShipmentStatus @default(preparing)\n shippedAt DateTime?\n deliveredAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n order Order @relation(fields: [orderId], references: [id], onDelete: Cascade)\n}\n\nmodel SystemSettings {\n id String @id @default("default")\n maxMeteragePerInvoice Int @default(5000)\n cashInvoiceValidityHours Int @default(8)\n defaultSettlementCheck Boolean @default(true)\n defaultSettlementCash Boolean @default(true)\n /// \u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)\n minOrderRollsPerProduct Int @default(1)\n /// \u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)\n showCatalogPublicPrice Boolean @default(false)\n /// \u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)\n allowAgentPricing Boolean @default(false)\n /// \u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC\n agentMinUnitPrice Int?\n smsOrderRegistered Boolean @default(true)\n smsPricingReady Boolean @default(true)\n smsPaymentReminder Boolean @default(true)\n smsCheckReview Boolean @default(true)\n smsShippingUpdate Boolean @default(true)\n supportPhone String?\n supportEmail String?\n /// \u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }\n categoryImagesJson Json?\n updatedAt DateTime @updatedAt\n}\n\n/// \u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631\nmodel AppBanner {\n id String @id @default(cuid())\n slot String\n title String\n subtitle String?\n ctaLabel String?\n ctaLink String?\n imageUrl String?\n displayOrder Int @default(0)\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([slot, isActive, displayOrder])\n}\n\nmodel AdminNotification {\n id String @id @default(cuid())\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel CustomerNotification {\n id String @id @default(cuid())\n customerId String\n orderId String?\n event String\n title String\n body String\n tone NotificationTone? @default(info)\n link String?\n isRead Boolean @default(false)\n smsSent Boolean @default(false)\n sentAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n order Order? @relation(fields: [orderId], references: [id], onDelete: SetNull)\n\n @@index([customerId, isRead])\n @@index([sentAt])\n}\n\nmodel InternalMessage {\n id String @id @default(cuid())\n senderName String\n subject String\n preview String\n isRead Boolean @default(false)\n sentAt DateTime @default(now())\n}\n\nmodel MeetingInteraction {\n id String @id @default(cuid())\n customerId String\n agentId String\n type InteractionType @default(in_person)\n title String\n description String?\n subject String?\n content String?\n date String\n time String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation("MeetingCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n agent Customer @relation("MeetingAgent", fields: [agentId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\n @@index([agentId])\n @@index([date])\n}\n\nmodel Reminder {\n id String @id @default(cuid())\n ownerId String\n customerId String\n title String\n description String?\n note String?\n date String\n time String\n interactionType InteractionType @default(note)\n completed Boolean @default(false)\n completedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n owner Customer @relation("ReminderOwner", fields: [ownerId], references: [id], onDelete: Cascade)\n customer Customer @relation("ReminderCustomer", fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([ownerId, completed])\n @@index([customerId])\n @@index([date])\n}\n\nmodel ProductFavorite {\n id String @id @default(cuid())\n customerId String\n productId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([customerId])\n}\n\nmodel Brand {\n id String @id @default(cuid())\n name String\n slug String? @unique\n description String?\n isActive Boolean @default(true)\n displayOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customers CustomerBrand[]\n}\n\nmodel CustomerBrand {\n customerId String\n brandId String\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n brand Brand @relation(fields: [brandId], references: [id], onDelete: Cascade)\n\n @@id([customerId, brandId])\n @@index([brandId])\n}\n\nmodel CustomerLevelDef {\n id String @id @default(cuid())\n code String @unique\n label String\n sortOrder Int @default(0)\n criteriaJson Json?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n benefits LevelBenefit[]\n customers Customer[]\n}\n\nmodel LevelBenefit {\n id String @id @default(cuid())\n levelId String\n title String\n description String?\n\n level CustomerLevelDef @relation(fields: [levelId], references: [id], onDelete: Cascade)\n\n @@index([levelId])\n}\n\nmodel CatalogRequest {\n id String @id @default(cuid())\n customerId String\n status CatalogRequestStatus @default(new)\n note String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n items CatalogRequestItem[]\n\n @@index([customerId])\n @@index([status])\n}\n\nmodel CatalogRequestItem {\n id String @id @default(cuid())\n requestId String\n productId String\n quantity Int @default(1)\n holderType CatalogItemHolderType @default(warehouse)\n holderCustomerId String?\n\n request CatalogRequest @relation(fields: [requestId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Restrict)\n movements CatalogItemMovement[]\n\n @@index([requestId])\n @@index([productId])\n}\n\nmodel CatalogItemMovement {\n id String @id @default(cuid())\n itemId String\n fromHolder String\n toHolder String\n note String?\n movedAt DateTime @default(now())\n\n item CatalogRequestItem @relation(fields: [itemId], references: [id], onDelete: Cascade)\n\n @@index([itemId])\n}\n\nmodel StockNotifyRequest {\n id String @id @default(cuid())\n customerId String\n productId String\n active Boolean @default(true)\n createdAt DateTime @default(now())\n notifiedAt DateTime?\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@unique([customerId, productId])\n @@index([productId, active])\n}\n\nmodel ProductSuggestion {\n id String @id @default(cuid())\n customerId String\n productId String\n note String?\n createdByAdminId String?\n isActive Boolean @default(true)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n product Product @relation(fields: [productId], references: [id], onDelete: Cascade)\n\n @@index([customerId, isActive])\n @@index([productId])\n}\n', + "inlineSchemaHash": "a9c2d87fe24f75b044d0e402cc0d982f5c8c39217ba35572ad8a4d2ef0059de8", + "copyEngine": true + }; + var fs = require("fs"); + config.dirname = __dirname; + if (!fs.existsSync(path.join(__dirname, "schema.prisma"))) { + const alternativePaths = [ + "node_modules/.prisma/client", + ".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; + } + config.runtimeDataModel = JSON.parse('{"models":{"Company":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"logoUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062E\u0627\u0644\u06CC \u06CC\u0639\u0646\u06CC \u0627\u0632 \u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u0633\u06CC\u0633\u062A\u0645 \u0627\u0631\u062B \u0645\u06CC\u200C\u0628\u0631\u062F"},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidUntilHour","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"bankAccounts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogs","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Catalog","nativeType":null,"relationName":"CatalogToCompany","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"BankAccount":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"accountNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"iban","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"BankAccountToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Catalog":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CatalogToCompany","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Product":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"minMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":30,"isGenerated":false,"isUpdatedAt":false},{"name":"orderMultiplier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":10,"isGenerated":false,"isUpdatedAt":false},{"name":"basePrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"stock","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"usageCategory","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ProductUsageCategory","nativeType":null,"default":"other","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0641\u06CC\u0644\u062F\u0647\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u0645\u0648\u06A9\u0627\u067E (\u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"name":"season","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ProductSeason","nativeType":null,"default":"all_season","isGenerated":false,"isUpdatedAt":false},{"name":"widthCm","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"composition","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weightGrams","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"weaveType","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"colorsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tagsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrlsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"rollMeters","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":50,"isGenerated":false,"isUpdatedAt":false},{"name":"isNew","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToProduct","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"catalog","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Catalog","nativeType":null,"relationName":"CatalogToProduct","relationFromFields":["catalogId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"cartItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orderItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequestItems","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"stockNotifyRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"StockNotifyRequest","nativeType":null,"relationName":"ProductToStockNotifyRequest","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["companyId","code"]],"uniqueIndexes":[{"name":null,"fields":["companyId","code"]}],"isGenerated":false},"Customer":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CustomerType","nativeType":null,"default":"wholesale","isGenerated":false,"isUpdatedAt":false},{"name":"appRole","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AppUserRole","nativeType":null,"default":"customer","isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0642\u0634 \u062F\u0631 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: \u0645\u0634\u062A\u0631\u06CC \u0639\u0627\u062F\u06CC \u06CC\u0627 \u0648\u0627\u0633\u0637\u0647"},{"name":"agentCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"businessName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"nextLevelLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"pointsToNext","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelProgress","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgentId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarLetter","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarColor","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"avatarUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"levelDefId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"company","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToCustomer","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"levelDef","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":["levelDefId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"assignedAgent","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":["assignedAgentId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false},{"name":"agentCustomers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"AgentCustomers","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"carts","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"orders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetings","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"meetingsAsAgent","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"MeetingInteraction","nativeType":null,"relationName":"MeetingAgent","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"reminders","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderOwner","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"remindersAbout","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Reminder","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"favorites","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductFavorite","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"catalogRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"stockNotifyRequests","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"StockNotifyRequest","nativeType":null,"relationName":"CustomerToStockNotifyRequest","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"productSuggestions","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"ProductSuggestion","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customerBrands","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerBrand","nativeType":null,"relationName":"CustomerToCustomerBrand","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AdminUser":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"fullName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"email","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"passwordHash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"role","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"AdminRole","nativeType":null,"default":"admin","isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"lastLoginAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OtpChallenge":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"phone","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"firstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"lastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRegister","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"attempts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Cart":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CartToCustomer","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CartItem","nativeType":null,"relationName":"CartToCartItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CartItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"cartId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cart","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Cart","nativeType":null,"relationName":"CartToCartItem","relationFromFields":["cartId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CartItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["cartId","productId"]],"uniqueIndexes":[{"name":null,"fields":["cartId","productId"]}],"isGenerated":false},"Order":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"userId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"settlementType","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"SettlementType","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkMode","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CheckRegistrationMode","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"OrderStatus","nativeType":null,"default":"awaiting_review","isGenerated":false,"isUpdatedAt":false},{"name":"totalMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"totalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"shippingCost","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"totalDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"finalAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDays","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkRassDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceExpiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"cashReminderSentAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0632\u0645\u0627\u0646 \u0627\u0631\u0633\u0627\u0644 \u06CC\u0627\u062F\u0622\u0648\u0631\u06CC \u067E\u0627\u06CC\u0627\u0646 \u0645\u0647\u0644\u062A \u067E\u0631\u062F\u0627\u062E\u062A \u062A\u0627 \u062F\u0648\u0628\u0627\u0631\u0647 \u0627\u0631\u0633\u0627\u0644 \u0646\u0634\u0648\u062F"},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"user","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToOrder","relationFromFields":["userId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"company","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Company","nativeType":null,"relationName":"CompanyToOrder","relationFromFields":["companyId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderItem","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"checks","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Check","nativeType":null,"relationName":"CheckToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"cashReceipt","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CashPaymentReceipt","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"shipment","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Shipment","nativeType":null,"relationName":"OrderToShipment","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"statusHistory","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatusHistory","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"notifications","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerNotification","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"catalogCode","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productCode","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"color","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"requestedMeterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"confirmedMeterage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"unitDiscount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Float","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"lineTotal","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"companyName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderItem","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"OrderItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"OrderStatusHistory":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromStatus","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toStatus","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"OrderStatus","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedBy","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"reason","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"changedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToOrderStatusHistory","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Check":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"row","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"dueDate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sayadId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"checkNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerNationalId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerFirstName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ownerLastName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"bankName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"branchName","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"frontImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"backImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"mode","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckRegistrationMode","nativeType":null,"default":"full","isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CheckStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CheckToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CashPaymentReceipt":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"amount","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"paidAmount","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferDate","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"transferTime","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccountId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"receiptImage","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"notes","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"expiresAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CashPaymentStatus","nativeType":null,"default":"pending_review","isGenerated":false,"isUpdatedAt":false},{"name":"submittedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CashPaymentReceiptToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"destinationAccount","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"BankAccount","nativeType":null,"relationName":"BankAccountToCashPaymentReceipt","relationFromFields":["destinationAccountId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Shipment":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"carrier","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"trackingNumber","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"meterage","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Float","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"ShipmentStatus","nativeType":null,"default":"preparing","isGenerated":false,"isUpdatedAt":false},{"name":"shippedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"deliveredAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"order","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"OrderToShipment","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SystemSettings":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"default","isGenerated":false,"isUpdatedAt":false},{"name":"maxMeteragePerInvoice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":5000,"isGenerated":false,"isUpdatedAt":false},{"name":"cashInvoiceValidityHours","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":8,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCheck","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"defaultSettlementCash","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"minOrderRollsPerProduct","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062D\u062F\u0627\u0642\u0644 \u0633\u0641\u0627\u0631\u0634: \u062A\u0639\u062F\u0627\u062F \u0637\u0627\u0642\u0647 \u0627\u0632 \u0647\u0631 \u0645\u062D\u0635\u0648\u0644 (\xA7\u06F1\u06F9)"},{"name":"showCatalogPublicPrice","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0646\u0645\u0627\u06CC\u0634 \u0642\u06CC\u0645\u062A \u0639\u0645\u0648\u0645\u06CC \u062F\u0631 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF (\u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u062E\u0627\u0645\u0648\u0634)"},{"name":"allowAgentPricing","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0627\u062C\u0627\u0632\u0647 \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u062A\u0648\u0633\u0637 \u0648\u0627\u0633\u0637\u0647 (\xA7\u06F1\u06F9)"},{"name":"agentMinUnitPrice","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u06A9\u0641 \u0642\u06CC\u0645\u062A \u0648\u0627\u062D\u062F \u0628\u0631\u0627\u06CC \u0642\u06CC\u0645\u062A\u200C\u06AF\u0630\u0627\u0631\u06CC \u0648\u0627\u0633\u0637\u0647 (\u0631\u06CC\u0627\u0644) \u2014 \u0627\u062E\u062A\u06CC\u0627\u0631\u06CC"},{"name":"smsOrderRegistered","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPricingReady","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsPaymentReminder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsCheckReview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"smsShippingUpdate","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"supportPhone","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"supportEmail","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"categoryImagesJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0635\u0627\u0648\u06CC\u0631 \u062F\u0633\u062A\u0647\u200C\u0647\u0627\u06CC \u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631: { trousers: dataUrl, summer: dataUrl, ... }"},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"AppBanner":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"slot","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subtitle","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLabel","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"ctaLink","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"imageUrl","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false,"documentation":"\u0628\u0646\u0631\u0647\u0627\u06CC \u0642\u0627\u0628\u0644 \u0645\u062F\u06CC\u0631\u06CC\u062A \u0628\u062E\u0634\u200C\u0647\u0627\u06CC \u0627\u067E \u06A9\u0627\u0631\u0628\u0631"},"AdminNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerNotification":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"orderId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"event","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"body","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"tone","kind":"enum","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"NotificationTone","nativeType":null,"default":"info","isGenerated":false,"isUpdatedAt":false},{"name":"link","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"smsSent","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerNotification","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"order","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Order","nativeType":null,"relationName":"CustomerNotificationToOrder","relationFromFields":["orderId"],"relationToFields":["id"],"relationOnDelete":"SetNull","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"InternalMessage":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"senderName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"preview","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isRead","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"sentAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"MeetingInteraction":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"agentId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"type","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"in_person","isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"subject","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"content","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"agent","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"MeetingAgent","relationFromFields":["agentId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"Reminder":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"ownerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"date","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"time","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"interactionType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"InteractionType","nativeType":null,"default":"note","isGenerated":false,"isUpdatedAt":false},{"name":"completed","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":false,"isGenerated":false,"isUpdatedAt":false},{"name":"completedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"owner","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderOwner","relationFromFields":["ownerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"ReminderCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"ProductFavorite":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductFavorite","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductFavorite","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"Brand":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"name","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"slug","kind":"scalar","isList":false,"isRequired":false,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"displayOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerBrand","nativeType":null,"relationName":"BrandToCustomerBrand","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerBrand":{"dbName":null,"schema":null,"fields":[{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"brandId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerBrand","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"brand","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Brand","nativeType":null,"relationName":"BrandToCustomerBrand","relationFromFields":["brandId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":{"name":null,"fields":["customerId","brandId"]},"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerLevelDef":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"code","kind":"scalar","isList":false,"isRequired":true,"isUnique":true,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"label","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"sortOrder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":0,"isGenerated":false,"isUpdatedAt":false},{"name":"criteriaJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"benefits","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"LevelBenefit","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false},{"name":"customers","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerLevelDef","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"LevelBenefit":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"levelId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"title","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"description","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"level","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerLevelDef","nativeType":null,"relationName":"CustomerLevelDefToLevelBenefit","relationFromFields":["levelId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"status","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogRequestStatus","nativeType":null,"default":"new","isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"updatedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":true},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CatalogRequestToCustomer","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"items","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogRequestItem":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"requestId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"quantity","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1,"isGenerated":false,"isUpdatedAt":false},{"name":"holderType","kind":"enum","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"CatalogItemHolderType","nativeType":null,"default":"warehouse","isGenerated":false,"isUpdatedAt":false},{"name":"holderCustomerId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"request","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequest","nativeType":null,"relationName":"CatalogRequestToCatalogRequestItem","relationFromFields":["requestId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"CatalogRequestItemToProduct","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Restrict","isGenerated":false,"isUpdatedAt":false},{"name":"movements","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogItemMovement","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CatalogItemMovement":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"itemId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"fromHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"toHolder","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"movedAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"item","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CatalogRequestItem","nativeType":null,"relationName":"CatalogItemMovementToCatalogRequestItem","relationFromFields":["itemId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"StockNotifyRequest":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"active","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"notifiedAt","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"DateTime","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToStockNotifyRequest","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToStockNotifyRequest","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[["customerId","productId"]],"uniqueIndexes":[{"name":null,"fields":["customerId","productId"]}],"isGenerated":false},"ProductSuggestion":{"dbName":null,"schema":null,"fields":[{"name":"id","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":true,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":{"name":"cuid","args":[1]},"isGenerated":false,"isUpdatedAt":false},{"name":"customerId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"productId","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":true,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"note","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"createdByAdminId","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isActive","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Boolean","nativeType":null,"default":true,"isGenerated":false,"isUpdatedAt":false},{"name":"createdAt","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"DateTime","nativeType":null,"default":{"name":"now","args":[]},"isGenerated":false,"isUpdatedAt":false},{"name":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToProductSuggestion","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false},{"name":"product","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"ProductToProductSuggestion","relationFromFields":["productId"],"relationToFields":["id"],"relationOnDelete":"Cascade","isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false}},"enums":{"SettlementType":{"values":[{"name":"cash","dbName":null},{"name":"check","dbName":null}],"dbName":null},"CheckRegistrationMode":{"values":[{"name":"full","dbName":null},{"name":"brief","dbName":null}],"dbName":null},"OrderStatus":{"values":[{"name":"cart","dbName":null},{"name":"awaiting_settlement","dbName":null},{"name":"cash_in_progress","dbName":null},{"name":"check_in_progress","dbName":null},{"name":"submitted","dbName":null},{"name":"awaiting_review","dbName":null},{"name":"pricing","dbName":null},{"name":"needs_correction","dbName":null},{"name":"awaiting_settlement_fix","dbName":null},{"name":"cash_invoice_issued","dbName":null},{"name":"awaiting_cash_payment","dbName":null},{"name":"cash_payment_submitted","dbName":null},{"name":"awaiting_cash_confirmation","dbName":null},{"name":"cash_confirmed","dbName":null},{"name":"awaiting_check_review","dbName":null},{"name":"check_needs_fix","dbName":null},{"name":"check_rejected","dbName":null},{"name":"checks_approved","dbName":null},{"name":"final_approved","dbName":null},{"name":"preparing","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null},{"name":"cancelled","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"CheckStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null}],"dbName":null},"CashPaymentStatus":{"values":[{"name":"pending_review","dbName":null},{"name":"approved","dbName":null},{"name":"rejected","dbName":null},{"name":"expired","dbName":null}],"dbName":null},"ShipmentStatus":{"values":[{"name":"preparing","dbName":null},{"name":"ready","dbName":null},{"name":"shipped","dbName":null},{"name":"delivered","dbName":null}],"dbName":null},"CustomerType":{"values":[{"name":"wholesale","dbName":null},{"name":"retail","dbName":null}],"dbName":null},"AppUserRole":{"values":[{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null},"InteractionType":{"values":[{"name":"in_person","dbName":null},{"name":"call","dbName":null},{"name":"message","dbName":null},{"name":"note","dbName":null}],"dbName":null},"ProductSeason":{"values":[{"name":"summer","dbName":null},{"name":"winter","dbName":null},{"name":"all_season","dbName":null}],"dbName":null},"ProductUsageCategory":{"values":[{"name":"trousers","dbName":null},{"name":"suit","dbName":null},{"name":"shirt","dbName":null},{"name":"other","dbName":null}],"dbName":null},"AdminRole":{"values":[{"name":"admin","dbName":null},{"name":"sales","dbName":null},{"name":"finance","dbName":null},{"name":"warehouse","dbName":null}],"dbName":null},"NotificationTone":{"values":[{"name":"info","dbName":null},{"name":"warning","dbName":null},{"name":"success","dbName":null},{"name":"danger","dbName":null}],"dbName":null},"CatalogRequestStatus":{"values":[{"name":"new","dbName":null},{"name":"approved","dbName":null},{"name":"ready_to_ship","dbName":null},{"name":"delivered","dbName":null},{"name":"returned","dbName":null},{"name":"cancelled","dbName":null}],"dbName":null,"documentation":"\u06AF\u0631\u062F\u0634 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0641\u06CC\u0632\u06CC\u06A9\u06CC (\xA7\u06F7 \u0633\u0646\u062F)"},"CatalogItemHolderType":{"values":[{"name":"warehouse","dbName":null},{"name":"customer","dbName":null},{"name":"agent","dbName":null}],"dbName":null}},"types":{}}'); + defineDmmfProperty2(exports2.Prisma, config.runtimeDataModel); + config.engineWasm = void 0; + config.compilerWasm = void 0; + var { warnEnvConflicts: warnEnvConflicts2 } = require_library(); + warnEnvConflicts2({ + rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), + schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath) + }); + var PrismaClient2 = getPrismaClient2(config); + exports2.PrismaClient = PrismaClient2; + Object.assign(exports2, Prisma); + path.join(__dirname, "query_engine-windows.dll.node"); + path.join(process.cwd(), "node_modules/.prisma/client/query_engine-windows.dll.node"); + path.join(__dirname, "libquery_engine-debian-openssl-3.0.x.so.node"); + path.join(process.cwd(), "node_modules/.prisma/client/libquery_engine-debian-openssl-3.0.x.so.node"); + path.join(__dirname, "schema.prisma"); + path.join(process.cwd(), "node_modules/.prisma/client/schema.prisma"); + } +}); + +// node_modules/.prisma/client/default.js +var require_default = __commonJS({ + "node_modules/.prisma/client/default.js"(exports2, module2) { + module2.exports = { ...require_client() }; + } +}); + +// node_modules/@prisma/client/default.js +var require_default2 = __commonJS({ + "node_modules/@prisma/client/default.js"(exports2, module2) { + module2.exports = { + ...require_default() + }; + } +}); + +// prisma/seed.ts +var import_client = __toESM(require_default2()); + +// node_modules/bcryptjs/index.js +var import_crypto = __toESM(require("crypto"), 1); +var randomFallback = null; +function randomBytes(len) { + try { + return crypto.getRandomValues(new Uint8Array(len)); + } catch { + } + try { + return import_crypto.default.randomBytes(len); + } catch { + } + if (!randomFallback) { + throw Error( + "Neither WebCryptoAPI nor a crypto module is available. Use bcrypt.setRandomFallback to set an alternative" + ); + } + return randomFallback(len); +} +__name(randomBytes, "randomBytes"); +function genSaltSync(rounds, seed_length) { + rounds = rounds || GENSALT_DEFAULT_LOG2_ROUNDS; + if (typeof rounds !== "number") + throw Error( + "Illegal arguments: " + typeof rounds + ", " + typeof seed_length + ); + if (rounds < 4) rounds = 4; + else if (rounds > 31) rounds = 31; + var salt = []; + salt.push("$2b$"); + if (rounds < 10) salt.push("0"); + salt.push(rounds.toString()); + salt.push("$"); + salt.push(base64_encode(randomBytes(BCRYPT_SALT_LEN), BCRYPT_SALT_LEN)); + return salt.join(""); +} +__name(genSaltSync, "genSaltSync"); +function genSalt(rounds, seed_length, callback) { + if (typeof seed_length === "function") + callback = seed_length, seed_length = void 0; + if (typeof rounds === "function") callback = rounds, rounds = void 0; + if (typeof rounds === "undefined") rounds = GENSALT_DEFAULT_LOG2_ROUNDS; + else if (typeof rounds !== "number") + throw Error("illegal arguments: " + typeof rounds); + function _async(callback2) { + nextTick(function() { + try { + callback2(null, genSaltSync(rounds)); + } catch (err) { + callback2(err); + } + }); + } + __name(_async, "_async"); + if (callback) { + if (typeof callback !== "function") + throw Error("Illegal callback: " + typeof callback); + _async(callback); + } else + return new Promise(function(resolve, reject) { + _async(function(err, res) { + if (err) { + reject(err); + return; + } + resolve(res); + }); + }); +} +__name(genSalt, "genSalt"); +function hash(password, salt, callback, progressCallback) { + function _async(callback2) { + if (typeof password === "string" && typeof salt === "number") + genSalt(salt, function(err, salt2) { + _hash(password, salt2, callback2, progressCallback); + }); + else if (typeof password === "string" && typeof salt === "string") + _hash(password, salt, callback2, progressCallback); + else + nextTick( + callback2.bind( + this, + Error("Illegal arguments: " + typeof password + ", " + typeof salt) + ) + ); + } + __name(_async, "_async"); + if (callback) { + if (typeof callback !== "function") + throw Error("Illegal callback: " + typeof callback); + _async(callback); + } else + return new Promise(function(resolve, reject) { + _async(function(err, res) { + if (err) { + reject(err); + return; + } + resolve(res); + }); + }); +} +__name(hash, "hash"); +var nextTick = typeof setImmediate === "function" ? setImmediate : typeof scheduler === "object" && typeof scheduler.postTask === "function" ? scheduler.postTask.bind(scheduler) : setTimeout; +function utf8Length(string) { + var len = 0, c = 0; + for (var i = 0; i < string.length; ++i) { + c = string.charCodeAt(i); + if (c < 128) len += 1; + else if (c < 2048) len += 2; + else if ((c & 64512) === 55296 && (string.charCodeAt(i + 1) & 64512) === 56320) { + ++i; + len += 4; + } else len += 3; + } + return len; +} +__name(utf8Length, "utf8Length"); +function utf8Array(string) { + var offset = 0, c1, c2; + var buffer = new Array(utf8Length(string)); + for (var i = 0, k = string.length; i < k; ++i) { + c1 = string.charCodeAt(i); + if (c1 < 128) { + buffer[offset++] = c1; + } else if (c1 < 2048) { + buffer[offset++] = c1 >> 6 | 192; + buffer[offset++] = c1 & 63 | 128; + } else if ((c1 & 64512) === 55296 && ((c2 = string.charCodeAt(i + 1)) & 64512) === 56320) { + c1 = 65536 + ((c1 & 1023) << 10) + (c2 & 1023); + ++i; + buffer[offset++] = c1 >> 18 | 240; + buffer[offset++] = c1 >> 12 & 63 | 128; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; + } else { + buffer[offset++] = c1 >> 12 | 224; + buffer[offset++] = c1 >> 6 & 63 | 128; + buffer[offset++] = c1 & 63 | 128; + } + } + return buffer; +} +__name(utf8Array, "utf8Array"); +var BASE64_CODE = "./ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""); +var BASE64_INDEX = [ + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 1, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + -1, + -1, + -1, + -1, + -1, + -1, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 51, + 52, + 53, + -1, + -1, + -1, + -1, + -1 +]; +function base64_encode(b, len) { + var off = 0, rs = [], c1, c2; + if (len <= 0 || len > b.length) throw Error("Illegal len: " + len); + while (off < len) { + c1 = b[off++] & 255; + rs.push(BASE64_CODE[c1 >> 2 & 63]); + c1 = (c1 & 3) << 4; + if (off >= len) { + rs.push(BASE64_CODE[c1 & 63]); + break; + } + c2 = b[off++] & 255; + c1 |= c2 >> 4 & 15; + rs.push(BASE64_CODE[c1 & 63]); + c1 = (c2 & 15) << 2; + if (off >= len) { + rs.push(BASE64_CODE[c1 & 63]); + break; + } + c2 = b[off++] & 255; + c1 |= c2 >> 6 & 3; + rs.push(BASE64_CODE[c1 & 63]); + rs.push(BASE64_CODE[c2 & 63]); + } + return rs.join(""); +} +__name(base64_encode, "base64_encode"); +function base64_decode(s, len) { + var off = 0, slen = s.length, olen = 0, rs = [], c1, c2, c3, c4, o, code; + if (len <= 0) throw Error("Illegal len: " + len); + while (off < slen - 1 && olen < len) { + code = s.charCodeAt(off++); + c1 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1; + code = s.charCodeAt(off++); + c2 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1; + if (c1 == -1 || c2 == -1) break; + o = c1 << 2 >>> 0; + o |= (c2 & 48) >> 4; + rs.push(String.fromCharCode(o)); + if (++olen >= len || off >= slen) break; + code = s.charCodeAt(off++); + c3 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1; + if (c3 == -1) break; + o = (c2 & 15) << 4 >>> 0; + o |= (c3 & 60) >> 2; + rs.push(String.fromCharCode(o)); + if (++olen >= len || off >= slen) break; + code = s.charCodeAt(off++); + c4 = code < BASE64_INDEX.length ? BASE64_INDEX[code] : -1; + o = (c3 & 3) << 6 >>> 0; + o |= c4; + rs.push(String.fromCharCode(o)); + ++olen; + } + var res = []; + for (off = 0; off < olen; off++) res.push(rs[off].charCodeAt(0)); + return res; +} +__name(base64_decode, "base64_decode"); +var BCRYPT_SALT_LEN = 16; +var GENSALT_DEFAULT_LOG2_ROUNDS = 10; +var BLOWFISH_NUM_ROUNDS = 16; +var MAX_EXECUTION_TIME = 100; +var P_ORIG = [ + 608135816, + 2242054355, + 320440878, + 57701188, + 2752067618, + 698298832, + 137296536, + 3964562569, + 1160258022, + 953160567, + 3193202383, + 887688300, + 3232508343, + 3380367581, + 1065670069, + 3041331479, + 2450970073, + 2306472731 +]; +var S_ORIG = [ + 3509652390, + 2564797868, + 805139163, + 3491422135, + 3101798381, + 1780907670, + 3128725573, + 4046225305, + 614570311, + 3012652279, + 134345442, + 2240740374, + 1667834072, + 1901547113, + 2757295779, + 4103290238, + 227898511, + 1921955416, + 1904987480, + 2182433518, + 2069144605, + 3260701109, + 2620446009, + 720527379, + 3318853667, + 677414384, + 3393288472, + 3101374703, + 2390351024, + 1614419982, + 1822297739, + 2954791486, + 3608508353, + 3174124327, + 2024746970, + 1432378464, + 3864339955, + 2857741204, + 1464375394, + 1676153920, + 1439316330, + 715854006, + 3033291828, + 289532110, + 2706671279, + 2087905683, + 3018724369, + 1668267050, + 732546397, + 1947742710, + 3462151702, + 2609353502, + 2950085171, + 1814351708, + 2050118529, + 680887927, + 999245976, + 1800124847, + 3300911131, + 1713906067, + 1641548236, + 4213287313, + 1216130144, + 1575780402, + 4018429277, + 3917837745, + 3693486850, + 3949271944, + 596196993, + 3549867205, + 258830323, + 2213823033, + 772490370, + 2760122372, + 1774776394, + 2652871518, + 566650946, + 4142492826, + 1728879713, + 2882767088, + 1783734482, + 3629395816, + 2517608232, + 2874225571, + 1861159788, + 326777828, + 3124490320, + 2130389656, + 2716951837, + 967770486, + 1724537150, + 2185432712, + 2364442137, + 1164943284, + 2105845187, + 998989502, + 3765401048, + 2244026483, + 1075463327, + 1455516326, + 1322494562, + 910128902, + 469688178, + 1117454909, + 936433444, + 3490320968, + 3675253459, + 1240580251, + 122909385, + 2157517691, + 634681816, + 4142456567, + 3825094682, + 3061402683, + 2540495037, + 79693498, + 3249098678, + 1084186820, + 1583128258, + 426386531, + 1761308591, + 1047286709, + 322548459, + 995290223, + 1845252383, + 2603652396, + 3431023940, + 2942221577, + 3202600964, + 3727903485, + 1712269319, + 422464435, + 3234572375, + 1170764815, + 3523960633, + 3117677531, + 1434042557, + 442511882, + 3600875718, + 1076654713, + 1738483198, + 4213154764, + 2393238008, + 3677496056, + 1014306527, + 4251020053, + 793779912, + 2902807211, + 842905082, + 4246964064, + 1395751752, + 1040244610, + 2656851899, + 3396308128, + 445077038, + 3742853595, + 3577915638, + 679411651, + 2892444358, + 2354009459, + 1767581616, + 3150600392, + 3791627101, + 3102740896, + 284835224, + 4246832056, + 1258075500, + 768725851, + 2589189241, + 3069724005, + 3532540348, + 1274779536, + 3789419226, + 2764799539, + 1660621633, + 3471099624, + 4011903706, + 913787905, + 3497959166, + 737222580, + 2514213453, + 2928710040, + 3937242737, + 1804850592, + 3499020752, + 2949064160, + 2386320175, + 2390070455, + 2415321851, + 4061277028, + 2290661394, + 2416832540, + 1336762016, + 1754252060, + 3520065937, + 3014181293, + 791618072, + 3188594551, + 3933548030, + 2332172193, + 3852520463, + 3043980520, + 413987798, + 3465142937, + 3030929376, + 4245938359, + 2093235073, + 3534596313, + 375366246, + 2157278981, + 2479649556, + 555357303, + 3870105701, + 2008414854, + 3344188149, + 4221384143, + 3956125452, + 2067696032, + 3594591187, + 2921233993, + 2428461, + 544322398, + 577241275, + 1471733935, + 610547355, + 4027169054, + 1432588573, + 1507829418, + 2025931657, + 3646575487, + 545086370, + 48609733, + 2200306550, + 1653985193, + 298326376, + 1316178497, + 3007786442, + 2064951626, + 458293330, + 2589141269, + 3591329599, + 3164325604, + 727753846, + 2179363840, + 146436021, + 1461446943, + 4069977195, + 705550613, + 3059967265, + 3887724982, + 4281599278, + 3313849956, + 1404054877, + 2845806497, + 146425753, + 1854211946, + 1266315497, + 3048417604, + 3681880366, + 3289982499, + 290971e4, + 1235738493, + 2632868024, + 2414719590, + 3970600049, + 1771706367, + 1449415276, + 3266420449, + 422970021, + 1963543593, + 2690192192, + 3826793022, + 1062508698, + 1531092325, + 1804592342, + 2583117782, + 2714934279, + 4024971509, + 1294809318, + 4028980673, + 1289560198, + 2221992742, + 1669523910, + 35572830, + 157838143, + 1052438473, + 1016535060, + 1802137761, + 1753167236, + 1386275462, + 3080475397, + 2857371447, + 1040679964, + 2145300060, + 2390574316, + 1461121720, + 2956646967, + 4031777805, + 4028374788, + 33600511, + 2920084762, + 1018524850, + 629373528, + 3691585981, + 3515945977, + 2091462646, + 2486323059, + 586499841, + 988145025, + 935516892, + 3367335476, + 2599673255, + 2839830854, + 265290510, + 3972581182, + 2759138881, + 3795373465, + 1005194799, + 847297441, + 406762289, + 1314163512, + 1332590856, + 1866599683, + 4127851711, + 750260880, + 613907577, + 1450815602, + 3165620655, + 3734664991, + 3650291728, + 3012275730, + 3704569646, + 1427272223, + 778793252, + 1343938022, + 2676280711, + 2052605720, + 1946737175, + 3164576444, + 3914038668, + 3967478842, + 3682934266, + 1661551462, + 3294938066, + 4011595847, + 840292616, + 3712170807, + 616741398, + 312560963, + 711312465, + 1351876610, + 322626781, + 1910503582, + 271666773, + 2175563734, + 1594956187, + 70604529, + 3617834859, + 1007753275, + 1495573769, + 4069517037, + 2549218298, + 2663038764, + 504708206, + 2263041392, + 3941167025, + 2249088522, + 1514023603, + 1998579484, + 1312622330, + 694541497, + 2582060303, + 2151582166, + 1382467621, + 776784248, + 2618340202, + 3323268794, + 2497899128, + 2784771155, + 503983604, + 4076293799, + 907881277, + 423175695, + 432175456, + 1378068232, + 4145222326, + 3954048622, + 3938656102, + 3820766613, + 2793130115, + 2977904593, + 26017576, + 3274890735, + 3194772133, + 1700274565, + 1756076034, + 4006520079, + 3677328699, + 720338349, + 1533947780, + 354530856, + 688349552, + 3973924725, + 1637815568, + 332179504, + 3949051286, + 53804574, + 2852348879, + 3044236432, + 1282449977, + 3583942155, + 3416972820, + 4006381244, + 1617046695, + 2628476075, + 3002303598, + 1686838959, + 431878346, + 2686675385, + 1700445008, + 1080580658, + 1009431731, + 832498133, + 3223435511, + 2605976345, + 2271191193, + 2516031870, + 1648197032, + 4164389018, + 2548247927, + 300782431, + 375919233, + 238389289, + 3353747414, + 2531188641, + 2019080857, + 1475708069, + 455242339, + 2609103871, + 448939670, + 3451063019, + 1395535956, + 2413381860, + 1841049896, + 1491858159, + 885456874, + 4264095073, + 4001119347, + 1565136089, + 3898914787, + 1108368660, + 540939232, + 1173283510, + 2745871338, + 3681308437, + 4207628240, + 3343053890, + 4016749493, + 1699691293, + 1103962373, + 3625875870, + 2256883143, + 3830138730, + 1031889488, + 3479347698, + 1535977030, + 4236805024, + 3251091107, + 2132092099, + 1774941330, + 1199868427, + 1452454533, + 157007616, + 2904115357, + 342012276, + 595725824, + 1480756522, + 206960106, + 497939518, + 591360097, + 863170706, + 2375253569, + 3596610801, + 1814182875, + 2094937945, + 3421402208, + 1082520231, + 3463918190, + 2785509508, + 435703966, + 3908032597, + 1641649973, + 2842273706, + 3305899714, + 1510255612, + 2148256476, + 2655287854, + 3276092548, + 4258621189, + 236887753, + 3681803219, + 274041037, + 1734335097, + 3815195456, + 3317970021, + 1899903192, + 1026095262, + 4050517792, + 356393447, + 2410691914, + 3873677099, + 3682840055, + 3913112168, + 2491498743, + 4132185628, + 2489919796, + 1091903735, + 1979897079, + 3170134830, + 3567386728, + 3557303409, + 857797738, + 1136121015, + 1342202287, + 507115054, + 2535736646, + 337727348, + 3213592640, + 1301675037, + 2528481711, + 1895095763, + 1721773893, + 3216771564, + 62756741, + 2142006736, + 835421444, + 2531993523, + 1442658625, + 3659876326, + 2882144922, + 676362277, + 1392781812, + 170690266, + 3921047035, + 1759253602, + 3611846912, + 1745797284, + 664899054, + 1329594018, + 3901205900, + 3045908486, + 2062866102, + 2865634940, + 3543621612, + 3464012697, + 1080764994, + 553557557, + 3656615353, + 3996768171, + 991055499, + 499776247, + 1265440854, + 648242737, + 3940784050, + 980351604, + 3713745714, + 1749149687, + 3396870395, + 4211799374, + 3640570775, + 1161844396, + 3125318951, + 1431517754, + 545492359, + 4268468663, + 3499529547, + 1437099964, + 2702547544, + 3433638243, + 2581715763, + 2787789398, + 1060185593, + 1593081372, + 2418618748, + 4260947970, + 69676912, + 2159744348, + 86519011, + 2512459080, + 3838209314, + 1220612927, + 3339683548, + 133810670, + 1090789135, + 1078426020, + 1569222167, + 845107691, + 3583754449, + 4072456591, + 1091646820, + 628848692, + 1613405280, + 3757631651, + 526609435, + 236106946, + 48312990, + 2942717905, + 3402727701, + 1797494240, + 859738849, + 992217954, + 4005476642, + 2243076622, + 3870952857, + 3732016268, + 765654824, + 3490871365, + 2511836413, + 1685915746, + 3888969200, + 1414112111, + 2273134842, + 3281911079, + 4080962846, + 172450625, + 2569994100, + 980381355, + 4109958455, + 2819808352, + 2716589560, + 2568741196, + 3681446669, + 3329971472, + 1835478071, + 660984891, + 3704678404, + 4045999559, + 3422617507, + 3040415634, + 1762651403, + 1719377915, + 3470491036, + 2693910283, + 3642056355, + 3138596744, + 1364962596, + 2073328063, + 1983633131, + 926494387, + 3423689081, + 2150032023, + 4096667949, + 1749200295, + 3328846651, + 309677260, + 2016342300, + 1779581495, + 3079819751, + 111262694, + 1274766160, + 443224088, + 298511866, + 1025883608, + 3806446537, + 1145181785, + 168956806, + 3641502830, + 3584813610, + 1689216846, + 3666258015, + 3200248200, + 1692713982, + 2646376535, + 4042768518, + 1618508792, + 1610833997, + 3523052358, + 4130873264, + 2001055236, + 3610705100, + 2202168115, + 4028541809, + 2961195399, + 1006657119, + 2006996926, + 3186142756, + 1430667929, + 3210227297, + 1314452623, + 4074634658, + 4101304120, + 2273951170, + 1399257539, + 3367210612, + 3027628629, + 1190975929, + 2062231137, + 2333990788, + 2221543033, + 2438960610, + 1181637006, + 548689776, + 2362791313, + 3372408396, + 3104550113, + 3145860560, + 296247880, + 1970579870, + 3078560182, + 3769228297, + 1714227617, + 3291629107, + 3898220290, + 166772364, + 1251581989, + 493813264, + 448347421, + 195405023, + 2709975567, + 677966185, + 3703036547, + 1463355134, + 2715995803, + 1338867538, + 1343315457, + 2802222074, + 2684532164, + 233230375, + 2599980071, + 2000651841, + 3277868038, + 1638401717, + 4028070440, + 3237316320, + 6314154, + 819756386, + 300326615, + 590932579, + 1405279636, + 3267499572, + 3150704214, + 2428286686, + 3959192993, + 3461946742, + 1862657033, + 1266418056, + 963775037, + 2089974820, + 2263052895, + 1917689273, + 448879540, + 3550394620, + 3981727096, + 150775221, + 3627908307, + 1303187396, + 508620638, + 2975983352, + 2726630617, + 1817252668, + 1876281319, + 1457606340, + 908771278, + 3720792119, + 3617206836, + 2455994898, + 1729034894, + 1080033504, + 976866871, + 3556439503, + 2881648439, + 1522871579, + 1555064734, + 1336096578, + 3548522304, + 2579274686, + 3574697629, + 3205460757, + 3593280638, + 3338716283, + 3079412587, + 564236357, + 2993598910, + 1781952180, + 1464380207, + 3163844217, + 3332601554, + 1699332808, + 1393555694, + 1183702653, + 3581086237, + 1288719814, + 691649499, + 2847557200, + 2895455976, + 3193889540, + 2717570544, + 1781354906, + 1676643554, + 2592534050, + 3230253752, + 1126444790, + 2770207658, + 2633158820, + 2210423226, + 2615765581, + 2414155088, + 3127139286, + 673620729, + 2805611233, + 1269405062, + 4015350505, + 3341807571, + 4149409754, + 1057255273, + 2012875353, + 2162469141, + 2276492801, + 2601117357, + 993977747, + 3918593370, + 2654263191, + 753973209, + 36408145, + 2530585658, + 25011837, + 3520020182, + 2088578344, + 530523599, + 2918365339, + 1524020338, + 1518925132, + 3760827505, + 3759777254, + 1202760957, + 3985898139, + 3906192525, + 674977740, + 4174734889, + 2031300136, + 2019492241, + 3983892565, + 4153806404, + 3822280332, + 352677332, + 2297720250, + 60907813, + 90501309, + 3286998549, + 1016092578, + 2535922412, + 2839152426, + 457141659, + 509813237, + 4120667899, + 652014361, + 1966332200, + 2975202805, + 55981186, + 2327461051, + 676427537, + 3255491064, + 2882294119, + 3433927263, + 1307055953, + 942726286, + 933058658, + 2468411793, + 3933900994, + 4215176142, + 1361170020, + 2001714738, + 2830558078, + 3274259782, + 1222529897, + 1679025792, + 2729314320, + 3714953764, + 1770335741, + 151462246, + 3013232138, + 1682292957, + 1483529935, + 471910574, + 1539241949, + 458788160, + 3436315007, + 1807016891, + 3718408830, + 978976581, + 1043663428, + 3165965781, + 1927990952, + 4200891579, + 2372276910, + 3208408903, + 3533431907, + 1412390302, + 2931980059, + 4132332400, + 1947078029, + 3881505623, + 4168226417, + 2941484381, + 1077988104, + 1320477388, + 886195818, + 18198404, + 3786409e3, + 2509781533, + 112762804, + 3463356488, + 1866414978, + 891333506, + 18488651, + 661792760, + 1628790961, + 3885187036, + 3141171499, + 876946877, + 2693282273, + 1372485963, + 791857591, + 2686433993, + 3759982718, + 3167212022, + 3472953795, + 2716379847, + 445679433, + 3561995674, + 3504004811, + 3574258232, + 54117162, + 3331405415, + 2381918588, + 3769707343, + 4154350007, + 1140177722, + 4074052095, + 668550556, + 3214352940, + 367459370, + 261225585, + 2610173221, + 4209349473, + 3468074219, + 3265815641, + 314222801, + 3066103646, + 3808782860, + 282218597, + 3406013506, + 3773591054, + 379116347, + 1285071038, + 846784868, + 2669647154, + 3771962079, + 3550491691, + 2305946142, + 453669953, + 1268987020, + 3317592352, + 3279303384, + 3744833421, + 2610507566, + 3859509063, + 266596637, + 3847019092, + 517658769, + 3462560207, + 3443424879, + 370717030, + 4247526661, + 2224018117, + 4143653529, + 4112773975, + 2788324899, + 2477274417, + 1456262402, + 2901442914, + 1517677493, + 1846949527, + 2295493580, + 3734397586, + 2176403920, + 1280348187, + 1908823572, + 3871786941, + 846861322, + 1172426758, + 3287448474, + 3383383037, + 1655181056, + 3139813346, + 901632758, + 1897031941, + 2986607138, + 3066810236, + 3447102507, + 1393639104, + 373351379, + 950779232, + 625454576, + 3124240540, + 4148612726, + 2007998917, + 544563296, + 2244738638, + 2330496472, + 2058025392, + 1291430526, + 424198748, + 50039436, + 29584100, + 3605783033, + 2429876329, + 2791104160, + 1057563949, + 3255363231, + 3075367218, + 3463963227, + 1469046755, + 985887462 +]; +var C_ORIG = [ + 1332899944, + 1700884034, + 1701343084, + 1684370003, + 1668446532, + 1869963892 +]; +function _encipher(lr, off, P, S) { + var n, l = lr[off], r = lr[off + 1]; + l ^= P[0]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[1]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[2]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[3]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[4]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[5]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[6]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[7]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[8]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[9]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[10]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[11]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[12]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[13]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[14]; + n = S[l >>> 24]; + n += S[256 | l >> 16 & 255]; + n ^= S[512 | l >> 8 & 255]; + n += S[768 | l & 255]; + r ^= n ^ P[15]; + n = S[r >>> 24]; + n += S[256 | r >> 16 & 255]; + n ^= S[512 | r >> 8 & 255]; + n += S[768 | r & 255]; + l ^= n ^ P[16]; + lr[off] = r ^ P[BLOWFISH_NUM_ROUNDS + 1]; + lr[off + 1] = l; + return lr; +} +__name(_encipher, "_encipher"); +function _streamtoword(data, offp) { + for (var i = 0, word = 0; i < 4; ++i) + word = word << 8 | data[offp] & 255, offp = (offp + 1) % data.length; + return { key: word, offp }; +} +__name(_streamtoword, "_streamtoword"); +function _key(key, P, S) { + var offset = 0, lr = [0, 0], plen = P.length, slen = S.length, sw; + for (var i = 0; i < plen; i++) + sw = _streamtoword(key, offset), offset = sw.offp, P[i] = P[i] ^ sw.key; + for (i = 0; i < plen; i += 2) + lr = _encipher(lr, 0, P, S), P[i] = lr[0], P[i + 1] = lr[1]; + for (i = 0; i < slen; i += 2) + lr = _encipher(lr, 0, P, S), S[i] = lr[0], S[i + 1] = lr[1]; +} +__name(_key, "_key"); +function _ekskey(data, key, P, S) { + var offp = 0, lr = [0, 0], plen = P.length, slen = S.length, sw; + for (var i = 0; i < plen; i++) + sw = _streamtoword(key, offp), offp = sw.offp, P[i] = P[i] ^ sw.key; + offp = 0; + for (i = 0; i < plen; i += 2) + sw = _streamtoword(data, offp), offp = sw.offp, lr[0] ^= sw.key, sw = _streamtoword(data, offp), offp = sw.offp, lr[1] ^= sw.key, lr = _encipher(lr, 0, P, S), P[i] = lr[0], P[i + 1] = lr[1]; + for (i = 0; i < slen; i += 2) + sw = _streamtoword(data, offp), offp = sw.offp, lr[0] ^= sw.key, sw = _streamtoword(data, offp), offp = sw.offp, lr[1] ^= sw.key, lr = _encipher(lr, 0, P, S), S[i] = lr[0], S[i + 1] = lr[1]; +} +__name(_ekskey, "_ekskey"); +function _crypt(b, salt, rounds, callback, progressCallback) { + var cdata = C_ORIG.slice(), clen = cdata.length, err; + if (rounds < 4 || rounds > 31) { + err = Error("Illegal number of rounds (4-31): " + rounds); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + if (salt.length !== BCRYPT_SALT_LEN) { + err = Error( + "Illegal salt length: " + salt.length + " != " + BCRYPT_SALT_LEN + ); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + rounds = 1 << rounds >>> 0; + var P, S, i = 0, j; + if (typeof Int32Array === "function") { + P = new Int32Array(P_ORIG); + S = new Int32Array(S_ORIG); + } else { + P = P_ORIG.slice(); + S = S_ORIG.slice(); + } + _ekskey(salt, b, P, S); + function next() { + if (progressCallback) progressCallback(i / rounds); + if (i < rounds) { + var start = Date.now(); + for (; i < rounds; ) { + i = i + 1; + _key(b, P, S); + _key(salt, P, S); + if (Date.now() - start > MAX_EXECUTION_TIME) break; + } + } else { + for (i = 0; i < 64; i++) + for (j = 0; j < clen >> 1; j++) _encipher(cdata, j << 1, P, S); + var ret = []; + for (i = 0; i < clen; i++) + ret.push((cdata[i] >> 24 & 255) >>> 0), ret.push((cdata[i] >> 16 & 255) >>> 0), ret.push((cdata[i] >> 8 & 255) >>> 0), ret.push((cdata[i] & 255) >>> 0); + if (callback) { + callback(null, ret); + return; + } else return ret; + } + if (callback) nextTick(next); + } + __name(next, "next"); + if (typeof callback !== "undefined") { + next(); + } else { + var res; + while (true) if (typeof (res = next()) !== "undefined") return res || []; + } +} +__name(_crypt, "_crypt"); +function _hash(password, salt, callback, progressCallback) { + var err; + if (typeof password !== "string" || typeof salt !== "string") { + err = Error("Invalid string / salt: Not a string"); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + var minor, offset; + if (salt.charAt(0) !== "$" || salt.charAt(1) !== "2") { + err = Error("Invalid salt version: " + salt.substring(0, 2)); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + if (salt.charAt(2) === "$") minor = String.fromCharCode(0), offset = 3; + else { + minor = salt.charAt(2); + if (minor !== "a" && minor !== "b" && minor !== "y" || salt.charAt(3) !== "$") { + err = Error("Invalid salt revision: " + salt.substring(2, 4)); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + offset = 4; + } + if (salt.charAt(offset + 2) > "$") { + err = Error("Missing salt rounds"); + if (callback) { + nextTick(callback.bind(this, err)); + return; + } else throw err; + } + var r1 = parseInt(salt.substring(offset, offset + 1), 10) * 10, r2 = parseInt(salt.substring(offset + 1, offset + 2), 10), rounds = r1 + r2, real_salt = salt.substring(offset + 3, offset + 25); + password += minor >= "a" ? "\0" : ""; + var passwordb = utf8Array(password), saltb = base64_decode(real_salt, BCRYPT_SALT_LEN); + function finish(bytes) { + var res = []; + res.push("$2"); + if (minor >= "a") res.push(minor); + res.push("$"); + if (rounds < 10) res.push("0"); + res.push(rounds.toString()); + res.push("$"); + res.push(base64_encode(saltb, saltb.length)); + res.push(base64_encode(bytes, C_ORIG.length * 4 - 1)); + return res.join(""); + } + __name(finish, "finish"); + if (typeof callback == "undefined") + return finish(_crypt(passwordb, saltb, rounds)); + else { + _crypt( + passwordb, + saltb, + rounds, + function(err2, bytes) { + if (err2) callback(err2, null); + else callback(null, finish(bytes)); + }, + progressCallback + ); + } +} +__name(_hash, "_hash"); + +// prisma/seed.ts +var prisma = new import_client.PrismaClient(); +async function main() { + const existingAdmins = await prisma.adminUser.count(); + if (existingAdmins > 0 && process.env.RUN_SEED !== "force") { + console.log("Seed skipped; admin users already exist"); + return; + } + console.log("Seeding fabric_trade database..."); + await prisma.productFavorite.deleteMany(); + await prisma.reminder.deleteMany(); + await prisma.meetingInteraction.deleteMany(); + await prisma.orderStatusHistory.deleteMany(); + await prisma.cashPaymentReceipt.deleteMany(); + await prisma.check.deleteMany(); + await prisma.shipment.deleteMany(); + await prisma.orderItem.deleteMany(); + await prisma.order.deleteMany(); + await prisma.cartItem.deleteMany(); + await prisma.cart.deleteMany(); + await prisma.otpChallenge.deleteMany(); + await prisma.customerNotification.deleteMany(); + await prisma.product.deleteMany(); + await prisma.catalog.deleteMany(); + await prisma.bankAccount.deleteMany(); + await prisma.customer.deleteMany(); + await prisma.company.deleteMany(); + await prisma.adminUser.deleteMany(); + await prisma.adminNotification.deleteMany(); + await prisma.internalMessage.deleteMany(); + await prisma.systemSettings.deleteMany(); + const passwordHash = await hash("123456", 10); + await prisma.adminUser.create({ + data: { + id: "usr-1", + fullName: "\u0645\u062F\u06CC\u0631 \u0633\u06CC\u0633\u062A\u0645", + phone: "09128081392", + email: "admin@parche.ir", + passwordHash, + role: import_client.AdminRole.admin, + isActive: true + } + }); + await prisma.company.createMany({ + data: [ + { + id: "company-par", + name: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + slug: "par", + description: "\u062A\u0648\u0644\u06CC\u062F\u06A9\u0646\u0646\u062F\u0647 \u067E\u0627\u0631\u0686\u0647\u200C\u0647\u0627\u06CC \u0628\u0627\u06A9\u06CC\u0641\u06CC\u062A", + isActive: true, + displayOrder: 1, + maxMeteragePerInvoice: null, + cashInvoiceValidityHours: 8, + cashInvoiceValidUntilHour: 17 + }, + { + id: "company-fam-baft", + name: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A", + slug: "fam-baft", + description: "\u0639\u0631\u0636\u0647 \u067E\u0627\u0631\u0686\u0647\u200C\u0647\u0627\u06CC \u062A\u062E\u0635\u0635\u06CC", + isActive: true, + displayOrder: 2, + maxMeteragePerInvoice: null, + cashInvoiceValidityHours: 8, + cashInvoiceValidUntilHour: 17 + } + ] + }); + await prisma.bankAccount.createMany({ + data: [ + { + id: "ba-par-1", + companyId: "company-par", + bankName: "\u0628\u0627\u0646\u06A9 \u0645\u0644\u06CC", + accountHolder: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + accountNumber: "0123456789", + cardNumber: "6037-9912-3456-7890", + iban: "IR120170000000012345678901", + isActive: true, + displayOrder: 1 + }, + { + id: "ba-par-2", + companyId: "company-par", + bankName: "\u0628\u0627\u0646\u06A9 \u0635\u0627\u062F\u0631\u0627\u062A", + accountHolder: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + accountNumber: "9876543210", + cardNumber: "6037-6912-3456-7891", + iban: "IR620190000000098765432101", + isActive: true, + displayOrder: 2 + }, + { + id: "ba-fam-1", + companyId: "company-fam-baft", + bankName: "\u0628\u0627\u0646\u06A9 \u0645\u0644\u062A", + accountHolder: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A", + accountNumber: "1122334455", + cardNumber: "6104-3378-9012-3456", + iban: "IR450120000000011223344556", + isActive: true, + displayOrder: 1 + } + ] + }); + await prisma.catalog.createMany({ + data: [ + { id: "cat-377", companyId: "company-par", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F3\u06F7\u06F7", code: "377", displayOrder: 1, isActive: true }, + { id: "cat-378", companyId: "company-par", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F3\u06F7\u06F8", code: "378", displayOrder: 2, isActive: true }, + { id: "cat-379", companyId: "company-par", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F3\u06F7\u06F9", code: "379", displayOrder: 3, isActive: true }, + { id: "cat-380", companyId: "company-par", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F3\u06F8\u06F0", code: "380", displayOrder: 4, isActive: true }, + { id: "cat-381", companyId: "company-par", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F3\u06F8\u06F1", code: "381", displayOrder: 5, isActive: true }, + { id: "cat-fam-401", companyId: "company-fam-baft", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F4\u06F0\u06F1", code: "401", displayOrder: 1, isActive: true }, + { id: "cat-fam-402", companyId: "company-fam-baft", name: "\u06A9\u0627\u0644\u06CC\u062A\u0647 \u06F4\u06F0\u06F2", code: "402", displayOrder: 2, isActive: true } + ] + }); + await prisma.product.createMany({ + data: [ + { + id: "prod-377-blue", + companyId: "company-par", + catalogId: "cat-377", + name: "\u0641\u0627\u0633\u062A\u0648\u0646\u06CC \u0627\u06CC\u062A\u0627\u0644\u06CC\u0627\u06CC\u06CC", + code: "377-BL", + color: "\u0622\u0628\u06CC", + minMeterage: 30, + orderMultiplier: 10, + basePrice: 185e3, + stock: 1e4, + isActive: true, + usageCategory: import_client.ProductUsageCategory.suit, + season: import_client.ProductSeason.winter, + widthCm: 150, + composition: "\u06F8\u06F0\u066A \u067E\u0634\u0645\u060C \u06F2\u06F0\u066A \u067E\u0644\u06CC\u200C\u0627\u0633\u062A\u0631", + weightGrams: 280, + weaveType: "\u062A\u0648\u06CC\u0644", + colorsJson: ["#1e3a8a", "#111827", "#6b7280", "#92400e"], + tagsJson: ["\u06A9\u062A\u200C\u0634\u0644\u0648\u0627\u0631\u06CC", "\u0632\u0645\u0633\u062A\u0627\u0646\u0647", "\u0631\u0633\u0645\u06CC"], + subtitle: "\u0645\u0646\u0627\u0633\u0628 \u06A9\u062A \u0648 \u0634\u0644\u0648\u0627\u0631 \u0631\u0633\u0645\u06CC", + rollMeters: 50, + isNew: true + }, + { + id: "prod-377-black", + companyId: "company-par", + catalogId: "cat-377", + name: "\u067E\u0627\u0631\u0686\u0647 \u0645\u0634\u06A9\u06CC \u0631\u0633\u0645\u06CC", + code: "377-BK", + color: "\u0645\u0634\u06A9\u06CC", + minMeterage: 30, + orderMultiplier: 10, + basePrice: 192e3, + stock: 8e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.trousers, + season: import_client.ProductSeason.all_season, + widthCm: 150, + composition: "\u06F7\u06F0\u066A \u067E\u0634\u0645\u060C \u06F3\u06F0\u066A \u067E\u0644\u06CC\u200C\u0627\u0633\u062A\u0631", + weightGrams: 260, + weaveType: "\u0633\u0627\u062F\u0647", + colorsJson: ["#111827", "#374151"], + tagsJson: ["\u0634\u0644\u0648\u0627\u0631\u06CC", "\u0686\u0647\u0627\u0631\u0641\u0635\u0644"], + subtitle: "\u0634\u0644\u0648\u0627\u0631 \u0631\u0633\u0645\u06CC \u0631\u0648\u0632\u0627\u0646\u0647", + rollMeters: 50, + isNew: true + }, + { + id: "prod-378-blue", + companyId: "company-par", + catalogId: "cat-378", + name: "\u067E\u06CC\u0631\u0627\u0647\u0646\u06CC \u0646\u062E\u06CC \u0622\u0628\u06CC", + code: "378-BL", + color: "\u0622\u0628\u06CC", + minMeterage: 50, + orderMultiplier: 10, + basePrice: 2e5, + stock: 5e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.shirt, + season: import_client.ProductSeason.summer, + widthCm: 145, + composition: "\u06F1\u06F0\u06F0\u066A \u067E\u0646\u0628\u0647", + weightGrams: 120, + weaveType: "\u067E\u0627\u067E\u0644\u06CC\u0646", + colorsJson: ["#3b82f6", "#93c5fd", "#ffffff"], + tagsJson: ["\u067E\u06CC\u0631\u0627\u0647\u0646\u06CC", "\u062A\u0627\u0628\u0633\u062A\u0627\u0646\u0647"], + subtitle: "\u062E\u0646\u06A9 \u0648 \u0633\u0628\u06A9", + rollMeters: 40, + isNew: true + }, + { + id: "prod-378-black", + companyId: "company-par", + catalogId: "cat-378", + name: "\u067E\u06CC\u0631\u0627\u0647\u0646\u06CC \u0645\u0634\u06A9\u06CC", + code: "378-BK", + color: "\u0645\u0634\u06A9\u06CC", + minMeterage: 50, + orderMultiplier: 10, + basePrice: 205e3, + stock: 5e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.shirt, + season: import_client.ProductSeason.all_season, + widthCm: 145, + composition: "\u06F9\u06F5\u066A \u067E\u0646\u0628\u0647\u060C \u06F5\u066A \u0627\u0644\u0627\u0633\u062A\u0627\u0646", + weightGrams: 130, + colorsJson: ["#111827", "#4b5563"], + tagsJson: ["\u067E\u06CC\u0631\u0627\u0647\u0646\u06CC"], + subtitle: "\u067E\u06CC\u0631\u0627\u0647\u0646 \u0627\u062F\u0627\u0631\u06CC", + rollMeters: 40, + isNew: false + }, + { + id: "prod-378-blue-white", + companyId: "company-par", + catalogId: "cat-378", + name: "\u0622\u0628\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + code: "378-BLW", + color: "\u0622\u0628\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + minMeterage: 50, + orderMultiplier: 10, + basePrice: 21e4, + stock: 3e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.suit, + season: import_client.ProductSeason.summer, + widthCm: 150, + composition: "\u06F5\u06F5\u066A \u067E\u0634\u0645\u060C \u06F4\u06F5\u066A \u067E\u0644\u06CC\u200C\u0627\u0633\u062A\u0631", + weightGrams: 220, + colorsJson: ["#60a5fa", "#f8fafc"], + tagsJson: ["\u06A9\u062A\u200C\u0634\u0644\u0648\u0627\u0631\u06CC", "\u062A\u0627\u0628\u0633\u062A\u0627\u0646\u0647"], + subtitle: "\u0633\u0628\u06A9 \u062A\u0627\u0628\u0633\u062A\u0627\u0646\u0647", + rollMeters: 50, + isNew: false + }, + { + id: "prod-378-black-white", + companyId: "company-par", + catalogId: "cat-378", + name: "\u0645\u0634\u06A9\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + code: "378-BKW", + color: "\u0645\u0634\u06A9\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + minMeterage: 50, + orderMultiplier: 10, + basePrice: 215e3, + stock: 3e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.trousers, + season: import_client.ProductSeason.winter, + widthCm: 150, + composition: "\u06F6\u06F0\u066A \u067E\u0634\u0645\u060C \u06F4\u06F0\u066A \u067E\u0644\u06CC\u200C\u0627\u0633\u062A\u0631", + weightGrams: 300, + colorsJson: ["#111827", "#f8fafc"], + tagsJson: ["\u0634\u0644\u0648\u0627\u0631\u06CC", "\u0632\u0645\u0633\u062A\u0627\u0646\u0647"], + subtitle: "\u06AF\u0631\u0645 \u0632\u0645\u0633\u062A\u0627\u0646\u0647", + rollMeters: 50, + isNew: false + }, + { + id: "prod-fam-401-1", + companyId: "company-fam-baft", + catalogId: "cat-fam-401", + name: "\u067E\u0627\u0631\u0686\u0647 \u0645\u062E\u0645\u0644", + code: "401-MV", + color: "\u0633\u0631\u0645\u0647\u200C\u0627\u06CC", + minMeterage: 40, + orderMultiplier: 10, + basePrice: 25e4, + stock: 6e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.suit, + season: import_client.ProductSeason.winter, + widthCm: 140, + composition: "\u0645\u062E\u0645\u0644 \u067E\u0644\u06CC\u200C\u0627\u0633\u062A\u0631", + weightGrams: 320, + colorsJson: ["#1e3a5f", "#7c2d12", "#365314"], + tagsJson: ["\u06A9\u062A\u200C\u0634\u0644\u0648\u0627\u0631\u06CC", "\u0632\u0645\u0633\u062A\u0627\u0646\u0647"], + subtitle: "\u0645\u062E\u0645\u0644 \u0644\u0648\u06A9\u0633", + rollMeters: 45, + isNew: true + }, + { + id: "prod-fam-401-2", + companyId: "company-fam-baft", + catalogId: "cat-fam-401", + name: "\u067E\u0627\u0631\u0686\u0647 \u06A9\u062C\u0631\u0627\u0647", + code: "401-KJ", + color: "\u06A9\u0631\u0645", + minMeterage: 40, + orderMultiplier: 10, + basePrice: null, + stock: 4e3, + isActive: true, + usageCategory: import_client.ProductUsageCategory.trousers, + season: import_client.ProductSeason.all_season, + widthCm: 150, + composition: "\u06A9\u062C\u0631\u0627\u0647 \u067E\u0646\u0628\u0647\u200C\u0627\u06CC", + weightGrams: 240, + colorsJson: ["#d6c3a8", "#8b7355"], + tagsJson: ["\u0634\u0644\u0648\u0627\u0631\u06CC", "\u0686\u0647\u0627\u0631\u0641\u0635\u0644"], + subtitle: "\u0631\u0648\u0632\u0645\u0631\u0647", + rollMeters: 50, + isNew: false + } + ] + }); + await prisma.customer.create({ + data: { + id: "agent-1", + firstName: "\u0639\u0644\u06CC", + lastName: "\u0631\u0636\u0627\u06CC\u06CC", + phone: "09121112233", + nationalId: "0011111111", + customerType: import_client.CustomerType.wholesale, + appRole: import_client.AppUserRole.agent, + agentCode: "W-1247", + levelLabel: "\u0637\u0644\u0627\u06CC\u06CC", + nextLevelLabel: "VIP", + pointsToNext: 55e7, + levelProgress: 72, + companyId: "company-par", + isActive: true, + avatarLetter: "\u0639", + avatarColor: "#0B3D33", + createdAt: /* @__PURE__ */ new Date("2024-01-10T10:00:00") + } + }); + await prisma.customer.createMany({ + data: [ + { + id: "cust-1", + firstName: "\u0633\u0627\u0631\u0627", + lastName: "\u0645\u062D\u0645\u062F\u06CC", + phone: "09121234567", + nationalId: "0012345678", + customerType: import_client.CustomerType.wholesale, + companyId: "company-par", + businessName: "\u0628\u0648\u062A\u06CC\u06A9 \u0631\u0632", + assignedAgentId: "agent-1", + levelLabel: "\u0646\u0642\u0631\u0647\u200C\u0627\u06CC", + avatarLetter: "\u067E", + avatarColor: "#f9a8d4", + isActive: true, + createdAt: /* @__PURE__ */ new Date("2024-03-12T10:00:00") + }, + { + id: "cust-2", + firstName: "\u0646\u0631\u06AF\u0633", + lastName: "\u0627\u062D\u0645\u062F\u06CC", + phone: "09135551234", + nationalId: "1030567890", + customerType: import_client.CustomerType.wholesale, + companyId: "company-fam-baft", + businessName: "\u0645\u0632\u0648\u0646 \u0627\u0644\u0648\u0627\u0646", + assignedAgentId: "agent-1", + levelLabel: "\u0628\u0631\u0646\u0632\u06CC", + avatarLetter: "\u0645", + avatarColor: "#c4b5fd", + isActive: true, + createdAt: /* @__PURE__ */ new Date("2024-05-20T14:30:00") + }, + { + id: "cust-3", + firstName: "\u0641\u0631\u0648\u0634\u06AF\u0627\u0647", + lastName: "\u067E\u0627\u0631\u0686\u0647 \u0645\u0647\u0631", + phone: "09128877665", + nationalId: "0012345679", + customerType: import_client.CustomerType.retail, + companyId: "company-par", + businessName: "\u067E\u0627\u0631\u0686\u0647 \u0645\u0647\u0631", + assignedAgentId: "agent-1", + levelLabel: "\u0628\u0631\u0646\u0632\u06CC", + avatarLetter: "\u0645", + avatarColor: "#93c5fd", + isActive: true, + createdAt: /* @__PURE__ */ new Date("2024-07-08T09:15:00") + }, + { + id: "cust-4", + firstName: "\u067E\u0648\u0634\u0627\u06A9", + lastName: "\u0633\u067E\u0647\u0631", + phone: "09369876543", + nationalId: "1050987654", + customerType: import_client.CustomerType.wholesale, + companyId: "company-par", + businessName: "\u067E\u0648\u0634\u0627\u06A9 \u0633\u067E\u0647\u0631", + assignedAgentId: "agent-1", + levelLabel: "\u0628\u0631\u0646\u0632\u06CC", + avatarLetter: "\u0633", + avatarColor: "#fcd34d", + isActive: false, + createdAt: /* @__PURE__ */ new Date("2024-08-01T11:00:00") + }, + { + id: "cust-5", + firstName: "\u0628\u0627\u0641\u062A", + lastName: "\u0622\u0633\u0627\u0646", + phone: "09121110000", + nationalId: "0065432109", + customerType: import_client.CustomerType.wholesale, + companyId: "company-fam-baft", + businessName: "\u0628\u0627\u0641\u062A \u0622\u0633\u0627\u0646", + assignedAgentId: "agent-1", + levelLabel: "\u0646\u0642\u0631\u0647\u200C\u0627\u06CC", + avatarLetter: "\u0628", + avatarColor: "#6ee7b7", + isActive: true, + createdAt: /* @__PURE__ */ new Date("2024-06-01T10:00:00") + }, + { + id: "cust-6", + firstName: "\u0645\u06CC\u0646\u0627", + lastName: "\u06A9\u0631\u06CC\u0645\u06CC", + phone: "09129990001", + nationalId: "0077007700", + customerType: import_client.CustomerType.retail, + companyId: "company-par", + businessName: "\u0645\u0632\u0648\u0646 \u0645\u06CC\u0646\u0627", + assignedAgentId: "agent-1", + levelLabel: "\u0628\u0631\u0646\u0632\u06CC", + avatarLetter: "\u0646", + avatarColor: "#fda4af", + isActive: true, + createdAt: /* @__PURE__ */ new Date("2024-09-01T10:00:00") + } + ] + }); + const order1 = await prisma.order.create({ + data: { + id: "ord-1", + orderNumber: "ORD-1403-1256", + userId: "cust-1", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.check, + checkMode: import_client.CheckRegistrationMode.full, + status: import_client.OrderStatus.awaiting_review, + totalMeterage: 4250, + totalAmount: 245e7, + createdAt: /* @__PURE__ */ new Date("2024-10-25T10:30:00"), + items: { + create: [ + { + id: "oi-1", + productId: "prod-377-blue", + catalogCode: "377", + productName: "\u067E\u0627\u0631\u0686\u0647 \u0622\u0628\u06CC", + productCode: "377-BL", + color: "\u0622\u0628\u06CC", + requestedMeterage: 2e3, + confirmedMeterage: 2e3 + }, + { + id: "oi-2", + productId: "prod-377-black", + catalogCode: "377", + productName: "\u067E\u0627\u0631\u0686\u0647 \u0645\u0634\u06A9\u06CC", + productCode: "377-BK", + color: "\u0645\u0634\u06A9\u06CC", + requestedMeterage: 1500, + confirmedMeterage: 1e3 + }, + { + id: "oi-3", + productId: "prod-378-blue-white", + catalogCode: "378", + productName: "\u0622\u0628\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + productCode: "378-BLW", + color: "\u0622\u0628\u06CC \u067E\u0634\u062A \u0633\u0641\u06CC\u062F", + requestedMeterage: 750, + confirmedMeterage: 750 + } + ] + }, + checks: { + create: [ + { + id: "chk-1", + row: 1, + amount: 1e9, + bankName: "\u0645\u0644\u062A", + sayadId: "1234567890123456", + dueDate: /* @__PURE__ */ new Date("2024-10-21"), + status: import_client.CheckStatus.pending_review, + mode: import_client.CheckRegistrationMode.full + }, + { + id: "chk-2", + row: 2, + amount: 8e8, + bankName: "\u0645\u0644\u06CC", + sayadId: "2345678901234567", + dueDate: /* @__PURE__ */ new Date("2024-10-26"), + status: import_client.CheckStatus.pending_review, + mode: import_client.CheckRegistrationMode.full + }, + { + id: "chk-3", + row: 3, + amount: 65e7, + bankName: "\u0645\u0644\u062A", + sayadId: "3456789012345678", + dueDate: /* @__PURE__ */ new Date("2024-10-31"), + status: import_client.CheckStatus.pending_review, + mode: import_client.CheckRegistrationMode.full + } + ] + }, + statusHistory: { + create: [ + { fromStatus: null, toStatus: import_client.OrderStatus.submitted, changedBy: "customer", changedAt: /* @__PURE__ */ new Date("2024-10-25T10:30:00") }, + { fromStatus: import_client.OrderStatus.submitted, toStatus: import_client.OrderStatus.awaiting_review, changedBy: "system", changedAt: /* @__PURE__ */ new Date("2024-10-25T10:30:01") } + ] + } + } + }); + await prisma.order.create({ + data: { + id: "ord-2", + orderNumber: "ORD-1403-1255", + userId: "cust-2", + companyId: "company-fam-baft", + companyName: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A", + settlementType: import_client.SettlementType.check, + checkMode: import_client.CheckRegistrationMode.brief, + status: import_client.OrderStatus.awaiting_check_review, + totalMeterage: 3200, + totalAmount: 185e7, + createdAt: /* @__PURE__ */ new Date("2024-10-24T14:15:00"), + items: { + create: [ + { + productId: "prod-fam-401-1", + catalogCode: "401", + productName: "\u067E\u0627\u0631\u0686\u0647 \u0645\u062E\u0645\u0644", + productCode: "401-MV", + color: "\u0633\u0631\u0645\u0647\u200C\u0627\u06CC", + requestedMeterage: 3200, + confirmedMeterage: 3200, + unitPrice: 25e4, + lineTotal: 8e8 + } + ] + }, + cashReceipt: { + create: { + id: "cp-1", + amount: 185e7, + paidAmount: 185e7, + transferDate: /* @__PURE__ */ new Date("2024-10-25T08:30:00"), + trackingNumber: "9876543210", + expiresAt: /* @__PURE__ */ new Date("2024-10-25T17:00:00"), + status: import_client.CashPaymentStatus.pending_review, + submittedAt: /* @__PURE__ */ new Date("2024-10-25T08:30:00") + } + }, + statusHistory: { + create: [ + { fromStatus: null, toStatus: import_client.OrderStatus.submitted, changedBy: "customer" }, + { fromStatus: import_client.OrderStatus.submitted, toStatus: import_client.OrderStatus.awaiting_check_review, changedBy: "admin" } + ] + } + } + }); + await prisma.order.create({ + data: { + id: "ord-3", + orderNumber: "ORD-1403-1254", + userId: "cust-1", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.cash, + status: import_client.OrderStatus.final_approved, + totalMeterage: 1800, + totalAmount: 98e7, + finalAmount: 98e7, + createdAt: /* @__PURE__ */ new Date("2024-10-23T09:00:00"), + cashReceipt: { + create: { + id: "cp-2", + amount: 98e7, + paidAmount: 98e7, + transferDate: /* @__PURE__ */ new Date("2024-10-24T15:20:00"), + trackingNumber: "1234567890", + destinationAccountId: "ba-par-1", + expiresAt: /* @__PURE__ */ new Date("2024-10-24T17:00:00"), + status: import_client.CashPaymentStatus.approved, + submittedAt: /* @__PURE__ */ new Date("2024-10-24T15:20:00") + } + } + } + }); + await prisma.order.create({ + data: { + id: "ord-4", + orderNumber: "ORD-1403-1253", + userId: "cust-5", + companyId: "company-fam-baft", + companyName: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A", + settlementType: import_client.SettlementType.check, + status: import_client.OrderStatus.check_needs_fix, + totalMeterage: 5100, + totalAmount: 32e8, + createdAt: /* @__PURE__ */ new Date("2024-10-22T16:45:00") + } + }); + await prisma.order.create({ + data: { + id: "ord-5", + orderNumber: "ORD-1403-1252", + userId: "cust-1", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.cash, + status: import_client.OrderStatus.delivered, + totalMeterage: 1200, + totalAmount: 75e7, + finalAmount: 75e7, + createdAt: /* @__PURE__ */ new Date("2024-10-21T11:20:00"), + shipment: { + create: { + id: "shp-delivered-5", + carrier: "\u0628\u0627\u0631\u0628\u0631\u06CC \u062A\u0647\u0631\u0627\u0646", + trackingNumber: "BR-1403-88001", + meterage: 1200, + status: import_client.ShipmentStatus.delivered, + shippedAt: /* @__PURE__ */ new Date("2024-10-19T09:00:00"), + deliveredAt: /* @__PURE__ */ new Date("2024-10-21T11:00:00") + } + }, + cashReceipt: { + create: { + id: "cp-3", + amount: 75e7, + paidAmount: 75e7, + transferDate: /* @__PURE__ */ new Date("2024-10-18T11:00:00"), + trackingNumber: "5555123456", + destinationAccountId: "ba-par-2", + expiresAt: /* @__PURE__ */ new Date("2024-10-18T17:00:00"), + status: import_client.CashPaymentStatus.approved, + submittedAt: /* @__PURE__ */ new Date("2024-10-18T11:00:00") + } + } + } + }); + await prisma.order.create({ + data: { + id: "ord-6", + orderNumber: "ORD-1403-1251", + userId: "cust-1", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.check, + status: import_client.OrderStatus.shipped, + totalMeterage: 2900, + totalAmount: 16e8, + createdAt: /* @__PURE__ */ new Date("2024-10-20T08:30:00"), + shipment: { + create: { + id: "shp-1", + carrier: "\u0628\u0627\u0631\u0628\u0631\u06CC \u062A\u0647\u0631\u0627\u0646-\u0627\u0635\u0641\u0647\u0627\u0646", + trackingNumber: "BR-1403-88901", + meterage: 2900, + status: import_client.ShipmentStatus.shipped, + shippedAt: /* @__PURE__ */ new Date("2024-10-24T09:00:00") + } + } + } + }); + await prisma.order.create({ + data: { + id: "ord-7", + orderNumber: "ORD-1403-1250", + userId: "cust-5", + companyId: "company-fam-baft", + companyName: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A", + settlementType: import_client.SettlementType.check, + status: import_client.OrderStatus.awaiting_check_review, + totalMeterage: 3800, + totalAmount: 21e8, + createdAt: /* @__PURE__ */ new Date("2024-10-19T13:00:00"), + shipment: { + create: { + id: "shp-2", + carrier: "\u0628\u0627\u0631\u0628\u0631\u06CC \u0633\u0631\u06CC\u0639", + trackingNumber: "BR-1403-88902", + meterage: 3800, + status: import_client.ShipmentStatus.ready + } + } + } + }); + await prisma.order.create({ + data: { + id: "ord-8", + orderNumber: "ORD-1403-1208", + userId: "cust-3", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.cash, + status: import_client.OrderStatus.preparing, + totalMeterage: 950, + totalAmount: 45e7, + createdAt: /* @__PURE__ */ new Date("2024-10-18T10:00:00"), + shipment: { + create: { + id: "shp-3", + carrier: "\u067E\u06CC\u06A9 \u062F\u0627\u062E\u0644\u06CC", + trackingNumber: "PK-1403-0045", + meterage: 950, + status: import_client.ShipmentStatus.preparing + } + }, + cashReceipt: { + create: { + id: "cp-4", + amount: 45e7, + paidAmount: null, + transferDate: null, + trackingNumber: null, + expiresAt: /* @__PURE__ */ new Date("2024-10-22T17:00:00"), + status: import_client.CashPaymentStatus.expired + } + } + } + }); + await prisma.order.create({ + data: { + id: "ord-9", + orderNumber: "ORD-1403-1199", + userId: "cust-1", + companyId: "company-par", + companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631", + settlementType: import_client.SettlementType.check, + status: import_client.OrderStatus.delivered, + totalMeterage: 4100, + totalAmount: 22e8, + createdAt: /* @__PURE__ */ new Date("2024-10-15T10:00:00"), + shipment: { + create: { + id: "shp-4", + carrier: "\u0628\u0627\u0631\u0628\u0631\u06CC \u062A\u0647\u0631\u0627\u0646-\u0645\u0634\u0647\u062F", + trackingNumber: "BR-1403-88750", + meterage: 4100, + status: import_client.ShipmentStatus.delivered, + shippedAt: /* @__PURE__ */ new Date("2024-10-18T10:00:00"), + deliveredAt: /* @__PURE__ */ new Date("2024-10-20T16:30:00") + } + } + } + }); + await prisma.systemSettings.create({ + data: { + id: "default", + maxMeteragePerInvoice: 5e3, + cashInvoiceValidityHours: 8, + defaultSettlementCheck: true, + defaultSettlementCash: true, + smsOrderRegistered: true, + smsPaymentReminder: true, + smsCheckReview: true, + smsShippingUpdate: true, + supportPhone: "02191000000", + supportEmail: "support@fabrictrade.ir" + } + }); + await prisma.meetingInteraction.createMany({ + data: [ + { + id: "meet-1", + agentId: "agent-1", + customerId: "cust-1", + type: import_client.InteractionType.in_person, + title: "\u0628\u0627\u0632\u062F\u06CC\u062F \u0627\u0632 \u0628\u0648\u062A\u06CC\u06A9 \u0631\u0632", + description: "\u0646\u06CC\u0627\u0632 \u0628\u0647 \u067E\u0627\u0631\u0686\u0647\u200C\u0647\u0627\u06CC \u0637\u0648\u0633\u06CC \u0648 \u0633\u0631\u0645\u0647\u200C\u0627\u06CC \u0627\u0639\u0644\u0627\u0645 \u0634\u062F.", + subject: "\u0628\u0627\u0632\u062F\u06CC\u062F \u062D\u0636\u0648\u0631\u06CC", + content: "\u0646\u06CC\u0627\u0632 \u0628\u0647 \u067E\u0627\u0631\u0686\u0647\u200C\u0647\u0627\u06CC \u0637\u0648\u0633\u06CC\u060C \u0633\u0631\u0645\u0647\u200C\u0627\u06CC \u0648 \u0630\u063A\u0627\u0644\u06CC \u0628\u0627 \u0639\u0631\u0636 \u0645\u0646\u0627\u0633\u0628.", + date: "1403/03/20", + time: "11:30" + }, + { + id: "meet-2", + agentId: "agent-1", + customerId: "cust-2", + type: import_client.InteractionType.call, + title: "\u067E\u06CC\u06AF\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F\u06CC", + description: "\u062A\u0645\u0627\u0633 \u0628\u0631\u0627\u06CC \u0627\u0639\u0644\u0627\u0645 \u0645\u0648\u062C\u0648\u062F\u06CC \u0641\u0627\u0633\u062A\u0648\u0646\u06CC.", + date: "1403/03/18", + time: "10:00" + } + ] + }); + await prisma.reminder.createMany({ + data: [ + { + id: "rem-1", + ownerId: "agent-1", + customerId: "cust-1", + title: "\u067E\u06CC\u06AF\u06CC\u0631\u06CC \u0645\u0648\u062C\u0648\u062F\u06CC \u067E\u0627\u0631\u0686\u0647 \u0641\u0627\u0633\u062A\u0648\u0646\u06CC \u0637\u0648\u0633\u06CC", + description: "\u0627\u0639\u0644\u0627\u0645 \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u0648\u0646\u0647", + note: "\u062A\u0645\u0627\u0633 \u0628\u0631\u0627\u06CC \u0627\u0639\u0644\u0627\u0645 \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0631\u0633\u0627\u0644 \u0646\u0645\u0648\u0646\u0647", + date: "1403/03/23", + time: "10:00", + interactionType: import_client.InteractionType.call, + completed: false + }, + { + id: "rem-2", + ownerId: "agent-1", + customerId: "cust-2", + title: "\u0627\u0631\u0633\u0627\u0644 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u062C\u062F\u06CC\u062F", + description: "\u0627\u0631\u0633\u0627\u0644 \u06A9\u0627\u0644\u06CC\u062A\u0647 \u0632\u0645\u0633\u062A\u0627\u0646\u0647 \u0628\u0631\u0627\u06CC \u0645\u0632\u0648\u0646 \u0627\u0644\u0648\u0627\u0646", + date: "1403/03/24", + time: "14:00", + interactionType: import_client.InteractionType.in_person, + completed: false + }, + { + id: "rem-3", + ownerId: "agent-1", + customerId: "cust-3", + title: "\u067E\u06CC\u06AF\u06CC\u0631\u06CC \u0633\u0641\u0627\u0631\u0634 \u0642\u0628\u0644\u06CC", + description: "\u0628\u0631\u0631\u0633\u06CC \u0648\u0636\u0639\u06CC\u062A \u0633\u0641\u0627\u0631\u0634 \u0648 \u062A\u0633\u0648\u06CC\u0647", + date: "1403/03/10", + time: "09:00", + interactionType: import_client.InteractionType.note, + completed: true, + completedAt: /* @__PURE__ */ new Date("2024-10-20T09:30:00") + } + ] + }); + void order1; + console.log("Seed completed successfully."); + console.log("Admin login: 09128081392 / 123456"); + console.log("Agent OTP login: 09121112233"); + console.log("Customer OTP login: 09121234567"); +} +__name(main, "main"); +main().catch((e) => { + console.error(e); + process.exit(1); +}).finally(async () => { + await prisma.$disconnect(); +}); diff --git a/runtime/server.cjs b/runtime/server.cjs index e916458..62cda15 100644 --- a/runtime/server.cjs +++ b/runtime/server.cjs @@ -140188,6 +140188,42 @@ var require_apply_migrations = __commonJS({ } }); +// dist/run-seed.js +var require_run_seed = __commonJS({ + "dist/run-seed.js"(exports2) { + "use strict"; + var __importDefault2 = exports2 && exports2.__importDefault || function(mod) { + return mod && mod.__esModule ? mod : { "default": mod }; + }; + Object.defineProperty(exports2, "__esModule", { value: true }); + exports2.runBundledSeed = runBundledSeed; + var node_fs_1 = require("node:fs"); + var node_child_process_1 = require("node:child_process"); + var node_path_1 = __importDefault2(require("node:path")); + function runBundledSeed() { + const seedFile = node_path_1.default.join(process.cwd(), "runtime", "seed.cjs"); + if (!(0, node_fs_1.existsSync)(seedFile)) { + console.log("No runtime/seed.cjs; skipping seed"); + return Promise.resolve(); + } + return new Promise((resolve, reject) => { + const child = (0, node_child_process_1.spawn)(process.execPath, [seedFile], { + stdio: "inherit", + env: process.env + }); + child.on("exit", (code) => { + if (code === 0) + resolve(); + else + reject(new Error(`seed exited ${code}`)); + }); + child.on("error", reject); + }); + } + __name(runBundledSeed, "runBundledSeed"); + } +}); + // dist/main.js Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require_core3(); @@ -140196,9 +140232,11 @@ var swagger_1 = require_dist6(); var express_1 = require_express2(); var app_module_1 = require_app_module(); var apply_migrations_1 = require_apply_migrations(); +var run_seed_1 = require_run_seed(); async function bootstrap() { if (process.env.NODE_ENV === "production") { await (0, apply_migrations_1.applyPendingMigrations)(); + await (0, run_seed_1.runBundledSeed)(); } const app = await core_1.NestFactory.create(app_module_1.AppModule); const bodyLimit = process.env.BODY_LIMIT || "25mb"; @@ -140219,7 +140257,7 @@ async function bootstrap() { const swaggerConfig = new swagger_1.DocumentBuilder().setTitle("Fabric Trade API").setDescription("API \u0633\u0631\u0648\u0631 \u062A\u062C\u0627\u0631\u062A \u067E\u0627\u0631\u0686\u0647").setVersion("1.0").addBearerAuth().build(); const document2 = swagger_1.SwaggerModule.createDocument(app, swaggerConfig); swagger_1.SwaggerModule.setup(`${globalPrefix}/docs`, app, document2); - const port = process.env.PORT ?? 3e3; + const port = Number(process.env.PORT) || 3e3; await app.listen(port); console.log(`Fabric Trade API listening on http://localhost:${port}/${globalPrefix}`); console.log(`Swagger docs at http://localhost:${port}/${globalPrefix}/docs`); diff --git a/scripts/pack-runtime.mjs b/scripts/pack-runtime.mjs index 3fd21c0..96ab12c 100644 --- a/scripts/pack-runtime.mjs +++ b/scripts/pack-runtime.mjs @@ -83,9 +83,27 @@ writeFileSync( `${JSON.stringify({ name: 'fabric-trade-runtime', private: true, type: 'commonjs' }, null, 2)}\n`, ) +console.log('==> esbuild seed') +execSync( + [ + 'npx --yes esbuild prisma/seed.ts', + '--bundle', + '--platform=node', + '--target=node22', + '--format=cjs', + '--outfile=runtime/seed.cjs', + '--keep-names', + '--legal-comments=none', + ].join(' '), + { stdio: 'inherit' }, +) + if (!existsSync(path.join(runtimeDir, 'server.cjs'))) { throw new Error('runtime/server.cjs ساخته نشد') } +if (!existsSync(path.join(runtimeDir, 'seed.cjs'))) { + throw new Error('runtime/seed.cjs ساخته نشد') +} console.log(`runtime/server.cjs ${mb(path.join(runtimeDir, 'server.cjs'))}`) console.log(`runtime/${engineName} ${mb(path.join(runtimeDir, engineName))}`) diff --git a/src/main.ts b/src/main.ts index 3e00a21..ce0de45 100644 --- a/src/main.ts +++ b/src/main.ts @@ -4,10 +4,12 @@ import { DocumentBuilder, SwaggerModule } from '@nestjs/swagger'; import { json, urlencoded } from 'express'; import { AppModule } from './app.module'; import { applyPendingMigrations } from './apply-migrations'; +import { runBundledSeed } from './run-seed'; async function bootstrap() { if (process.env.NODE_ENV === 'production') { await applyPendingMigrations(); + await runBundledSeed(); } const app = await NestFactory.create(AppModule); @@ -42,7 +44,7 @@ async function bootstrap() { const document = SwaggerModule.createDocument(app, swaggerConfig); SwaggerModule.setup(`${globalPrefix}/docs`, app, document); - const port = process.env.PORT ?? 3000; + const port = Number(process.env.PORT) || 3000; await app.listen(port); console.log( `Fabric Trade API listening on http://localhost:${port}/${globalPrefix}`, diff --git a/src/run-seed.ts b/src/run-seed.ts new file mode 100644 index 0000000..21e12b9 --- /dev/null +++ b/src/run-seed.ts @@ -0,0 +1,23 @@ +import { existsSync } from 'node:fs' +import { spawn } from 'node:child_process' +import path from 'node:path' + +export function runBundledSeed(): Promise { + const seedFile = path.join(process.cwd(), 'runtime', 'seed.cjs') + if (!existsSync(seedFile)) { + console.log('No runtime/seed.cjs; skipping seed') + return Promise.resolve() + } + + return new Promise((resolve, reject) => { + const child = spawn(process.execPath, [seedFile], { + stdio: 'inherit', + env: process.env, + }) + child.on('exit', (code) => { + if (code === 0) resolve() + else reject(new Error(`seed exited ${code}`)) + }) + child.on('error', reject) + }) +}