@explita/tunnel-server-plugin 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/LICENSE +21 -0
- package/README.md +63 -2
- package/bin/cli.js +100 -0
- package/dist/generated/prisma/browser.d.ts +25 -0
- package/dist/generated/prisma/browser.d.ts.map +1 -0
- package/dist/generated/prisma/browser.js +18 -0
- package/dist/generated/prisma/browser.js.map +1 -0
- package/dist/generated/prisma/client.d.ts +44 -0
- package/dist/generated/prisma/client.d.ts.map +1 -0
- package/dist/generated/prisma/client.js +35 -0
- package/dist/generated/prisma/client.js.map +1 -0
- package/dist/generated/prisma/commonInputTypes.d.ts +278 -0
- package/dist/generated/prisma/commonInputTypes.d.ts.map +1 -0
- package/dist/generated/prisma/commonInputTypes.js +11 -0
- package/dist/generated/prisma/commonInputTypes.js.map +1 -0
- package/dist/generated/prisma/enums.d.ts +2 -0
- package/dist/generated/prisma/enums.d.ts.map +1 -0
- package/dist/generated/prisma/enums.js +11 -0
- package/dist/generated/prisma/enums.js.map +1 -0
- package/dist/generated/prisma/internal/class.d.ts +166 -0
- package/dist/generated/prisma/internal/class.d.ts.map +1 -0
- package/dist/generated/prisma/internal/class.js +50 -0
- package/dist/generated/prisma/internal/class.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts +867 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.js +128 -0
- package/dist/generated/prisma/internal/prismaNamespace.js.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts +92 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.d.ts.map +1 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js +99 -0
- package/dist/generated/prisma/internal/prismaNamespaceBrowser.js.map +1 -0
- package/dist/generated/prisma/models/DailyMetric.d.ts +1152 -0
- package/dist/generated/prisma/models/DailyMetric.d.ts.map +1 -0
- package/dist/generated/prisma/models/DailyMetric.js +2 -0
- package/dist/generated/prisma/models/DailyMetric.js.map +1 -0
- package/dist/generated/prisma/models/Developer.d.ts +1134 -0
- package/dist/generated/prisma/models/Developer.d.ts.map +1 -0
- package/dist/generated/prisma/models/Developer.js +2 -0
- package/dist/generated/prisma/models/Developer.js.map +1 -0
- package/dist/generated/prisma/models/SystemMetric.d.ts +1048 -0
- package/dist/generated/prisma/models/SystemMetric.d.ts.map +1 -0
- package/dist/generated/prisma/models/SystemMetric.js +2 -0
- package/dist/generated/prisma/models/SystemMetric.js.map +1 -0
- package/dist/generated/prisma/models/Token.d.ts +1214 -0
- package/dist/generated/prisma/models/Token.d.ts.map +1 -0
- package/dist/generated/prisma/models/Token.js +2 -0
- package/dist/generated/prisma/models/Token.js.map +1 -0
- package/dist/generated/prisma/models.d.ts +6 -0
- package/dist/generated/prisma/models.d.ts.map +1 -0
- package/dist/generated/prisma/models.js +2 -0
- package/dist/generated/prisma/models.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/issue.d.ts +3 -0
- package/dist/issue.d.ts.map +1 -0
- package/dist/issue.js +102 -0
- package/dist/issue.js.map +1 -0
- package/dist/lib/cache.d.ts +2 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.js +6 -0
- package/dist/lib/cache.js.map +1 -0
- package/dist/lib/mailer.d.ts +28 -0
- package/dist/lib/mailer.d.ts.map +1 -0
- package/dist/lib/mailer.js +116 -0
- package/dist/lib/mailer.js.map +1 -0
- package/dist/lib/metrics.d.ts +27 -0
- package/dist/lib/metrics.d.ts.map +1 -0
- package/dist/lib/metrics.js +93 -0
- package/dist/lib/metrics.js.map +1 -0
- package/dist/lib/prisma.d.ts +3 -0
- package/dist/lib/prisma.d.ts.map +1 -0
- package/dist/lib/prisma.js +20 -0
- package/dist/lib/prisma.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +5 -0
- package/dist/lib/utils.js.map +1 -0
- package/dist/request.d.ts +4 -0
- package/dist/request.d.ts.map +1 -0
- package/dist/request.js +29 -0
- package/dist/request.js.map +1 -0
- package/dist/validate.d.ts +2 -0
- package/dist/validate.d.ts.map +1 -0
- package/dist/validate.js +48 -0
- package/dist/validate.js.map +1 -0
- package/dist/verify.d.ts +3 -0
- package/dist/verify.d.ts.map +1 -0
- package/dist/verify.js +53 -0
- package/dist/verify.js.map +1 -0
- package/package.json +52 -4
- package/prisma/schema.prisma +62 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to the **Explita Tunnel Server Plugin** (`@explita/tunnel-server-plugin`) will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [0.1.0] - 2026-10-24
|
|
9
|
+
|
|
10
|
+
Initial release of **Explita Tunnel Server Plugin**, providing pluggable database authentication, token issuance, and zero-log telemetry persistence for Explita Tunnel gateways.
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
#### 🔐 Authentication & Token Engine
|
|
15
|
+
|
|
16
|
+
- **Passwordless Email OTP Authentication**:
|
|
17
|
+
- `POST /_api/token/request-otp`: Issues cryptographically secure 6-digit OTP codes with 10-minute expiration.
|
|
18
|
+
- Multi-transport delivery: Sends rich HTML emails via Nodemailer when SMTP is configured, or logs codes to stdout in non-production.
|
|
19
|
+
- `POST /_api/token/verify-otp`: Validates OTP codes, rate limits verification attempts, provisions or retrieves developer profiles, and returns an active developer token (`exp_live_...`).
|
|
20
|
+
- **Instant Headless Token Issuance**:
|
|
21
|
+
- `POST /_api/token/issue`: Enables non-interactive token issuance for CI/CD runners and Explita Deploy servers keyed by IP and machine ID without requiring email verification.
|
|
22
|
+
- **Multi-Device Token Validation**:
|
|
23
|
+
- `validateToken`: Multi-tier token validation engine with Redis caching (5-minute TTL) and PostgreSQL fallback.
|
|
24
|
+
|
|
25
|
+
#### 🗄️ Database & Persistence Layer
|
|
26
|
+
|
|
27
|
+
- **Bundled Zero-Config Prisma Engine**:
|
|
28
|
+
- Pre-generated Prisma Client and PostgreSQL adapter (`@prisma/adapter-pg`) with automatic connection pooling.
|
|
29
|
+
- Database schema models:
|
|
30
|
+
- `Developer`: Tracks developer identities, email addresses, and last login timestamps.
|
|
31
|
+
- `ApiToken`: Stores hashed and revocable access tokens with device labels and last-used metadata.
|
|
32
|
+
- `DailyMetric`: Aggregates daily tunnel connections, routed requests, transferred bytes, and unique developer counts.
|
|
33
|
+
- `SystemMetric`: Tracks all-time cluster throughput and total tunnels created.
|
|
34
|
+
- Automatic graceful degradation: Operates in in-memory mode if `DATABASE_URL` is omitted.
|
|
35
|
+
- **Database Push CLI (`tunnel-plugin`)**:
|
|
36
|
+
- Bundled executable `tunnel-plugin db:push` (also runnable via `npx @explita/tunnel-server-plugin db:push`) allowing operators to apply schema migrations directly from `.env` without installing Prisma in their gateway project.
|
|
37
|
+
|
|
38
|
+
#### 📊 Telemetry & Metrics Persistence
|
|
39
|
+
|
|
40
|
+
- **Zero-Log Cluster Telemetry**:
|
|
41
|
+
- Pluggable persister implementation (`flushMetrics`) executing atomic upsert transactions into `DailyMetric` and `SystemMetric`.
|
|
42
|
+
- Zero-payload logging guarantees: Strictly records anonymous counts, request volumes, and byte totals.
|
|
43
|
+
- **Internal Stats API**:
|
|
44
|
+
- `GET /_api/stats`: Protected internal endpoint requiring `x-internal-secret` header to inspect active tunnel counts, daily activity, and lifetime cluster totals.
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Explita (https://explita.ng)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,64 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Explita Tunnel Server Plugin
|
|
2
|
+
|
|
3
|
+
Modular authentication, token issuance, and zero-log telemetry plugin for [Explita Tunnel Server](https://github.com/explita/tunnel-server).
|
|
4
|
+
|
|
5
|
+
[**Documentation**](https://infra.explita.ng/docs/tunnel/plugin) • [**Tunnel Server**](https://github.com/explita/tunnel-server) • [**Explita Infra**](https://infra.explita.ng)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## ⚡ Features
|
|
10
|
+
|
|
11
|
+
- **Developer Authentication**: Passwordless 6-digit email OTP login (`POST /_api/token/request-otp` and `verify-otp`).
|
|
12
|
+
- **Instant Token Issuance**: Zero-friction token issuance for headless servers, CI/CD, and Explita Deploy (`POST /_api/token/issue`).
|
|
13
|
+
- **Token Management**: Persistent developer accounts and API tokens stored in PostgreSQL via Prisma with Redis caching.
|
|
14
|
+
- **Cluster Telemetry**: High-level throughput, request counters, and active connection metrics (`GET /_api/stats`) with zero payload logging.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## 🚀 Quick Setup
|
|
19
|
+
|
|
20
|
+
### 1. Installation
|
|
21
|
+
|
|
22
|
+
In your tunnel gateway project:
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
pnpm add @explita/tunnel-server-plugin
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
### 2. Enable in `tunnel.config.js`
|
|
29
|
+
|
|
30
|
+
Copy the configuration template into your gateway:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
cp tunnel.config.example.js tunnel.config.js
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### 3. Sync Database Schema
|
|
37
|
+
|
|
38
|
+
Set `DATABASE_URL` in your `.env`, then apply the bundled Prisma schema:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
pnpm db:push
|
|
42
|
+
|
|
43
|
+
# Or without installing dependencies locally:
|
|
44
|
+
npx @explita/tunnel-server-plugin db:push
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 📖 Documentation
|
|
50
|
+
|
|
51
|
+
Full architectural breakdowns, endpoint schemas, SMTP options, and telemetry configurations live on our official docs site:
|
|
52
|
+
|
|
53
|
+
👉 **[infra.explita.ng/docs/tunnel/plugin](https://infra.explita.ng/docs/tunnel/plugin)**
|
|
54
|
+
|
|
55
|
+
- [Self-Hosting Guide](https://infra.explita.ng/docs/tunnel/setup)
|
|
56
|
+
- [Security & Zero-Knowledge Cryptography](https://infra.explita.ng/docs/tunnel/security)
|
|
57
|
+
- [Explita Tunnel Overview](https://infra.explita.ng/docs/tunnel)
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 📄 License
|
|
62
|
+
|
|
63
|
+
MIT © [Explita](https://explita.ng)
|
|
2
64
|
|
|
3
|
-
This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import "@explita/env-loader/auto";
|
|
3
|
+
import { spawn } from "node:child_process";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import fs from "node:fs";
|
|
7
|
+
import { createRequire } from "node:module";
|
|
8
|
+
|
|
9
|
+
const require = createRequire(import.meta.url);
|
|
10
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
|
|
12
|
+
const schemaPath = path.resolve(__dirname, "../prisma/schema.prisma");
|
|
13
|
+
|
|
14
|
+
if (!fs.existsSync(schemaPath)) {
|
|
15
|
+
console.error(`❌ Error: schema.prisma not found at expected path: ${schemaPath}`);
|
|
16
|
+
process.exit(1);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// Resolve prisma CLI binary
|
|
20
|
+
let prismaCliPath;
|
|
21
|
+
try {
|
|
22
|
+
const prismaPkgPath = require.resolve("prisma/package.json");
|
|
23
|
+
const prismaPkg = JSON.parse(fs.readFileSync(prismaPkgPath, "utf8"));
|
|
24
|
+
const binRelative = typeof prismaPkg.bin === "string" ? prismaPkg.bin : prismaPkg.bin?.prisma;
|
|
25
|
+
prismaCliPath = path.resolve(path.dirname(prismaPkgPath), binRelative);
|
|
26
|
+
} catch {
|
|
27
|
+
// If resolution fails, fallback to npx prisma in path
|
|
28
|
+
prismaCliPath = null;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
const args = process.argv.slice(2);
|
|
32
|
+
const first = args[0];
|
|
33
|
+
const second = args[1];
|
|
34
|
+
|
|
35
|
+
const isHelp = !first || first === "--help" || first === "-h" || first === "help";
|
|
36
|
+
|
|
37
|
+
if (isHelp) {
|
|
38
|
+
console.log(`
|
|
39
|
+
Explita Tunnel Plugin CLI
|
|
40
|
+
|
|
41
|
+
Usage:
|
|
42
|
+
npx @explita/tunnel-server-plugin <command> [options]
|
|
43
|
+
tunnel-plugin <command> [options]
|
|
44
|
+
|
|
45
|
+
Commands:
|
|
46
|
+
db push, db:push Push the bundled Prisma schema to the database
|
|
47
|
+
|
|
48
|
+
Options:
|
|
49
|
+
--accept-data-loss Ignore data loss warnings
|
|
50
|
+
--force-reset Force a reset of the database before push
|
|
51
|
+
-h, --help Show this help message
|
|
52
|
+
`);
|
|
53
|
+
process.exit(0);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const isDbPush =
|
|
57
|
+
(first === "db" && second === "push") ||
|
|
58
|
+
first === "db:push" ||
|
|
59
|
+
first === "push";
|
|
60
|
+
|
|
61
|
+
if (isDbPush) {
|
|
62
|
+
const extraArgs =
|
|
63
|
+
first === "db" && second === "push"
|
|
64
|
+
? args.slice(2)
|
|
65
|
+
: args.slice(1);
|
|
66
|
+
|
|
67
|
+
const hasHelpFlag = extraArgs.some((arg) => arg === "-h" || arg === "--help");
|
|
68
|
+
const dbUrl = process.env.DATABASE_URL;
|
|
69
|
+
|
|
70
|
+
if (!hasHelpFlag && !dbUrl) {
|
|
71
|
+
console.error("\n❌ Error: DATABASE_URL is required to push database schema.");
|
|
72
|
+
console.error("Please define DATABASE_URL in your .env file or environment.\n");
|
|
73
|
+
process.exit(1);
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
console.log("🚀 Pushing Explita Tunnel schema to database...\n");
|
|
77
|
+
|
|
78
|
+
const runner = prismaCliPath ? process.execPath : "npx";
|
|
79
|
+
const runnerArgs = [
|
|
80
|
+
...(prismaCliPath ? [prismaCliPath] : ["prisma"]),
|
|
81
|
+
"db",
|
|
82
|
+
"push",
|
|
83
|
+
`--schema=${schemaPath}`,
|
|
84
|
+
...(dbUrl ? [`--url=${dbUrl}`] : []),
|
|
85
|
+
...extraArgs.filter((arg) => !arg.startsWith("--url")),
|
|
86
|
+
];
|
|
87
|
+
|
|
88
|
+
const child = spawn(runner, runnerArgs, {
|
|
89
|
+
stdio: "inherit",
|
|
90
|
+
env: process.env,
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
child.on("exit", (code) => {
|
|
94
|
+
process.exit(code ?? 0);
|
|
95
|
+
});
|
|
96
|
+
} else {
|
|
97
|
+
console.error(`Unknown command: ${args.join(" ")}`);
|
|
98
|
+
console.error("Run 'tunnel-plugin --help' for usage.");
|
|
99
|
+
process.exit(1);
|
|
100
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Prisma from './internal/prismaNamespaceBrowser.js';
|
|
2
|
+
export { Prisma };
|
|
3
|
+
export * as $Enums from './enums.js';
|
|
4
|
+
export * from './enums.js';
|
|
5
|
+
/**
|
|
6
|
+
* Model Developer
|
|
7
|
+
*
|
|
8
|
+
*/
|
|
9
|
+
export type Developer = Prisma.DeveloperModel;
|
|
10
|
+
/**
|
|
11
|
+
* Model Token
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
export type Token = Prisma.TokenModel;
|
|
15
|
+
/**
|
|
16
|
+
* Model DailyMetric
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
19
|
+
export type DailyMetric = Prisma.DailyMetricModel;
|
|
20
|
+
/**
|
|
21
|
+
* Model SystemMetric
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
24
|
+
export type SystemMetric = Prisma.SystemMetricModel;
|
|
25
|
+
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/generated/prisma/browser.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AACpC,cAAc,YAAY,CAAC;AAC3B;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAA;AAC7C;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;AACrC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAA;AACjD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
// biome-ignore-all lint: generated file
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
/*
|
|
6
|
+
* This file should be your main import to use Prisma-related types and utilities in a browser.
|
|
7
|
+
* Use it to get access to models, enums, and input types.
|
|
8
|
+
*
|
|
9
|
+
* This file does not contain a `PrismaClient` class, nor several other helpers that are intended as server-side only.
|
|
10
|
+
* See `client.ts` for the standard, server-side entry point.
|
|
11
|
+
*
|
|
12
|
+
* 🟢 You can import this file directly.
|
|
13
|
+
*/
|
|
14
|
+
import * as Prisma from './internal/prismaNamespaceBrowser.js';
|
|
15
|
+
export { Prisma };
|
|
16
|
+
export * as $Enums from './enums.js';
|
|
17
|
+
export * from './enums.js';
|
|
18
|
+
//# sourceMappingURL=browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/generated/prisma/browser.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,oBAAoB;AACpB,wCAAwC;AACxC,eAAe;AACf;;;;;;;;GAQG;AAEH,OAAO,KAAK,MAAM,MAAM,sCAAsC,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,CAAA;AACjB,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AACpC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as runtime from "@prisma/client/runtime/client";
|
|
2
|
+
import * as $Class from "./internal/class.js";
|
|
3
|
+
import * as Prisma from "./internal/prismaNamespace.js";
|
|
4
|
+
export * as $Enums from './enums.js';
|
|
5
|
+
export * from "./enums.js";
|
|
6
|
+
/**
|
|
7
|
+
* ## Prisma Client
|
|
8
|
+
*
|
|
9
|
+
* Type-safe database client for TypeScript
|
|
10
|
+
* @example
|
|
11
|
+
* ```
|
|
12
|
+
* const prisma = new PrismaClient({
|
|
13
|
+
* adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
14
|
+
* })
|
|
15
|
+
* // Fetch zero or more Developers
|
|
16
|
+
* const developers = await prisma.developer.findMany()
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Read more in our [docs](https://pris.ly/d/client).
|
|
20
|
+
*/
|
|
21
|
+
export declare const PrismaClient: $Class.PrismaClientConstructor;
|
|
22
|
+
export type PrismaClient<LogOpts extends Prisma.LogLevel = never, OmitOpts extends Prisma.PrismaClientOptions["omit"] = Prisma.PrismaClientOptions["omit"], ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = $Class.PrismaClient<LogOpts, OmitOpts, ExtArgs>;
|
|
23
|
+
export { Prisma };
|
|
24
|
+
/**
|
|
25
|
+
* Model Developer
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
28
|
+
export type Developer = Prisma.DeveloperModel;
|
|
29
|
+
/**
|
|
30
|
+
* Model Token
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
33
|
+
export type Token = Prisma.TokenModel;
|
|
34
|
+
/**
|
|
35
|
+
* Model DailyMetric
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
38
|
+
export type DailyMetric = Prisma.DailyMetricModel;
|
|
39
|
+
/**
|
|
40
|
+
* Model SystemMetric
|
|
41
|
+
*
|
|
42
|
+
*/
|
|
43
|
+
export type SystemMetric = Prisma.SystemMetricModel;
|
|
44
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/generated/prisma/client.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,OAAO,MAAM,+BAA+B,CAAA;AAExD,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,gCAAgC,CAAA;AACzD,MAAM,MAAM,YAAY,CAAC,OAAO,SAAS,MAAM,CAAC,QAAQ,GAAG,KAAK,EAAE,QAAQ,SAAS,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,SAAS,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,IAAI,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;AAC3S,OAAO,EAAE,MAAM,EAAE,CAAA;AAEjB;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAA;AAC7C;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAA;AACrC;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAA;AACjD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
|
|
2
|
+
/* eslint-disable */
|
|
3
|
+
// biome-ignore-all lint: generated file
|
|
4
|
+
// @ts-nocheck
|
|
5
|
+
/*
|
|
6
|
+
* This file should be your main import to use Prisma. Through it you get access to all the models, enums, and input types.
|
|
7
|
+
* If you're looking for something you can import in the client-side of your application, please refer to the `browser.ts` file instead.
|
|
8
|
+
*
|
|
9
|
+
* 🟢 You can import this file directly.
|
|
10
|
+
*/
|
|
11
|
+
import * as path from 'node:path';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
globalThis['__dirname'] = path.dirname(fileURLToPath(import.meta.url));
|
|
14
|
+
import * as $Class from "./internal/class.js";
|
|
15
|
+
import * as Prisma from "./internal/prismaNamespace.js";
|
|
16
|
+
export * as $Enums from './enums.js';
|
|
17
|
+
export * from "./enums.js";
|
|
18
|
+
/**
|
|
19
|
+
* ## Prisma Client
|
|
20
|
+
*
|
|
21
|
+
* Type-safe database client for TypeScript
|
|
22
|
+
* @example
|
|
23
|
+
* ```
|
|
24
|
+
* const prisma = new PrismaClient({
|
|
25
|
+
* adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
|
26
|
+
* })
|
|
27
|
+
* // Fetch zero or more Developers
|
|
28
|
+
* const developers = await prisma.developer.findMany()
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* Read more in our [docs](https://pris.ly/d/client).
|
|
32
|
+
*/
|
|
33
|
+
export const PrismaClient = $Class.getPrismaClientClass();
|
|
34
|
+
export { Prisma };
|
|
35
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/generated/prisma/client.ts"],"names":[],"mappings":"AACA,qEAAqE;AACrE,oBAAoB;AACpB,wCAAwC;AACxC,eAAe;AACf;;;;;GAKG;AAGH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,UAAU,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;AAItE,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAA;AAEvD,OAAO,KAAK,MAAM,MAAM,YAAY,CAAA;AACpC,cAAc,YAAY,CAAA;AAC1B;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAA;AAEzD,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
import type * as Prisma from "./internal/prismaNamespace.js";
|
|
2
|
+
export type StringFilter<$PrismaModel = never> = {
|
|
3
|
+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
4
|
+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
5
|
+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
6
|
+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
7
|
+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
8
|
+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
9
|
+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
10
|
+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
11
|
+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
12
|
+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
13
|
+
mode?: Prisma.QueryMode;
|
|
14
|
+
not?: Prisma.NestedStringFilter<$PrismaModel> | string;
|
|
15
|
+
};
|
|
16
|
+
export type DateTimeFilter<$PrismaModel = never> = {
|
|
17
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
18
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
19
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
20
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
21
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
22
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
23
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
24
|
+
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string;
|
|
25
|
+
};
|
|
26
|
+
export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
|
27
|
+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
28
|
+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
29
|
+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
30
|
+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
31
|
+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
32
|
+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
33
|
+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
34
|
+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
35
|
+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
36
|
+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
37
|
+
mode?: Prisma.QueryMode;
|
|
38
|
+
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string;
|
|
39
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
40
|
+
_min?: Prisma.NestedStringFilter<$PrismaModel>;
|
|
41
|
+
_max?: Prisma.NestedStringFilter<$PrismaModel>;
|
|
42
|
+
};
|
|
43
|
+
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
|
44
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
45
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
46
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
47
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
48
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
49
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
50
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
51
|
+
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string;
|
|
52
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
53
|
+
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>;
|
|
54
|
+
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>;
|
|
55
|
+
};
|
|
56
|
+
export type DateTimeNullableFilter<$PrismaModel = never> = {
|
|
57
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null;
|
|
58
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
59
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
60
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
61
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
62
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
63
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
64
|
+
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null;
|
|
65
|
+
};
|
|
66
|
+
export type SortOrderInput = {
|
|
67
|
+
sort: Prisma.SortOrder;
|
|
68
|
+
nulls?: Prisma.NullsOrder;
|
|
69
|
+
};
|
|
70
|
+
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|
71
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null;
|
|
72
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
73
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
74
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
75
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
76
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
77
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
78
|
+
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null;
|
|
79
|
+
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>;
|
|
80
|
+
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>;
|
|
81
|
+
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>;
|
|
82
|
+
};
|
|
83
|
+
export type IntFilter<$PrismaModel = never> = {
|
|
84
|
+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
85
|
+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
86
|
+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
87
|
+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
88
|
+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
89
|
+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
90
|
+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
91
|
+
not?: Prisma.NestedIntFilter<$PrismaModel> | number;
|
|
92
|
+
};
|
|
93
|
+
export type BigIntFilter<$PrismaModel = never> = {
|
|
94
|
+
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
95
|
+
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
96
|
+
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
97
|
+
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
98
|
+
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
99
|
+
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
100
|
+
gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
101
|
+
not?: Prisma.NestedBigIntFilter<$PrismaModel> | bigint | number;
|
|
102
|
+
};
|
|
103
|
+
export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
|
104
|
+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
105
|
+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
106
|
+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
107
|
+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
108
|
+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
109
|
+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
110
|
+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
111
|
+
not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number;
|
|
112
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
113
|
+
_avg?: Prisma.NestedFloatFilter<$PrismaModel>;
|
|
114
|
+
_sum?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
115
|
+
_min?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
116
|
+
_max?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
117
|
+
};
|
|
118
|
+
export type BigIntWithAggregatesFilter<$PrismaModel = never> = {
|
|
119
|
+
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
120
|
+
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
121
|
+
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
122
|
+
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
123
|
+
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
124
|
+
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
125
|
+
gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
126
|
+
not?: Prisma.NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number;
|
|
127
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
128
|
+
_avg?: Prisma.NestedFloatFilter<$PrismaModel>;
|
|
129
|
+
_sum?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
130
|
+
_min?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
131
|
+
_max?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
132
|
+
};
|
|
133
|
+
export type NestedStringFilter<$PrismaModel = never> = {
|
|
134
|
+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
135
|
+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
136
|
+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
137
|
+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
138
|
+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
139
|
+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
140
|
+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
141
|
+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
142
|
+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
143
|
+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
144
|
+
not?: Prisma.NestedStringFilter<$PrismaModel> | string;
|
|
145
|
+
};
|
|
146
|
+
export type NestedDateTimeFilter<$PrismaModel = never> = {
|
|
147
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
148
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
149
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
150
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
151
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
152
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
153
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
154
|
+
not?: Prisma.NestedDateTimeFilter<$PrismaModel> | Date | string;
|
|
155
|
+
};
|
|
156
|
+
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
|
157
|
+
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
158
|
+
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
159
|
+
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>;
|
|
160
|
+
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
161
|
+
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
162
|
+
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
163
|
+
gte?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
164
|
+
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
165
|
+
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
166
|
+
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>;
|
|
167
|
+
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string;
|
|
168
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
169
|
+
_min?: Prisma.NestedStringFilter<$PrismaModel>;
|
|
170
|
+
_max?: Prisma.NestedStringFilter<$PrismaModel>;
|
|
171
|
+
};
|
|
172
|
+
export type NestedIntFilter<$PrismaModel = never> = {
|
|
173
|
+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
174
|
+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
175
|
+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
176
|
+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
177
|
+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
178
|
+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
179
|
+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
180
|
+
not?: Prisma.NestedIntFilter<$PrismaModel> | number;
|
|
181
|
+
};
|
|
182
|
+
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
|
183
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
184
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
185
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>;
|
|
186
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
187
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
188
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
189
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
190
|
+
not?: Prisma.NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string;
|
|
191
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
192
|
+
_min?: Prisma.NestedDateTimeFilter<$PrismaModel>;
|
|
193
|
+
_max?: Prisma.NestedDateTimeFilter<$PrismaModel>;
|
|
194
|
+
};
|
|
195
|
+
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
|
|
196
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null;
|
|
197
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
198
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
199
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
200
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
201
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
202
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
203
|
+
not?: Prisma.NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null;
|
|
204
|
+
};
|
|
205
|
+
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|
206
|
+
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null;
|
|
207
|
+
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
208
|
+
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null;
|
|
209
|
+
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
210
|
+
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
211
|
+
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
212
|
+
gte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>;
|
|
213
|
+
not?: Prisma.NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null;
|
|
214
|
+
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>;
|
|
215
|
+
_min?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>;
|
|
216
|
+
_max?: Prisma.NestedDateTimeNullableFilter<$PrismaModel>;
|
|
217
|
+
};
|
|
218
|
+
export type NestedIntNullableFilter<$PrismaModel = never> = {
|
|
219
|
+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null;
|
|
220
|
+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null;
|
|
221
|
+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null;
|
|
222
|
+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
223
|
+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
224
|
+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
225
|
+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
226
|
+
not?: Prisma.NestedIntNullableFilter<$PrismaModel> | number | null;
|
|
227
|
+
};
|
|
228
|
+
export type NestedBigIntFilter<$PrismaModel = never> = {
|
|
229
|
+
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
230
|
+
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
231
|
+
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
232
|
+
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
233
|
+
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
234
|
+
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
235
|
+
gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
236
|
+
not?: Prisma.NestedBigIntFilter<$PrismaModel> | bigint | number;
|
|
237
|
+
};
|
|
238
|
+
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
|
239
|
+
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
240
|
+
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
241
|
+
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>;
|
|
242
|
+
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
243
|
+
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
244
|
+
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
245
|
+
gte?: number | Prisma.IntFieldRefInput<$PrismaModel>;
|
|
246
|
+
not?: Prisma.NestedIntWithAggregatesFilter<$PrismaModel> | number;
|
|
247
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
248
|
+
_avg?: Prisma.NestedFloatFilter<$PrismaModel>;
|
|
249
|
+
_sum?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
250
|
+
_min?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
251
|
+
_max?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
252
|
+
};
|
|
253
|
+
export type NestedFloatFilter<$PrismaModel = never> = {
|
|
254
|
+
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
|
|
255
|
+
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>;
|
|
256
|
+
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>;
|
|
257
|
+
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
|
|
258
|
+
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
|
|
259
|
+
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
|
|
260
|
+
gte?: number | Prisma.FloatFieldRefInput<$PrismaModel>;
|
|
261
|
+
not?: Prisma.NestedFloatFilter<$PrismaModel> | number;
|
|
262
|
+
};
|
|
263
|
+
export type NestedBigIntWithAggregatesFilter<$PrismaModel = never> = {
|
|
264
|
+
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
265
|
+
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
266
|
+
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>;
|
|
267
|
+
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
268
|
+
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
269
|
+
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
270
|
+
gte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>;
|
|
271
|
+
not?: Prisma.NestedBigIntWithAggregatesFilter<$PrismaModel> | bigint | number;
|
|
272
|
+
_count?: Prisma.NestedIntFilter<$PrismaModel>;
|
|
273
|
+
_avg?: Prisma.NestedFloatFilter<$PrismaModel>;
|
|
274
|
+
_sum?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
275
|
+
_min?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
276
|
+
_max?: Prisma.NestedBigIntFilter<$PrismaModel>;
|
|
277
|
+
};
|
|
278
|
+
//# sourceMappingURL=commonInputTypes.d.ts.map
|