9577 lines
512 KiB
JavaScript
9577 lines
512 KiB
JavaScript
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 <suchanek@prisma.io>", 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 <suchanek@prisma.io>", 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(/</g, "<").replace(/\u00a0/g, " ");
|
|
}, "encode"), type: /* @__PURE__ */ __name(function(e) {
|
|
return Object.prototype.toString.call(e).slice(8, -1);
|
|
}, "type"), objId: /* @__PURE__ */ __name(function(e) {
|
|
return e.__id || Object.defineProperty(e, "__id", { value: ++md }), e.__id;
|
|
}, "objId"), clone: /* @__PURE__ */ __name(function e(r, t) {
|
|
let n, i, o = v.util.type(r);
|
|
switch (t = t || {}, o) {
|
|
case "Object":
|
|
if (i = v.util.objId(r), t[i]) return t[i];
|
|
n = {}, t[i] = n;
|
|
for (let s in r) r.hasOwnProperty(s) && (n[s] = e(r[s], t));
|
|
return n;
|
|
case "Array":
|
|
return i = v.util.objId(r), t[i] ? t[i] : (n = [], t[i] = n, r.forEach(function(s, a) {
|
|
n[a] = e(s, t);
|
|
}), n);
|
|
default:
|
|
return r;
|
|
}
|
|
}, "e") }, languages: { extend: /* @__PURE__ */ __name(function(e, r) {
|
|
let t = v.util.clone(v.languages[e]);
|
|
for (let n in r) t[n] = r[n];
|
|
return t;
|
|
}, "extend"), insertBefore: /* @__PURE__ */ __name(function(e, r, t, n) {
|
|
n = n || v.languages;
|
|
let i = n[e], o = {};
|
|
for (let a in i) if (i.hasOwnProperty(a)) {
|
|
if (a == r) for (let l in t) t.hasOwnProperty(l) && (o[l] = t[l]);
|
|
t.hasOwnProperty(a) || (o[a] = i[a]);
|
|
}
|
|
let s = n[e];
|
|
return n[e] = o, v.languages.DFS(v.languages, function(a, l) {
|
|
l === s && a != e && (this[a] = o);
|
|
}), o;
|
|
}, "insertBefore"), DFS: /* @__PURE__ */ __name(function e(r, t, n, i) {
|
|
i = i || {};
|
|
let o = v.util.objId;
|
|
for (let s in r) if (r.hasOwnProperty(s)) {
|
|
t.call(r, s, r[s], n || s);
|
|
let a = r[s], l = v.util.type(a);
|
|
l === "Object" && !i[o(a)] ? (i[o(a)] = true, e(a, t, null, i)) : l === "Array" && !i[o(a)] && (i[o(a)] = true, e(a, t, s, i));
|
|
}
|
|
}, "e") }, plugins: {}, highlight: /* @__PURE__ */ __name(function(e, r, t) {
|
|
let n = { code: e, grammar: r, language: t };
|
|
return v.hooks.run("before-tokenize", n), n.tokens = v.tokenize(n.code, n.grammar), v.hooks.run("after-tokenize", n), ge.stringify(v.util.encode(n.tokens), n.language);
|
|
}, "highlight"), matchGrammar: /* @__PURE__ */ __name(function(e, r, t, n, i, o, s) {
|
|
for (let g in t) {
|
|
if (!t.hasOwnProperty(g) || !t[g]) continue;
|
|
if (g == s) return;
|
|
let I = t[g];
|
|
I = v.util.type(I) === "Array" ? I : [I];
|
|
for (let T = 0; T < I.length; ++T) {
|
|
let S = I[T], b = S.inside, D = !!S.lookbehind, me = !!S.greedy, se = 0, Kr = S.alias;
|
|
if (me && !S.pattern.global) {
|
|
let j = S.pattern.toString().match(/[imuy]*$/)[0];
|
|
S.pattern = RegExp(S.pattern.source, j + "g");
|
|
}
|
|
S = S.pattern || S;
|
|
for (let j = n, te = i; j < r.length; te += r[j].length, ++j) {
|
|
let Ae = r[j];
|
|
if (r.length > 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 = "<unknown>";
|
|
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|<anonymous>|\/|[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 !== "<anonymous>" && !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() || "<empty body>"}`);
|
|
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`<SQL>`" : "prisma.$executeRaw(sql`<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(<SQL>, [...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.ProductScalarFieldEnum = {
|
|
id: "id",
|
|
companyId: "companyId",
|
|
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",
|
|
brandId: "brandId",
|
|
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",
|
|
address: "address",
|
|
companyId: "companyId",
|
|
levelDefId: "levelDefId",
|
|
isActive: "isActive",
|
|
createdAt: "createdAt",
|
|
updatedAt: "updatedAt"
|
|
};
|
|
exports2.Prisma.CustomerAddressScalarFieldEnum = {
|
|
id: "id",
|
|
customerId: "customerId",
|
|
label: "label",
|
|
text: "text",
|
|
isDefault: "isDefault",
|
|
createdAt: "createdAt"
|
|
};
|
|
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",
|
|
categoryDefsJson: "categoryDefsJson",
|
|
updatedAt: "updatedAt"
|
|
};
|
|
exports2.Prisma.AppBannerScalarFieldEnum = {
|
|
id: "id",
|
|
slot: "slot",
|
|
title: "title",
|
|
subtitle: "subtitle",
|
|
ctaLabel: "ctaLabel",
|
|
ctaLink: "ctaLink",
|
|
imageUrl: "imageUrl",
|
|
displayOrder: "displayOrder",
|
|
isActive: "isActive",
|
|
showTitle: "showTitle",
|
|
showSubtitle: "showSubtitle",
|
|
showCta: "showCta",
|
|
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",
|
|
link: "link",
|
|
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.ProductSuggestionScalarFieldEnum = {
|
|
id: "id",
|
|
customerId: "customerId",
|
|
productId: "productId",
|
|
note: "note",
|
|
createdByAdminId: "createdByAdminId",
|
|
isActive: "isActive",
|
|
createdAt: "createdAt"
|
|
};
|
|
exports2.Prisma.SmsWalletScalarFieldEnum = {
|
|
id: "id",
|
|
balanceToman: "balanceToman",
|
|
pricePerPart: "pricePerPart",
|
|
blocked: "blocked",
|
|
cardNumber: "cardNumber",
|
|
sheba: "sheba",
|
|
accountName: "accountName",
|
|
yellowThreshold: "yellowThreshold",
|
|
redThreshold: "redThreshold",
|
|
updatedAt: "updatedAt"
|
|
};
|
|
exports2.Prisma.SmsUsageScalarFieldEnum = {
|
|
id: "id",
|
|
parts: "parts",
|
|
costToman: "costToman",
|
|
createdAt: "createdAt"
|
|
};
|
|
exports2.Prisma.SmsTopUpScalarFieldEnum = {
|
|
id: "id",
|
|
amountToman: "amountToman",
|
|
note: "note",
|
|
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",
|
|
Product: "Product",
|
|
Customer: "Customer",
|
|
CustomerAddress: "CustomerAddress",
|
|
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",
|
|
ProductSuggestion: "ProductSuggestion",
|
|
SmsWallet: "SmsWallet",
|
|
SmsUsage: "SmsUsage",
|
|
SmsTopUp: "SmsTopUp"
|
|
};
|
|
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,
|
|
"schemaEnvPath": "../../../.env"
|
|
},
|
|
"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 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 Product {\n id String @id @default(cuid())\n companyId String\n name String\n code String\n color String\n description String?\n minMeterage Float @default(30)\n orderMultiplier Float @default(10)\n /// \u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631\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 String @default("other")\n season String @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 brandId String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n company Company @relation(fields: [companyId], references: [id], onDelete: Cascade)\n brand Brand? @relation(fields: [brandId], references: [id], onDelete: SetNull)\n cartItems CartItem[]\n orderItems OrderItem[]\n favorites ProductFavorite[]\n catalogRequestItems CatalogRequestItem[]\n productSuggestions ProductSuggestion[]\n\n @@unique([companyId, code])\n @@index([companyId])\n @@index([brandId])\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 /// \u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)\n address 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 productSuggestions ProductSuggestion[]\n customerBrands CustomerBrand[]\n addresses CustomerAddress[]\n\n @@index([companyId])\n @@index([appRole])\n @@index([assignedAgentId])\n @@index([agentCode])\n @@index([levelDefId])\n}\n\nmodel CustomerAddress {\n id String @id @default(cuid())\n customerId String\n label String?\n text String\n isDefault Boolean @default(false)\n createdAt DateTime @default(now())\n\n customer Customer @relation(fields: [customerId], references: [id], onDelete: Cascade)\n\n @@index([customerId])\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 /// \u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F.\n categoryDefsJson 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 showTitle Boolean @default(true)\n showSubtitle Boolean @default(true)\n showCta 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 link 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 products Product[]\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 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\n/// \u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9\nmodel SmsWallet {\n id String @id @default("default")\n balanceToman Int @default(0)\n pricePerPart Int @default(250)\n blocked Boolean @default(false)\n cardNumber String @default("6219861941033817")\n sheba String @default("IR805606118280056043604401")\n accountName String @default("\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631")\n yellowThreshold Int @default(10000)\n redThreshold Int @default(1000)\n updatedAt DateTime @updatedAt\n}\n\nmodel SmsUsage {\n id String @id @default(cuid())\n parts Int\n costToman Int\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\nmodel SmsTopUp {\n id String @id @default(cuid())\n amountToman Int\n note String?\n createdAt DateTime @default(now())\n}\n',
|
|
"inlineSchemaHash": "48064e922b4134bc3d97fe88086bf6d05956866842d76d13ab14a7dc55970aed",
|
|
"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":"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},"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":"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,"documentation":"\u0642\u06CC\u0645\u062A \u0647\u0631 \u0645\u062A\u0631 (\u062A\u0648\u0645\u0627\u0646) \u0628\u0631\u0627\u06CC \u0646\u0645\u0627\u06CC\u0634 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF / \u067E\u06CC\u0634\u200C\u0641\u0627\u06A9\u062A\u0648\u0631"},{"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":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","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":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","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":"brandId","kind":"scalar","isList":false,"isRequired":false,"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":"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":"brand","kind":"object","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Brand","nativeType":null,"relationName":"BrandToProduct","relationFromFields":["brandId"],"relationToFields":["id"],"relationOnDelete":"SetNull","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":"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":"address","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u0622\u062F\u0631\u0633 \u0648\u0627\u0633\u0637\u0647 (\u062F\u0631 \u067E\u0631\u0648\u0641\u0627\u06CC\u0644 \u0627\u067E \u06A9\u0627\u0631\u0628\u0631)"},{"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":"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},{"name":"addresses","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"CustomerAddress","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":[],"relationToFields":[],"isGenerated":false,"isUpdatedAt":false}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"CustomerAddress":{"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":"label","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"text","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"String","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"isDefault","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":"customer","kind":"object","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Customer","nativeType":null,"relationName":"CustomerToCustomerAddress","relationFromFields":["customerId"],"relationToFields":["id"],"relationOnDelete":"Cascade","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":"categoryDefsJson","kind":"scalar","isList":false,"isRequired":false,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Json","nativeType":null,"isGenerated":false,"isUpdatedAt":false,"documentation":"\u062A\u0639\u0627\u0631\u06CC\u0641 \u062F\u0633\u062A\u0647\u200C\u0647\u0627 (\u06A9\u0627\u0631\u0628\u0631\u062F/\u0641\u0635\u0644). \u0627\u06AF\u0631 \u062E\u0627\u0644\u06CC \u0628\u0627\u0634\u062F \u0627\u0632 \u0645\u0642\u0627\u062F\u06CC\u0631 \u067E\u06CC\u0634\u200C\u0641\u0631\u0636 \u06A9\u062F \u0627\u0633\u062A\u0641\u0627\u062F\u0647 \u0645\u06CC\u200C\u0634\u0648\u062F."},{"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":"showTitle","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":"showSubtitle","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":"showCta","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":"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},"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},{"name":"products","kind":"object","isList":true,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Product","nativeType":null,"relationName":"BrandToProduct","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},"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},"SmsWallet":{"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":"balanceToman","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":"pricePerPart","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":250,"isGenerated":false,"isUpdatedAt":false},{"name":"blocked","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":"cardNumber","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"6219861941033817","isGenerated":false,"isUpdatedAt":false},{"name":"sheba","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"IR805606118280056043604401","isGenerated":false,"isUpdatedAt":false},{"name":"accountName","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"String","nativeType":null,"default":"\u062D\u0633\u06CC\u0646 \u0645\u0646\u062A\u0638\u0631","isGenerated":false,"isUpdatedAt":false},{"name":"yellowThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":10000,"isGenerated":false,"isUpdatedAt":false},{"name":"redThreshold","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":true,"type":"Int","nativeType":null,"default":1000,"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":"\u06CC\u06A9 \u0631\u062F\u06CC\u0641 \u0628\u0631\u0627\u06CC \u062A\u0639\u0631\u0641\u0647\u060C \u0645\u0648\u062C\u0648\u062F\u06CC \u0648 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0648\u0627\u0631\u06CC\u0632 \u067E\u06CC\u0627\u0645\u06A9"},"SmsUsage":{"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":"parts","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","nativeType":null,"isGenerated":false,"isUpdatedAt":false},{"name":"costToman","kind":"scalar","isList":false,"isRequired":true,"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}],"primaryKey":null,"uniqueFields":[],"uniqueIndexes":[],"isGenerated":false},"SmsTopUp":{"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":"amountToman","kind":"scalar","isList":false,"isRequired":true,"isUnique":false,"isId":false,"isReadOnly":false,"hasDefaultValue":false,"type":"Int","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":"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}},"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 existingOrders = await prisma.order.count();
|
|
if (existingOrders > 0 && process.env.RUN_SEED !== "force") {
|
|
console.log("Seed skipped; data already exists");
|
|
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.bankAccount.deleteMany();
|
|
await prisma.levelBenefit.deleteMany();
|
|
await prisma.customerLevelDef.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.product.createMany({
|
|
data: [
|
|
{
|
|
id: "prod-377-blue",
|
|
companyId: "company-par",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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",
|
|
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.customerLevelDef.create({
|
|
data: {
|
|
code: "bronze",
|
|
label: "\u0628\u0631\u0646\u0632\u06CC",
|
|
sortOrder: 1,
|
|
criteriaJson: { minSalesToman: 0 },
|
|
benefits: {
|
|
create: [{ title: "\u062F\u0633\u062A\u0631\u0633\u06CC \u0628\u0647 \u06A9\u0627\u062A\u0627\u0644\u0648\u06AF \u067E\u0627\u06CC\u0647" }]
|
|
}
|
|
}
|
|
});
|
|
await prisma.customerLevelDef.create({
|
|
data: {
|
|
code: "silver",
|
|
label: "\u0646\u0642\u0631\u0647\u200C\u0627\u06CC",
|
|
sortOrder: 2,
|
|
criteriaJson: { minSalesToman: 5e8 },
|
|
benefits: {
|
|
create: [{ title: "\u067E\u0634\u062A\u06CC\u0628\u0627\u0646\u06CC \u0627\u0648\u0644\u0648\u06CC\u062A\u200C\u062F\u0627\u0631" }]
|
|
}
|
|
}
|
|
});
|
|
const goldLevel = await prisma.customerLevelDef.create({
|
|
data: {
|
|
code: "gold",
|
|
label: "\u0637\u0644\u0627\u06CC\u06CC",
|
|
sortOrder: 3,
|
|
criteriaJson: { minSalesToman: 15e8 },
|
|
benefits: {
|
|
create: [{ title: "\u062A\u062E\u0641\u06CC\u0641 \u0648\u06CC\u0698\u0647 \u0633\u0641\u0627\u0631\u0634\u200C\u0647\u0627\u06CC \u0639\u0645\u062F\u0647" }]
|
|
}
|
|
}
|
|
});
|
|
await prisma.customerLevelDef.create({
|
|
data: {
|
|
code: "vip",
|
|
label: "VIP",
|
|
sortOrder: 4,
|
|
criteriaJson: { minSalesToman: 3e9 },
|
|
benefits: {
|
|
create: [{ title: "\u0645\u0634\u0627\u0648\u0631\u0647 \u062A\u062E\u0635\u0635\u06CC \u0648 \u0627\u0631\u0633\u0627\u0644 \u0633\u0631\u06CC\u0639" }]
|
|
}
|
|
}
|
|
});
|
|
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",
|
|
levelDefId: goldLevel.id,
|
|
levelLabel: "\u0637\u0644\u0627\u06CC\u06CC",
|
|
nextLevelLabel: "VIP",
|
|
pointsToNext: 0,
|
|
levelProgress: 0,
|
|
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,
|
|
companyId: "company-par",
|
|
companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631"
|
|
},
|
|
{
|
|
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,
|
|
companyId: "company-par",
|
|
companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631"
|
|
},
|
|
{
|
|
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,
|
|
companyId: "company-par",
|
|
companyName: "\u0634\u0631\u06A9\u062A \u067E\u064E\u0631"
|
|
}
|
|
]
|
|
},
|
|
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,
|
|
companyId: "company-fam-baft",
|
|
companyName: "\u0641\u0627\u0645\u200C\u0628\u0627\u0641\u062A"
|
|
}
|
|
]
|
|
},
|
|
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();
|
|
});
|