Merge branch 'dev-0.2.1' into dev-0.2
# Conflicts: # generated/prisma/internal/class.ts # generated/prisma/internal/prismaNamespace.ts # generated/prisma/internal/prismaNamespaceBrowser.ts # generated/prisma/models/BoardColumn.ts # generated/prisma/models/Project.ts # generated/prisma/models/ProjectMember.ts # generated/prisma/models/Task.ts # generated/prisma/models/TaskMember.ts # generated/prisma/models/TaskTag.ts # generated/prisma/models/User.ts # server/routes/projects.js # server/routes/tasks.js # src/api/task.js
This commit is contained in:
@@ -9,3 +9,4 @@ src-tauri
|
|||||||
docs
|
docs
|
||||||
*.log
|
*.log
|
||||||
readme
|
readme
|
||||||
|
deploy
|
||||||
|
|||||||
@@ -50,3 +50,7 @@ server/mihome/.cache/
|
|||||||
|
|
||||||
# 本地 pnpm 安装产物 (项目使用 package-lock.json)
|
# 本地 pnpm 安装产物 (项目使用 package-lock.json)
|
||||||
/.pnpm-store
|
/.pnpm-store
|
||||||
|
|
||||||
|
# 0.2.1 验证部署: 服务器本地数据卷与密钥 (绝不入库)
|
||||||
|
deploy/0.2.1/data/
|
||||||
|
deploy/0.2.1/.env
|
||||||
|
|||||||
+4
-4
@@ -50,9 +50,9 @@ WORKDIR /app
|
|||||||
# 阿里源加速
|
# 阿里源加速
|
||||||
RUN npm config set registry https://registry.npmmirror.com
|
RUN npm config set registry https://registry.npmmirror.com
|
||||||
|
|
||||||
# 只装运行时依赖
|
# 只装运行时依赖 (better-sqlite3 是 @powersync/node 的 devOptional peer, 需同时 omit optional 才能跳过)
|
||||||
COPY package*.json ./
|
COPY package*.json ./
|
||||||
RUN --mount=type=cache,target=/root/.npm npm ci --omit=dev
|
RUN --mount=type=cache,target=/root/.npm npm ci --omit=dev --omit=optional
|
||||||
|
|
||||||
# 拷贝构建产物
|
# 拷贝构建产物
|
||||||
COPY --from=builder /app/dist ./dist
|
COPY --from=builder /app/dist ./dist
|
||||||
@@ -72,9 +72,9 @@ ENV OTA_PACKAGE_DIR=/app/ota-package
|
|||||||
# 生产为 http 明文 (无 https), 客户端 tauri.conf.json 的 hotswap.require_https 已设为 false 放行 http
|
# 生产为 http 明文 (无 https), 客户端 tauri.conf.json 的 hotswap.require_https 已设为 false 放行 http
|
||||||
ENV OTA_PUBLIC_BASE=http://bh.vps.honor3.com:3001
|
ENV OTA_PUBLIC_BASE=http://bh.vps.honor3.com:3001
|
||||||
|
|
||||||
# 健康检查
|
# 健康检查 (端口跟随 PORT 环境变量, 0.2.1 部署为 13001)
|
||||||
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
||||||
CMD wget -qO- http://127.0.0.1:3001/api/health || exit 1
|
CMD wget -qO- http://127.0.0.1:${PORT:-3001}/api/health || exit 1
|
||||||
|
|
||||||
EXPOSE 3001
|
EXPOSE 3001
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
# 复制为 .env (服务器上 chmod 600, 已 gitignore)。
|
||||||
|
# POWERSYNC_JWT_KEY_B64 = base64url(POWERSYNC_JWT_SECRET 的 UTF-8 字节)
|
||||||
|
# 生成: printf %s "$POWERSYNC_JWT_SECRET" | openssl base64 -A | tr '+/' '-_' | tr -d '='
|
||||||
|
|
||||||
|
PG_PASSWORD=change-me
|
||||||
|
PS_STORAGE_PASSWORD=change-me
|
||||||
|
JWT_SECRET_021=change-me
|
||||||
|
POWERSYNC_JWT_SECRET=change-me
|
||||||
|
POWERSYNC_JWT_KEY_B64=change-me
|
||||||
|
POWERSYNC_URL=https://bh.vps.honor3.com:13443
|
||||||
|
OTA_PUBLIC_BASE=http://bh.vps.honor3.com:13001
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
# 0.2.1 独立验证部署 (baihu /app/iboard-0.2.1)
|
||||||
|
|
||||||
|
与现网 `/app/iboard`(3001/宿主 MySQL) 完全隔离:本栈使用独立 PG 容器、端口 13443/13001/13002,不写原库。
|
||||||
|
|
||||||
|
**浏览器入口: `https://bh.vps.honor3.com:13443`**(自签证书,首次访问需在浏览器"高级→继续访问"接受一次;PowerSync 网页端必须运行在安全上下文,http://13001 入口仅供接口调试,任务模块会报 Navigator locks 错误)。
|
||||||
|
正式启用需替换受信证书:把 `bh.pem/bh.key` 换成受信证书后 `docker compose restart tls-front`(例如 Let's Encrypt DNS-01,80/443 已被 gateway 占用无法 HTTP-01)。
|
||||||
|
|
||||||
|
## 栈
|
||||||
|
|
||||||
|
| 服务 | 说明 |
|
||||||
|
| --- | --- |
|
||||||
|
| `pg` | postgres:16-alpine,`wal_level=logical`(供 PowerSync 逻辑复制),数据在 `./data/pg`,**不对外暴露端口** |
|
||||||
|
| `app` | 本仓库 Dockerfile 构建,13001 对外;启动时先 `prisma migrate deploy`;`DISABLE_CRON=1` 关闭定时任务 |
|
||||||
|
| `powersync` | journeyapps/powersync-service,13002 对外;源库=pg,bucket storage=同实例 PG 的 powersync schema |
|
||||||
|
|
||||||
|
## 首次部署
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 服务器上 (源码已上传到 /app/iboard-0.2.1)
|
||||||
|
cd /app/iboard-0.2.1/deploy/0.2.1
|
||||||
|
|
||||||
|
# 1. 生成 .env (参照 .env.example; POWERSYNC_JWT_KEY_B64 由 secret 派生)
|
||||||
|
umask 077
|
||||||
|
PG_PASSWORD=$(openssl rand -hex 16)
|
||||||
|
PS_STORAGE_PASSWORD=$(openssl rand -hex 16)
|
||||||
|
JWT_SECRET_021=$(openssl rand -hex 32)
|
||||||
|
POWERSYNC_JWT_SECRET=$(openssl rand -hex 32)
|
||||||
|
POWERSYNC_JWT_KEY_B64=$(printf %s "$POWERSYNC_JWT_SECRET" | openssl base64 -A | tr '+/' '-_' | tr -d '=')
|
||||||
|
cat > .env <<EOF
|
||||||
|
PG_PASSWORD=$PG_PASSWORD
|
||||||
|
PS_STORAGE_PASSWORD=$PS_STORAGE_PASSWORD
|
||||||
|
JWT_SECRET_021=$JWT_SECRET_021
|
||||||
|
POWERSYNC_JWT_SECRET=$POWERSYNC_JWT_SECRET
|
||||||
|
POWERSYNC_JWT_KEY_B64=$POWERSYNC_JWT_KEY_B64
|
||||||
|
POWERSYNC_URL=http://bh.vps.honor3.com:13002
|
||||||
|
OTA_PUBLIC_BASE=http://bh.vps.honor3.com:13001
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# 2. 构建并启动
|
||||||
|
docker compose build app
|
||||||
|
docker compose up -d
|
||||||
|
|
||||||
|
# 3. 验证
|
||||||
|
docker compose ps
|
||||||
|
curl -s http://127.0.0.1:13001/api/health
|
||||||
|
docker compose logs powersync --tail 50 # 应看到连接源库/建 publication/sync config 部署成功
|
||||||
|
```
|
||||||
|
|
||||||
|
## 日常更新
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /app/iboard-0.2.1
|
||||||
|
git archive 方式重新上传源码 tar 后解包覆盖 (data/.env 不受影响)
|
||||||
|
cd deploy/0.2.1 && docker compose build app && docker compose up -d app
|
||||||
|
```
|
||||||
|
|
||||||
|
## 注意
|
||||||
|
|
||||||
|
- `./data/pg` 为 0.2.1 独立数据卷;`./.env` 为密钥,两者均已 gitignore,更新源码时不会覆盖 `.env`(tar 解包不产生它)。
|
||||||
|
- PowerSync 的 publication / replication slot 由 service 自动管理(账号 iboard021 为容器内 superuser)。
|
||||||
|
- 同步规则改动:编辑 `powersync/sync-config.yaml` 后 `docker compose restart powersync`。
|
||||||
@@ -0,0 +1,84 @@
|
|||||||
|
name: iboard-021
|
||||||
|
|
||||||
|
# 0.2.1 独立验证栈: PG (逻辑复制) + PowerSync + App, 与现网 /app/iboard 完全隔离
|
||||||
|
# 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md; 端口 13001 (app) / 13002 (powersync), PG 不对外
|
||||||
|
|
||||||
|
services:
|
||||||
|
pg:
|
||||||
|
image: postgres:16-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
command: ["postgres", "-c", "wal_level=logical"]
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: iboard021
|
||||||
|
POSTGRES_PASSWORD: ${PG_PASSWORD:?PG_PASSWORD missing}
|
||||||
|
POSTGRES_DB: iboard021
|
||||||
|
# initdb 脚本用: 创建 powersync bucket storage 用户
|
||||||
|
PS_STORAGE_PASSWORD: ${PS_STORAGE_PASSWORD:?PS_STORAGE_PASSWORD missing}
|
||||||
|
volumes:
|
||||||
|
- ./data/pg:/var/lib/postgresql/data
|
||||||
|
- ./initdb:/docker-entrypoint-initdb.d:ro
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -U iboard021 -d iboard021"]
|
||||||
|
interval: 5s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
|
||||||
|
app:
|
||||||
|
build:
|
||||||
|
context: ../..
|
||||||
|
dockerfile: Dockerfile
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
pg:
|
||||||
|
condition: service_healthy
|
||||||
|
environment:
|
||||||
|
DATABASE_URL: postgresql://iboard021:${PG_PASSWORD}@pg:5432/iboard021
|
||||||
|
PORT: "13001"
|
||||||
|
JWT_SECRET: ${JWT_SECRET_021:?JWT_SECRET_021 missing}
|
||||||
|
POWERSYNC_JWT_SECRET: ${POWERSYNC_JWT_SECRET:?POWERSYNC_JWT_SECRET missing}
|
||||||
|
POWERSYNC_URL: ${POWERSYNC_URL:-http://bh.vps.honor3.com:13002}
|
||||||
|
OTA_PUBLIC_BASE: ${OTA_PUBLIC_BASE:-http://bh.vps.honor3.com:13001}
|
||||||
|
# 0.2.1 验证部署关闭定时任务 (新闻/油价/米家等), 避免重复外呼
|
||||||
|
DISABLE_CRON: "1"
|
||||||
|
command: ["sh", "-c", "npx prisma migrate deploy && node --experimental-strip-types --no-warnings server/index.js"]
|
||||||
|
ports:
|
||||||
|
- "13001:13001"
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:13001/api/health || exit 1"]
|
||||||
|
interval: 30s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
start_period: 20s
|
||||||
|
|
||||||
|
# TLS 前置 (自签证书): PowerSync 网页端必须在安全上下文运行 (navigator.locks),
|
||||||
|
# 因此浏览器入口统一走 https://bh.vps.honor3.com:13443 (证书接受一次即可, app+sync 同源同证书)
|
||||||
|
tls-front:
|
||||||
|
image: nginx:alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
- app
|
||||||
|
- powersync
|
||||||
|
volumes:
|
||||||
|
- ./tls/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
||||||
|
- ./data/tls:/etc/nginx/certs:ro
|
||||||
|
ports:
|
||||||
|
- "13443:443"
|
||||||
|
|
||||||
|
powersync:
|
||||||
|
image: journeyapps/powersync-service:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
pg:
|
||||||
|
condition: service_healthy
|
||||||
|
command: ["start", "-r", "unified"]
|
||||||
|
volumes:
|
||||||
|
- ./powersync/service.yaml:/config/service.yaml:ro
|
||||||
|
- ./powersync/sync-config.yaml:/config/sync-config.yaml:ro
|
||||||
|
environment:
|
||||||
|
POWERSYNC_CONFIG_PATH: /config/service.yaml
|
||||||
|
# service.yaml 内 !env PS_* 引用 (整值替换; URI 在此组装)
|
||||||
|
PS_SOURCE_URI: postgresql://iboard021:${PG_PASSWORD}@pg:5432/iboard021?sslmode=disable
|
||||||
|
PS_STORAGE_URI: postgresql://powersync_storage:${PS_STORAGE_PASSWORD}@pg:5432/iboard021?sslmode=disable
|
||||||
|
PS_JWT_KEY_B64: ${POWERSYNC_JWT_KEY_B64:?POWERSYNC_JWT_KEY_B64 missing}
|
||||||
|
ports:
|
||||||
|
- "13002:8080"
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 一次性 ETL: 清空 0.2.1 库 -> 从现网 MariaDB 只读快照导入
|
||||||
|
# 现网连接串从 iboard 容器环境变量读取 (不回显), 源库仅 SELECT
|
||||||
|
set -e
|
||||||
|
cd /app/iboard-0.2.1/deploy/0.2.1
|
||||||
|
SRC=$(docker inspect iboard --format '{{range .Config.Env}}{{println .}}{{end}}' | grep '^DATABASE_URL=' | cut -d= -f2-)
|
||||||
|
[ -n "$SRC" ] || { echo '未取到现网 DATABASE_URL'; exit 1; }
|
||||||
|
|
||||||
|
echo '--- truncate 0.2.1 库 ---'
|
||||||
|
docker compose exec -T pg psql -U iboard021 -d iboard021 -c "TRUNCATE TABLE \"User\",\"Project\",\"ProjectMember\",\"BoardColumn\",\"Task\",\"TaskMember\",\"TaskTag\",\"Habit\",\"CheckIn\",\"CheckList\",\"CheckListItem\",\"CheckListTemplate\",\"Article\",\"Strategy\",\"Indicator\",\"IndicatorPoint\",\"News\",\"Alert\",\"ServerNode\",\"ServerNodeHistory\",\"ServiceCheck\",\"Econ_SowInventory\",\"ScraperCache\",\"OilPriceHistory\",\"MihomeAccount\",\"MihomeHome\",\"MihomeDevice\",\"MihomeEnvSample\",\"MihomeEnvHour\" RESTART IDENTITY CASCADE;"
|
||||||
|
|
||||||
|
echo '--- etl run ---'
|
||||||
|
docker compose exec -T -e SRC_DATABASE_URL="$SRC" app node scripts/etl-mariadb-to-pg.mjs
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# 一次性初始化 (仅首次建库时执行): 创建 powersync bucket storage 专用用户
|
||||||
|
# PG >= 14 允许源库与 bucket storage 同实例 (powersync schema 由 service 自建)
|
||||||
|
set -e
|
||||||
|
: "${PS_STORAGE_PASSWORD:?PS_STORAGE_PASSWORD missing}"
|
||||||
|
|
||||||
|
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
|
||||||
|
DO \$\$
|
||||||
|
BEGIN
|
||||||
|
IF NOT EXISTS (SELECT 1 FROM pg_roles WHERE rolname = 'powersync_storage') THEN
|
||||||
|
CREATE USER powersync_storage WITH PASSWORD '$PS_STORAGE_PASSWORD';
|
||||||
|
END IF;
|
||||||
|
END
|
||||||
|
\$\$;
|
||||||
|
GRANT CREATE ON DATABASE $POSTGRES_DB TO powersync_storage;
|
||||||
|
EOSQL
|
||||||
|
|
||||||
|
echo "[initdb] powersync_storage user ready."
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
-- 一次性初始化: PowerSync 逻辑复制所需 publication (服务不自建, 见 PSYNC_S1141)
|
||||||
|
-- 仅发布任务域 + User; 新增同步表时需 ALTER PUBLICATION powersync ADD TABLE ...
|
||||||
|
CREATE PUBLICATION powersync FOR TABLE
|
||||||
|
"Project",
|
||||||
|
"ProjectMember",
|
||||||
|
"BoardColumn",
|
||||||
|
"Task",
|
||||||
|
"TaskMember",
|
||||||
|
"TaskTag",
|
||||||
|
"User";
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# PowerSync Service 主配置 (0.2.1 验证部署)
|
||||||
|
# 参考: https://docs.powersync.com/configuration/powersync-service/self-hosted-instances
|
||||||
|
# 注意: !env 是 YAML 整值标签, 只能整个值替换变量, 不能内嵌在 URI 字符串中;
|
||||||
|
# 完整连接串由 docker-compose 以 PS_* 环境变量注入。
|
||||||
|
|
||||||
|
replication:
|
||||||
|
connections:
|
||||||
|
- type: postgresql
|
||||||
|
# 源库: 本栈 pg 容器 (0.2.1 独立实例), 复制走 iboard021 账号
|
||||||
|
uri: !env PS_SOURCE_URI
|
||||||
|
sslmode: disable
|
||||||
|
|
||||||
|
# bucket storage: 同实例 PG (16 >= 14 允许同库不同 schema, service 自建 powersync schema)
|
||||||
|
storage:
|
||||||
|
type: postgresql
|
||||||
|
uri: !env PS_STORAGE_URI
|
||||||
|
sslmode: disable
|
||||||
|
|
||||||
|
port: 8080
|
||||||
|
|
||||||
|
sync_config:
|
||||||
|
path: /config/sync-config.yaml
|
||||||
|
|
||||||
|
# 客户端鉴权: app 后端 /api/powersync/token 签发 HS256 JWT (aud=powersync)
|
||||||
|
# oct 密钥 k = base64url(POWERSYNC_JWT_SECRET)
|
||||||
|
client_auth:
|
||||||
|
jwks:
|
||||||
|
keys:
|
||||||
|
- kty: oct
|
||||||
|
k: !env PS_JWT_KEY_B64
|
||||||
|
alg: HS256
|
||||||
|
audience:
|
||||||
|
- powersync
|
||||||
|
|
||||||
|
telemetry:
|
||||||
|
disable_telemetry_sharing: true
|
||||||
|
|
||||||
|
system:
|
||||||
|
logging:
|
||||||
|
level: info
|
||||||
|
format: text
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# Sync Streams (edition 3): 任务模块 6 表 + User (展示用)
|
||||||
|
# Sequential ID Mapping (见 docs/V0.2/离线编辑模块/0.2.1实施方案.md §3):
|
||||||
|
# - 客户端主键 = uuid 列 (离线新建行同步回填后 id 稳定); int 自增 id 不下发
|
||||||
|
# - 外键输出 uuid 镜像列, 别名回 projectId/columnId/parentId/taskId (客户端字段名不变)
|
||||||
|
# - 引号保留 PG PascalCase 标识; 可见性按 ProjectMember 过滤
|
||||||
|
|
||||||
|
config:
|
||||||
|
edition: 3
|
||||||
|
|
||||||
|
streams:
|
||||||
|
iboard_users:
|
||||||
|
auto_subscribe: true
|
||||||
|
query: SELECT CAST("id" AS TEXT) AS "id", "name", "email" FROM "User"
|
||||||
|
|
||||||
|
iboard_task_data:
|
||||||
|
auto_subscribe: true
|
||||||
|
with:
|
||||||
|
my_projects: SELECT "projectId" FROM "ProjectMember" WHERE CAST("userId" AS TEXT) = auth.user_id()
|
||||||
|
queries:
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "code", "name", CAST("ownerId" AS TEXT) AS "ownerId", "isPersonal", "archived", "notes", "taskKinds", "icon", "autoArchive", "createdAt", "updatedAt" FROM "Project" WHERE "id" IN my_projects
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "projectUuid" AS "projectId", CAST("userId" AS TEXT) AS "userId", "permission", "createdAt" FROM "ProjectMember" WHERE "projectId" IN my_projects
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "projectUuid" AS "projectId", "name", "sortOrder", "boundStatus", "retention", "createdAt", "updatedAt" FROM "BoardColumn" WHERE "projectId" IN my_projects
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "projectUuid" AS "projectId", "columnUuid" AS "columnId", "parentUuid" AS "parentId", "title", "description", "kind", "markDate", "status", "doneAt", CAST("assigneeId" AS TEXT) AS "assigneeId", CAST("creatorId" AS TEXT) AS "creatorId", "extras", "sortOrder", "number", "archived", "archivedAt", "archiveSource", "createdAt", "updatedAt" FROM "Task" WHERE "projectId" IN my_projects
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "taskUuid" AS "taskId", CAST("userId" AS TEXT) AS "userId" FROM "TaskMember" WHERE "taskId" IN (SELECT "id" FROM "Task" WHERE "projectId" IN my_projects)
|
||||||
|
- SELECT "uuid" AS "id", "uuid", "taskUuid" AS "taskId", "name" FROM "TaskTag" WHERE "taskId" IN (SELECT "id" FROM "Task" WHERE "projectId" IN my_projects)
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
# 0.2.1 TLS 前置: 单端口 13443, 按路径分流 (自签证书, 见 README)
|
||||||
|
# PowerSync 页面必须在安全上下文运行 (navigator.locks 仅 HTTPS/localhost), 故 app 与 sync 统一走 TLS
|
||||||
|
server {
|
||||||
|
listen 443 ssl;
|
||||||
|
server_name bh.vps.honor3.com;
|
||||||
|
|
||||||
|
ssl_certificate /etc/nginx/certs/bh.pem;
|
||||||
|
ssl_certificate_key /etc/nginx/certs/bh.key;
|
||||||
|
|
||||||
|
# PowerSync (HTTP 流式 + WebSocket 兜底)
|
||||||
|
location /sync/ {
|
||||||
|
proxy_pass http://powersync:8080;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Connection '';
|
||||||
|
proxy_buffering off;
|
||||||
|
proxy_read_timeout 3600s;
|
||||||
|
}
|
||||||
|
location /socket/ {
|
||||||
|
proxy_pass http://powersync:8080;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_read_timeout 3600s;
|
||||||
|
}
|
||||||
|
location /health {
|
||||||
|
proxy_pass http://powersync:8080;
|
||||||
|
}
|
||||||
|
|
||||||
|
# 应用 (静态前端 + API)
|
||||||
|
location / {
|
||||||
|
proxy_pass http://app:13001;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection "upgrade";
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
# 0.2.1 实施方案:PostgreSQL 迁移 + 任务模块离线编辑 (PowerSync)
|
||||||
|
|
||||||
|
| 项 | 内容 |
|
||||||
|
| --- | --- |
|
||||||
|
| 分支 | `dev-0.2.1`(worktree `iboard-dev-0.2.1`,独立临时分支,与 master / dev-0.2 隔离) |
|
||||||
|
| 日期 | 2026-10-25 |
|
||||||
|
| 依据 | [PowerSync可行性研究报告](./PowerSync可行性研究报告.md),按其 5.2.2 路线执行 |
|
||||||
|
| 目标 | 在现网应用与数据不受影响的前提下,验证任务模块离线编辑 + 联网后自动双向同步;数据库由 MariaDB 迁移至 PostgreSQL |
|
||||||
|
|
||||||
|
## 1. 已确认决策(2026-10-25 与需求方对齐)
|
||||||
|
|
||||||
|
| 决策点 | 结论 |
|
||||||
|
| --- | --- |
|
||||||
|
| 技术路线 | PowerSync 全链路(自部署 powersync-service) |
|
||||||
|
| 离线范围 | 仅任务模块(Project / ProjectMember / BoardColumn / Task / TaskMember / TaskTag);打卡、清单本阶段不纳入;新闻/指标/监控等时序域仅做普通缓存 |
|
||||||
|
| 客户端 | 先 Web / Windows 外壳(WebView2)跑通全链路;Android 真机后续验证 |
|
||||||
|
| 编号 | 项目短前缀由用户自拟(2~8 位,全局唯一);任务号 = 项目内自增整数,展示 `前缀-序号`;编号由服务端统一分配,离线创建的任务在同步定号前显示临时标识 |
|
||||||
|
| 初始数据 | 从现网 MariaDB 只读快照导出并转换导入新 PG;0.2.1 期间产生的新数据不回写现网 |
|
||||||
|
| 端口 | Web/API 13001、PowerSync WebSocket 13002、PG 仅容器内网(调试绑 127.0.0.1:15432) |
|
||||||
|
| 部署 | 源码上传 baihu `/app/iboard-0.2.1`,服务器上 `docker compose build`;不使用原 CI/CD |
|
||||||
|
| 现网保护 | `/app/iboard`、宿主 3306 MySQL、3001 端口、原 CI/CD 一律不使用(快照导出仅 SELECT) |
|
||||||
|
| 磁盘 | 允许在 baihu 执行 docker 悬空镜像/构建缓存的安全清理(磁盘仅剩 9.9G) |
|
||||||
|
|
||||||
|
## 2. 目标架构
|
||||||
|
|
||||||
|
```
|
||||||
|
[Web / Tauri WebView2]
|
||||||
|
React + @powersync/react
|
||||||
|
本地 WASM SQLite (OPFS 持久化)
|
||||||
|
│ 离线: 直接读写本地库; 写操作进入 upload queue
|
||||||
|
│ 联网: 批量 POST 上行到 Express API (按 uuid 幂等 upsert)
|
||||||
|
▼
|
||||||
|
[iboard-0.2.1 Express :13001] ── Prisma (adapter-pg) ──┐
|
||||||
|
+ /api/powersync/token (为登录用户签发同步 JWT) ▼
|
||||||
|
[PostgreSQL 容器] (wal_level=logical)
|
||||||
|
▲ 逻辑复制 (publication + replication slot)
|
||||||
|
[powersync-service :13002] ── Sync Rules: 任务域 6 表 + User 只读引用, 按 ProjectMember 过滤
|
||||||
|
```
|
||||||
|
|
||||||
|
- 写路径:客户端本地写 → upload queue → 上行 API → Prisma 写 PG → 逻辑复制捕获 → 广播各端;
|
||||||
|
- 读路径:任务模块页面全部改读本地 SQLite(@powersync/react 响应式查询),其余页面维持 axios REST;
|
||||||
|
- 认证:复用现有 jsonwebtoken 体系,新增 `/api/powersync/token` 签发 PowerSync 校验的 JWT。
|
||||||
|
|
||||||
|
## 3. 数据模型改造(原则:只增不改)
|
||||||
|
|
||||||
|
采用报告 3.2 中的「新增 uuid 列 + 应用层幂等 upsert」选项,不做全表主键 UUID 化:外键关系全部保留,存量数据迁移风险最小。
|
||||||
|
|
||||||
|
- 任务域 6 表各加 `uuid varchar(36) unique`(客户端创建时生成;存量行导入时回填);
|
||||||
|
- `Project` 加 `code varchar(8) unique`(用户自拟短前缀;存量项目导入时回填自动码,后续可改);
|
||||||
|
- `Task` 加 `number int`,`@@unique([projectId, number])`(服务端按项目 max+1 分配;离线创建的任务上行时定号,本地未定号行显示临时标识);
|
||||||
|
- 主键仍为自增 Int,业务外键不动;客户端上行一律以 uuid 引用父子行,服务端解析为内部 id;
|
||||||
|
- Prisma datasource: `mysql` → `postgresql`;本分支重建基线迁移(旧 MySQL 迁移文件移除,历史保留在 git)。
|
||||||
|
|
||||||
|
### 3.1 Sequential ID Mapping(落地时按官方模式补充)
|
||||||
|
|
||||||
|
按 PowerSync 官方 [Sequential ID Mapping](https://docs.powersync.com/client-sdks/advanced/sequential-id-mapping) 模式实施,解决"离线新建行同步回填后本地 id 变化"问题:
|
||||||
|
|
||||||
|
- 任务域 6 表再加**外键 uuid 镜像列**(`Task.projectUuid/columnUuid/parentUuid`、`BoardColumn.projectUuid`、`ProjectMember.projectUuid`、`TaskMember/TaskTag.taskUuid`),由 **PG 触发器**在写入时按 int 外键自动回填(迁移 `20261026010000_uuid_fk_mapping`),库级 NOT NULL;
|
||||||
|
- Sync Streams 以 **`uuid` 作为客户端主键**(`SELECT "uuid" AS "id"`),镜像列别名输出回 `projectId/columnId/parentId/taskId` —— 客户端 schema 与页面代码**零改动**;
|
||||||
|
- 服务端 upload 处理器按 uuid 解析父行(`findUnique({ where: { uuid } })`),解析后再写 int 外键 → 触发器回填镜像,两侧闭环一致;
|
||||||
|
- 镜像列在 Prisma 模型中声明为可空(触发器保证库级非空),避免 create 校验拦截。
|
||||||
|
|
||||||
|
## 4. 同步与冲突
|
||||||
|
|
||||||
|
- Sync Rules 仅下发任务域 6 表 + `User`(展示名称/头像用),按 `ProjectMember.userId = auth.parameters.userId` 过滤项目可见性;时序/监控/米家等表不纳入;
|
||||||
|
- 上行:`POST /api/powersync/upload` 批处理客户端 CRUD 操作,按 uuid 幂等 upsert,更新时以服务端时间戳做 LWW 仲裁;
|
||||||
|
- 冲突:字段级 LWW 为主;`BoardColumn.sortOrder` / `Task.sortOrder` 由服务端重排仲裁;并发唯一冲突(项目前缀、看板列名)返回明确错误,客户端提示重试;
|
||||||
|
- `Task.number` / `Project.code` 由服务端唯一分配,多端并发下天然无冲突。
|
||||||
|
|
||||||
|
## 5. 部署拓扑(baihu `/app/iboard-0.2.1`)
|
||||||
|
|
||||||
|
docker compose 三服务:
|
||||||
|
|
||||||
|
| 服务 | 镜像 | 端口 | 说明 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| `pg-021` | postgres:16-alpine | 仅容器内网 | `wal_level=logical`;数据卷 `./data/pg` |
|
||||||
|
| `powersync-021` | powersync 官方镜像 | 13002 对外 | 连接 PG 逻辑复制 + WebSocket 下发 |
|
||||||
|
| `app-021` | 本仓库 Dockerfile 构建 | 13001 对外 | `OTA_PUBLIC_BASE=http://bh.vps.honor3:13001` |
|
||||||
|
|
||||||
|
- 环境变量由 compose 注入:`DATABASE_URL`(指向 pg-021)、`JWT_SECRET`(0.2.1 独立新设)、`PORT=13001`;
|
||||||
|
- 0.2.1 容器内 cron/米家调度预计无凭证或产生重复外呼,部署时以环境开关关闭(实现于 M4)。
|
||||||
|
|
||||||
|
## 6. 数据迁移(一次性)
|
||||||
|
|
||||||
|
1. 在 baihu 上用仓库自带 `mariadb` 驱动以只读 SQL 从宿主 MySQL(3306) 导出全表 JSON(仅 SELECT);
|
||||||
|
2. 转换:回填 uuid / `Project.code`(按名称自动生成,可后改)/ `Task.number`(按项目内 createdAt 顺序);时间字段转 PG 时间戳;
|
||||||
|
3. PG 侧先 `prisma migrate deploy` 建基线表,再执行 ETL 写入;
|
||||||
|
4. 校验:逐表行数比对 + 抽样字段比对,输出核对报告。
|
||||||
|
|
||||||
|
## 7. 里程碑
|
||||||
|
|
||||||
|
1. **M1** schema/适配层切 PG(本提交):schema 字段、db.js 适配器、基线迁移重建、本地 `prisma generate` 通过;
|
||||||
|
2. **M2** 服务端:powersync token 端点、upload 幂等上行端点、任务域路由幂等化与编号分配逻辑;
|
||||||
|
3. **M3** 前端:任务模块数据层切 PowerSync(本地库 + useQuery + 上传队列),桌面端联调;
|
||||||
|
4. **M4** compose 编排 + ETL 导数 + baihu 部署,端口/现网隔离验证;
|
||||||
|
5. **M5** 离线-联网闭环验证(断网编辑 → 恢复自动同步 → 多端一致),Android 真机评估。
|
||||||
|
|
||||||
|
## 8. 开放问题 / 风险
|
||||||
|
|
||||||
|
- powersync-service 的元数据存储(bucket storage)对 MongoDB 的依赖需在部署阶段核实;若当前版本不支持用 PG 存元数据,则加一个 mongo 容器;
|
||||||
|
- Android System WebView 的 OPFS/WASM SQLite 兼容性(M5 评估,先桌面);
|
||||||
|
- 项目前缀全局唯一在多端并发下的冲突提示体验(上行返回结构化错误码);
|
||||||
|
- 0.2.1 验证期数据与现网彻底隔离,不回迁;若验证后需并回主线,另行决策迁移口径。
|
||||||
@@ -16,8 +16,8 @@ import type * as Prisma from "./internal/prismaNamespace.ts"
|
|||||||
|
|
||||||
export type IntFilter<$PrismaModel = never> = {
|
export type IntFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -27,8 +27,8 @@ export type IntFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type StringFilter<$PrismaModel = never> = {
|
export type StringFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
notIn?: string[]
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -36,14 +36,14 @@ export type StringFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
mode?: Prisma.QueryMode
|
||||||
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type DateTimeFilter<$PrismaModel = never> = {
|
export type DateTimeFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
in?: Date[] | string[]
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
notIn?: Date[] | string[]
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -53,8 +53,8 @@ export type DateTimeFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -69,8 +69,8 @@ export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
notIn?: string[]
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -78,7 +78,7 @@ export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
mode?: Prisma.QueryMode
|
||||||
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
|
||||||
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedStringFilter<$PrismaModel>
|
_min?: Prisma.NestedStringFilter<$PrismaModel>
|
||||||
@@ -87,8 +87,8 @@ export type StringWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
export type DateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
in?: Date[] | string[]
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
notIn?: Date[] | string[]
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -108,7 +108,7 @@ export type JsonFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type JsonFilterBase<$PrismaModel = never> = {
|
export type JsonFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -116,10 +116,10 @@ export type JsonFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -132,7 +132,7 @@ export type JsonWithAggregatesFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type JsonWithAggregatesFilterBase<$PrismaModel = never> = {
|
export type JsonWithAggregatesFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -140,10 +140,10 @@ export type JsonWithAggregatesFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedJsonFilter<$PrismaModel>
|
_min?: Prisma.NestedJsonFilter<$PrismaModel>
|
||||||
@@ -165,8 +165,8 @@ export type BoolWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type FloatFilter<$PrismaModel = never> = {
|
export type FloatFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -176,8 +176,8 @@ export type FloatFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type FloatWithAggregatesFilter<$PrismaModel = never> = {
|
export type FloatWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -192,8 +192,8 @@ export type FloatWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type StringNullableFilter<$PrismaModel = never> = {
|
export type StringNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: string[] | null
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -201,7 +201,7 @@ export type StringNullableFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
mode?: Prisma.QueryMode
|
||||||
not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
|
not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -212,8 +212,8 @@ export type SortOrderInput = {
|
|||||||
|
|
||||||
export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: string[] | null
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -221,7 +221,7 @@ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
mode?: Prisma.QueryMode
|
||||||
not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
|
not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
|
||||||
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedStringNullableFilter<$PrismaModel>
|
_min?: Prisma.NestedStringNullableFilter<$PrismaModel>
|
||||||
@@ -230,8 +230,8 @@ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type BigIntFilter<$PrismaModel = never> = {
|
export type BigIntFilter<$PrismaModel = never> = {
|
||||||
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
in?: bigint[] | number[]
|
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: bigint[] | number[]
|
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
@@ -241,8 +241,8 @@ export type BigIntFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type BigIntWithAggregatesFilter<$PrismaModel = never> = {
|
export type BigIntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
in?: bigint[] | number[]
|
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: bigint[] | number[]
|
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
@@ -264,7 +264,7 @@ export type JsonNullableFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type JsonNullableFilterBase<$PrismaModel = never> = {
|
export type JsonNullableFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -272,10 +272,10 @@ export type JsonNullableFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -288,7 +288,7 @@ export type JsonNullableWithAggregatesFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
|
export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -296,10 +296,10 @@ export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedJsonNullableFilter<$PrismaModel>
|
_min?: Prisma.NestedJsonNullableFilter<$PrismaModel>
|
||||||
@@ -308,8 +308,8 @@ export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type IntNullableFilter<$PrismaModel = never> = {
|
export type IntNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -319,8 +319,8 @@ export type IntNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type DateTimeNullableFilter<$PrismaModel = never> = {
|
export type DateTimeNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
in?: Date[] | string[] | null
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: Date[] | string[] | null
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -330,8 +330,8 @@ export type DateTimeNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type IntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type IntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -346,8 +346,8 @@ export type IntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
in?: Date[] | string[] | null
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: Date[] | string[] | null
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -360,8 +360,8 @@ export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type FloatNullableFilter<$PrismaModel = never> = {
|
export type FloatNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -371,8 +371,8 @@ export type FloatNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -387,8 +387,8 @@ export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedIntFilter<$PrismaModel = never> = {
|
export type NestedIntFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -398,8 +398,8 @@ export type NestedIntFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedStringFilter<$PrismaModel = never> = {
|
export type NestedStringFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
notIn?: string[]
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -407,14 +407,13 @@ export type NestedStringFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
|
||||||
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringFilter<$PrismaModel> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NestedDateTimeFilter<$PrismaModel = never> = {
|
export type NestedDateTimeFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
in?: Date[] | string[]
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
notIn?: Date[] | string[]
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -424,8 +423,8 @@ export type NestedDateTimeFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -440,8 +439,8 @@ export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedFloatFilter<$PrismaModel = never> = {
|
export type NestedFloatFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -451,8 +450,8 @@ export type NestedFloatFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
notIn?: string[]
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel>
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -460,7 +459,6 @@ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
|
||||||
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
|
not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string
|
||||||
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
_count?: Prisma.NestedIntFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedStringFilter<$PrismaModel>
|
_min?: Prisma.NestedStringFilter<$PrismaModel>
|
||||||
@@ -469,8 +467,8 @@ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
in?: Date[] | string[]
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
notIn?: Date[] | string[]
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel>
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -490,7 +488,7 @@ export type NestedJsonFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type NestedJsonFilterBase<$PrismaModel = never> = {
|
export type NestedJsonFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -498,10 +496,10 @@ export type NestedJsonFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -520,8 +518,8 @@ export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
in?: number[]
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
notIn?: number[]
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel>
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -536,8 +534,8 @@ export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedStringNullableFilter<$PrismaModel = never> = {
|
export type NestedStringNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: string[] | null
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -545,14 +543,13 @@ export type NestedStringNullableFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
|
||||||
not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
|
not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: string[] | null
|
notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null
|
||||||
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
lte?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
gt?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -560,7 +557,6 @@ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
search?: string
|
|
||||||
not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
|
not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null
|
||||||
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
_count?: Prisma.NestedIntNullableFilter<$PrismaModel>
|
||||||
_min?: Prisma.NestedStringNullableFilter<$PrismaModel>
|
_min?: Prisma.NestedStringNullableFilter<$PrismaModel>
|
||||||
@@ -569,8 +565,8 @@ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedIntNullableFilter<$PrismaModel = never> = {
|
export type NestedIntNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -580,8 +576,8 @@ export type NestedIntNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedBigIntFilter<$PrismaModel = never> = {
|
export type NestedBigIntFilter<$PrismaModel = never> = {
|
||||||
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
in?: bigint[] | number[]
|
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: bigint[] | number[]
|
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
@@ -591,8 +587,8 @@ export type NestedBigIntFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedBigIntWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedBigIntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
in?: bigint[] | number[]
|
in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
notIn?: bigint[] | number[]
|
notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel>
|
||||||
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
lte?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
gt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel>
|
||||||
@@ -614,7 +610,7 @@ export type NestedJsonNullableFilter<$PrismaModel = never> =
|
|||||||
|
|
||||||
export type NestedJsonNullableFilterBase<$PrismaModel = never> = {
|
export type NestedJsonNullableFilterBase<$PrismaModel = never> = {
|
||||||
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
path?: string
|
path?: string[]
|
||||||
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel>
|
||||||
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_contains?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
string_starts_with?: string | Prisma.StringFieldRefInput<$PrismaModel>
|
||||||
@@ -622,17 +618,17 @@ export type NestedJsonNullableFilterBase<$PrismaModel = never> = {
|
|||||||
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_starts_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null
|
||||||
lt?: runtime.InputJsonValue
|
lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
lte?: runtime.InputJsonValue
|
lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gt?: runtime.InputJsonValue
|
gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
gte?: runtime.InputJsonValue
|
gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel>
|
||||||
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
|
export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
in?: Date[] | string[] | null
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: Date[] | string[] | null
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -642,8 +638,8 @@ export type NestedDateTimeNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.IntFieldRefInput<$PrismaModel>
|
||||||
@@ -658,8 +654,8 @@ export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedFloatNullableFilter<$PrismaModel = never> = {
|
export type NestedFloatNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
@@ -669,8 +665,8 @@ export type NestedFloatNullableFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null
|
||||||
in?: Date[] | string[] | null
|
in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: Date[] | string[] | null
|
notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null
|
||||||
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
lte?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
gt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel>
|
||||||
@@ -683,8 +679,8 @@ export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = {
|
|||||||
|
|
||||||
export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedFloatNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null
|
||||||
in?: number[] | null
|
in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
notIn?: number[] | null
|
notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null
|
||||||
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
lte?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
gt?: number | Prisma.FloatFieldRefInput<$PrismaModel>
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -464,6 +464,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.UserCreateManyArgs<ExtArgs>
|
args: Prisma.UserCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.UserCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.UserDeleteArgs<ExtArgs>
|
args: Prisma.UserDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
|
||||||
@@ -480,6 +484,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.UserUpdateManyArgs<ExtArgs>
|
args: Prisma.UserUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.UserUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.UserUpsertArgs<ExtArgs>
|
args: Prisma.UserUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$UserPayload>
|
||||||
@@ -530,6 +538,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ArticleCreateManyArgs<ExtArgs>
|
args: Prisma.ArticleCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ArticleCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ArticleDeleteArgs<ExtArgs>
|
args: Prisma.ArticleDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>
|
||||||
@@ -546,6 +558,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ArticleUpdateManyArgs<ExtArgs>
|
args: Prisma.ArticleUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ArticleUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ArticleUpsertArgs<ExtArgs>
|
args: Prisma.ArticleUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ArticlePayload>
|
||||||
@@ -596,6 +612,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.StrategyCreateManyArgs<ExtArgs>
|
args: Prisma.StrategyCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.StrategyCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.StrategyDeleteArgs<ExtArgs>
|
args: Prisma.StrategyDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>
|
||||||
@@ -612,6 +632,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.StrategyUpdateManyArgs<ExtArgs>
|
args: Prisma.StrategyUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.StrategyUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.StrategyUpsertArgs<ExtArgs>
|
args: Prisma.StrategyUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$StrategyPayload>
|
||||||
@@ -662,6 +686,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.IndicatorCreateManyArgs<ExtArgs>
|
args: Prisma.IndicatorCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.IndicatorCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.IndicatorDeleteArgs<ExtArgs>
|
args: Prisma.IndicatorDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>
|
||||||
@@ -678,6 +706,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.IndicatorUpdateManyArgs<ExtArgs>
|
args: Prisma.IndicatorUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.IndicatorUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.IndicatorUpsertArgs<ExtArgs>
|
args: Prisma.IndicatorUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPayload>
|
||||||
@@ -728,6 +760,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.IndicatorPointCreateManyArgs<ExtArgs>
|
args: Prisma.IndicatorPointCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.IndicatorPointCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.IndicatorPointDeleteArgs<ExtArgs>
|
args: Prisma.IndicatorPointDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>
|
||||||
@@ -744,6 +780,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.IndicatorPointUpdateManyArgs<ExtArgs>
|
args: Prisma.IndicatorPointUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.IndicatorPointUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.IndicatorPointUpsertArgs<ExtArgs>
|
args: Prisma.IndicatorPointUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$IndicatorPointPayload>
|
||||||
@@ -794,6 +834,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.NewsCreateManyArgs<ExtArgs>
|
args: Prisma.NewsCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.NewsCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.NewsDeleteArgs<ExtArgs>
|
args: Prisma.NewsDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>
|
||||||
@@ -810,6 +854,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.NewsUpdateManyArgs<ExtArgs>
|
args: Prisma.NewsUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.NewsUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.NewsUpsertArgs<ExtArgs>
|
args: Prisma.NewsUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$NewsPayload>
|
||||||
@@ -860,6 +908,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.AlertCreateManyArgs<ExtArgs>
|
args: Prisma.AlertCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.AlertCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.AlertDeleteArgs<ExtArgs>
|
args: Prisma.AlertDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>
|
||||||
@@ -876,6 +928,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.AlertUpdateManyArgs<ExtArgs>
|
args: Prisma.AlertUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.AlertUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.AlertUpsertArgs<ExtArgs>
|
args: Prisma.AlertUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$AlertPayload>
|
||||||
@@ -926,6 +982,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServerNodeCreateManyArgs<ExtArgs>
|
args: Prisma.ServerNodeCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ServerNodeCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ServerNodeDeleteArgs<ExtArgs>
|
args: Prisma.ServerNodeDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>
|
||||||
@@ -942,6 +1002,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServerNodeUpdateManyArgs<ExtArgs>
|
args: Prisma.ServerNodeUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ServerNodeUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ServerNodeUpsertArgs<ExtArgs>
|
args: Prisma.ServerNodeUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodePayload>
|
||||||
@@ -992,6 +1056,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServerNodeHistoryCreateManyArgs<ExtArgs>
|
args: Prisma.ServerNodeHistoryCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ServerNodeHistoryCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ServerNodeHistoryDeleteArgs<ExtArgs>
|
args: Prisma.ServerNodeHistoryDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>
|
||||||
@@ -1008,6 +1076,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServerNodeHistoryUpdateManyArgs<ExtArgs>
|
args: Prisma.ServerNodeHistoryUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ServerNodeHistoryUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ServerNodeHistoryUpsertArgs<ExtArgs>
|
args: Prisma.ServerNodeHistoryUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServerNodeHistoryPayload>
|
||||||
@@ -1058,6 +1130,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServiceCheckCreateManyArgs<ExtArgs>
|
args: Prisma.ServiceCheckCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ServiceCheckCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ServiceCheckDeleteArgs<ExtArgs>
|
args: Prisma.ServiceCheckDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>
|
||||||
@@ -1074,6 +1150,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ServiceCheckUpdateManyArgs<ExtArgs>
|
args: Prisma.ServiceCheckUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ServiceCheckUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ServiceCheckUpsertArgs<ExtArgs>
|
args: Prisma.ServiceCheckUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ServiceCheckPayload>
|
||||||
@@ -1124,6 +1204,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.Econ_SowInventoryCreateManyArgs<ExtArgs>
|
args: Prisma.Econ_SowInventoryCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.Econ_SowInventoryCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.Econ_SowInventoryDeleteArgs<ExtArgs>
|
args: Prisma.Econ_SowInventoryDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>
|
||||||
@@ -1140,6 +1224,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.Econ_SowInventoryUpdateManyArgs<ExtArgs>
|
args: Prisma.Econ_SowInventoryUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.Econ_SowInventoryUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.Econ_SowInventoryUpsertArgs<ExtArgs>
|
args: Prisma.Econ_SowInventoryUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$Econ_SowInventoryPayload>
|
||||||
@@ -1190,6 +1278,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ScraperCacheCreateManyArgs<ExtArgs>
|
args: Prisma.ScraperCacheCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ScraperCacheCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ScraperCacheDeleteArgs<ExtArgs>
|
args: Prisma.ScraperCacheDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>
|
||||||
@@ -1206,6 +1298,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ScraperCacheUpdateManyArgs<ExtArgs>
|
args: Prisma.ScraperCacheUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ScraperCacheUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ScraperCacheUpsertArgs<ExtArgs>
|
args: Prisma.ScraperCacheUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ScraperCachePayload>
|
||||||
@@ -1256,6 +1352,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.OilPriceHistoryCreateManyArgs<ExtArgs>
|
args: Prisma.OilPriceHistoryCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.OilPriceHistoryCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.OilPriceHistoryDeleteArgs<ExtArgs>
|
args: Prisma.OilPriceHistoryDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>
|
||||||
@@ -1272,6 +1372,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.OilPriceHistoryUpdateManyArgs<ExtArgs>
|
args: Prisma.OilPriceHistoryUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.OilPriceHistoryUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.OilPriceHistoryUpsertArgs<ExtArgs>
|
args: Prisma.OilPriceHistoryUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$OilPriceHistoryPayload>
|
||||||
@@ -1322,6 +1426,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeAccountCreateManyArgs<ExtArgs>
|
args: Prisma.MihomeAccountCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MihomeAccountCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.MihomeAccountDeleteArgs<ExtArgs>
|
args: Prisma.MihomeAccountDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>
|
||||||
@@ -1338,6 +1446,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeAccountUpdateManyArgs<ExtArgs>
|
args: Prisma.MihomeAccountUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MihomeAccountUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.MihomeAccountUpsertArgs<ExtArgs>
|
args: Prisma.MihomeAccountUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeAccountPayload>
|
||||||
@@ -1388,6 +1500,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeHomeCreateManyArgs<ExtArgs>
|
args: Prisma.MihomeHomeCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MihomeHomeCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.MihomeHomeDeleteArgs<ExtArgs>
|
args: Prisma.MihomeHomeDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>
|
||||||
@@ -1404,6 +1520,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeHomeUpdateManyArgs<ExtArgs>
|
args: Prisma.MihomeHomeUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MihomeHomeUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.MihomeHomeUpsertArgs<ExtArgs>
|
args: Prisma.MihomeHomeUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeHomePayload>
|
||||||
@@ -1454,6 +1574,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeDeviceCreateManyArgs<ExtArgs>
|
args: Prisma.MihomeDeviceCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MihomeDeviceCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.MihomeDeviceDeleteArgs<ExtArgs>
|
args: Prisma.MihomeDeviceDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>
|
||||||
@@ -1470,6 +1594,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeDeviceUpdateManyArgs<ExtArgs>
|
args: Prisma.MihomeDeviceUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MihomeDeviceUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.MihomeDeviceUpsertArgs<ExtArgs>
|
args: Prisma.MihomeDeviceUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeDevicePayload>
|
||||||
@@ -1520,6 +1648,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeEnvSampleCreateManyArgs<ExtArgs>
|
args: Prisma.MihomeEnvSampleCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MihomeEnvSampleCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.MihomeEnvSampleDeleteArgs<ExtArgs>
|
args: Prisma.MihomeEnvSampleDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>
|
||||||
@@ -1536,6 +1668,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeEnvSampleUpdateManyArgs<ExtArgs>
|
args: Prisma.MihomeEnvSampleUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MihomeEnvSampleUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.MihomeEnvSampleUpsertArgs<ExtArgs>
|
args: Prisma.MihomeEnvSampleUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvSamplePayload>
|
||||||
@@ -1586,6 +1722,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeEnvHourCreateManyArgs<ExtArgs>
|
args: Prisma.MihomeEnvHourCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.MihomeEnvHourCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.MihomeEnvHourDeleteArgs<ExtArgs>
|
args: Prisma.MihomeEnvHourDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>
|
||||||
@@ -1602,6 +1742,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.MihomeEnvHourUpdateManyArgs<ExtArgs>
|
args: Prisma.MihomeEnvHourUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.MihomeEnvHourUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.MihomeEnvHourUpsertArgs<ExtArgs>
|
args: Prisma.MihomeEnvHourUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$MihomeEnvHourPayload>
|
||||||
@@ -1652,6 +1796,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.HabitCreateManyArgs<ExtArgs>
|
args: Prisma.HabitCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.HabitCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.HabitDeleteArgs<ExtArgs>
|
args: Prisma.HabitDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>
|
||||||
@@ -1668,6 +1816,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.HabitUpdateManyArgs<ExtArgs>
|
args: Prisma.HabitUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.HabitUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.HabitUpsertArgs<ExtArgs>
|
args: Prisma.HabitUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$HabitPayload>
|
||||||
@@ -1718,6 +1870,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckInCreateManyArgs<ExtArgs>
|
args: Prisma.CheckInCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.CheckInCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.CheckInDeleteArgs<ExtArgs>
|
args: Prisma.CheckInDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>
|
||||||
@@ -1734,6 +1890,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckInUpdateManyArgs<ExtArgs>
|
args: Prisma.CheckInUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.CheckInUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.CheckInUpsertArgs<ExtArgs>
|
args: Prisma.CheckInUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckInPayload>
|
||||||
@@ -1784,6 +1944,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListCreateManyArgs<ExtArgs>
|
args: Prisma.CheckListCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.CheckListCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.CheckListDeleteArgs<ExtArgs>
|
args: Prisma.CheckListDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>
|
||||||
@@ -1800,6 +1964,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListUpdateManyArgs<ExtArgs>
|
args: Prisma.CheckListUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.CheckListUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.CheckListUpsertArgs<ExtArgs>
|
args: Prisma.CheckListUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListPayload>
|
||||||
@@ -1850,6 +2018,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListItemCreateManyArgs<ExtArgs>
|
args: Prisma.CheckListItemCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.CheckListItemCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.CheckListItemDeleteArgs<ExtArgs>
|
args: Prisma.CheckListItemDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>
|
||||||
@@ -1866,6 +2038,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListItemUpdateManyArgs<ExtArgs>
|
args: Prisma.CheckListItemUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.CheckListItemUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.CheckListItemUpsertArgs<ExtArgs>
|
args: Prisma.CheckListItemUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListItemPayload>
|
||||||
@@ -1916,6 +2092,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListTemplateCreateManyArgs<ExtArgs>
|
args: Prisma.CheckListTemplateCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.CheckListTemplateCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.CheckListTemplateDeleteArgs<ExtArgs>
|
args: Prisma.CheckListTemplateDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>
|
||||||
@@ -1932,6 +2112,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.CheckListTemplateUpdateManyArgs<ExtArgs>
|
args: Prisma.CheckListTemplateUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.CheckListTemplateUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.CheckListTemplateUpsertArgs<ExtArgs>
|
args: Prisma.CheckListTemplateUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$CheckListTemplatePayload>
|
||||||
@@ -1982,6 +2166,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ProjectCreateManyArgs<ExtArgs>
|
args: Prisma.ProjectCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ProjectCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ProjectDeleteArgs<ExtArgs>
|
args: Prisma.ProjectDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>
|
||||||
@@ -1998,6 +2186,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ProjectUpdateManyArgs<ExtArgs>
|
args: Prisma.ProjectUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ProjectUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ProjectUpsertArgs<ExtArgs>
|
args: Prisma.ProjectUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectPayload>
|
||||||
@@ -2048,6 +2240,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ProjectMemberCreateManyArgs<ExtArgs>
|
args: Prisma.ProjectMemberCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.ProjectMemberCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.ProjectMemberDeleteArgs<ExtArgs>
|
args: Prisma.ProjectMemberDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>
|
||||||
@@ -2064,6 +2260,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.ProjectMemberUpdateManyArgs<ExtArgs>
|
args: Prisma.ProjectMemberUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.ProjectMemberUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.ProjectMemberUpsertArgs<ExtArgs>
|
args: Prisma.ProjectMemberUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$ProjectMemberPayload>
|
||||||
@@ -2114,6 +2314,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.BoardColumnCreateManyArgs<ExtArgs>
|
args: Prisma.BoardColumnCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.BoardColumnCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.BoardColumnDeleteArgs<ExtArgs>
|
args: Prisma.BoardColumnDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>
|
||||||
@@ -2130,6 +2334,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.BoardColumnUpdateManyArgs<ExtArgs>
|
args: Prisma.BoardColumnUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.BoardColumnUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.BoardColumnUpsertArgs<ExtArgs>
|
args: Prisma.BoardColumnUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$BoardColumnPayload>
|
||||||
@@ -2180,6 +2388,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskCreateManyArgs<ExtArgs>
|
args: Prisma.TaskCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.TaskCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.TaskDeleteArgs<ExtArgs>
|
args: Prisma.TaskDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>
|
||||||
@@ -2196,6 +2408,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskUpdateManyArgs<ExtArgs>
|
args: Prisma.TaskUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.TaskUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.TaskUpsertArgs<ExtArgs>
|
args: Prisma.TaskUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskPayload>
|
||||||
@@ -2246,6 +2462,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskMemberCreateManyArgs<ExtArgs>
|
args: Prisma.TaskMemberCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.TaskMemberCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.TaskMemberDeleteArgs<ExtArgs>
|
args: Prisma.TaskMemberDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>
|
||||||
@@ -2262,6 +2482,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskMemberUpdateManyArgs<ExtArgs>
|
args: Prisma.TaskMemberUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.TaskMemberUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.TaskMemberUpsertArgs<ExtArgs>
|
args: Prisma.TaskMemberUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskMemberPayload>
|
||||||
@@ -2312,6 +2536,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskTagCreateManyArgs<ExtArgs>
|
args: Prisma.TaskTagCreateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
createManyAndReturn: {
|
||||||
|
args: Prisma.TaskTagCreateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>[]
|
||||||
|
}
|
||||||
delete: {
|
delete: {
|
||||||
args: Prisma.TaskTagDeleteArgs<ExtArgs>
|
args: Prisma.TaskTagDeleteArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>
|
||||||
@@ -2328,6 +2556,10 @@ export type TypeMap<ExtArgs extends runtime.Types.Extensions.InternalArgs = runt
|
|||||||
args: Prisma.TaskTagUpdateManyArgs<ExtArgs>
|
args: Prisma.TaskTagUpdateManyArgs<ExtArgs>
|
||||||
result: BatchPayload
|
result: BatchPayload
|
||||||
}
|
}
|
||||||
|
updateManyAndReturn: {
|
||||||
|
args: Prisma.TaskTagUpdateManyAndReturnArgs<ExtArgs>
|
||||||
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>[]
|
||||||
|
}
|
||||||
upsert: {
|
upsert: {
|
||||||
args: Prisma.TaskTagUpsertArgs<ExtArgs>
|
args: Prisma.TaskTagUpsertArgs<ExtArgs>
|
||||||
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>
|
result: runtime.Types.Utils.PayloadToResult<Prisma.$TaskTagPayload>
|
||||||
@@ -2738,6 +2970,8 @@ export type CheckListTemplateScalarFieldEnum = (typeof CheckListTemplateScalarFi
|
|||||||
|
|
||||||
export const ProjectScalarFieldEnum = {
|
export const ProjectScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
code: 'code',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
ownerId: 'ownerId',
|
ownerId: 'ownerId',
|
||||||
isPersonal: 'isPersonal',
|
isPersonal: 'isPersonal',
|
||||||
@@ -2755,6 +2989,8 @@ export type ProjectScalarFieldEnum = (typeof ProjectScalarFieldEnum)[keyof typeo
|
|||||||
|
|
||||||
export const ProjectMemberScalarFieldEnum = {
|
export const ProjectMemberScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
userId: 'userId',
|
userId: 'userId',
|
||||||
permission: 'permission',
|
permission: 'permission',
|
||||||
@@ -2766,6 +3002,8 @@ export type ProjectMemberScalarFieldEnum = (typeof ProjectMemberScalarFieldEnum)
|
|||||||
|
|
||||||
export const BoardColumnScalarFieldEnum = {
|
export const BoardColumnScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
sortOrder: 'sortOrder',
|
sortOrder: 'sortOrder',
|
||||||
@@ -2780,6 +3018,10 @@ export type BoardColumnScalarFieldEnum = (typeof BoardColumnScalarFieldEnum)[key
|
|||||||
|
|
||||||
export const TaskScalarFieldEnum = {
|
export const TaskScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
|
columnUuid: 'columnUuid',
|
||||||
|
parentUuid: 'parentUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
columnId: 'columnId',
|
columnId: 'columnId',
|
||||||
parentId: 'parentId',
|
parentId: 'parentId',
|
||||||
@@ -2797,7 +3039,8 @@ export const TaskScalarFieldEnum = {
|
|||||||
archivedAt: 'archivedAt',
|
archivedAt: 'archivedAt',
|
||||||
archiveSource: 'archiveSource',
|
archiveSource: 'archiveSource',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
updatedAt: 'updatedAt'
|
updatedAt: 'updatedAt',
|
||||||
|
number: 'number'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum]
|
export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum]
|
||||||
@@ -2805,6 +3048,8 @@ export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof Task
|
|||||||
|
|
||||||
export const TaskMemberScalarFieldEnum = {
|
export const TaskMemberScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
taskUuid: 'taskUuid',
|
||||||
taskId: 'taskId',
|
taskId: 'taskId',
|
||||||
userId: 'userId'
|
userId: 'userId'
|
||||||
} as const
|
} as const
|
||||||
@@ -2814,6 +3059,8 @@ export type TaskMemberScalarFieldEnum = (typeof TaskMemberScalarFieldEnum)[keyof
|
|||||||
|
|
||||||
export const TaskTagScalarFieldEnum = {
|
export const TaskTagScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
taskUuid: 'taskUuid',
|
||||||
taskId: 'taskId',
|
taskId: 'taskId',
|
||||||
name: 'name'
|
name: 'name'
|
||||||
} as const
|
} as const
|
||||||
@@ -2844,23 +3091,12 @@ export const NullableJsonNullValueInput = {
|
|||||||
export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
|
export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
|
||||||
|
|
||||||
|
|
||||||
export const UserOrderByRelevanceFieldEnum = {
|
export const QueryMode = {
|
||||||
name: 'name',
|
default: 'default',
|
||||||
email: 'email',
|
insensitive: 'insensitive'
|
||||||
password: 'password'
|
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type UserOrderByRelevanceFieldEnum = (typeof UserOrderByRelevanceFieldEnum)[keyof typeof UserOrderByRelevanceFieldEnum]
|
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
|
||||||
|
|
||||||
|
|
||||||
export const ArticleOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
slug: 'slug',
|
|
||||||
content: 'content',
|
|
||||||
date: 'date'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ArticleOrderByRelevanceFieldEnum = (typeof ArticleOrderByRelevanceFieldEnum)[keyof typeof ArticleOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const JsonNullValueFilter = {
|
export const JsonNullValueFilter = {
|
||||||
@@ -2872,41 +3108,6 @@ export const JsonNullValueFilter = {
|
|||||||
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
|
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
|
||||||
|
|
||||||
|
|
||||||
export const QueryMode = {
|
|
||||||
default: 'default',
|
|
||||||
insensitive: 'insensitive'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
|
|
||||||
|
|
||||||
|
|
||||||
export const StrategyOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
description: 'description'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type StrategyOrderByRelevanceFieldEnum = (typeof StrategyOrderByRelevanceFieldEnum)[keyof typeof StrategyOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const IndicatorOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
groupName: 'groupName',
|
|
||||||
title: 'title',
|
|
||||||
unit: 'unit',
|
|
||||||
source: 'source',
|
|
||||||
frequency: 'frequency'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type IndicatorOrderByRelevanceFieldEnum = (typeof IndicatorOrderByRelevanceFieldEnum)[keyof typeof IndicatorOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const IndicatorPointOrderByRelevanceFieldEnum = {
|
|
||||||
period: 'period'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type IndicatorPointOrderByRelevanceFieldEnum = (typeof IndicatorPointOrderByRelevanceFieldEnum)[keyof typeof IndicatorPointOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const NullsOrder = {
|
export const NullsOrder = {
|
||||||
first: 'first',
|
first: 'first',
|
||||||
last: 'last'
|
last: 'last'
|
||||||
@@ -2915,204 +3116,6 @@ export const NullsOrder = {
|
|||||||
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
||||||
|
|
||||||
|
|
||||||
export const NewsOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
summary: 'summary',
|
|
||||||
content: 'content',
|
|
||||||
source: 'source',
|
|
||||||
url: 'url'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type NewsOrderByRelevanceFieldEnum = (typeof NewsOrderByRelevanceFieldEnum)[keyof typeof NewsOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const AlertOrderByRelevanceFieldEnum = {
|
|
||||||
indicatorName: 'indicatorName',
|
|
||||||
period: 'period',
|
|
||||||
sourceA: 'sourceA',
|
|
||||||
sourceB: 'sourceB'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type AlertOrderByRelevanceFieldEnum = (typeof AlertOrderByRelevanceFieldEnum)[keyof typeof AlertOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServerNodeOrderByRelevanceFieldEnum = {
|
|
||||||
uuid: 'uuid',
|
|
||||||
name: 'name',
|
|
||||||
cpuName: 'cpuName',
|
|
||||||
os: 'os',
|
|
||||||
region: 'region',
|
|
||||||
status: 'status'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServerNodeOrderByRelevanceFieldEnum = (typeof ServerNodeOrderByRelevanceFieldEnum)[keyof typeof ServerNodeOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServerNodeHistoryOrderByRelevanceFieldEnum = {
|
|
||||||
uuid: 'uuid'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServerNodeHistoryOrderByRelevanceFieldEnum = (typeof ServerNodeHistoryOrderByRelevanceFieldEnum)[keyof typeof ServerNodeHistoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServiceCheckOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
url: 'url',
|
|
||||||
status: 'status',
|
|
||||||
message: 'message'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServiceCheckOrderByRelevanceFieldEnum = (typeof ServiceCheckOrderByRelevanceFieldEnum)[keyof typeof ServiceCheckOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const Econ_SowInventoryOrderByRelevanceFieldEnum = {
|
|
||||||
month: 'month'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type Econ_SowInventoryOrderByRelevanceFieldEnum = (typeof Econ_SowInventoryOrderByRelevanceFieldEnum)[keyof typeof Econ_SowInventoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ScraperCacheOrderByRelevanceFieldEnum = {
|
|
||||||
scraperName: 'scraperName',
|
|
||||||
lastDataHash: 'lastDataHash'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ScraperCacheOrderByRelevanceFieldEnum = (typeof ScraperCacheOrderByRelevanceFieldEnum)[keyof typeof ScraperCacheOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const OilPriceHistoryOrderByRelevanceFieldEnum = {
|
|
||||||
province: 'province',
|
|
||||||
fuel: 'fuel',
|
|
||||||
source: 'source'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type OilPriceHistoryOrderByRelevanceFieldEnum = (typeof OilPriceHistoryOrderByRelevanceFieldEnum)[keyof typeof OilPriceHistoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeAccountOrderByRelevanceFieldEnum = {
|
|
||||||
key: 'key',
|
|
||||||
userId: 'userId',
|
|
||||||
status: 'status',
|
|
||||||
lastError: 'lastError'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeAccountOrderByRelevanceFieldEnum = (typeof MihomeAccountOrderByRelevanceFieldEnum)[keyof typeof MihomeAccountOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeHomeOrderByRelevanceFieldEnum = {
|
|
||||||
homeId: 'homeId',
|
|
||||||
name: 'name'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeHomeOrderByRelevanceFieldEnum = (typeof MihomeHomeOrderByRelevanceFieldEnum)[keyof typeof MihomeHomeOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeDeviceOrderByRelevanceFieldEnum = {
|
|
||||||
did: 'did',
|
|
||||||
homeId: 'homeId',
|
|
||||||
model: 'model',
|
|
||||||
name: 'name',
|
|
||||||
alias: 'alias'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeDeviceOrderByRelevanceFieldEnum = (typeof MihomeDeviceOrderByRelevanceFieldEnum)[keyof typeof MihomeDeviceOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeEnvSampleOrderByRelevanceFieldEnum = {
|
|
||||||
origin: 'origin'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeEnvSampleOrderByRelevanceFieldEnum = (typeof MihomeEnvSampleOrderByRelevanceFieldEnum)[keyof typeof MihomeEnvSampleOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const HabitOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
period: 'period',
|
|
||||||
color: 'color',
|
|
||||||
icon: 'icon',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type HabitOrderByRelevanceFieldEnum = (typeof HabitOrderByRelevanceFieldEnum)[keyof typeof HabitOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckInOrderByRelevanceFieldEnum = {
|
|
||||||
date: 'date',
|
|
||||||
note: 'note',
|
|
||||||
source: 'source'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckInOrderByRelevanceFieldEnum = (typeof CheckInOrderByRelevanceFieldEnum)[keyof typeof CheckInOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
scene: 'scene',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListOrderByRelevanceFieldEnum = (typeof CheckListOrderByRelevanceFieldEnum)[keyof typeof CheckListOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListItemOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListItemOrderByRelevanceFieldEnum = (typeof CheckListItemOrderByRelevanceFieldEnum)[keyof typeof CheckListItemOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListTemplateOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
scene: 'scene'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListTemplateOrderByRelevanceFieldEnum = (typeof CheckListTemplateOrderByRelevanceFieldEnum)[keyof typeof CheckListTemplateOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ProjectOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
icon: 'icon',
|
|
||||||
autoArchive: 'autoArchive'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ProjectOrderByRelevanceFieldEnum = (typeof ProjectOrderByRelevanceFieldEnum)[keyof typeof ProjectOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ProjectMemberOrderByRelevanceFieldEnum = {
|
|
||||||
permission: 'permission'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ProjectMemberOrderByRelevanceFieldEnum = (typeof ProjectMemberOrderByRelevanceFieldEnum)[keyof typeof ProjectMemberOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const BoardColumnOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
boundStatus: 'boundStatus',
|
|
||||||
retention: 'retention'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type BoardColumnOrderByRelevanceFieldEnum = (typeof BoardColumnOrderByRelevanceFieldEnum)[keyof typeof BoardColumnOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const TaskOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
description: 'description',
|
|
||||||
kind: 'kind',
|
|
||||||
status: 'status',
|
|
||||||
archiveSource: 'archiveSource'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type TaskOrderByRelevanceFieldEnum = (typeof TaskOrderByRelevanceFieldEnum)[keyof typeof TaskOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const TaskTagOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type TaskTagOrderByRelevanceFieldEnum = (typeof TaskTagOrderByRelevanceFieldEnum)[keyof typeof TaskTagOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Field references
|
* Field references
|
||||||
@@ -3126,6 +3129,13 @@ export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'In
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'Int[]'
|
||||||
|
*/
|
||||||
|
export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'String'
|
* Reference to a field of type 'String'
|
||||||
*/
|
*/
|
||||||
@@ -3133,6 +3143,13 @@ export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'String[]'
|
||||||
|
*/
|
||||||
|
export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'DateTime'
|
* Reference to a field of type 'DateTime'
|
||||||
*/
|
*/
|
||||||
@@ -3140,6 +3157,13 @@ export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'DateTime[]'
|
||||||
|
*/
|
||||||
|
export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'Json'
|
* Reference to a field of type 'Json'
|
||||||
*/
|
*/
|
||||||
@@ -3168,12 +3192,26 @@ export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, '
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'Float[]'
|
||||||
|
*/
|
||||||
|
export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'BigInt'
|
* Reference to a field of type 'BigInt'
|
||||||
*/
|
*/
|
||||||
export type BigIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BigInt'>
|
export type BigIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BigInt'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'BigInt[]'
|
||||||
|
*/
|
||||||
|
export type ListBigIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'BigInt[]'>
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Batch Payload for updateMany & deleteMany & createMany
|
* Batch Payload for updateMany & deleteMany & createMany
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -451,6 +451,8 @@ export type CheckListTemplateScalarFieldEnum = (typeof CheckListTemplateScalarFi
|
|||||||
|
|
||||||
export const ProjectScalarFieldEnum = {
|
export const ProjectScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
code: 'code',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
ownerId: 'ownerId',
|
ownerId: 'ownerId',
|
||||||
isPersonal: 'isPersonal',
|
isPersonal: 'isPersonal',
|
||||||
@@ -468,6 +470,8 @@ export type ProjectScalarFieldEnum = (typeof ProjectScalarFieldEnum)[keyof typeo
|
|||||||
|
|
||||||
export const ProjectMemberScalarFieldEnum = {
|
export const ProjectMemberScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
userId: 'userId',
|
userId: 'userId',
|
||||||
permission: 'permission',
|
permission: 'permission',
|
||||||
@@ -479,6 +483,8 @@ export type ProjectMemberScalarFieldEnum = (typeof ProjectMemberScalarFieldEnum)
|
|||||||
|
|
||||||
export const BoardColumnScalarFieldEnum = {
|
export const BoardColumnScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
name: 'name',
|
name: 'name',
|
||||||
sortOrder: 'sortOrder',
|
sortOrder: 'sortOrder',
|
||||||
@@ -493,6 +499,10 @@ export type BoardColumnScalarFieldEnum = (typeof BoardColumnScalarFieldEnum)[key
|
|||||||
|
|
||||||
export const TaskScalarFieldEnum = {
|
export const TaskScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
projectUuid: 'projectUuid',
|
||||||
|
columnUuid: 'columnUuid',
|
||||||
|
parentUuid: 'parentUuid',
|
||||||
projectId: 'projectId',
|
projectId: 'projectId',
|
||||||
columnId: 'columnId',
|
columnId: 'columnId',
|
||||||
parentId: 'parentId',
|
parentId: 'parentId',
|
||||||
@@ -510,7 +520,8 @@ export const TaskScalarFieldEnum = {
|
|||||||
archivedAt: 'archivedAt',
|
archivedAt: 'archivedAt',
|
||||||
archiveSource: 'archiveSource',
|
archiveSource: 'archiveSource',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
updatedAt: 'updatedAt'
|
updatedAt: 'updatedAt',
|
||||||
|
number: 'number'
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum]
|
export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum]
|
||||||
@@ -518,6 +529,8 @@ export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof Task
|
|||||||
|
|
||||||
export const TaskMemberScalarFieldEnum = {
|
export const TaskMemberScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
taskUuid: 'taskUuid',
|
||||||
taskId: 'taskId',
|
taskId: 'taskId',
|
||||||
userId: 'userId'
|
userId: 'userId'
|
||||||
} as const
|
} as const
|
||||||
@@ -527,6 +540,8 @@ export type TaskMemberScalarFieldEnum = (typeof TaskMemberScalarFieldEnum)[keyof
|
|||||||
|
|
||||||
export const TaskTagScalarFieldEnum = {
|
export const TaskTagScalarFieldEnum = {
|
||||||
id: 'id',
|
id: 'id',
|
||||||
|
uuid: 'uuid',
|
||||||
|
taskUuid: 'taskUuid',
|
||||||
taskId: 'taskId',
|
taskId: 'taskId',
|
||||||
name: 'name'
|
name: 'name'
|
||||||
} as const
|
} as const
|
||||||
@@ -557,23 +572,12 @@ export const NullableJsonNullValueInput = {
|
|||||||
export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
|
export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput]
|
||||||
|
|
||||||
|
|
||||||
export const UserOrderByRelevanceFieldEnum = {
|
export const QueryMode = {
|
||||||
name: 'name',
|
default: 'default',
|
||||||
email: 'email',
|
insensitive: 'insensitive'
|
||||||
password: 'password'
|
|
||||||
} as const
|
} as const
|
||||||
|
|
||||||
export type UserOrderByRelevanceFieldEnum = (typeof UserOrderByRelevanceFieldEnum)[keyof typeof UserOrderByRelevanceFieldEnum]
|
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
|
||||||
|
|
||||||
|
|
||||||
export const ArticleOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
slug: 'slug',
|
|
||||||
content: 'content',
|
|
||||||
date: 'date'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ArticleOrderByRelevanceFieldEnum = (typeof ArticleOrderByRelevanceFieldEnum)[keyof typeof ArticleOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const JsonNullValueFilter = {
|
export const JsonNullValueFilter = {
|
||||||
@@ -585,41 +589,6 @@ export const JsonNullValueFilter = {
|
|||||||
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
|
export type JsonNullValueFilter = (typeof JsonNullValueFilter)[keyof typeof JsonNullValueFilter]
|
||||||
|
|
||||||
|
|
||||||
export const QueryMode = {
|
|
||||||
default: 'default',
|
|
||||||
insensitive: 'insensitive'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]
|
|
||||||
|
|
||||||
|
|
||||||
export const StrategyOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
description: 'description'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type StrategyOrderByRelevanceFieldEnum = (typeof StrategyOrderByRelevanceFieldEnum)[keyof typeof StrategyOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const IndicatorOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
groupName: 'groupName',
|
|
||||||
title: 'title',
|
|
||||||
unit: 'unit',
|
|
||||||
source: 'source',
|
|
||||||
frequency: 'frequency'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type IndicatorOrderByRelevanceFieldEnum = (typeof IndicatorOrderByRelevanceFieldEnum)[keyof typeof IndicatorOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const IndicatorPointOrderByRelevanceFieldEnum = {
|
|
||||||
period: 'period'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type IndicatorPointOrderByRelevanceFieldEnum = (typeof IndicatorPointOrderByRelevanceFieldEnum)[keyof typeof IndicatorPointOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const NullsOrder = {
|
export const NullsOrder = {
|
||||||
first: 'first',
|
first: 'first',
|
||||||
last: 'last'
|
last: 'last'
|
||||||
@@ -627,201 +596,3 @@ export const NullsOrder = {
|
|||||||
|
|
||||||
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]
|
||||||
|
|
||||||
|
|
||||||
export const NewsOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
summary: 'summary',
|
|
||||||
content: 'content',
|
|
||||||
source: 'source',
|
|
||||||
url: 'url'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type NewsOrderByRelevanceFieldEnum = (typeof NewsOrderByRelevanceFieldEnum)[keyof typeof NewsOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const AlertOrderByRelevanceFieldEnum = {
|
|
||||||
indicatorName: 'indicatorName',
|
|
||||||
period: 'period',
|
|
||||||
sourceA: 'sourceA',
|
|
||||||
sourceB: 'sourceB'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type AlertOrderByRelevanceFieldEnum = (typeof AlertOrderByRelevanceFieldEnum)[keyof typeof AlertOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServerNodeOrderByRelevanceFieldEnum = {
|
|
||||||
uuid: 'uuid',
|
|
||||||
name: 'name',
|
|
||||||
cpuName: 'cpuName',
|
|
||||||
os: 'os',
|
|
||||||
region: 'region',
|
|
||||||
status: 'status'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServerNodeOrderByRelevanceFieldEnum = (typeof ServerNodeOrderByRelevanceFieldEnum)[keyof typeof ServerNodeOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServerNodeHistoryOrderByRelevanceFieldEnum = {
|
|
||||||
uuid: 'uuid'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServerNodeHistoryOrderByRelevanceFieldEnum = (typeof ServerNodeHistoryOrderByRelevanceFieldEnum)[keyof typeof ServerNodeHistoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ServiceCheckOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
url: 'url',
|
|
||||||
status: 'status',
|
|
||||||
message: 'message'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ServiceCheckOrderByRelevanceFieldEnum = (typeof ServiceCheckOrderByRelevanceFieldEnum)[keyof typeof ServiceCheckOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const Econ_SowInventoryOrderByRelevanceFieldEnum = {
|
|
||||||
month: 'month'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type Econ_SowInventoryOrderByRelevanceFieldEnum = (typeof Econ_SowInventoryOrderByRelevanceFieldEnum)[keyof typeof Econ_SowInventoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ScraperCacheOrderByRelevanceFieldEnum = {
|
|
||||||
scraperName: 'scraperName',
|
|
||||||
lastDataHash: 'lastDataHash'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ScraperCacheOrderByRelevanceFieldEnum = (typeof ScraperCacheOrderByRelevanceFieldEnum)[keyof typeof ScraperCacheOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const OilPriceHistoryOrderByRelevanceFieldEnum = {
|
|
||||||
province: 'province',
|
|
||||||
fuel: 'fuel',
|
|
||||||
source: 'source'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type OilPriceHistoryOrderByRelevanceFieldEnum = (typeof OilPriceHistoryOrderByRelevanceFieldEnum)[keyof typeof OilPriceHistoryOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeAccountOrderByRelevanceFieldEnum = {
|
|
||||||
key: 'key',
|
|
||||||
userId: 'userId',
|
|
||||||
status: 'status',
|
|
||||||
lastError: 'lastError'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeAccountOrderByRelevanceFieldEnum = (typeof MihomeAccountOrderByRelevanceFieldEnum)[keyof typeof MihomeAccountOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeHomeOrderByRelevanceFieldEnum = {
|
|
||||||
homeId: 'homeId',
|
|
||||||
name: 'name'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeHomeOrderByRelevanceFieldEnum = (typeof MihomeHomeOrderByRelevanceFieldEnum)[keyof typeof MihomeHomeOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeDeviceOrderByRelevanceFieldEnum = {
|
|
||||||
did: 'did',
|
|
||||||
homeId: 'homeId',
|
|
||||||
model: 'model',
|
|
||||||
name: 'name',
|
|
||||||
alias: 'alias'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeDeviceOrderByRelevanceFieldEnum = (typeof MihomeDeviceOrderByRelevanceFieldEnum)[keyof typeof MihomeDeviceOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const MihomeEnvSampleOrderByRelevanceFieldEnum = {
|
|
||||||
origin: 'origin'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type MihomeEnvSampleOrderByRelevanceFieldEnum = (typeof MihomeEnvSampleOrderByRelevanceFieldEnum)[keyof typeof MihomeEnvSampleOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const HabitOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
period: 'period',
|
|
||||||
color: 'color',
|
|
||||||
icon: 'icon',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type HabitOrderByRelevanceFieldEnum = (typeof HabitOrderByRelevanceFieldEnum)[keyof typeof HabitOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckInOrderByRelevanceFieldEnum = {
|
|
||||||
date: 'date',
|
|
||||||
note: 'note',
|
|
||||||
source: 'source'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckInOrderByRelevanceFieldEnum = (typeof CheckInOrderByRelevanceFieldEnum)[keyof typeof CheckInOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
scene: 'scene',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListOrderByRelevanceFieldEnum = (typeof CheckListOrderByRelevanceFieldEnum)[keyof typeof CheckListOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListItemOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
note: 'note'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListItemOrderByRelevanceFieldEnum = (typeof CheckListItemOrderByRelevanceFieldEnum)[keyof typeof CheckListItemOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const CheckListTemplateOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
scene: 'scene'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type CheckListTemplateOrderByRelevanceFieldEnum = (typeof CheckListTemplateOrderByRelevanceFieldEnum)[keyof typeof CheckListTemplateOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ProjectOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
icon: 'icon',
|
|
||||||
autoArchive: 'autoArchive'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ProjectOrderByRelevanceFieldEnum = (typeof ProjectOrderByRelevanceFieldEnum)[keyof typeof ProjectOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const ProjectMemberOrderByRelevanceFieldEnum = {
|
|
||||||
permission: 'permission'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type ProjectMemberOrderByRelevanceFieldEnum = (typeof ProjectMemberOrderByRelevanceFieldEnum)[keyof typeof ProjectMemberOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const BoardColumnOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name',
|
|
||||||
boundStatus: 'boundStatus',
|
|
||||||
retention: 'retention'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type BoardColumnOrderByRelevanceFieldEnum = (typeof BoardColumnOrderByRelevanceFieldEnum)[keyof typeof BoardColumnOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const TaskOrderByRelevanceFieldEnum = {
|
|
||||||
title: 'title',
|
|
||||||
description: 'description',
|
|
||||||
kind: 'kind',
|
|
||||||
status: 'status',
|
|
||||||
archiveSource: 'archiveSource'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type TaskOrderByRelevanceFieldEnum = (typeof TaskOrderByRelevanceFieldEnum)[keyof typeof TaskOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|
||||||
export const TaskTagOrderByRelevanceFieldEnum = {
|
|
||||||
name: 'name'
|
|
||||||
} as const
|
|
||||||
|
|
||||||
export type TaskTagOrderByRelevanceFieldEnum = (typeof TaskTagOrderByRelevanceFieldEnum)[keyof typeof TaskTagOrderByRelevanceFieldEnum]
|
|
||||||
|
|
||||||
|
|||||||
@@ -285,7 +285,6 @@ export type AlertOrderByWithRelationInput = {
|
|||||||
diff?: Prisma.SortOrder
|
diff?: Prisma.SortOrder
|
||||||
diffRatio?: Prisma.SortOrder
|
diffRatio?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.AlertOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type AlertWhereUniqueInput = Prisma.AtLeast<{
|
export type AlertWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -426,12 +425,6 @@ export type AlertUncheckedUpdateManyInput = {
|
|||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type AlertOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.AlertOrderByRelevanceFieldEnum | Prisma.AlertOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type AlertCountOrderByAggregateInput = {
|
export type AlertCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
indicatorName?: Prisma.SortOrder
|
indicatorName?: Prisma.SortOrder
|
||||||
@@ -502,7 +495,31 @@ export type AlertSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs =
|
|||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["alert"]>
|
}, ExtArgs["result"]["alert"]>
|
||||||
|
|
||||||
|
export type AlertSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
indicatorName?: boolean
|
||||||
|
period?: boolean
|
||||||
|
valueA?: boolean
|
||||||
|
valueB?: boolean
|
||||||
|
sourceA?: boolean
|
||||||
|
sourceB?: boolean
|
||||||
|
diff?: boolean
|
||||||
|
diffRatio?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["alert"]>
|
||||||
|
|
||||||
|
export type AlertSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
indicatorName?: boolean
|
||||||
|
period?: boolean
|
||||||
|
valueA?: boolean
|
||||||
|
valueB?: boolean
|
||||||
|
sourceA?: boolean
|
||||||
|
sourceB?: boolean
|
||||||
|
diff?: boolean
|
||||||
|
diffRatio?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["alert"]>
|
||||||
|
|
||||||
export type AlertSelectScalar = {
|
export type AlertSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -650,6 +667,30 @@ export interface AlertDelegate<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
*/
|
*/
|
||||||
createMany<T extends AlertCreateManyArgs>(args?: Prisma.SelectSubset<T, AlertCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends AlertCreateManyArgs>(args?: Prisma.SelectSubset<T, AlertCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Alerts and returns the data saved in the database.
|
||||||
|
* @param {AlertCreateManyAndReturnArgs} args - Arguments to create many Alerts.
|
||||||
|
* @example
|
||||||
|
* // Create many Alerts
|
||||||
|
* const alert = await prisma.alert.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Alerts and only return the `id`
|
||||||
|
* const alertWithIdOnly = await prisma.alert.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends AlertCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, AlertCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$AlertPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Alert.
|
* Delete a Alert.
|
||||||
* @param {AlertDeleteArgs} args - Arguments to delete one Alert.
|
* @param {AlertDeleteArgs} args - Arguments to delete one Alert.
|
||||||
@@ -714,6 +755,36 @@ export interface AlertDelegate<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends AlertUpdateManyArgs>(args: Prisma.SelectSubset<T, AlertUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends AlertUpdateManyArgs>(args: Prisma.SelectSubset<T, AlertUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Alerts and returns the data updated in the database.
|
||||||
|
* @param {AlertUpdateManyAndReturnArgs} args - Arguments to update many Alerts.
|
||||||
|
* @example
|
||||||
|
* // Update many Alerts
|
||||||
|
* const alert = await prisma.alert.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Alerts and only return the `id`
|
||||||
|
* const alertWithIdOnly = await prisma.alert.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends AlertUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, AlertUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$AlertPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Alert.
|
* Create or update one Alert.
|
||||||
* @param {AlertUpsertArgs} args - Arguments to update or create a Alert.
|
* @param {AlertUpsertArgs} args - Arguments to update or create a Alert.
|
||||||
@@ -1125,6 +1196,25 @@ export type AlertCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alert createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type AlertCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Alert
|
||||||
|
*/
|
||||||
|
select?: Prisma.AlertSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Alert
|
||||||
|
*/
|
||||||
|
omit?: Prisma.AlertOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Alerts.
|
||||||
|
*/
|
||||||
|
data: Prisma.AlertCreateManyInput | Prisma.AlertCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Alert update
|
* Alert update
|
||||||
*/
|
*/
|
||||||
@@ -1165,6 +1255,32 @@ export type AlertUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Alert updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type AlertUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Alert
|
||||||
|
*/
|
||||||
|
select?: Prisma.AlertSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Alert
|
||||||
|
*/
|
||||||
|
omit?: Prisma.AlertOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Alerts.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.AlertUpdateManyMutationInput, Prisma.AlertUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Alerts to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.AlertWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Alerts to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Alert upsert
|
* Alert upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -242,7 +242,6 @@ export type ArticleOrderByWithRelationInput = {
|
|||||||
date?: Prisma.SortOrder
|
date?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.ArticleOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ArticleWhereUniqueInput = Prisma.AtLeast<{
|
export type ArticleWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -353,12 +352,6 @@ export type ArticleUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ArticleOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ArticleOrderByRelevanceFieldEnum | Prisma.ArticleOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ArticleCountOrderByAggregateInput = {
|
export type ArticleCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
title?: Prisma.SortOrder
|
title?: Prisma.SortOrder
|
||||||
@@ -409,7 +402,25 @@ export type ArticleSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["article"]>
|
}, ExtArgs["result"]["article"]>
|
||||||
|
|
||||||
|
export type ArticleSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
title?: boolean
|
||||||
|
slug?: boolean
|
||||||
|
content?: boolean
|
||||||
|
date?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["article"]>
|
||||||
|
|
||||||
|
export type ArticleSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
title?: boolean
|
||||||
|
slug?: boolean
|
||||||
|
content?: boolean
|
||||||
|
date?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["article"]>
|
||||||
|
|
||||||
export type ArticleSelectScalar = {
|
export type ArticleSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -551,6 +562,30 @@ export interface ArticleDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ArticleCreateManyArgs>(args?: Prisma.SelectSubset<T, ArticleCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ArticleCreateManyArgs>(args?: Prisma.SelectSubset<T, ArticleCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Articles and returns the data saved in the database.
|
||||||
|
* @param {ArticleCreateManyAndReturnArgs} args - Arguments to create many Articles.
|
||||||
|
* @example
|
||||||
|
* // Create many Articles
|
||||||
|
* const article = await prisma.article.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Articles and only return the `id`
|
||||||
|
* const articleWithIdOnly = await prisma.article.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ArticleCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ArticleCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ArticlePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Article.
|
* Delete a Article.
|
||||||
* @param {ArticleDeleteArgs} args - Arguments to delete one Article.
|
* @param {ArticleDeleteArgs} args - Arguments to delete one Article.
|
||||||
@@ -615,6 +650,36 @@ export interface ArticleDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ArticleUpdateManyArgs>(args: Prisma.SelectSubset<T, ArticleUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ArticleUpdateManyArgs>(args: Prisma.SelectSubset<T, ArticleUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Articles and returns the data updated in the database.
|
||||||
|
* @param {ArticleUpdateManyAndReturnArgs} args - Arguments to update many Articles.
|
||||||
|
* @example
|
||||||
|
* // Update many Articles
|
||||||
|
* const article = await prisma.article.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Articles and only return the `id`
|
||||||
|
* const articleWithIdOnly = await prisma.article.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ArticleUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ArticleUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ArticlePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Article.
|
* Create or update one Article.
|
||||||
* @param {ArticleUpsertArgs} args - Arguments to update or create a Article.
|
* @param {ArticleUpsertArgs} args - Arguments to update or create a Article.
|
||||||
@@ -1023,6 +1088,25 @@ export type ArticleCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Article createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ArticleCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Article
|
||||||
|
*/
|
||||||
|
select?: Prisma.ArticleSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Article
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ArticleOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Articles.
|
||||||
|
*/
|
||||||
|
data: Prisma.ArticleCreateManyInput | Prisma.ArticleCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Article update
|
* Article update
|
||||||
*/
|
*/
|
||||||
@@ -1063,6 +1147,32 @@ export type ArticleUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Article updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ArticleUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Article
|
||||||
|
*/
|
||||||
|
select?: Prisma.ArticleSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Article
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ArticleOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Articles.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ArticleUpdateManyMutationInput, Prisma.ArticleUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Articles to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ArticleWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Articles to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Article upsert
|
* Article upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ export type BoardColumnSumAggregateOutputType = {
|
|||||||
|
|
||||||
export type BoardColumnMinAggregateOutputType = {
|
export type BoardColumnMinAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number | null
|
projectId: number | null
|
||||||
name: string | null
|
name: string | null
|
||||||
sortOrder: number | null
|
sortOrder: number | null
|
||||||
@@ -51,6 +53,8 @@ export type BoardColumnMinAggregateOutputType = {
|
|||||||
|
|
||||||
export type BoardColumnMaxAggregateOutputType = {
|
export type BoardColumnMaxAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number | null
|
projectId: number | null
|
||||||
name: string | null
|
name: string | null
|
||||||
sortOrder: number | null
|
sortOrder: number | null
|
||||||
@@ -62,6 +66,8 @@ export type BoardColumnMaxAggregateOutputType = {
|
|||||||
|
|
||||||
export type BoardColumnCountAggregateOutputType = {
|
export type BoardColumnCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: number
|
||||||
|
projectUuid: number
|
||||||
projectId: number
|
projectId: number
|
||||||
name: number
|
name: number
|
||||||
sortOrder: number
|
sortOrder: number
|
||||||
@@ -87,6 +93,8 @@ export type BoardColumnSumAggregateInputType = {
|
|||||||
|
|
||||||
export type BoardColumnMinAggregateInputType = {
|
export type BoardColumnMinAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
name?: true
|
name?: true
|
||||||
sortOrder?: true
|
sortOrder?: true
|
||||||
@@ -98,6 +106,8 @@ export type BoardColumnMinAggregateInputType = {
|
|||||||
|
|
||||||
export type BoardColumnMaxAggregateInputType = {
|
export type BoardColumnMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
name?: true
|
name?: true
|
||||||
sortOrder?: true
|
sortOrder?: true
|
||||||
@@ -109,6 +119,8 @@ export type BoardColumnMaxAggregateInputType = {
|
|||||||
|
|
||||||
export type BoardColumnCountAggregateInputType = {
|
export type BoardColumnCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
name?: true
|
name?: true
|
||||||
sortOrder?: true
|
sortOrder?: true
|
||||||
@@ -207,6 +219,8 @@ export type BoardColumnGroupByArgs<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
|
|
||||||
export type BoardColumnGroupByOutputType = {
|
export type BoardColumnGroupByOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
sortOrder: number
|
sortOrder: number
|
||||||
@@ -241,6 +255,8 @@ export type BoardColumnWhereInput = {
|
|||||||
OR?: Prisma.BoardColumnWhereInput[]
|
OR?: Prisma.BoardColumnWhereInput[]
|
||||||
NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
||||||
id?: Prisma.IntFilter<"BoardColumn"> | number
|
id?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"BoardColumn"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"BoardColumn"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
name?: Prisma.StringFilter<"BoardColumn"> | string
|
name?: Prisma.StringFilter<"BoardColumn"> | string
|
||||||
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
@@ -254,6 +270,8 @@ export type BoardColumnWhereInput = {
|
|||||||
|
|
||||||
export type BoardColumnOrderByWithRelationInput = {
|
export type BoardColumnOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
sortOrder?: Prisma.SortOrder
|
sortOrder?: Prisma.SortOrder
|
||||||
@@ -263,15 +281,16 @@ export type BoardColumnOrderByWithRelationInput = {
|
|||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
project?: Prisma.ProjectOrderByWithRelationInput
|
project?: Prisma.ProjectOrderByWithRelationInput
|
||||||
tasks?: Prisma.TaskOrderByRelationAggregateInput
|
tasks?: Prisma.TaskOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.BoardColumnOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnWhereUniqueInput = Prisma.AtLeast<{
|
export type BoardColumnWhereUniqueInput = Prisma.AtLeast<{
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid?: string
|
||||||
projectId_name?: Prisma.BoardColumnProjectIdNameCompoundUniqueInput
|
projectId_name?: Prisma.BoardColumnProjectIdNameCompoundUniqueInput
|
||||||
AND?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
AND?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
||||||
OR?: Prisma.BoardColumnWhereInput[]
|
OR?: Prisma.BoardColumnWhereInput[]
|
||||||
NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[]
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"BoardColumn"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
name?: Prisma.StringFilter<"BoardColumn"> | string
|
name?: Prisma.StringFilter<"BoardColumn"> | string
|
||||||
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
@@ -281,10 +300,12 @@ export type BoardColumnWhereUniqueInput = Prisma.AtLeast<{
|
|||||||
updatedAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string
|
updatedAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string
|
||||||
project?: Prisma.XOR<Prisma.ProjectScalarRelationFilter, Prisma.ProjectWhereInput>
|
project?: Prisma.XOR<Prisma.ProjectScalarRelationFilter, Prisma.ProjectWhereInput>
|
||||||
tasks?: Prisma.TaskListRelationFilter
|
tasks?: Prisma.TaskListRelationFilter
|
||||||
}, "id" | "projectId_name">
|
}, "id" | "uuid" | "projectId_name">
|
||||||
|
|
||||||
export type BoardColumnOrderByWithAggregationInput = {
|
export type BoardColumnOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
sortOrder?: Prisma.SortOrder
|
sortOrder?: Prisma.SortOrder
|
||||||
@@ -304,6 +325,8 @@ export type BoardColumnScalarWhereWithAggregatesInput = {
|
|||||||
OR?: Prisma.BoardColumnScalarWhereWithAggregatesInput[]
|
OR?: Prisma.BoardColumnScalarWhereWithAggregatesInput[]
|
||||||
NOT?: Prisma.BoardColumnScalarWhereWithAggregatesInput | Prisma.BoardColumnScalarWhereWithAggregatesInput[]
|
NOT?: Prisma.BoardColumnScalarWhereWithAggregatesInput | Prisma.BoardColumnScalarWhereWithAggregatesInput[]
|
||||||
id?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
id?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
||||||
|
uuid?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableWithAggregatesFilter<"BoardColumn"> | string | null
|
||||||
projectId?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
projectId?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
||||||
name?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string
|
name?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string
|
||||||
sortOrder?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
sortOrder?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number
|
||||||
@@ -314,6 +337,8 @@ export type BoardColumnScalarWhereWithAggregatesInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnCreateInput = {
|
export type BoardColumnCreateInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
boundStatus?: string | null
|
boundStatus?: string | null
|
||||||
@@ -326,6 +351,8 @@ export type BoardColumnCreateInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedCreateInput = {
|
export type BoardColumnUncheckedCreateInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
@@ -337,6 +364,8 @@ export type BoardColumnUncheckedCreateInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnUpdateInput = {
|
export type BoardColumnUpdateInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -349,6 +378,8 @@ export type BoardColumnUpdateInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedUpdateInput = {
|
export type BoardColumnUncheckedUpdateInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
@@ -361,6 +392,8 @@ export type BoardColumnUncheckedUpdateInput = {
|
|||||||
|
|
||||||
export type BoardColumnCreateManyInput = {
|
export type BoardColumnCreateManyInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
@@ -371,6 +404,8 @@ export type BoardColumnCreateManyInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnUpdateManyMutationInput = {
|
export type BoardColumnUpdateManyMutationInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -381,6 +416,8 @@ export type BoardColumnUpdateManyMutationInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedUpdateManyInput = {
|
export type BoardColumnUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
@@ -400,12 +437,6 @@ export type BoardColumnOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.BoardColumnOrderByRelevanceFieldEnum | Prisma.BoardColumnOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type BoardColumnProjectIdNameCompoundUniqueInput = {
|
export type BoardColumnProjectIdNameCompoundUniqueInput = {
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
@@ -413,6 +444,8 @@ export type BoardColumnProjectIdNameCompoundUniqueInput = {
|
|||||||
|
|
||||||
export type BoardColumnCountOrderByAggregateInput = {
|
export type BoardColumnCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
sortOrder?: Prisma.SortOrder
|
sortOrder?: Prisma.SortOrder
|
||||||
@@ -430,6 +463,8 @@ export type BoardColumnAvgOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type BoardColumnMaxOrderByAggregateInput = {
|
export type BoardColumnMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
sortOrder?: Prisma.SortOrder
|
sortOrder?: Prisma.SortOrder
|
||||||
@@ -441,6 +476,8 @@ export type BoardColumnMaxOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type BoardColumnMinOrderByAggregateInput = {
|
export type BoardColumnMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
sortOrder?: Prisma.SortOrder
|
sortOrder?: Prisma.SortOrder
|
||||||
@@ -518,6 +555,8 @@ export type BoardColumnUpdateOneRequiredWithoutTasksNestedInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnCreateWithoutProjectInput = {
|
export type BoardColumnCreateWithoutProjectInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
boundStatus?: string | null
|
boundStatus?: string | null
|
||||||
@@ -529,6 +568,8 @@ export type BoardColumnCreateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedCreateWithoutProjectInput = {
|
export type BoardColumnUncheckedCreateWithoutProjectInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
boundStatus?: string | null
|
boundStatus?: string | null
|
||||||
@@ -569,6 +610,8 @@ export type BoardColumnScalarWhereInput = {
|
|||||||
OR?: Prisma.BoardColumnScalarWhereInput[]
|
OR?: Prisma.BoardColumnScalarWhereInput[]
|
||||||
NOT?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[]
|
NOT?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[]
|
||||||
id?: Prisma.IntFilter<"BoardColumn"> | number
|
id?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"BoardColumn"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"BoardColumn"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
projectId?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
name?: Prisma.StringFilter<"BoardColumn"> | string
|
name?: Prisma.StringFilter<"BoardColumn"> | string
|
||||||
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
sortOrder?: Prisma.IntFilter<"BoardColumn"> | number
|
||||||
@@ -579,6 +622,8 @@ export type BoardColumnScalarWhereInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnCreateWithoutTasksInput = {
|
export type BoardColumnCreateWithoutTasksInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
boundStatus?: string | null
|
boundStatus?: string | null
|
||||||
@@ -590,6 +635,8 @@ export type BoardColumnCreateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedCreateWithoutTasksInput = {
|
export type BoardColumnUncheckedCreateWithoutTasksInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
@@ -616,6 +663,8 @@ export type BoardColumnUpdateToOneWithWhereWithoutTasksInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnUpdateWithoutTasksInput = {
|
export type BoardColumnUpdateWithoutTasksInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -627,6 +676,8 @@ export type BoardColumnUpdateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedUpdateWithoutTasksInput = {
|
export type BoardColumnUncheckedUpdateWithoutTasksInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
@@ -638,6 +689,8 @@ export type BoardColumnUncheckedUpdateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type BoardColumnCreateManyProjectInput = {
|
export type BoardColumnCreateManyProjectInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
sortOrder?: number
|
sortOrder?: number
|
||||||
boundStatus?: string | null
|
boundStatus?: string | null
|
||||||
@@ -647,6 +700,8 @@ export type BoardColumnCreateManyProjectInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnUpdateWithoutProjectInput = {
|
export type BoardColumnUpdateWithoutProjectInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -658,6 +713,8 @@ export type BoardColumnUpdateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedUpdateWithoutProjectInput = {
|
export type BoardColumnUncheckedUpdateWithoutProjectInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -669,6 +726,8 @@ export type BoardColumnUncheckedUpdateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type BoardColumnUncheckedUpdateManyWithoutProjectInput = {
|
export type BoardColumnUncheckedUpdateManyWithoutProjectInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
sortOrder?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -710,6 +769,8 @@ export type BoardColumnCountOutputTypeCountTasksArgs<ExtArgs extends runtime.Typ
|
|||||||
|
|
||||||
export type BoardColumnSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type BoardColumnSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
projectId?: boolean
|
projectId?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
sortOrder?: boolean
|
sortOrder?: boolean
|
||||||
@@ -722,10 +783,38 @@ export type BoardColumnSelect<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
_count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["boardColumn"]>
|
}, ExtArgs["result"]["boardColumn"]>
|
||||||
|
|
||||||
|
export type BoardColumnSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
|
projectId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
boundStatus?: boolean
|
||||||
|
retention?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["boardColumn"]>
|
||||||
|
|
||||||
|
export type BoardColumnSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
|
projectId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
boundStatus?: boolean
|
||||||
|
retention?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["boardColumn"]>
|
||||||
|
|
||||||
export type BoardColumnSelectScalar = {
|
export type BoardColumnSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
projectId?: boolean
|
projectId?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
sortOrder?: boolean
|
sortOrder?: boolean
|
||||||
@@ -735,12 +824,18 @@ export type BoardColumnSelectScalar = {
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type BoardColumnOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "projectId" | "name" | "sortOrder" | "boundStatus" | "retention" | "createdAt" | "updatedAt", ExtArgs["result"]["boardColumn"]>
|
export type BoardColumnOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectUuid" | "projectId" | "name" | "sortOrder" | "boundStatus" | "retention" | "createdAt" | "updatedAt", ExtArgs["result"]["boardColumn"]>
|
||||||
export type BoardColumnInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type BoardColumnInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
tasks?: boolean | Prisma.BoardColumn$tasksArgs<ExtArgs>
|
tasks?: boolean | Prisma.BoardColumn$tasksArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type BoardColumnIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type BoardColumnIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $BoardColumnPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $BoardColumnPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "BoardColumn"
|
name: "BoardColumn"
|
||||||
@@ -750,6 +845,8 @@ export type $BoardColumnPayload<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
}
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
name: string
|
name: string
|
||||||
sortOrder: number
|
sortOrder: number
|
||||||
@@ -874,6 +971,30 @@ export interface BoardColumnDelegate<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
*/
|
*/
|
||||||
createMany<T extends BoardColumnCreateManyArgs>(args?: Prisma.SelectSubset<T, BoardColumnCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends BoardColumnCreateManyArgs>(args?: Prisma.SelectSubset<T, BoardColumnCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many BoardColumns and returns the data saved in the database.
|
||||||
|
* @param {BoardColumnCreateManyAndReturnArgs} args - Arguments to create many BoardColumns.
|
||||||
|
* @example
|
||||||
|
* // Create many BoardColumns
|
||||||
|
* const boardColumn = await prisma.boardColumn.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many BoardColumns and only return the `id`
|
||||||
|
* const boardColumnWithIdOnly = await prisma.boardColumn.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends BoardColumnCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, BoardColumnCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$BoardColumnPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a BoardColumn.
|
* Delete a BoardColumn.
|
||||||
* @param {BoardColumnDeleteArgs} args - Arguments to delete one BoardColumn.
|
* @param {BoardColumnDeleteArgs} args - Arguments to delete one BoardColumn.
|
||||||
@@ -938,6 +1059,36 @@ export interface BoardColumnDelegate<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends BoardColumnUpdateManyArgs>(args: Prisma.SelectSubset<T, BoardColumnUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends BoardColumnUpdateManyArgs>(args: Prisma.SelectSubset<T, BoardColumnUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more BoardColumns and returns the data updated in the database.
|
||||||
|
* @param {BoardColumnUpdateManyAndReturnArgs} args - Arguments to update many BoardColumns.
|
||||||
|
* @example
|
||||||
|
* // Update many BoardColumns
|
||||||
|
* const boardColumn = await prisma.boardColumn.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more BoardColumns and only return the `id`
|
||||||
|
* const boardColumnWithIdOnly = await prisma.boardColumn.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends BoardColumnUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, BoardColumnUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$BoardColumnPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one BoardColumn.
|
* Create or update one BoardColumn.
|
||||||
* @param {BoardColumnUpsertArgs} args - Arguments to update or create a BoardColumn.
|
* @param {BoardColumnUpsertArgs} args - Arguments to update or create a BoardColumn.
|
||||||
@@ -1129,6 +1280,8 @@ export interface Prisma__BoardColumnClient<T, Null = never, ExtArgs extends runt
|
|||||||
*/
|
*/
|
||||||
export interface BoardColumnFieldRefs {
|
export interface BoardColumnFieldRefs {
|
||||||
readonly id: Prisma.FieldRef<"BoardColumn", 'Int'>
|
readonly id: Prisma.FieldRef<"BoardColumn", 'Int'>
|
||||||
|
readonly uuid: Prisma.FieldRef<"BoardColumn", 'String'>
|
||||||
|
readonly projectUuid: Prisma.FieldRef<"BoardColumn", 'String'>
|
||||||
readonly projectId: Prisma.FieldRef<"BoardColumn", 'Int'>
|
readonly projectId: Prisma.FieldRef<"BoardColumn", 'Int'>
|
||||||
readonly name: Prisma.FieldRef<"BoardColumn", 'String'>
|
readonly name: Prisma.FieldRef<"BoardColumn", 'String'>
|
||||||
readonly sortOrder: Prisma.FieldRef<"BoardColumn", 'Int'>
|
readonly sortOrder: Prisma.FieldRef<"BoardColumn", 'Int'>
|
||||||
@@ -1373,6 +1526,29 @@ export type BoardColumnCreateManyArgs<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BoardColumn createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type BoardColumnCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the BoardColumn
|
||||||
|
*/
|
||||||
|
select?: Prisma.BoardColumnSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the BoardColumn
|
||||||
|
*/
|
||||||
|
omit?: Prisma.BoardColumnOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many BoardColumns.
|
||||||
|
*/
|
||||||
|
data: Prisma.BoardColumnCreateManyInput | Prisma.BoardColumnCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.BoardColumnIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BoardColumn update
|
* BoardColumn update
|
||||||
*/
|
*/
|
||||||
@@ -1417,6 +1593,36 @@ export type BoardColumnUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BoardColumn updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type BoardColumnUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the BoardColumn
|
||||||
|
*/
|
||||||
|
select?: Prisma.BoardColumnSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the BoardColumn
|
||||||
|
*/
|
||||||
|
omit?: Prisma.BoardColumnOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update BoardColumns.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.BoardColumnUpdateManyMutationInput, Prisma.BoardColumnUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which BoardColumns to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.BoardColumnWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many BoardColumns to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.BoardColumnIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* BoardColumn upsert
|
* BoardColumn upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -267,7 +267,6 @@ export type CheckInOrderByWithRelationInput = {
|
|||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
habit?: Prisma.HabitOrderByWithRelationInput
|
habit?: Prisma.HabitOrderByWithRelationInput
|
||||||
user?: Prisma.UserOrderByWithRelationInput
|
user?: Prisma.UserOrderByWithRelationInput
|
||||||
_relevance?: Prisma.CheckInOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckInWhereUniqueInput = Prisma.AtLeast<{
|
export type CheckInWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -399,12 +398,6 @@ export type CheckInOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckInOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.CheckInOrderByRelevanceFieldEnum | Prisma.CheckInOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type CheckInHabitIdDateSeqCompoundUniqueInput = {
|
export type CheckInHabitIdDateSeqCompoundUniqueInput = {
|
||||||
habitId: number
|
habitId: number
|
||||||
date: string
|
date: string
|
||||||
@@ -739,7 +732,31 @@ export type CheckInSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["checkIn"]>
|
}, ExtArgs["result"]["checkIn"]>
|
||||||
|
|
||||||
|
export type CheckInSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
habitId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
date?: boolean
|
||||||
|
seq?: boolean
|
||||||
|
note?: boolean
|
||||||
|
source?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkIn"]>
|
||||||
|
|
||||||
|
export type CheckInSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
habitId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
date?: boolean
|
||||||
|
seq?: boolean
|
||||||
|
note?: boolean
|
||||||
|
source?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkIn"]>
|
||||||
|
|
||||||
export type CheckInSelectScalar = {
|
export type CheckInSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -757,6 +774,14 @@ export type CheckInInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type CheckInIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type CheckInIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
habit?: boolean | Prisma.HabitDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $CheckInPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $CheckInPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "CheckIn"
|
name: "CheckIn"
|
||||||
@@ -890,6 +915,30 @@ export interface CheckInDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
createMany<T extends CheckInCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckInCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends CheckInCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckInCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many CheckIns and returns the data saved in the database.
|
||||||
|
* @param {CheckInCreateManyAndReturnArgs} args - Arguments to create many CheckIns.
|
||||||
|
* @example
|
||||||
|
* // Create many CheckIns
|
||||||
|
* const checkIn = await prisma.checkIn.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many CheckIns and only return the `id`
|
||||||
|
* const checkInWithIdOnly = await prisma.checkIn.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends CheckInCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CheckInCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckInPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a CheckIn.
|
* Delete a CheckIn.
|
||||||
* @param {CheckInDeleteArgs} args - Arguments to delete one CheckIn.
|
* @param {CheckInDeleteArgs} args - Arguments to delete one CheckIn.
|
||||||
@@ -954,6 +1003,36 @@ export interface CheckInDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends CheckInUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckInUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends CheckInUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckInUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more CheckIns and returns the data updated in the database.
|
||||||
|
* @param {CheckInUpdateManyAndReturnArgs} args - Arguments to update many CheckIns.
|
||||||
|
* @example
|
||||||
|
* // Update many CheckIns
|
||||||
|
* const checkIn = await prisma.checkIn.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more CheckIns and only return the `id`
|
||||||
|
* const checkInWithIdOnly = await prisma.checkIn.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends CheckInUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CheckInUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckInPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one CheckIn.
|
* Create or update one CheckIn.
|
||||||
* @param {CheckInUpsertArgs} args - Arguments to update or create a CheckIn.
|
* @param {CheckInUpsertArgs} args - Arguments to update or create a CheckIn.
|
||||||
@@ -1389,6 +1468,29 @@ export type CheckInCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckIn createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckInCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckIn
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckInSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckIn
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckInOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many CheckIns.
|
||||||
|
*/
|
||||||
|
data: Prisma.CheckInCreateManyInput | Prisma.CheckInCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckInIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckIn update
|
* CheckIn update
|
||||||
*/
|
*/
|
||||||
@@ -1433,6 +1535,36 @@ export type CheckInUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckIn updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckInUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckIn
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckInSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckIn
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckInOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update CheckIns.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.CheckInUpdateManyMutationInput, Prisma.CheckInUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which CheckIns to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.CheckInWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many CheckIns to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckInIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckIn upsert
|
* CheckIn upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -259,7 +259,6 @@ export type CheckListOrderByWithRelationInput = {
|
|||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
user?: Prisma.UserOrderByWithRelationInput
|
user?: Prisma.UserOrderByWithRelationInput
|
||||||
items?: Prisma.CheckListItemOrderByRelationAggregateInput
|
items?: Prisma.CheckListItemOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.CheckListOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListWhereUniqueInput = Prisma.AtLeast<{
|
export type CheckListWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -395,12 +394,6 @@ export type CheckListOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.CheckListOrderByRelevanceFieldEnum | Prisma.CheckListOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type CheckListCountOrderByAggregateInput = {
|
export type CheckListCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
@@ -710,7 +703,29 @@ export type CheckListSelect<ExtArgs extends runtime.Types.Extensions.InternalArg
|
|||||||
_count?: boolean | Prisma.CheckListCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.CheckListCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["checkList"]>
|
}, ExtArgs["result"]["checkList"]>
|
||||||
|
|
||||||
|
export type CheckListSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
title?: boolean
|
||||||
|
scene?: boolean
|
||||||
|
note?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkList"]>
|
||||||
|
|
||||||
|
export type CheckListSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
title?: boolean
|
||||||
|
scene?: boolean
|
||||||
|
note?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkList"]>
|
||||||
|
|
||||||
export type CheckListSelectScalar = {
|
export type CheckListSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -729,6 +744,12 @@ export type CheckListInclude<ExtArgs extends runtime.Types.Extensions.InternalAr
|
|||||||
items?: boolean | Prisma.CheckList$itemsArgs<ExtArgs>
|
items?: boolean | Prisma.CheckList$itemsArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.CheckListCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.CheckListCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type CheckListIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type CheckListIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $CheckListPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $CheckListPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "CheckList"
|
name: "CheckList"
|
||||||
@@ -862,6 +883,30 @@ export interface CheckListDelegate<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
*/
|
*/
|
||||||
createMany<T extends CheckListCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends CheckListCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many CheckLists and returns the data saved in the database.
|
||||||
|
* @param {CheckListCreateManyAndReturnArgs} args - Arguments to create many CheckLists.
|
||||||
|
* @example
|
||||||
|
* // Create many CheckLists
|
||||||
|
* const checkList = await prisma.checkList.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many CheckLists and only return the `id`
|
||||||
|
* const checkListWithIdOnly = await prisma.checkList.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends CheckListCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CheckListCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a CheckList.
|
* Delete a CheckList.
|
||||||
* @param {CheckListDeleteArgs} args - Arguments to delete one CheckList.
|
* @param {CheckListDeleteArgs} args - Arguments to delete one CheckList.
|
||||||
@@ -926,6 +971,36 @@ export interface CheckListDelegate<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends CheckListUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends CheckListUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more CheckLists and returns the data updated in the database.
|
||||||
|
* @param {CheckListUpdateManyAndReturnArgs} args - Arguments to update many CheckLists.
|
||||||
|
* @example
|
||||||
|
* // Update many CheckLists
|
||||||
|
* const checkList = await prisma.checkList.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more CheckLists and only return the `id`
|
||||||
|
* const checkListWithIdOnly = await prisma.checkList.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends CheckListUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CheckListUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one CheckList.
|
* Create or update one CheckList.
|
||||||
* @param {CheckListUpsertArgs} args - Arguments to update or create a CheckList.
|
* @param {CheckListUpsertArgs} args - Arguments to update or create a CheckList.
|
||||||
@@ -1361,6 +1436,29 @@ export type CheckListCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckList createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckList
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckList
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many CheckLists.
|
||||||
|
*/
|
||||||
|
data: Prisma.CheckListCreateManyInput | Prisma.CheckListCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckList update
|
* CheckList update
|
||||||
*/
|
*/
|
||||||
@@ -1405,6 +1503,36 @@ export type CheckListUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckList updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckList
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckList
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update CheckLists.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.CheckListUpdateManyMutationInput, Prisma.CheckListUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which CheckLists to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.CheckListWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many CheckLists to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckList upsert
|
* CheckList upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -270,7 +270,6 @@ export type CheckListItemOrderByWithRelationInput = {
|
|||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
list?: Prisma.CheckListOrderByWithRelationInput
|
list?: Prisma.CheckListOrderByWithRelationInput
|
||||||
_relevance?: Prisma.CheckListItemOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListItemWhereUniqueInput = Prisma.AtLeast<{
|
export type CheckListItemWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -411,12 +410,6 @@ export type CheckListItemOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListItemOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.CheckListItemOrderByRelevanceFieldEnum | Prisma.CheckListItemOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type CheckListItemCountOrderByAggregateInput = {
|
export type CheckListItemCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
listId?: Prisma.SortOrder
|
listId?: Prisma.SortOrder
|
||||||
@@ -627,7 +620,31 @@ export type CheckListItemSelect<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["checkListItem"]>
|
}, ExtArgs["result"]["checkListItem"]>
|
||||||
|
|
||||||
|
export type CheckListItemSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
listId?: boolean
|
||||||
|
title?: boolean
|
||||||
|
note?: boolean
|
||||||
|
done?: boolean
|
||||||
|
doneAt?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkListItem"]>
|
||||||
|
|
||||||
|
export type CheckListItemSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
listId?: boolean
|
||||||
|
title?: boolean
|
||||||
|
note?: boolean
|
||||||
|
done?: boolean
|
||||||
|
doneAt?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkListItem"]>
|
||||||
|
|
||||||
export type CheckListItemSelectScalar = {
|
export type CheckListItemSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -645,6 +662,12 @@ export type CheckListItemOmit<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
export type CheckListItemInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type CheckListItemInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type CheckListItemIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type CheckListItemIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
list?: boolean | Prisma.CheckListDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $CheckListItemPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $CheckListItemPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "CheckListItem"
|
name: "CheckListItem"
|
||||||
@@ -778,6 +801,30 @@ export interface CheckListItemDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
createMany<T extends CheckListItemCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListItemCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends CheckListItemCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListItemCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many CheckListItems and returns the data saved in the database.
|
||||||
|
* @param {CheckListItemCreateManyAndReturnArgs} args - Arguments to create many CheckListItems.
|
||||||
|
* @example
|
||||||
|
* // Create many CheckListItems
|
||||||
|
* const checkListItem = await prisma.checkListItem.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many CheckListItems and only return the `id`
|
||||||
|
* const checkListItemWithIdOnly = await prisma.checkListItem.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends CheckListItemCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CheckListItemCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListItemPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a CheckListItem.
|
* Delete a CheckListItem.
|
||||||
* @param {CheckListItemDeleteArgs} args - Arguments to delete one CheckListItem.
|
* @param {CheckListItemDeleteArgs} args - Arguments to delete one CheckListItem.
|
||||||
@@ -842,6 +889,36 @@ export interface CheckListItemDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends CheckListItemUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListItemUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends CheckListItemUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListItemUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more CheckListItems and returns the data updated in the database.
|
||||||
|
* @param {CheckListItemUpdateManyAndReturnArgs} args - Arguments to update many CheckListItems.
|
||||||
|
* @example
|
||||||
|
* // Update many CheckListItems
|
||||||
|
* const checkListItem = await prisma.checkListItem.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more CheckListItems and only return the `id`
|
||||||
|
* const checkListItemWithIdOnly = await prisma.checkListItem.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends CheckListItemUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CheckListItemUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListItemPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one CheckListItem.
|
* Create or update one CheckListItem.
|
||||||
* @param {CheckListItemUpsertArgs} args - Arguments to update or create a CheckListItem.
|
* @param {CheckListItemUpsertArgs} args - Arguments to update or create a CheckListItem.
|
||||||
@@ -1277,6 +1354,29 @@ export type CheckListItemCreateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckListItem createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListItemCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckListItem
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListItemSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckListItem
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListItemOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many CheckListItems.
|
||||||
|
*/
|
||||||
|
data: Prisma.CheckListItemCreateManyInput | Prisma.CheckListItemCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListItemIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckListItem update
|
* CheckListItem update
|
||||||
*/
|
*/
|
||||||
@@ -1321,6 +1421,36 @@ export type CheckListItemUpdateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckListItem updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListItemUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckListItem
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListItemSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckListItem
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListItemOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update CheckListItems.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.CheckListItemUpdateManyMutationInput, Prisma.CheckListItemUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which CheckListItems to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.CheckListItemWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many CheckListItems to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListItemIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckListItem upsert
|
* CheckListItem upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -253,7 +253,6 @@ export type CheckListTemplateOrderByWithRelationInput = {
|
|||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
user?: Prisma.UserOrderByWithRelationInput
|
user?: Prisma.UserOrderByWithRelationInput
|
||||||
_relevance?: Prisma.CheckListTemplateOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListTemplateWhereUniqueInput = Prisma.AtLeast<{
|
export type CheckListTemplateWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -384,12 +383,6 @@ export type CheckListTemplateOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type CheckListTemplateOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.CheckListTemplateOrderByRelevanceFieldEnum | Prisma.CheckListTemplateOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type CheckListTemplateCountOrderByAggregateInput = {
|
export type CheckListTemplateCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
@@ -585,7 +578,29 @@ export type CheckListTemplateSelect<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["checkListTemplate"]>
|
}, ExtArgs["result"]["checkListTemplate"]>
|
||||||
|
|
||||||
|
export type CheckListTemplateSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
scene?: boolean
|
||||||
|
items?: boolean
|
||||||
|
builtin?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkListTemplate"]>
|
||||||
|
|
||||||
|
export type CheckListTemplateSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
scene?: boolean
|
||||||
|
items?: boolean
|
||||||
|
builtin?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["checkListTemplate"]>
|
||||||
|
|
||||||
export type CheckListTemplateSelectScalar = {
|
export type CheckListTemplateSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -602,6 +617,12 @@ export type CheckListTemplateOmit<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
export type CheckListTemplateInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type CheckListTemplateInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type CheckListTemplateIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type CheckListTemplateIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.CheckListTemplate$userArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $CheckListTemplatePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $CheckListTemplatePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "CheckListTemplate"
|
name: "CheckListTemplate"
|
||||||
@@ -734,6 +755,30 @@ export interface CheckListTemplateDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
createMany<T extends CheckListTemplateCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListTemplateCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends CheckListTemplateCreateManyArgs>(args?: Prisma.SelectSubset<T, CheckListTemplateCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many CheckListTemplates and returns the data saved in the database.
|
||||||
|
* @param {CheckListTemplateCreateManyAndReturnArgs} args - Arguments to create many CheckListTemplates.
|
||||||
|
* @example
|
||||||
|
* // Create many CheckListTemplates
|
||||||
|
* const checkListTemplate = await prisma.checkListTemplate.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many CheckListTemplates and only return the `id`
|
||||||
|
* const checkListTemplateWithIdOnly = await prisma.checkListTemplate.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends CheckListTemplateCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CheckListTemplateCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListTemplatePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a CheckListTemplate.
|
* Delete a CheckListTemplate.
|
||||||
* @param {CheckListTemplateDeleteArgs} args - Arguments to delete one CheckListTemplate.
|
* @param {CheckListTemplateDeleteArgs} args - Arguments to delete one CheckListTemplate.
|
||||||
@@ -798,6 +843,36 @@ export interface CheckListTemplateDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends CheckListTemplateUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListTemplateUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends CheckListTemplateUpdateManyArgs>(args: Prisma.SelectSubset<T, CheckListTemplateUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more CheckListTemplates and returns the data updated in the database.
|
||||||
|
* @param {CheckListTemplateUpdateManyAndReturnArgs} args - Arguments to update many CheckListTemplates.
|
||||||
|
* @example
|
||||||
|
* // Update many CheckListTemplates
|
||||||
|
* const checkListTemplate = await prisma.checkListTemplate.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more CheckListTemplates and only return the `id`
|
||||||
|
* const checkListTemplateWithIdOnly = await prisma.checkListTemplate.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends CheckListTemplateUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CheckListTemplateUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CheckListTemplatePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one CheckListTemplate.
|
* Create or update one CheckListTemplate.
|
||||||
* @param {CheckListTemplateUpsertArgs} args - Arguments to update or create a CheckListTemplate.
|
* @param {CheckListTemplateUpsertArgs} args - Arguments to update or create a CheckListTemplate.
|
||||||
@@ -1232,6 +1307,29 @@ export type CheckListTemplateCreateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckListTemplate createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListTemplateCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckListTemplate
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListTemplateSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckListTemplate
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListTemplateOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many CheckListTemplates.
|
||||||
|
*/
|
||||||
|
data: Prisma.CheckListTemplateCreateManyInput | Prisma.CheckListTemplateCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListTemplateIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckListTemplate update
|
* CheckListTemplate update
|
||||||
*/
|
*/
|
||||||
@@ -1276,6 +1374,36 @@ export type CheckListTemplateUpdateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* CheckListTemplate updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type CheckListTemplateUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the CheckListTemplate
|
||||||
|
*/
|
||||||
|
select?: Prisma.CheckListTemplateSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the CheckListTemplate
|
||||||
|
*/
|
||||||
|
omit?: Prisma.CheckListTemplateOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update CheckListTemplates.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.CheckListTemplateUpdateManyMutationInput, Prisma.CheckListTemplateUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which CheckListTemplates to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.CheckListTemplateWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many CheckListTemplates to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.CheckListTemplateIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* CheckListTemplate upsert
|
* CheckListTemplate upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -228,7 +228,6 @@ export type Econ_SowInventoryOrderByWithRelationInput = {
|
|||||||
inventory?: Prisma.SortOrder
|
inventory?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.Econ_SowInventoryOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Econ_SowInventoryWhereUniqueInput = Prisma.AtLeast<{
|
export type Econ_SowInventoryWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -319,12 +318,6 @@ export type Econ_SowInventoryUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type Econ_SowInventoryOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.Econ_SowInventoryOrderByRelevanceFieldEnum | Prisma.Econ_SowInventoryOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type Econ_SowInventoryCountOrderByAggregateInput = {
|
export type Econ_SowInventoryCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
month?: Prisma.SortOrder
|
month?: Prisma.SortOrder
|
||||||
@@ -369,7 +362,21 @@ export type Econ_SowInventorySelect<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["econ_SowInventory"]>
|
}, ExtArgs["result"]["econ_SowInventory"]>
|
||||||
|
|
||||||
|
export type Econ_SowInventorySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
month?: boolean
|
||||||
|
inventory?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["econ_SowInventory"]>
|
||||||
|
|
||||||
|
export type Econ_SowInventorySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
month?: boolean
|
||||||
|
inventory?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["econ_SowInventory"]>
|
||||||
|
|
||||||
export type Econ_SowInventorySelectScalar = {
|
export type Econ_SowInventorySelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -507,6 +514,30 @@ export interface Econ_SowInventoryDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
createMany<T extends Econ_SowInventoryCreateManyArgs>(args?: Prisma.SelectSubset<T, Econ_SowInventoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends Econ_SowInventoryCreateManyArgs>(args?: Prisma.SelectSubset<T, Econ_SowInventoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Econ_SowInventories and returns the data saved in the database.
|
||||||
|
* @param {Econ_SowInventoryCreateManyAndReturnArgs} args - Arguments to create many Econ_SowInventories.
|
||||||
|
* @example
|
||||||
|
* // Create many Econ_SowInventories
|
||||||
|
* const econ_SowInventory = await prisma.econ_SowInventory.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Econ_SowInventories and only return the `id`
|
||||||
|
* const econ_SowInventoryWithIdOnly = await prisma.econ_SowInventory.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends Econ_SowInventoryCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, Econ_SowInventoryCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$Econ_SowInventoryPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Econ_SowInventory.
|
* Delete a Econ_SowInventory.
|
||||||
* @param {Econ_SowInventoryDeleteArgs} args - Arguments to delete one Econ_SowInventory.
|
* @param {Econ_SowInventoryDeleteArgs} args - Arguments to delete one Econ_SowInventory.
|
||||||
@@ -571,6 +602,36 @@ export interface Econ_SowInventoryDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends Econ_SowInventoryUpdateManyArgs>(args: Prisma.SelectSubset<T, Econ_SowInventoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends Econ_SowInventoryUpdateManyArgs>(args: Prisma.SelectSubset<T, Econ_SowInventoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Econ_SowInventories and returns the data updated in the database.
|
||||||
|
* @param {Econ_SowInventoryUpdateManyAndReturnArgs} args - Arguments to update many Econ_SowInventories.
|
||||||
|
* @example
|
||||||
|
* // Update many Econ_SowInventories
|
||||||
|
* const econ_SowInventory = await prisma.econ_SowInventory.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Econ_SowInventories and only return the `id`
|
||||||
|
* const econ_SowInventoryWithIdOnly = await prisma.econ_SowInventory.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends Econ_SowInventoryUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, Econ_SowInventoryUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$Econ_SowInventoryPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Econ_SowInventory.
|
* Create or update one Econ_SowInventory.
|
||||||
* @param {Econ_SowInventoryUpsertArgs} args - Arguments to update or create a Econ_SowInventory.
|
* @param {Econ_SowInventoryUpsertArgs} args - Arguments to update or create a Econ_SowInventory.
|
||||||
@@ -977,6 +1038,25 @@ export type Econ_SowInventoryCreateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Econ_SowInventory createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type Econ_SowInventoryCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Econ_SowInventory
|
||||||
|
*/
|
||||||
|
select?: Prisma.Econ_SowInventorySelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Econ_SowInventory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.Econ_SowInventoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Econ_SowInventories.
|
||||||
|
*/
|
||||||
|
data: Prisma.Econ_SowInventoryCreateManyInput | Prisma.Econ_SowInventoryCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Econ_SowInventory update
|
* Econ_SowInventory update
|
||||||
*/
|
*/
|
||||||
@@ -1017,6 +1097,32 @@ export type Econ_SowInventoryUpdateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Econ_SowInventory updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type Econ_SowInventoryUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Econ_SowInventory
|
||||||
|
*/
|
||||||
|
select?: Prisma.Econ_SowInventorySelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Econ_SowInventory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.Econ_SowInventoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Econ_SowInventories.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.Econ_SowInventoryUpdateManyMutationInput, Prisma.Econ_SowInventoryUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Econ_SowInventories to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.Econ_SowInventoryWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Econ_SowInventories to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Econ_SowInventory upsert
|
* Econ_SowInventory upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -303,7 +303,6 @@ export type HabitOrderByWithRelationInput = {
|
|||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
user?: Prisma.UserOrderByWithRelationInput
|
user?: Prisma.UserOrderByWithRelationInput
|
||||||
records?: Prisma.CheckInOrderByRelationAggregateInput
|
records?: Prisma.CheckInOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.HabitOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type HabitWhereUniqueInput = Prisma.AtLeast<{
|
export type HabitWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -479,12 +478,6 @@ export type HabitOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type HabitOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.HabitOrderByRelevanceFieldEnum | Prisma.HabitOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type HabitCountOrderByAggregateInput = {
|
export type HabitCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
@@ -858,7 +851,37 @@ export type HabitSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs =
|
|||||||
_count?: boolean | Prisma.HabitCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.HabitCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["habit"]>
|
}, ExtArgs["result"]["habit"]>
|
||||||
|
|
||||||
|
export type HabitSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
period?: boolean
|
||||||
|
target?: boolean
|
||||||
|
color?: boolean
|
||||||
|
icon?: boolean
|
||||||
|
note?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["habit"]>
|
||||||
|
|
||||||
|
export type HabitSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
period?: boolean
|
||||||
|
target?: boolean
|
||||||
|
color?: boolean
|
||||||
|
icon?: boolean
|
||||||
|
note?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
sortOrder?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["habit"]>
|
||||||
|
|
||||||
export type HabitSelectScalar = {
|
export type HabitSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -881,6 +904,12 @@ export type HabitInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs =
|
|||||||
records?: boolean | Prisma.Habit$recordsArgs<ExtArgs>
|
records?: boolean | Prisma.Habit$recordsArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.HabitCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.HabitCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type HabitIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type HabitIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $HabitPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $HabitPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "Habit"
|
name: "Habit"
|
||||||
@@ -1018,6 +1047,30 @@ export interface HabitDelegate<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
*/
|
*/
|
||||||
createMany<T extends HabitCreateManyArgs>(args?: Prisma.SelectSubset<T, HabitCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends HabitCreateManyArgs>(args?: Prisma.SelectSubset<T, HabitCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Habits and returns the data saved in the database.
|
||||||
|
* @param {HabitCreateManyAndReturnArgs} args - Arguments to create many Habits.
|
||||||
|
* @example
|
||||||
|
* // Create many Habits
|
||||||
|
* const habit = await prisma.habit.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Habits and only return the `id`
|
||||||
|
* const habitWithIdOnly = await prisma.habit.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends HabitCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, HabitCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$HabitPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Habit.
|
* Delete a Habit.
|
||||||
* @param {HabitDeleteArgs} args - Arguments to delete one Habit.
|
* @param {HabitDeleteArgs} args - Arguments to delete one Habit.
|
||||||
@@ -1082,6 +1135,36 @@ export interface HabitDelegate<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends HabitUpdateManyArgs>(args: Prisma.SelectSubset<T, HabitUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends HabitUpdateManyArgs>(args: Prisma.SelectSubset<T, HabitUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Habits and returns the data updated in the database.
|
||||||
|
* @param {HabitUpdateManyAndReturnArgs} args - Arguments to update many Habits.
|
||||||
|
* @example
|
||||||
|
* // Update many Habits
|
||||||
|
* const habit = await prisma.habit.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Habits and only return the `id`
|
||||||
|
* const habitWithIdOnly = await prisma.habit.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends HabitUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, HabitUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$HabitPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Habit.
|
* Create or update one Habit.
|
||||||
* @param {HabitUpsertArgs} args - Arguments to update or create a Habit.
|
* @param {HabitUpsertArgs} args - Arguments to update or create a Habit.
|
||||||
@@ -1521,6 +1604,29 @@ export type HabitCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Habit createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type HabitCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Habit
|
||||||
|
*/
|
||||||
|
select?: Prisma.HabitSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Habit
|
||||||
|
*/
|
||||||
|
omit?: Prisma.HabitOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Habits.
|
||||||
|
*/
|
||||||
|
data: Prisma.HabitCreateManyInput | Prisma.HabitCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.HabitIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Habit update
|
* Habit update
|
||||||
*/
|
*/
|
||||||
@@ -1565,6 +1671,36 @@ export type HabitUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Habit updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type HabitUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Habit
|
||||||
|
*/
|
||||||
|
select?: Prisma.HabitSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Habit
|
||||||
|
*/
|
||||||
|
omit?: Prisma.HabitOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Habits.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.HabitUpdateManyMutationInput, Prisma.HabitUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Habits to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.HabitWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Habits to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.HabitIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Habit upsert
|
* Habit upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -271,7 +271,6 @@ export type IndicatorOrderByWithRelationInput = {
|
|||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
points?: Prisma.IndicatorPointOrderByRelationAggregateInput
|
points?: Prisma.IndicatorPointOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.IndicatorOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IndicatorWhereUniqueInput = Prisma.AtLeast<{
|
export type IndicatorWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -417,12 +416,6 @@ export type IndicatorUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IndicatorOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.IndicatorOrderByRelevanceFieldEnum | Prisma.IndicatorOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type IndicatorCountOrderByAggregateInput = {
|
export type IndicatorCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
@@ -605,7 +598,31 @@ export type IndicatorSelect<ExtArgs extends runtime.Types.Extensions.InternalArg
|
|||||||
_count?: boolean | Prisma.IndicatorCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.IndicatorCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["indicator"]>
|
}, ExtArgs["result"]["indicator"]>
|
||||||
|
|
||||||
|
export type IndicatorSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
groupName?: boolean
|
||||||
|
title?: boolean
|
||||||
|
unit?: boolean
|
||||||
|
source?: boolean
|
||||||
|
frequency?: boolean
|
||||||
|
hidden?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["indicator"]>
|
||||||
|
|
||||||
|
export type IndicatorSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
groupName?: boolean
|
||||||
|
title?: boolean
|
||||||
|
unit?: boolean
|
||||||
|
source?: boolean
|
||||||
|
frequency?: boolean
|
||||||
|
hidden?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["indicator"]>
|
||||||
|
|
||||||
export type IndicatorSelectScalar = {
|
export type IndicatorSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -625,6 +642,8 @@ export type IndicatorInclude<ExtArgs extends runtime.Types.Extensions.InternalAr
|
|||||||
points?: boolean | Prisma.Indicator$pointsArgs<ExtArgs>
|
points?: boolean | Prisma.Indicator$pointsArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.IndicatorCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.IndicatorCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type IndicatorIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
export type IndicatorIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
|
||||||
export type $IndicatorPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $IndicatorPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "Indicator"
|
name: "Indicator"
|
||||||
@@ -759,6 +778,30 @@ export interface IndicatorDelegate<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
*/
|
*/
|
||||||
createMany<T extends IndicatorCreateManyArgs>(args?: Prisma.SelectSubset<T, IndicatorCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends IndicatorCreateManyArgs>(args?: Prisma.SelectSubset<T, IndicatorCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Indicators and returns the data saved in the database.
|
||||||
|
* @param {IndicatorCreateManyAndReturnArgs} args - Arguments to create many Indicators.
|
||||||
|
* @example
|
||||||
|
* // Create many Indicators
|
||||||
|
* const indicator = await prisma.indicator.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Indicators and only return the `id`
|
||||||
|
* const indicatorWithIdOnly = await prisma.indicator.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends IndicatorCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, IndicatorCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$IndicatorPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Indicator.
|
* Delete a Indicator.
|
||||||
* @param {IndicatorDeleteArgs} args - Arguments to delete one Indicator.
|
* @param {IndicatorDeleteArgs} args - Arguments to delete one Indicator.
|
||||||
@@ -823,6 +866,36 @@ export interface IndicatorDelegate<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends IndicatorUpdateManyArgs>(args: Prisma.SelectSubset<T, IndicatorUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends IndicatorUpdateManyArgs>(args: Prisma.SelectSubset<T, IndicatorUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Indicators and returns the data updated in the database.
|
||||||
|
* @param {IndicatorUpdateManyAndReturnArgs} args - Arguments to update many Indicators.
|
||||||
|
* @example
|
||||||
|
* // Update many Indicators
|
||||||
|
* const indicator = await prisma.indicator.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Indicators and only return the `id`
|
||||||
|
* const indicatorWithIdOnly = await prisma.indicator.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends IndicatorUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, IndicatorUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$IndicatorPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Indicator.
|
* Create or update one Indicator.
|
||||||
* @param {IndicatorUpsertArgs} args - Arguments to update or create a Indicator.
|
* @param {IndicatorUpsertArgs} args - Arguments to update or create a Indicator.
|
||||||
@@ -1259,6 +1332,25 @@ export type IndicatorCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicator createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type IndicatorCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Indicator
|
||||||
|
*/
|
||||||
|
select?: Prisma.IndicatorSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Indicator
|
||||||
|
*/
|
||||||
|
omit?: Prisma.IndicatorOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Indicators.
|
||||||
|
*/
|
||||||
|
data: Prisma.IndicatorCreateManyInput | Prisma.IndicatorCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicator update
|
* Indicator update
|
||||||
*/
|
*/
|
||||||
@@ -1303,6 +1395,32 @@ export type IndicatorUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicator updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type IndicatorUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Indicator
|
||||||
|
*/
|
||||||
|
select?: Prisma.IndicatorSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Indicator
|
||||||
|
*/
|
||||||
|
omit?: Prisma.IndicatorOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Indicators.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.IndicatorUpdateManyMutationInput, Prisma.IndicatorUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Indicators to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.IndicatorWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Indicators to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Indicator upsert
|
* Indicator upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -243,7 +243,6 @@ export type IndicatorPointOrderByWithRelationInput = {
|
|||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
indicator?: Prisma.IndicatorOrderByWithRelationInput
|
indicator?: Prisma.IndicatorOrderByWithRelationInput
|
||||||
_relevance?: Prisma.IndicatorPointOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IndicatorPointWhereUniqueInput = Prisma.AtLeast<{
|
export type IndicatorPointWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -355,12 +354,6 @@ export type IndicatorPointOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IndicatorPointOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.IndicatorPointOrderByRelevanceFieldEnum | Prisma.IndicatorPointOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type IndicatorPointIndicatorIdPeriodCompoundUniqueInput = {
|
export type IndicatorPointIndicatorIdPeriodCompoundUniqueInput = {
|
||||||
indicatorId: number
|
indicatorId: number
|
||||||
period: string
|
period: string
|
||||||
@@ -551,7 +544,25 @@ export type IndicatorPointSelect<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["indicatorPoint"]>
|
}, ExtArgs["result"]["indicatorPoint"]>
|
||||||
|
|
||||||
|
export type IndicatorPointSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
indicatorId?: boolean
|
||||||
|
period?: boolean
|
||||||
|
value?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["indicatorPoint"]>
|
||||||
|
|
||||||
|
export type IndicatorPointSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
indicatorId?: boolean
|
||||||
|
period?: boolean
|
||||||
|
value?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["indicatorPoint"]>
|
||||||
|
|
||||||
export type IndicatorPointSelectScalar = {
|
export type IndicatorPointSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -566,6 +577,12 @@ export type IndicatorPointOmit<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
export type IndicatorPointInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type IndicatorPointInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type IndicatorPointIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type IndicatorPointIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
indicator?: boolean | Prisma.IndicatorDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $IndicatorPointPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $IndicatorPointPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "IndicatorPoint"
|
name: "IndicatorPoint"
|
||||||
@@ -696,6 +713,30 @@ export interface IndicatorPointDelegate<ExtArgs extends runtime.Types.Extensions
|
|||||||
*/
|
*/
|
||||||
createMany<T extends IndicatorPointCreateManyArgs>(args?: Prisma.SelectSubset<T, IndicatorPointCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends IndicatorPointCreateManyArgs>(args?: Prisma.SelectSubset<T, IndicatorPointCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many IndicatorPoints and returns the data saved in the database.
|
||||||
|
* @param {IndicatorPointCreateManyAndReturnArgs} args - Arguments to create many IndicatorPoints.
|
||||||
|
* @example
|
||||||
|
* // Create many IndicatorPoints
|
||||||
|
* const indicatorPoint = await prisma.indicatorPoint.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many IndicatorPoints and only return the `id`
|
||||||
|
* const indicatorPointWithIdOnly = await prisma.indicatorPoint.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends IndicatorPointCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, IndicatorPointCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$IndicatorPointPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a IndicatorPoint.
|
* Delete a IndicatorPoint.
|
||||||
* @param {IndicatorPointDeleteArgs} args - Arguments to delete one IndicatorPoint.
|
* @param {IndicatorPointDeleteArgs} args - Arguments to delete one IndicatorPoint.
|
||||||
@@ -760,6 +801,36 @@ export interface IndicatorPointDelegate<ExtArgs extends runtime.Types.Extensions
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends IndicatorPointUpdateManyArgs>(args: Prisma.SelectSubset<T, IndicatorPointUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends IndicatorPointUpdateManyArgs>(args: Prisma.SelectSubset<T, IndicatorPointUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more IndicatorPoints and returns the data updated in the database.
|
||||||
|
* @param {IndicatorPointUpdateManyAndReturnArgs} args - Arguments to update many IndicatorPoints.
|
||||||
|
* @example
|
||||||
|
* // Update many IndicatorPoints
|
||||||
|
* const indicatorPoint = await prisma.indicatorPoint.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more IndicatorPoints and only return the `id`
|
||||||
|
* const indicatorPointWithIdOnly = await prisma.indicatorPoint.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends IndicatorPointUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, IndicatorPointUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$IndicatorPointPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one IndicatorPoint.
|
* Create or update one IndicatorPoint.
|
||||||
* @param {IndicatorPointUpsertArgs} args - Arguments to update or create a IndicatorPoint.
|
* @param {IndicatorPointUpsertArgs} args - Arguments to update or create a IndicatorPoint.
|
||||||
@@ -1192,6 +1263,29 @@ export type IndicatorPointCreateManyArgs<ExtArgs extends runtime.Types.Extension
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IndicatorPoint createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type IndicatorPointCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the IndicatorPoint
|
||||||
|
*/
|
||||||
|
select?: Prisma.IndicatorPointSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the IndicatorPoint
|
||||||
|
*/
|
||||||
|
omit?: Prisma.IndicatorPointOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many IndicatorPoints.
|
||||||
|
*/
|
||||||
|
data: Prisma.IndicatorPointCreateManyInput | Prisma.IndicatorPointCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.IndicatorPointIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IndicatorPoint update
|
* IndicatorPoint update
|
||||||
*/
|
*/
|
||||||
@@ -1236,6 +1330,36 @@ export type IndicatorPointUpdateManyArgs<ExtArgs extends runtime.Types.Extension
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IndicatorPoint updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type IndicatorPointUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the IndicatorPoint
|
||||||
|
*/
|
||||||
|
select?: Prisma.IndicatorPointSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the IndicatorPoint
|
||||||
|
*/
|
||||||
|
omit?: Prisma.IndicatorPointOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update IndicatorPoints.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.IndicatorPointUpdateManyMutationInput, Prisma.IndicatorPointUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which IndicatorPoints to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.IndicatorPointWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many IndicatorPoints to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.IndicatorPointIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IndicatorPoint upsert
|
* IndicatorPoint upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -233,7 +233,6 @@ export type MihomeAccountOrderByWithRelationInput = {
|
|||||||
status?: Prisma.SortOrder
|
status?: Prisma.SortOrder
|
||||||
lastError?: Prisma.SortOrder
|
lastError?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.MihomeAccountOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeAccountWhereUniqueInput = Prisma.AtLeast<{
|
export type MihomeAccountWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -334,12 +333,6 @@ export type MihomeAccountUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeAccountOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.MihomeAccountOrderByRelevanceFieldEnum | Prisma.MihomeAccountOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type MihomeAccountCountOrderByAggregateInput = {
|
export type MihomeAccountCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
key?: Prisma.SortOrder
|
key?: Prisma.SortOrder
|
||||||
@@ -386,7 +379,23 @@ export type MihomeAccountSelect<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["mihomeAccount"]>
|
}, ExtArgs["result"]["mihomeAccount"]>
|
||||||
|
|
||||||
|
export type MihomeAccountSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
key?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
status?: boolean
|
||||||
|
lastError?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["mihomeAccount"]>
|
||||||
|
|
||||||
|
export type MihomeAccountSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
key?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
status?: boolean
|
||||||
|
lastError?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["mihomeAccount"]>
|
||||||
|
|
||||||
export type MihomeAccountSelectScalar = {
|
export type MihomeAccountSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -526,6 +535,30 @@ export interface MihomeAccountDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
createMany<T extends MihomeAccountCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeAccountCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends MihomeAccountCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeAccountCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many MihomeAccounts and returns the data saved in the database.
|
||||||
|
* @param {MihomeAccountCreateManyAndReturnArgs} args - Arguments to create many MihomeAccounts.
|
||||||
|
* @example
|
||||||
|
* // Create many MihomeAccounts
|
||||||
|
* const mihomeAccount = await prisma.mihomeAccount.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many MihomeAccounts and only return the `id`
|
||||||
|
* const mihomeAccountWithIdOnly = await prisma.mihomeAccount.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends MihomeAccountCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, MihomeAccountCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeAccountPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a MihomeAccount.
|
* Delete a MihomeAccount.
|
||||||
* @param {MihomeAccountDeleteArgs} args - Arguments to delete one MihomeAccount.
|
* @param {MihomeAccountDeleteArgs} args - Arguments to delete one MihomeAccount.
|
||||||
@@ -590,6 +623,36 @@ export interface MihomeAccountDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends MihomeAccountUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeAccountUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends MihomeAccountUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeAccountUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more MihomeAccounts and returns the data updated in the database.
|
||||||
|
* @param {MihomeAccountUpdateManyAndReturnArgs} args - Arguments to update many MihomeAccounts.
|
||||||
|
* @example
|
||||||
|
* // Update many MihomeAccounts
|
||||||
|
* const mihomeAccount = await prisma.mihomeAccount.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more MihomeAccounts and only return the `id`
|
||||||
|
* const mihomeAccountWithIdOnly = await prisma.mihomeAccount.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends MihomeAccountUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, MihomeAccountUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeAccountPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one MihomeAccount.
|
* Create or update one MihomeAccount.
|
||||||
* @param {MihomeAccountUpsertArgs} args - Arguments to update or create a MihomeAccount.
|
* @param {MihomeAccountUpsertArgs} args - Arguments to update or create a MihomeAccount.
|
||||||
@@ -997,6 +1060,25 @@ export type MihomeAccountCreateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeAccount createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeAccountCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeAccount
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeAccountSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeAccount
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeAccountOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many MihomeAccounts.
|
||||||
|
*/
|
||||||
|
data: Prisma.MihomeAccountCreateManyInput | Prisma.MihomeAccountCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeAccount update
|
* MihomeAccount update
|
||||||
*/
|
*/
|
||||||
@@ -1037,6 +1119,32 @@ export type MihomeAccountUpdateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeAccount updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeAccountUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeAccount
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeAccountSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeAccount
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeAccountOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update MihomeAccounts.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.MihomeAccountUpdateManyMutationInput, Prisma.MihomeAccountUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which MihomeAccounts to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.MihomeAccountWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many MihomeAccounts to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeAccount upsert
|
* MihomeAccount upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -366,7 +366,6 @@ export type MihomeDeviceOrderByWithRelationInput = {
|
|||||||
home?: Prisma.MihomeHomeOrderByWithRelationInput
|
home?: Prisma.MihomeHomeOrderByWithRelationInput
|
||||||
samples?: Prisma.MihomeEnvSampleOrderByRelationAggregateInput
|
samples?: Prisma.MihomeEnvSampleOrderByRelationAggregateInput
|
||||||
hours?: Prisma.MihomeEnvHourOrderByRelationAggregateInput
|
hours?: Prisma.MihomeEnvHourOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.MihomeDeviceOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeDeviceWhereUniqueInput = Prisma.AtLeast<{
|
export type MihomeDeviceWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -597,12 +596,6 @@ export type MihomeDeviceOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeDeviceOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.MihomeDeviceOrderByRelevanceFieldEnum | Prisma.MihomeDeviceOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type MihomeDeviceCountOrderByAggregateInput = {
|
export type MihomeDeviceCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
did?: Prisma.SortOrder
|
did?: Prisma.SortOrder
|
||||||
@@ -1201,7 +1194,47 @@ export type MihomeDeviceSelect<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
_count?: boolean | Prisma.MihomeDeviceCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.MihomeDeviceCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["mihomeDevice"]>
|
}, ExtArgs["result"]["mihomeDevice"]>
|
||||||
|
|
||||||
|
export type MihomeDeviceSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
did?: boolean
|
||||||
|
homeId?: boolean
|
||||||
|
model?: boolean
|
||||||
|
name?: boolean
|
||||||
|
alias?: boolean
|
||||||
|
tempSiid?: boolean
|
||||||
|
tempPiid?: boolean
|
||||||
|
humSiid?: boolean
|
||||||
|
humPiid?: boolean
|
||||||
|
battSiid?: boolean
|
||||||
|
battPiid?: boolean
|
||||||
|
battery?: boolean
|
||||||
|
batteryAt?: boolean
|
||||||
|
enabled?: boolean
|
||||||
|
lastSyncAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
home?: boolean | Prisma.MihomeHomeDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeDevice"]>
|
||||||
|
|
||||||
|
export type MihomeDeviceSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
did?: boolean
|
||||||
|
homeId?: boolean
|
||||||
|
model?: boolean
|
||||||
|
name?: boolean
|
||||||
|
alias?: boolean
|
||||||
|
tempSiid?: boolean
|
||||||
|
tempPiid?: boolean
|
||||||
|
humSiid?: boolean
|
||||||
|
humPiid?: boolean
|
||||||
|
battSiid?: boolean
|
||||||
|
battPiid?: boolean
|
||||||
|
battery?: boolean
|
||||||
|
batteryAt?: boolean
|
||||||
|
enabled?: boolean
|
||||||
|
lastSyncAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
home?: boolean | Prisma.MihomeHomeDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeDevice"]>
|
||||||
|
|
||||||
export type MihomeDeviceSelectScalar = {
|
export type MihomeDeviceSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -1230,6 +1263,12 @@ export type MihomeDeviceInclude<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
hours?: boolean | Prisma.MihomeDevice$hoursArgs<ExtArgs>
|
hours?: boolean | Prisma.MihomeDevice$hoursArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.MihomeDeviceCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.MihomeDeviceCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type MihomeDeviceIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
home?: boolean | Prisma.MihomeHomeDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type MihomeDeviceIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
home?: boolean | Prisma.MihomeHomeDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $MihomeDevicePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $MihomeDevicePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "MihomeDevice"
|
name: "MihomeDevice"
|
||||||
@@ -1373,6 +1412,30 @@ export interface MihomeDeviceDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
createMany<T extends MihomeDeviceCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeDeviceCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends MihomeDeviceCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeDeviceCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many MihomeDevices and returns the data saved in the database.
|
||||||
|
* @param {MihomeDeviceCreateManyAndReturnArgs} args - Arguments to create many MihomeDevices.
|
||||||
|
* @example
|
||||||
|
* // Create many MihomeDevices
|
||||||
|
* const mihomeDevice = await prisma.mihomeDevice.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many MihomeDevices and only return the `id`
|
||||||
|
* const mihomeDeviceWithIdOnly = await prisma.mihomeDevice.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends MihomeDeviceCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, MihomeDeviceCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeDevicePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a MihomeDevice.
|
* Delete a MihomeDevice.
|
||||||
* @param {MihomeDeviceDeleteArgs} args - Arguments to delete one MihomeDevice.
|
* @param {MihomeDeviceDeleteArgs} args - Arguments to delete one MihomeDevice.
|
||||||
@@ -1437,6 +1500,36 @@ export interface MihomeDeviceDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends MihomeDeviceUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeDeviceUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends MihomeDeviceUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeDeviceUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more MihomeDevices and returns the data updated in the database.
|
||||||
|
* @param {MihomeDeviceUpdateManyAndReturnArgs} args - Arguments to update many MihomeDevices.
|
||||||
|
* @example
|
||||||
|
* // Update many MihomeDevices
|
||||||
|
* const mihomeDevice = await prisma.mihomeDevice.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more MihomeDevices and only return the `id`
|
||||||
|
* const mihomeDeviceWithIdOnly = await prisma.mihomeDevice.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends MihomeDeviceUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, MihomeDeviceUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeDevicePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one MihomeDevice.
|
* Create or update one MihomeDevice.
|
||||||
* @param {MihomeDeviceUpsertArgs} args - Arguments to update or create a MihomeDevice.
|
* @param {MihomeDeviceUpsertArgs} args - Arguments to update or create a MihomeDevice.
|
||||||
@@ -1882,6 +1975,29 @@ export type MihomeDeviceCreateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeDevice createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeDeviceCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeDevice
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeDeviceSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeDevice
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeDeviceOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many MihomeDevices.
|
||||||
|
*/
|
||||||
|
data: Prisma.MihomeDeviceCreateManyInput | Prisma.MihomeDeviceCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeDeviceIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeDevice update
|
* MihomeDevice update
|
||||||
*/
|
*/
|
||||||
@@ -1926,6 +2042,36 @@ export type MihomeDeviceUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeDevice updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeDeviceUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeDevice
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeDeviceSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeDevice
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeDeviceOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update MihomeDevices.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.MihomeDeviceUpdateManyMutationInput, Prisma.MihomeDeviceUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which MihomeDevices to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.MihomeDeviceWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many MihomeDevices to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeDeviceIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeDevice upsert
|
* MihomeDevice upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -566,7 +566,27 @@ export type MihomeEnvHourSelect<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["mihomeEnvHour"]>
|
}, ExtArgs["result"]["mihomeEnvHour"]>
|
||||||
|
|
||||||
|
export type MihomeEnvHourSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
deviceId?: boolean
|
||||||
|
hour?: boolean
|
||||||
|
temperatureAvg?: boolean
|
||||||
|
humidityAvg?: boolean
|
||||||
|
raw?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeEnvHour"]>
|
||||||
|
|
||||||
|
export type MihomeEnvHourSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
deviceId?: boolean
|
||||||
|
hour?: boolean
|
||||||
|
temperatureAvg?: boolean
|
||||||
|
humidityAvg?: boolean
|
||||||
|
raw?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeEnvHour"]>
|
||||||
|
|
||||||
export type MihomeEnvHourSelectScalar = {
|
export type MihomeEnvHourSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -582,6 +602,12 @@ export type MihomeEnvHourOmit<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
export type MihomeEnvHourInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type MihomeEnvHourInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type MihomeEnvHourIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type MihomeEnvHourIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $MihomeEnvHourPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $MihomeEnvHourPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "MihomeEnvHour"
|
name: "MihomeEnvHour"
|
||||||
@@ -713,6 +739,30 @@ export interface MihomeEnvHourDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
createMany<T extends MihomeEnvHourCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeEnvHourCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends MihomeEnvHourCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeEnvHourCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many MihomeEnvHours and returns the data saved in the database.
|
||||||
|
* @param {MihomeEnvHourCreateManyAndReturnArgs} args - Arguments to create many MihomeEnvHours.
|
||||||
|
* @example
|
||||||
|
* // Create many MihomeEnvHours
|
||||||
|
* const mihomeEnvHour = await prisma.mihomeEnvHour.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many MihomeEnvHours and only return the `id`
|
||||||
|
* const mihomeEnvHourWithIdOnly = await prisma.mihomeEnvHour.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends MihomeEnvHourCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, MihomeEnvHourCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeEnvHourPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a MihomeEnvHour.
|
* Delete a MihomeEnvHour.
|
||||||
* @param {MihomeEnvHourDeleteArgs} args - Arguments to delete one MihomeEnvHour.
|
* @param {MihomeEnvHourDeleteArgs} args - Arguments to delete one MihomeEnvHour.
|
||||||
@@ -777,6 +827,36 @@ export interface MihomeEnvHourDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends MihomeEnvHourUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeEnvHourUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends MihomeEnvHourUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeEnvHourUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more MihomeEnvHours and returns the data updated in the database.
|
||||||
|
* @param {MihomeEnvHourUpdateManyAndReturnArgs} args - Arguments to update many MihomeEnvHours.
|
||||||
|
* @example
|
||||||
|
* // Update many MihomeEnvHours
|
||||||
|
* const mihomeEnvHour = await prisma.mihomeEnvHour.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more MihomeEnvHours and only return the `id`
|
||||||
|
* const mihomeEnvHourWithIdOnly = await prisma.mihomeEnvHour.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends MihomeEnvHourUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, MihomeEnvHourUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeEnvHourPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one MihomeEnvHour.
|
* Create or update one MihomeEnvHour.
|
||||||
* @param {MihomeEnvHourUpsertArgs} args - Arguments to update or create a MihomeEnvHour.
|
* @param {MihomeEnvHourUpsertArgs} args - Arguments to update or create a MihomeEnvHour.
|
||||||
@@ -1210,6 +1290,29 @@ export type MihomeEnvHourCreateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeEnvHour createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeEnvHourCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeEnvHour
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeEnvHourSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeEnvHour
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeEnvHourOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many MihomeEnvHours.
|
||||||
|
*/
|
||||||
|
data: Prisma.MihomeEnvHourCreateManyInput | Prisma.MihomeEnvHourCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeEnvHourIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeEnvHour update
|
* MihomeEnvHour update
|
||||||
*/
|
*/
|
||||||
@@ -1254,6 +1357,36 @@ export type MihomeEnvHourUpdateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeEnvHour updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeEnvHourUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeEnvHour
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeEnvHourSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeEnvHour
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeEnvHourOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update MihomeEnvHours.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.MihomeEnvHourUpdateManyMutationInput, Prisma.MihomeEnvHourUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which MihomeEnvHours to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.MihomeEnvHourWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many MihomeEnvHours to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeEnvHourIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeEnvHour upsert
|
* MihomeEnvHour upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -348,7 +348,6 @@ export type MihomeEnvSampleOrderByWithRelationInput = {
|
|||||||
raw?: Prisma.SortOrderInput | Prisma.SortOrder
|
raw?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
device?: Prisma.MihomeDeviceOrderByWithRelationInput
|
device?: Prisma.MihomeDeviceOrderByWithRelationInput
|
||||||
_relevance?: Prisma.MihomeEnvSampleOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeEnvSampleWhereUniqueInput = Prisma.AtLeast<{
|
export type MihomeEnvSampleWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -550,12 +549,6 @@ export type MihomeEnvSampleOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeEnvSampleOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.MihomeEnvSampleOrderByRelevanceFieldEnum | Prisma.MihomeEnvSampleOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type MihomeEnvSampleDeviceIdDateCompoundUniqueInput = {
|
export type MihomeEnvSampleDeviceIdDateCompoundUniqueInput = {
|
||||||
deviceId: number
|
deviceId: number
|
||||||
date: Date | string
|
date: Date | string
|
||||||
@@ -857,7 +850,43 @@ export type MihomeEnvSampleSelect<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["mihomeEnvSample"]>
|
}, ExtArgs["result"]["mihomeEnvSample"]>
|
||||||
|
|
||||||
|
export type MihomeEnvSampleSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
deviceId?: boolean
|
||||||
|
date?: boolean
|
||||||
|
temperature?: boolean
|
||||||
|
humidity?: boolean
|
||||||
|
temperatureAvg?: boolean
|
||||||
|
humidityAvg?: boolean
|
||||||
|
temperatureMin?: boolean
|
||||||
|
temperatureMax?: boolean
|
||||||
|
humidityMin?: boolean
|
||||||
|
humidityMax?: boolean
|
||||||
|
origin?: boolean
|
||||||
|
sampledAt?: boolean
|
||||||
|
raw?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeEnvSample"]>
|
||||||
|
|
||||||
|
export type MihomeEnvSampleSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
deviceId?: boolean
|
||||||
|
date?: boolean
|
||||||
|
temperature?: boolean
|
||||||
|
humidity?: boolean
|
||||||
|
temperatureAvg?: boolean
|
||||||
|
humidityAvg?: boolean
|
||||||
|
temperatureMin?: boolean
|
||||||
|
temperatureMax?: boolean
|
||||||
|
humidityMin?: boolean
|
||||||
|
humidityMax?: boolean
|
||||||
|
origin?: boolean
|
||||||
|
sampledAt?: boolean
|
||||||
|
raw?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["mihomeEnvSample"]>
|
||||||
|
|
||||||
export type MihomeEnvSampleSelectScalar = {
|
export type MihomeEnvSampleSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -881,6 +910,12 @@ export type MihomeEnvSampleOmit<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
export type MihomeEnvSampleInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type MihomeEnvSampleInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type MihomeEnvSampleIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type MihomeEnvSampleIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
device?: boolean | Prisma.MihomeDeviceDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $MihomeEnvSamplePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $MihomeEnvSamplePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "MihomeEnvSample"
|
name: "MihomeEnvSample"
|
||||||
@@ -1020,6 +1055,30 @@ export interface MihomeEnvSampleDelegate<ExtArgs extends runtime.Types.Extension
|
|||||||
*/
|
*/
|
||||||
createMany<T extends MihomeEnvSampleCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeEnvSampleCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends MihomeEnvSampleCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeEnvSampleCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many MihomeEnvSamples and returns the data saved in the database.
|
||||||
|
* @param {MihomeEnvSampleCreateManyAndReturnArgs} args - Arguments to create many MihomeEnvSamples.
|
||||||
|
* @example
|
||||||
|
* // Create many MihomeEnvSamples
|
||||||
|
* const mihomeEnvSample = await prisma.mihomeEnvSample.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many MihomeEnvSamples and only return the `id`
|
||||||
|
* const mihomeEnvSampleWithIdOnly = await prisma.mihomeEnvSample.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends MihomeEnvSampleCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, MihomeEnvSampleCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeEnvSamplePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a MihomeEnvSample.
|
* Delete a MihomeEnvSample.
|
||||||
* @param {MihomeEnvSampleDeleteArgs} args - Arguments to delete one MihomeEnvSample.
|
* @param {MihomeEnvSampleDeleteArgs} args - Arguments to delete one MihomeEnvSample.
|
||||||
@@ -1084,6 +1143,36 @@ export interface MihomeEnvSampleDelegate<ExtArgs extends runtime.Types.Extension
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends MihomeEnvSampleUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeEnvSampleUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends MihomeEnvSampleUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeEnvSampleUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more MihomeEnvSamples and returns the data updated in the database.
|
||||||
|
* @param {MihomeEnvSampleUpdateManyAndReturnArgs} args - Arguments to update many MihomeEnvSamples.
|
||||||
|
* @example
|
||||||
|
* // Update many MihomeEnvSamples
|
||||||
|
* const mihomeEnvSample = await prisma.mihomeEnvSample.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more MihomeEnvSamples and only return the `id`
|
||||||
|
* const mihomeEnvSampleWithIdOnly = await prisma.mihomeEnvSample.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends MihomeEnvSampleUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, MihomeEnvSampleUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeEnvSamplePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one MihomeEnvSample.
|
* Create or update one MihomeEnvSample.
|
||||||
* @param {MihomeEnvSampleUpsertArgs} args - Arguments to update or create a MihomeEnvSample.
|
* @param {MihomeEnvSampleUpsertArgs} args - Arguments to update or create a MihomeEnvSample.
|
||||||
@@ -1525,6 +1614,29 @@ export type MihomeEnvSampleCreateManyArgs<ExtArgs extends runtime.Types.Extensio
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeEnvSample createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeEnvSampleCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeEnvSample
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeEnvSampleSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeEnvSample
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeEnvSampleOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many MihomeEnvSamples.
|
||||||
|
*/
|
||||||
|
data: Prisma.MihomeEnvSampleCreateManyInput | Prisma.MihomeEnvSampleCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeEnvSampleIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeEnvSample update
|
* MihomeEnvSample update
|
||||||
*/
|
*/
|
||||||
@@ -1569,6 +1681,36 @@ export type MihomeEnvSampleUpdateManyArgs<ExtArgs extends runtime.Types.Extensio
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeEnvSample updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeEnvSampleUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeEnvSample
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeEnvSampleSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeEnvSample
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeEnvSampleOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update MihomeEnvSamples.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.MihomeEnvSampleUpdateManyMutationInput, Prisma.MihomeEnvSampleUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which MihomeEnvSamples to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.MihomeEnvSampleWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many MihomeEnvSamples to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.MihomeEnvSampleIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeEnvSample upsert
|
* MihomeEnvSample upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -217,7 +217,6 @@ export type MihomeHomeOrderByWithRelationInput = {
|
|||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
devices?: Prisma.MihomeDeviceOrderByRelationAggregateInput
|
devices?: Prisma.MihomeDeviceOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.MihomeHomeOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeHomeWhereUniqueInput = Prisma.AtLeast<{
|
export type MihomeHomeWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -303,12 +302,6 @@ export type MihomeHomeUncheckedUpdateManyInput = {
|
|||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type MihomeHomeOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.MihomeHomeOrderByRelevanceFieldEnum | Prisma.MihomeHomeOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type MihomeHomeCountOrderByAggregateInput = {
|
export type MihomeHomeCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
homeId?: Prisma.SortOrder
|
homeId?: Prisma.SortOrder
|
||||||
@@ -439,7 +432,19 @@ export type MihomeHomeSelect<ExtArgs extends runtime.Types.Extensions.InternalAr
|
|||||||
_count?: boolean | Prisma.MihomeHomeCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.MihomeHomeCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["mihomeHome"]>
|
}, ExtArgs["result"]["mihomeHome"]>
|
||||||
|
|
||||||
|
export type MihomeHomeSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
homeId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["mihomeHome"]>
|
||||||
|
|
||||||
|
export type MihomeHomeSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
homeId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["mihomeHome"]>
|
||||||
|
|
||||||
export type MihomeHomeSelectScalar = {
|
export type MihomeHomeSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -453,6 +458,8 @@ export type MihomeHomeInclude<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
devices?: boolean | Prisma.MihomeHome$devicesArgs<ExtArgs>
|
devices?: boolean | Prisma.MihomeHome$devicesArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.MihomeHomeCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.MihomeHomeCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type MihomeHomeIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
export type MihomeHomeIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
|
||||||
export type $MihomeHomePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $MihomeHomePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "MihomeHome"
|
name: "MihomeHome"
|
||||||
@@ -581,6 +588,30 @@ export interface MihomeHomeDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
createMany<T extends MihomeHomeCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeHomeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends MihomeHomeCreateManyArgs>(args?: Prisma.SelectSubset<T, MihomeHomeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many MihomeHomes and returns the data saved in the database.
|
||||||
|
* @param {MihomeHomeCreateManyAndReturnArgs} args - Arguments to create many MihomeHomes.
|
||||||
|
* @example
|
||||||
|
* // Create many MihomeHomes
|
||||||
|
* const mihomeHome = await prisma.mihomeHome.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many MihomeHomes and only return the `id`
|
||||||
|
* const mihomeHomeWithIdOnly = await prisma.mihomeHome.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends MihomeHomeCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, MihomeHomeCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeHomePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a MihomeHome.
|
* Delete a MihomeHome.
|
||||||
* @param {MihomeHomeDeleteArgs} args - Arguments to delete one MihomeHome.
|
* @param {MihomeHomeDeleteArgs} args - Arguments to delete one MihomeHome.
|
||||||
@@ -645,6 +676,36 @@ export interface MihomeHomeDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends MihomeHomeUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeHomeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends MihomeHomeUpdateManyArgs>(args: Prisma.SelectSubset<T, MihomeHomeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more MihomeHomes and returns the data updated in the database.
|
||||||
|
* @param {MihomeHomeUpdateManyAndReturnArgs} args - Arguments to update many MihomeHomes.
|
||||||
|
* @example
|
||||||
|
* // Update many MihomeHomes
|
||||||
|
* const mihomeHome = await prisma.mihomeHome.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more MihomeHomes and only return the `id`
|
||||||
|
* const mihomeHomeWithIdOnly = await prisma.mihomeHome.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends MihomeHomeUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, MihomeHomeUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$MihomeHomePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one MihomeHome.
|
* Create or update one MihomeHome.
|
||||||
* @param {MihomeHomeUpsertArgs} args - Arguments to update or create a MihomeHome.
|
* @param {MihomeHomeUpsertArgs} args - Arguments to update or create a MihomeHome.
|
||||||
@@ -1075,6 +1136,25 @@ export type MihomeHomeCreateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeHome createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeHomeCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeHome
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeHomeSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeHome
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeHomeOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many MihomeHomes.
|
||||||
|
*/
|
||||||
|
data: Prisma.MihomeHomeCreateManyInput | Prisma.MihomeHomeCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeHome update
|
* MihomeHome update
|
||||||
*/
|
*/
|
||||||
@@ -1119,6 +1199,32 @@ export type MihomeHomeUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* MihomeHome updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type MihomeHomeUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the MihomeHome
|
||||||
|
*/
|
||||||
|
select?: Prisma.MihomeHomeSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the MihomeHome
|
||||||
|
*/
|
||||||
|
omit?: Prisma.MihomeHomeOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update MihomeHomes.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.MihomeHomeUpdateManyMutationInput, Prisma.MihomeHomeUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which MihomeHomes to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.MihomeHomeWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many MihomeHomes to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MihomeHome upsert
|
* MihomeHome upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -264,7 +264,6 @@ export type NewsOrderByWithRelationInput = {
|
|||||||
publishedAt?: Prisma.SortOrder
|
publishedAt?: Prisma.SortOrder
|
||||||
impactRank?: Prisma.SortOrder
|
impactRank?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.NewsOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NewsWhereUniqueInput = Prisma.AtLeast<{
|
export type NewsWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -396,12 +395,6 @@ export type NewsUncheckedUpdateManyInput = {
|
|||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NewsOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.NewsOrderByRelevanceFieldEnum | Prisma.NewsOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type NewsTitlePublishedAtCompoundUniqueInput = {
|
export type NewsTitlePublishedAtCompoundUniqueInput = {
|
||||||
title: string
|
title: string
|
||||||
publishedAt: Date | string
|
publishedAt: Date | string
|
||||||
@@ -471,7 +464,29 @@ export type NewsSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
|
|||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["news"]>
|
}, ExtArgs["result"]["news"]>
|
||||||
|
|
||||||
|
export type NewsSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
title?: boolean
|
||||||
|
summary?: boolean
|
||||||
|
content?: boolean
|
||||||
|
source?: boolean
|
||||||
|
url?: boolean
|
||||||
|
publishedAt?: boolean
|
||||||
|
impactRank?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["news"]>
|
||||||
|
|
||||||
|
export type NewsSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
title?: boolean
|
||||||
|
summary?: boolean
|
||||||
|
content?: boolean
|
||||||
|
source?: boolean
|
||||||
|
url?: boolean
|
||||||
|
publishedAt?: boolean
|
||||||
|
impactRank?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["news"]>
|
||||||
|
|
||||||
export type NewsSelectScalar = {
|
export type NewsSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -617,6 +632,30 @@ export interface NewsDelegate<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
*/
|
*/
|
||||||
createMany<T extends NewsCreateManyArgs>(args?: Prisma.SelectSubset<T, NewsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends NewsCreateManyArgs>(args?: Prisma.SelectSubset<T, NewsCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many News and returns the data saved in the database.
|
||||||
|
* @param {NewsCreateManyAndReturnArgs} args - Arguments to create many News.
|
||||||
|
* @example
|
||||||
|
* // Create many News
|
||||||
|
* const news = await prisma.news.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many News and only return the `id`
|
||||||
|
* const newsWithIdOnly = await prisma.news.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends NewsCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, NewsCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$NewsPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a News.
|
* Delete a News.
|
||||||
* @param {NewsDeleteArgs} args - Arguments to delete one News.
|
* @param {NewsDeleteArgs} args - Arguments to delete one News.
|
||||||
@@ -681,6 +720,36 @@ export interface NewsDelegate<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends NewsUpdateManyArgs>(args: Prisma.SelectSubset<T, NewsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends NewsUpdateManyArgs>(args: Prisma.SelectSubset<T, NewsUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more News and returns the data updated in the database.
|
||||||
|
* @param {NewsUpdateManyAndReturnArgs} args - Arguments to update many News.
|
||||||
|
* @example
|
||||||
|
* // Update many News
|
||||||
|
* const news = await prisma.news.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more News and only return the `id`
|
||||||
|
* const newsWithIdOnly = await prisma.news.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends NewsUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, NewsUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$NewsPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one News.
|
* Create or update one News.
|
||||||
* @param {NewsUpsertArgs} args - Arguments to update or create a News.
|
* @param {NewsUpsertArgs} args - Arguments to update or create a News.
|
||||||
@@ -1091,6 +1160,25 @@ export type NewsCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* News createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type NewsCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the News
|
||||||
|
*/
|
||||||
|
select?: Prisma.NewsSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the News
|
||||||
|
*/
|
||||||
|
omit?: Prisma.NewsOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many News.
|
||||||
|
*/
|
||||||
|
data: Prisma.NewsCreateManyInput | Prisma.NewsCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* News update
|
* News update
|
||||||
*/
|
*/
|
||||||
@@ -1131,6 +1219,32 @@ export type NewsUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* News updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type NewsUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the News
|
||||||
|
*/
|
||||||
|
select?: Prisma.NewsSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the News
|
||||||
|
*/
|
||||||
|
omit?: Prisma.NewsOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update News.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.NewsUpdateManyMutationInput, Prisma.NewsUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which News to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.NewsWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many News to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* News upsert
|
* News upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -246,7 +246,6 @@ export type OilPriceHistoryOrderByWithRelationInput = {
|
|||||||
price?: Prisma.SortOrder
|
price?: Prisma.SortOrder
|
||||||
source?: Prisma.SortOrder
|
source?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.OilPriceHistoryOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type OilPriceHistoryWhereUniqueInput = Prisma.AtLeast<{
|
export type OilPriceHistoryWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -358,12 +357,6 @@ export type OilPriceHistoryUncheckedUpdateManyInput = {
|
|||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type OilPriceHistoryOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.OilPriceHistoryOrderByRelevanceFieldEnum | Prisma.OilPriceHistoryOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type OilPriceHistoryDateProvinceFuelCompoundUniqueInput = {
|
export type OilPriceHistoryDateProvinceFuelCompoundUniqueInput = {
|
||||||
date: Date | string
|
date: Date | string
|
||||||
province: string
|
province: string
|
||||||
@@ -422,7 +415,25 @@ export type OilPriceHistorySelect<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["oilPriceHistory"]>
|
}, ExtArgs["result"]["oilPriceHistory"]>
|
||||||
|
|
||||||
|
export type OilPriceHistorySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
date?: boolean
|
||||||
|
province?: boolean
|
||||||
|
fuel?: boolean
|
||||||
|
price?: boolean
|
||||||
|
source?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["oilPriceHistory"]>
|
||||||
|
|
||||||
|
export type OilPriceHistorySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
date?: boolean
|
||||||
|
province?: boolean
|
||||||
|
fuel?: boolean
|
||||||
|
price?: boolean
|
||||||
|
source?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["oilPriceHistory"]>
|
||||||
|
|
||||||
export type OilPriceHistorySelectScalar = {
|
export type OilPriceHistorySelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -564,6 +575,30 @@ export interface OilPriceHistoryDelegate<ExtArgs extends runtime.Types.Extension
|
|||||||
*/
|
*/
|
||||||
createMany<T extends OilPriceHistoryCreateManyArgs>(args?: Prisma.SelectSubset<T, OilPriceHistoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends OilPriceHistoryCreateManyArgs>(args?: Prisma.SelectSubset<T, OilPriceHistoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many OilPriceHistories and returns the data saved in the database.
|
||||||
|
* @param {OilPriceHistoryCreateManyAndReturnArgs} args - Arguments to create many OilPriceHistories.
|
||||||
|
* @example
|
||||||
|
* // Create many OilPriceHistories
|
||||||
|
* const oilPriceHistory = await prisma.oilPriceHistory.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many OilPriceHistories and only return the `id`
|
||||||
|
* const oilPriceHistoryWithIdOnly = await prisma.oilPriceHistory.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends OilPriceHistoryCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, OilPriceHistoryCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$OilPriceHistoryPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a OilPriceHistory.
|
* Delete a OilPriceHistory.
|
||||||
* @param {OilPriceHistoryDeleteArgs} args - Arguments to delete one OilPriceHistory.
|
* @param {OilPriceHistoryDeleteArgs} args - Arguments to delete one OilPriceHistory.
|
||||||
@@ -628,6 +663,36 @@ export interface OilPriceHistoryDelegate<ExtArgs extends runtime.Types.Extension
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends OilPriceHistoryUpdateManyArgs>(args: Prisma.SelectSubset<T, OilPriceHistoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends OilPriceHistoryUpdateManyArgs>(args: Prisma.SelectSubset<T, OilPriceHistoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more OilPriceHistories and returns the data updated in the database.
|
||||||
|
* @param {OilPriceHistoryUpdateManyAndReturnArgs} args - Arguments to update many OilPriceHistories.
|
||||||
|
* @example
|
||||||
|
* // Update many OilPriceHistories
|
||||||
|
* const oilPriceHistory = await prisma.oilPriceHistory.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more OilPriceHistories and only return the `id`
|
||||||
|
* const oilPriceHistoryWithIdOnly = await prisma.oilPriceHistory.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends OilPriceHistoryUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, OilPriceHistoryUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$OilPriceHistoryPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one OilPriceHistory.
|
* Create or update one OilPriceHistory.
|
||||||
* @param {OilPriceHistoryUpsertArgs} args - Arguments to update or create a OilPriceHistory.
|
* @param {OilPriceHistoryUpsertArgs} args - Arguments to update or create a OilPriceHistory.
|
||||||
@@ -1036,6 +1101,25 @@ export type OilPriceHistoryCreateManyArgs<ExtArgs extends runtime.Types.Extensio
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OilPriceHistory createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type OilPriceHistoryCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the OilPriceHistory
|
||||||
|
*/
|
||||||
|
select?: Prisma.OilPriceHistorySelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the OilPriceHistory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.OilPriceHistoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many OilPriceHistories.
|
||||||
|
*/
|
||||||
|
data: Prisma.OilPriceHistoryCreateManyInput | Prisma.OilPriceHistoryCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OilPriceHistory update
|
* OilPriceHistory update
|
||||||
*/
|
*/
|
||||||
@@ -1076,6 +1160,32 @@ export type OilPriceHistoryUpdateManyArgs<ExtArgs extends runtime.Types.Extensio
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* OilPriceHistory updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type OilPriceHistoryUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the OilPriceHistory
|
||||||
|
*/
|
||||||
|
select?: Prisma.OilPriceHistorySelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the OilPriceHistory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.OilPriceHistoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update OilPriceHistories.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.OilPriceHistoryUpdateManyMutationInput, Prisma.OilPriceHistoryUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which OilPriceHistories to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.OilPriceHistoryWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many OilPriceHistories to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* OilPriceHistory upsert
|
* OilPriceHistory upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -38,6 +38,8 @@ export type ProjectSumAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectMinAggregateOutputType = {
|
export type ProjectMinAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
code: string | null
|
||||||
name: string | null
|
name: string | null
|
||||||
ownerId: number | null
|
ownerId: number | null
|
||||||
isPersonal: boolean | null
|
isPersonal: boolean | null
|
||||||
@@ -50,6 +52,8 @@ export type ProjectMinAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectMaxAggregateOutputType = {
|
export type ProjectMaxAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
code: string | null
|
||||||
name: string | null
|
name: string | null
|
||||||
ownerId: number | null
|
ownerId: number | null
|
||||||
isPersonal: boolean | null
|
isPersonal: boolean | null
|
||||||
@@ -62,6 +66,8 @@ export type ProjectMaxAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectCountAggregateOutputType = {
|
export type ProjectCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: number
|
||||||
|
code: number
|
||||||
name: number
|
name: number
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal: number
|
isPersonal: number
|
||||||
@@ -88,6 +94,8 @@ export type ProjectSumAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectMinAggregateInputType = {
|
export type ProjectMinAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
code?: true
|
||||||
name?: true
|
name?: true
|
||||||
ownerId?: true
|
ownerId?: true
|
||||||
isPersonal?: true
|
isPersonal?: true
|
||||||
@@ -100,6 +108,8 @@ export type ProjectMinAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectMaxAggregateInputType = {
|
export type ProjectMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
code?: true
|
||||||
name?: true
|
name?: true
|
||||||
ownerId?: true
|
ownerId?: true
|
||||||
isPersonal?: true
|
isPersonal?: true
|
||||||
@@ -112,6 +122,8 @@ export type ProjectMaxAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectCountAggregateInputType = {
|
export type ProjectCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
code?: true
|
||||||
name?: true
|
name?: true
|
||||||
ownerId?: true
|
ownerId?: true
|
||||||
isPersonal?: true
|
isPersonal?: true
|
||||||
@@ -213,6 +225,8 @@ export type ProjectGroupByArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
|
|
||||||
export type ProjectGroupByOutputType = {
|
export type ProjectGroupByOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal: boolean
|
isPersonal: boolean
|
||||||
@@ -250,6 +264,8 @@ export type ProjectWhereInput = {
|
|||||||
OR?: Prisma.ProjectWhereInput[]
|
OR?: Prisma.ProjectWhereInput[]
|
||||||
NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
||||||
id?: Prisma.IntFilter<"Project"> | number
|
id?: Prisma.IntFilter<"Project"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"Project"> | string
|
||||||
|
code?: Prisma.StringFilter<"Project"> | string
|
||||||
name?: Prisma.StringFilter<"Project"> | string
|
name?: Prisma.StringFilter<"Project"> | string
|
||||||
ownerId?: Prisma.IntFilter<"Project"> | number
|
ownerId?: Prisma.IntFilter<"Project"> | number
|
||||||
isPersonal?: Prisma.BoolFilter<"Project"> | boolean
|
isPersonal?: Prisma.BoolFilter<"Project"> | boolean
|
||||||
@@ -268,6 +284,8 @@ export type ProjectWhereInput = {
|
|||||||
|
|
||||||
export type ProjectOrderByWithRelationInput = {
|
export type ProjectOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
code?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
ownerId?: Prisma.SortOrder
|
ownerId?: Prisma.SortOrder
|
||||||
isPersonal?: Prisma.SortOrder
|
isPersonal?: Prisma.SortOrder
|
||||||
@@ -282,11 +300,12 @@ export type ProjectOrderByWithRelationInput = {
|
|||||||
members?: Prisma.ProjectMemberOrderByRelationAggregateInput
|
members?: Prisma.ProjectMemberOrderByRelationAggregateInput
|
||||||
columns?: Prisma.BoardColumnOrderByRelationAggregateInput
|
columns?: Prisma.BoardColumnOrderByRelationAggregateInput
|
||||||
tasks?: Prisma.TaskOrderByRelationAggregateInput
|
tasks?: Prisma.TaskOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.ProjectOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectWhereUniqueInput = Prisma.AtLeast<{
|
export type ProjectWhereUniqueInput = Prisma.AtLeast<{
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid?: string
|
||||||
|
code?: string
|
||||||
AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
||||||
OR?: Prisma.ProjectWhereInput[]
|
OR?: Prisma.ProjectWhereInput[]
|
||||||
NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
|
||||||
@@ -304,10 +323,12 @@ export type ProjectWhereUniqueInput = Prisma.AtLeast<{
|
|||||||
members?: Prisma.ProjectMemberListRelationFilter
|
members?: Prisma.ProjectMemberListRelationFilter
|
||||||
columns?: Prisma.BoardColumnListRelationFilter
|
columns?: Prisma.BoardColumnListRelationFilter
|
||||||
tasks?: Prisma.TaskListRelationFilter
|
tasks?: Prisma.TaskListRelationFilter
|
||||||
}, "id">
|
}, "id" | "uuid" | "code">
|
||||||
|
|
||||||
export type ProjectOrderByWithAggregationInput = {
|
export type ProjectOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
code?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
ownerId?: Prisma.SortOrder
|
ownerId?: Prisma.SortOrder
|
||||||
isPersonal?: Prisma.SortOrder
|
isPersonal?: Prisma.SortOrder
|
||||||
@@ -330,6 +351,8 @@ export type ProjectScalarWhereWithAggregatesInput = {
|
|||||||
OR?: Prisma.ProjectScalarWhereWithAggregatesInput[]
|
OR?: Prisma.ProjectScalarWhereWithAggregatesInput[]
|
||||||
NOT?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[]
|
NOT?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[]
|
||||||
id?: Prisma.IntWithAggregatesFilter<"Project"> | number
|
id?: Prisma.IntWithAggregatesFilter<"Project"> | number
|
||||||
|
uuid?: Prisma.StringWithAggregatesFilter<"Project"> | string
|
||||||
|
code?: Prisma.StringWithAggregatesFilter<"Project"> | string
|
||||||
name?: Prisma.StringWithAggregatesFilter<"Project"> | string
|
name?: Prisma.StringWithAggregatesFilter<"Project"> | string
|
||||||
ownerId?: Prisma.IntWithAggregatesFilter<"Project"> | number
|
ownerId?: Prisma.IntWithAggregatesFilter<"Project"> | number
|
||||||
isPersonal?: Prisma.BoolWithAggregatesFilter<"Project"> | boolean
|
isPersonal?: Prisma.BoolWithAggregatesFilter<"Project"> | boolean
|
||||||
@@ -343,6 +366,8 @@ export type ProjectScalarWhereWithAggregatesInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectCreateInput = {
|
export type ProjectCreateInput = {
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -360,6 +385,8 @@ export type ProjectCreateInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedCreateInput = {
|
export type ProjectUncheckedCreateInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -376,6 +403,8 @@ export type ProjectUncheckedCreateInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateInput = {
|
export type ProjectUpdateInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -393,6 +422,8 @@ export type ProjectUpdateInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateInput = {
|
export type ProjectUncheckedUpdateInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -410,6 +441,8 @@ export type ProjectUncheckedUpdateInput = {
|
|||||||
|
|
||||||
export type ProjectCreateManyInput = {
|
export type ProjectCreateManyInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -423,6 +456,8 @@ export type ProjectCreateManyInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateManyMutationInput = {
|
export type ProjectUpdateManyMutationInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -436,6 +471,8 @@ export type ProjectUpdateManyMutationInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateManyInput = {
|
export type ProjectUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -458,14 +495,10 @@ export type ProjectOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ProjectOrderByRelevanceFieldEnum | Prisma.ProjectOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ProjectCountOrderByAggregateInput = {
|
export type ProjectCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
code?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
ownerId?: Prisma.SortOrder
|
ownerId?: Prisma.SortOrder
|
||||||
isPersonal?: Prisma.SortOrder
|
isPersonal?: Prisma.SortOrder
|
||||||
@@ -485,6 +518,8 @@ export type ProjectAvgOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type ProjectMaxOrderByAggregateInput = {
|
export type ProjectMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
code?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
ownerId?: Prisma.SortOrder
|
ownerId?: Prisma.SortOrder
|
||||||
isPersonal?: Prisma.SortOrder
|
isPersonal?: Prisma.SortOrder
|
||||||
@@ -497,6 +532,8 @@ export type ProjectMaxOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type ProjectMinOrderByAggregateInput = {
|
export type ProjectMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
code?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
ownerId?: Prisma.SortOrder
|
ownerId?: Prisma.SortOrder
|
||||||
isPersonal?: Prisma.SortOrder
|
isPersonal?: Prisma.SortOrder
|
||||||
@@ -602,6 +639,8 @@ export type ProjectUpdateOneRequiredWithoutTasksNestedInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectCreateWithoutOwnerInput = {
|
export type ProjectCreateWithoutOwnerInput = {
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -618,6 +657,8 @@ export type ProjectCreateWithoutOwnerInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedCreateWithoutOwnerInput = {
|
export type ProjectUncheckedCreateWithoutOwnerInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -663,6 +704,8 @@ export type ProjectScalarWhereInput = {
|
|||||||
OR?: Prisma.ProjectScalarWhereInput[]
|
OR?: Prisma.ProjectScalarWhereInput[]
|
||||||
NOT?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
|
NOT?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
|
||||||
id?: Prisma.IntFilter<"Project"> | number
|
id?: Prisma.IntFilter<"Project"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"Project"> | string
|
||||||
|
code?: Prisma.StringFilter<"Project"> | string
|
||||||
name?: Prisma.StringFilter<"Project"> | string
|
name?: Prisma.StringFilter<"Project"> | string
|
||||||
ownerId?: Prisma.IntFilter<"Project"> | number
|
ownerId?: Prisma.IntFilter<"Project"> | number
|
||||||
isPersonal?: Prisma.BoolFilter<"Project"> | boolean
|
isPersonal?: Prisma.BoolFilter<"Project"> | boolean
|
||||||
@@ -676,6 +719,8 @@ export type ProjectScalarWhereInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectCreateWithoutMembersInput = {
|
export type ProjectCreateWithoutMembersInput = {
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -692,6 +737,8 @@ export type ProjectCreateWithoutMembersInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedCreateWithoutMembersInput = {
|
export type ProjectUncheckedCreateWithoutMembersInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -723,6 +770,8 @@ export type ProjectUpdateToOneWithWhereWithoutMembersInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateWithoutMembersInput = {
|
export type ProjectUpdateWithoutMembersInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -739,6 +788,8 @@ export type ProjectUpdateWithoutMembersInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateWithoutMembersInput = {
|
export type ProjectUncheckedUpdateWithoutMembersInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -754,6 +805,8 @@ export type ProjectUncheckedUpdateWithoutMembersInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectCreateWithoutColumnsInput = {
|
export type ProjectCreateWithoutColumnsInput = {
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -770,6 +823,8 @@ export type ProjectCreateWithoutColumnsInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedCreateWithoutColumnsInput = {
|
export type ProjectUncheckedCreateWithoutColumnsInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -801,6 +856,8 @@ export type ProjectUpdateToOneWithWhereWithoutColumnsInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateWithoutColumnsInput = {
|
export type ProjectUpdateWithoutColumnsInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -817,6 +874,8 @@ export type ProjectUpdateWithoutColumnsInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateWithoutColumnsInput = {
|
export type ProjectUncheckedUpdateWithoutColumnsInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -832,6 +891,8 @@ export type ProjectUncheckedUpdateWithoutColumnsInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectCreateWithoutTasksInput = {
|
export type ProjectCreateWithoutTasksInput = {
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -848,6 +909,8 @@ export type ProjectCreateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedCreateWithoutTasksInput = {
|
export type ProjectUncheckedCreateWithoutTasksInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -879,6 +942,8 @@ export type ProjectUpdateToOneWithWhereWithoutTasksInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateWithoutTasksInput = {
|
export type ProjectUpdateWithoutTasksInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -895,6 +960,8 @@ export type ProjectUpdateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateWithoutTasksInput = {
|
export type ProjectUncheckedUpdateWithoutTasksInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
ownerId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -911,6 +978,8 @@ export type ProjectUncheckedUpdateWithoutTasksInput = {
|
|||||||
|
|
||||||
export type ProjectCreateManyOwnerInput = {
|
export type ProjectCreateManyOwnerInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
archived?: boolean
|
archived?: boolean
|
||||||
@@ -923,6 +992,8 @@ export type ProjectCreateManyOwnerInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectUpdateWithoutOwnerInput = {
|
export type ProjectUpdateWithoutOwnerInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -939,6 +1010,8 @@ export type ProjectUpdateWithoutOwnerInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateWithoutOwnerInput = {
|
export type ProjectUncheckedUpdateWithoutOwnerInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -955,6 +1028,8 @@ export type ProjectUncheckedUpdateWithoutOwnerInput = {
|
|||||||
|
|
||||||
export type ProjectUncheckedUpdateManyWithoutOwnerInput = {
|
export type ProjectUncheckedUpdateManyWithoutOwnerInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
code?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
|
||||||
@@ -1017,6 +1092,8 @@ export type ProjectCountOutputTypeCountTasksArgs<ExtArgs extends runtime.Types.E
|
|||||||
|
|
||||||
export type ProjectSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type ProjectSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
code?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
ownerId?: boolean
|
ownerId?: boolean
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -1034,10 +1111,44 @@ export type ProjectSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
_count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["project"]>
|
}, ExtArgs["result"]["project"]>
|
||||||
|
|
||||||
|
export type ProjectSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
code?: boolean
|
||||||
|
name?: boolean
|
||||||
|
ownerId?: boolean
|
||||||
|
isPersonal?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
notes?: boolean
|
||||||
|
taskKinds?: boolean
|
||||||
|
icon?: boolean
|
||||||
|
autoArchive?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["project"]>
|
||||||
|
|
||||||
|
export type ProjectSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
code?: boolean
|
||||||
|
name?: boolean
|
||||||
|
ownerId?: boolean
|
||||||
|
isPersonal?: boolean
|
||||||
|
archived?: boolean
|
||||||
|
notes?: boolean
|
||||||
|
taskKinds?: boolean
|
||||||
|
icon?: boolean
|
||||||
|
autoArchive?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["project"]>
|
||||||
|
|
||||||
export type ProjectSelectScalar = {
|
export type ProjectSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
code?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
ownerId?: boolean
|
ownerId?: boolean
|
||||||
isPersonal?: boolean
|
isPersonal?: boolean
|
||||||
@@ -1050,7 +1161,7 @@ export type ProjectSelectScalar = {
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "ownerId" | "isPersonal" | "archived" | "notes" | "taskKinds" | "icon" | "autoArchive" | "createdAt" | "updatedAt", ExtArgs["result"]["project"]>
|
export type ProjectOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "code" | "name" | "ownerId" | "isPersonal" | "archived" | "notes" | "taskKinds" | "icon" | "autoArchive" | "createdAt" | "updatedAt", ExtArgs["result"]["project"]>
|
||||||
export type ProjectInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type ProjectInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
members?: boolean | Prisma.Project$membersArgs<ExtArgs>
|
members?: boolean | Prisma.Project$membersArgs<ExtArgs>
|
||||||
@@ -1058,6 +1169,12 @@ export type ProjectInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
tasks?: boolean | Prisma.Project$tasksArgs<ExtArgs>
|
tasks?: boolean | Prisma.Project$tasksArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type ProjectIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type ProjectIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
owner?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $ProjectPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $ProjectPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "Project"
|
name: "Project"
|
||||||
@@ -1069,6 +1186,8 @@ export type $ProjectPayload<ExtArgs extends runtime.Types.Extensions.InternalArg
|
|||||||
}
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
code: string
|
||||||
name: string
|
name: string
|
||||||
ownerId: number
|
ownerId: number
|
||||||
isPersonal: boolean
|
isPersonal: boolean
|
||||||
@@ -1196,6 +1315,30 @@ export interface ProjectDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ProjectCreateManyArgs>(args?: Prisma.SelectSubset<T, ProjectCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ProjectCreateManyArgs>(args?: Prisma.SelectSubset<T, ProjectCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Projects and returns the data saved in the database.
|
||||||
|
* @param {ProjectCreateManyAndReturnArgs} args - Arguments to create many Projects.
|
||||||
|
* @example
|
||||||
|
* // Create many Projects
|
||||||
|
* const project = await prisma.project.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Projects and only return the `id`
|
||||||
|
* const projectWithIdOnly = await prisma.project.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ProjectCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ProjectCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Project.
|
* Delete a Project.
|
||||||
* @param {ProjectDeleteArgs} args - Arguments to delete one Project.
|
* @param {ProjectDeleteArgs} args - Arguments to delete one Project.
|
||||||
@@ -1260,6 +1403,36 @@ export interface ProjectDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ProjectUpdateManyArgs>(args: Prisma.SelectSubset<T, ProjectUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ProjectUpdateManyArgs>(args: Prisma.SelectSubset<T, ProjectUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Projects and returns the data updated in the database.
|
||||||
|
* @param {ProjectUpdateManyAndReturnArgs} args - Arguments to update many Projects.
|
||||||
|
* @example
|
||||||
|
* // Update many Projects
|
||||||
|
* const project = await prisma.project.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Projects and only return the `id`
|
||||||
|
* const projectWithIdOnly = await prisma.project.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ProjectUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ProjectUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Project.
|
* Create or update one Project.
|
||||||
* @param {ProjectUpsertArgs} args - Arguments to update or create a Project.
|
* @param {ProjectUpsertArgs} args - Arguments to update or create a Project.
|
||||||
@@ -1453,6 +1626,8 @@ export interface Prisma__ProjectClient<T, Null = never, ExtArgs extends runtime.
|
|||||||
*/
|
*/
|
||||||
export interface ProjectFieldRefs {
|
export interface ProjectFieldRefs {
|
||||||
readonly id: Prisma.FieldRef<"Project", 'Int'>
|
readonly id: Prisma.FieldRef<"Project", 'Int'>
|
||||||
|
readonly uuid: Prisma.FieldRef<"Project", 'String'>
|
||||||
|
readonly code: Prisma.FieldRef<"Project", 'String'>
|
||||||
readonly name: Prisma.FieldRef<"Project", 'String'>
|
readonly name: Prisma.FieldRef<"Project", 'String'>
|
||||||
readonly ownerId: Prisma.FieldRef<"Project", 'Int'>
|
readonly ownerId: Prisma.FieldRef<"Project", 'Int'>
|
||||||
readonly isPersonal: Prisma.FieldRef<"Project", 'Boolean'>
|
readonly isPersonal: Prisma.FieldRef<"Project", 'Boolean'>
|
||||||
@@ -1700,6 +1875,29 @@ export type ProjectCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ProjectCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Project
|
||||||
|
*/
|
||||||
|
select?: Prisma.ProjectSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Project
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ProjectOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Projects.
|
||||||
|
*/
|
||||||
|
data: Prisma.ProjectCreateManyInput | Prisma.ProjectCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.ProjectIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project update
|
* Project update
|
||||||
*/
|
*/
|
||||||
@@ -1744,6 +1942,36 @@ export type ProjectUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Project updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ProjectUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Project
|
||||||
|
*/
|
||||||
|
select?: Prisma.ProjectSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Project
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ProjectOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Projects.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ProjectUpdateManyMutationInput, Prisma.ProjectUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Projects to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ProjectWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Projects to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.ProjectIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Project upsert
|
* Project upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ export type ProjectMemberSumAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectMemberMinAggregateOutputType = {
|
export type ProjectMemberMinAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number | null
|
projectId: number | null
|
||||||
userId: number | null
|
userId: number | null
|
||||||
permission: string | null
|
permission: string | null
|
||||||
@@ -48,6 +50,8 @@ export type ProjectMemberMinAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectMemberMaxAggregateOutputType = {
|
export type ProjectMemberMaxAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number | null
|
projectId: number | null
|
||||||
userId: number | null
|
userId: number | null
|
||||||
permission: string | null
|
permission: string | null
|
||||||
@@ -56,6 +60,8 @@ export type ProjectMemberMaxAggregateOutputType = {
|
|||||||
|
|
||||||
export type ProjectMemberCountAggregateOutputType = {
|
export type ProjectMemberCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: number
|
||||||
|
projectUuid: number
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
permission: number
|
permission: number
|
||||||
@@ -78,6 +84,8 @@ export type ProjectMemberSumAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectMemberMinAggregateInputType = {
|
export type ProjectMemberMinAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
permission?: true
|
permission?: true
|
||||||
@@ -86,6 +94,8 @@ export type ProjectMemberMinAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectMemberMaxAggregateInputType = {
|
export type ProjectMemberMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
permission?: true
|
permission?: true
|
||||||
@@ -94,6 +104,8 @@ export type ProjectMemberMaxAggregateInputType = {
|
|||||||
|
|
||||||
export type ProjectMemberCountAggregateInputType = {
|
export type ProjectMemberCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
projectUuid?: true
|
||||||
projectId?: true
|
projectId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
permission?: true
|
permission?: true
|
||||||
@@ -189,6 +201,8 @@ export type ProjectMemberGroupByArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
|
|
||||||
export type ProjectMemberGroupByOutputType = {
|
export type ProjectMemberGroupByOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
permission: string
|
permission: string
|
||||||
@@ -220,6 +234,8 @@ export type ProjectMemberWhereInput = {
|
|||||||
OR?: Prisma.ProjectMemberWhereInput[]
|
OR?: Prisma.ProjectMemberWhereInput[]
|
||||||
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
||||||
id?: Prisma.IntFilter<"ProjectMember"> | number
|
id?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"ProjectMember"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"ProjectMember"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
||||||
@@ -230,31 +246,36 @@ export type ProjectMemberWhereInput = {
|
|||||||
|
|
||||||
export type ProjectMemberOrderByWithRelationInput = {
|
export type ProjectMemberOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
permission?: Prisma.SortOrder
|
permission?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
project?: Prisma.ProjectOrderByWithRelationInput
|
project?: Prisma.ProjectOrderByWithRelationInput
|
||||||
user?: Prisma.UserOrderByWithRelationInput
|
user?: Prisma.UserOrderByWithRelationInput
|
||||||
_relevance?: Prisma.ProjectMemberOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberWhereUniqueInput = Prisma.AtLeast<{
|
export type ProjectMemberWhereUniqueInput = Prisma.AtLeast<{
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid?: string
|
||||||
projectId_userId?: Prisma.ProjectMemberProjectIdUserIdCompoundUniqueInput
|
projectId_userId?: Prisma.ProjectMemberProjectIdUserIdCompoundUniqueInput
|
||||||
AND?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
AND?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
||||||
OR?: Prisma.ProjectMemberWhereInput[]
|
OR?: Prisma.ProjectMemberWhereInput[]
|
||||||
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[]
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"ProjectMember"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
||||||
createdAt?: Prisma.DateTimeFilter<"ProjectMember"> | Date | string
|
createdAt?: Prisma.DateTimeFilter<"ProjectMember"> | Date | string
|
||||||
project?: Prisma.XOR<Prisma.ProjectScalarRelationFilter, Prisma.ProjectWhereInput>
|
project?: Prisma.XOR<Prisma.ProjectScalarRelationFilter, Prisma.ProjectWhereInput>
|
||||||
user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
|
user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
|
||||||
}, "id" | "projectId_userId">
|
}, "id" | "uuid" | "projectId_userId">
|
||||||
|
|
||||||
export type ProjectMemberOrderByWithAggregationInput = {
|
export type ProjectMemberOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
permission?: Prisma.SortOrder
|
permission?: Prisma.SortOrder
|
||||||
@@ -271,6 +292,8 @@ export type ProjectMemberScalarWhereWithAggregatesInput = {
|
|||||||
OR?: Prisma.ProjectMemberScalarWhereWithAggregatesInput[]
|
OR?: Prisma.ProjectMemberScalarWhereWithAggregatesInput[]
|
||||||
NOT?: Prisma.ProjectMemberScalarWhereWithAggregatesInput | Prisma.ProjectMemberScalarWhereWithAggregatesInput[]
|
NOT?: Prisma.ProjectMemberScalarWhereWithAggregatesInput | Prisma.ProjectMemberScalarWhereWithAggregatesInput[]
|
||||||
id?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
id?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
||||||
|
uuid?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableWithAggregatesFilter<"ProjectMember"> | string | null
|
||||||
projectId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
projectId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
||||||
userId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
userId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number
|
||||||
permission?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
|
permission?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string
|
||||||
@@ -278,6 +301,8 @@ export type ProjectMemberScalarWhereWithAggregatesInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberCreateInput = {
|
export type ProjectMemberCreateInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
|
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
|
||||||
@@ -286,6 +311,8 @@ export type ProjectMemberCreateInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedCreateInput = {
|
export type ProjectMemberUncheckedCreateInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
@@ -293,6 +320,8 @@ export type ProjectMemberUncheckedCreateInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberUpdateInput = {
|
export type ProjectMemberUpdateInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
|
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
|
||||||
@@ -301,6 +330,8 @@ export type ProjectMemberUpdateInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateInput = {
|
export type ProjectMemberUncheckedUpdateInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
@@ -309,6 +340,8 @@ export type ProjectMemberUncheckedUpdateInput = {
|
|||||||
|
|
||||||
export type ProjectMemberCreateManyInput = {
|
export type ProjectMemberCreateManyInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
@@ -316,12 +349,16 @@ export type ProjectMemberCreateManyInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberUpdateManyMutationInput = {
|
export type ProjectMemberUpdateManyMutationInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateManyInput = {
|
export type ProjectMemberUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
@@ -338,12 +375,6 @@ export type ProjectMemberOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ProjectMemberOrderByRelevanceFieldEnum | Prisma.ProjectMemberOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ProjectMemberProjectIdUserIdCompoundUniqueInput = {
|
export type ProjectMemberProjectIdUserIdCompoundUniqueInput = {
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
@@ -351,6 +382,8 @@ export type ProjectMemberProjectIdUserIdCompoundUniqueInput = {
|
|||||||
|
|
||||||
export type ProjectMemberCountOrderByAggregateInput = {
|
export type ProjectMemberCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
permission?: Prisma.SortOrder
|
permission?: Prisma.SortOrder
|
||||||
@@ -365,6 +398,8 @@ export type ProjectMemberAvgOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type ProjectMemberMaxOrderByAggregateInput = {
|
export type ProjectMemberMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
permission?: Prisma.SortOrder
|
permission?: Prisma.SortOrder
|
||||||
@@ -373,6 +408,8 @@ export type ProjectMemberMaxOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type ProjectMemberMinOrderByAggregateInput = {
|
export type ProjectMemberMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
projectUuid?: Prisma.SortOrder
|
||||||
projectId?: Prisma.SortOrder
|
projectId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
permission?: Prisma.SortOrder
|
permission?: Prisma.SortOrder
|
||||||
@@ -470,6 +507,8 @@ export type ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberCreateWithoutUserInput = {
|
export type ProjectMemberCreateWithoutUserInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
|
project: Prisma.ProjectCreateNestedOneWithoutMembersInput
|
||||||
@@ -477,6 +516,8 @@ export type ProjectMemberCreateWithoutUserInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedCreateWithoutUserInput = {
|
export type ProjectMemberUncheckedCreateWithoutUserInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -513,6 +554,8 @@ export type ProjectMemberScalarWhereInput = {
|
|||||||
OR?: Prisma.ProjectMemberScalarWhereInput[]
|
OR?: Prisma.ProjectMemberScalarWhereInput[]
|
||||||
NOT?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[]
|
NOT?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[]
|
||||||
id?: Prisma.IntFilter<"ProjectMember"> | number
|
id?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"ProjectMember"> | string
|
||||||
|
projectUuid?: Prisma.StringNullableFilter<"ProjectMember"> | string | null
|
||||||
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
projectId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
userId?: Prisma.IntFilter<"ProjectMember"> | number
|
||||||
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
permission?: Prisma.StringFilter<"ProjectMember"> | string
|
||||||
@@ -520,6 +563,8 @@ export type ProjectMemberScalarWhereInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberCreateWithoutProjectInput = {
|
export type ProjectMemberCreateWithoutProjectInput = {
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
user: Prisma.UserCreateNestedOneWithoutProjectMembersInput
|
user: Prisma.UserCreateNestedOneWithoutProjectMembersInput
|
||||||
@@ -527,6 +572,8 @@ export type ProjectMemberCreateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedCreateWithoutProjectInput = {
|
export type ProjectMemberUncheckedCreateWithoutProjectInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
userId: number
|
userId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -560,12 +607,16 @@ export type ProjectMemberUpdateManyWithWhereWithoutProjectInput = {
|
|||||||
|
|
||||||
export type ProjectMemberCreateManyUserInput = {
|
export type ProjectMemberCreateManyUserInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberUpdateWithoutUserInput = {
|
export type ProjectMemberUpdateWithoutUserInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
|
project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput
|
||||||
@@ -573,6 +624,8 @@ export type ProjectMemberUpdateWithoutUserInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateWithoutUserInput = {
|
export type ProjectMemberUncheckedUpdateWithoutUserInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -580,6 +633,8 @@ export type ProjectMemberUncheckedUpdateWithoutUserInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateManyWithoutUserInput = {
|
export type ProjectMemberUncheckedUpdateManyWithoutUserInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
projectId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -587,12 +642,16 @@ export type ProjectMemberUncheckedUpdateManyWithoutUserInput = {
|
|||||||
|
|
||||||
export type ProjectMemberCreateManyProjectInput = {
|
export type ProjectMemberCreateManyProjectInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid?: string | null
|
||||||
userId: number
|
userId: number
|
||||||
permission?: string
|
permission?: string
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberUpdateWithoutProjectInput = {
|
export type ProjectMemberUpdateWithoutProjectInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
user?: Prisma.UserUpdateOneRequiredWithoutProjectMembersNestedInput
|
user?: Prisma.UserUpdateOneRequiredWithoutProjectMembersNestedInput
|
||||||
@@ -600,6 +659,8 @@ export type ProjectMemberUpdateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateWithoutProjectInput = {
|
export type ProjectMemberUncheckedUpdateWithoutProjectInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -607,6 +668,8 @@ export type ProjectMemberUncheckedUpdateWithoutProjectInput = {
|
|||||||
|
|
||||||
export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = {
|
export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
projectUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
permission?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -616,6 +679,8 @@ export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = {
|
|||||||
|
|
||||||
export type ProjectMemberSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type ProjectMemberSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
projectId?: boolean
|
projectId?: boolean
|
||||||
userId?: boolean
|
userId?: boolean
|
||||||
permission?: boolean
|
permission?: boolean
|
||||||
@@ -624,21 +689,53 @@ export type ProjectMemberSelect<ExtArgs extends runtime.Types.Extensions.Interna
|
|||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["projectMember"]>
|
}, ExtArgs["result"]["projectMember"]>
|
||||||
|
|
||||||
|
export type ProjectMemberSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
|
projectId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
permission?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["projectMember"]>
|
||||||
|
|
||||||
|
export type ProjectMemberSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
|
projectId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
permission?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["projectMember"]>
|
||||||
|
|
||||||
export type ProjectMemberSelectScalar = {
|
export type ProjectMemberSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
projectUuid?: boolean
|
||||||
projectId?: boolean
|
projectId?: boolean
|
||||||
userId?: boolean
|
userId?: boolean
|
||||||
permission?: boolean
|
permission?: boolean
|
||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ProjectMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "projectId" | "userId" | "permission" | "createdAt", ExtArgs["result"]["projectMember"]>
|
export type ProjectMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectUuid" | "projectId" | "userId" | "permission" | "createdAt", ExtArgs["result"]["projectMember"]>
|
||||||
export type ProjectMemberInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type ProjectMemberInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type ProjectMemberIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type ProjectMemberIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
project?: boolean | Prisma.ProjectDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $ProjectMemberPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $ProjectMemberPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "ProjectMember"
|
name: "ProjectMember"
|
||||||
@@ -648,6 +745,8 @@ export type $ProjectMemberPayload<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
}
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
projectUuid: string | null
|
||||||
projectId: number
|
projectId: number
|
||||||
userId: number
|
userId: number
|
||||||
permission: string
|
permission: string
|
||||||
@@ -769,6 +868,30 @@ export interface ProjectMemberDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ProjectMemberCreateManyArgs>(args?: Prisma.SelectSubset<T, ProjectMemberCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ProjectMemberCreateManyArgs>(args?: Prisma.SelectSubset<T, ProjectMemberCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many ProjectMembers and returns the data saved in the database.
|
||||||
|
* @param {ProjectMemberCreateManyAndReturnArgs} args - Arguments to create many ProjectMembers.
|
||||||
|
* @example
|
||||||
|
* // Create many ProjectMembers
|
||||||
|
* const projectMember = await prisma.projectMember.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many ProjectMembers and only return the `id`
|
||||||
|
* const projectMemberWithIdOnly = await prisma.projectMember.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ProjectMemberCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ProjectMemberCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectMemberPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a ProjectMember.
|
* Delete a ProjectMember.
|
||||||
* @param {ProjectMemberDeleteArgs} args - Arguments to delete one ProjectMember.
|
* @param {ProjectMemberDeleteArgs} args - Arguments to delete one ProjectMember.
|
||||||
@@ -833,6 +956,36 @@ export interface ProjectMemberDelegate<ExtArgs extends runtime.Types.Extensions.
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ProjectMemberUpdateManyArgs>(args: Prisma.SelectSubset<T, ProjectMemberUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ProjectMemberUpdateManyArgs>(args: Prisma.SelectSubset<T, ProjectMemberUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more ProjectMembers and returns the data updated in the database.
|
||||||
|
* @param {ProjectMemberUpdateManyAndReturnArgs} args - Arguments to update many ProjectMembers.
|
||||||
|
* @example
|
||||||
|
* // Update many ProjectMembers
|
||||||
|
* const projectMember = await prisma.projectMember.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more ProjectMembers and only return the `id`
|
||||||
|
* const projectMemberWithIdOnly = await prisma.projectMember.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ProjectMemberUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ProjectMemberUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectMemberPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one ProjectMember.
|
* Create or update one ProjectMember.
|
||||||
* @param {ProjectMemberUpsertArgs} args - Arguments to update or create a ProjectMember.
|
* @param {ProjectMemberUpsertArgs} args - Arguments to update or create a ProjectMember.
|
||||||
@@ -1024,6 +1177,8 @@ export interface Prisma__ProjectMemberClient<T, Null = never, ExtArgs extends ru
|
|||||||
*/
|
*/
|
||||||
export interface ProjectMemberFieldRefs {
|
export interface ProjectMemberFieldRefs {
|
||||||
readonly id: Prisma.FieldRef<"ProjectMember", 'Int'>
|
readonly id: Prisma.FieldRef<"ProjectMember", 'Int'>
|
||||||
|
readonly uuid: Prisma.FieldRef<"ProjectMember", 'String'>
|
||||||
|
readonly projectUuid: Prisma.FieldRef<"ProjectMember", 'String'>
|
||||||
readonly projectId: Prisma.FieldRef<"ProjectMember", 'Int'>
|
readonly projectId: Prisma.FieldRef<"ProjectMember", 'Int'>
|
||||||
readonly userId: Prisma.FieldRef<"ProjectMember", 'Int'>
|
readonly userId: Prisma.FieldRef<"ProjectMember", 'Int'>
|
||||||
readonly permission: Prisma.FieldRef<"ProjectMember", 'String'>
|
readonly permission: Prisma.FieldRef<"ProjectMember", 'String'>
|
||||||
@@ -1265,6 +1420,29 @@ export type ProjectMemberCreateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ProjectMember createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ProjectMemberCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ProjectMember
|
||||||
|
*/
|
||||||
|
select?: Prisma.ProjectMemberSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ProjectMember
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ProjectMemberOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many ProjectMembers.
|
||||||
|
*/
|
||||||
|
data: Prisma.ProjectMemberCreateManyInput | Prisma.ProjectMemberCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.ProjectMemberIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ProjectMember update
|
* ProjectMember update
|
||||||
*/
|
*/
|
||||||
@@ -1309,6 +1487,36 @@ export type ProjectMemberUpdateManyArgs<ExtArgs extends runtime.Types.Extensions
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ProjectMember updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ProjectMemberUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ProjectMember
|
||||||
|
*/
|
||||||
|
select?: Prisma.ProjectMemberSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ProjectMember
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ProjectMemberOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update ProjectMembers.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ProjectMemberUpdateManyMutationInput, Prisma.ProjectMemberUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which ProjectMembers to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ProjectMemberWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many ProjectMembers to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.ProjectMemberIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ProjectMember upsert
|
* ProjectMember upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -238,7 +238,6 @@ export type ScraperCacheOrderByWithRelationInput = {
|
|||||||
metadata?: Prisma.SortOrderInput | Prisma.SortOrder
|
metadata?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.ScraperCacheOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ScraperCacheWhereUniqueInput = Prisma.AtLeast<{
|
export type ScraperCacheWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -349,12 +348,6 @@ export type ScraperCacheUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ScraperCacheOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ScraperCacheOrderByRelevanceFieldEnum | Prisma.ScraperCacheOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ScraperCacheCountOrderByAggregateInput = {
|
export type ScraperCacheCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
scraperName?: Prisma.SortOrder
|
scraperName?: Prisma.SortOrder
|
||||||
@@ -403,7 +396,25 @@ export type ScraperCacheSelect<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["scraperCache"]>
|
}, ExtArgs["result"]["scraperCache"]>
|
||||||
|
|
||||||
|
export type ScraperCacheSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
scraperName?: boolean
|
||||||
|
lastDataHash?: boolean
|
||||||
|
lastUpdateAt?: boolean
|
||||||
|
metadata?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["scraperCache"]>
|
||||||
|
|
||||||
|
export type ScraperCacheSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
scraperName?: boolean
|
||||||
|
lastDataHash?: boolean
|
||||||
|
lastUpdateAt?: boolean
|
||||||
|
metadata?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["scraperCache"]>
|
||||||
|
|
||||||
export type ScraperCacheSelectScalar = {
|
export type ScraperCacheSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -545,6 +556,30 @@ export interface ScraperCacheDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ScraperCacheCreateManyArgs>(args?: Prisma.SelectSubset<T, ScraperCacheCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ScraperCacheCreateManyArgs>(args?: Prisma.SelectSubset<T, ScraperCacheCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many ScraperCaches and returns the data saved in the database.
|
||||||
|
* @param {ScraperCacheCreateManyAndReturnArgs} args - Arguments to create many ScraperCaches.
|
||||||
|
* @example
|
||||||
|
* // Create many ScraperCaches
|
||||||
|
* const scraperCache = await prisma.scraperCache.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many ScraperCaches and only return the `id`
|
||||||
|
* const scraperCacheWithIdOnly = await prisma.scraperCache.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ScraperCacheCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ScraperCacheCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ScraperCachePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a ScraperCache.
|
* Delete a ScraperCache.
|
||||||
* @param {ScraperCacheDeleteArgs} args - Arguments to delete one ScraperCache.
|
* @param {ScraperCacheDeleteArgs} args - Arguments to delete one ScraperCache.
|
||||||
@@ -609,6 +644,36 @@ export interface ScraperCacheDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ScraperCacheUpdateManyArgs>(args: Prisma.SelectSubset<T, ScraperCacheUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ScraperCacheUpdateManyArgs>(args: Prisma.SelectSubset<T, ScraperCacheUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more ScraperCaches and returns the data updated in the database.
|
||||||
|
* @param {ScraperCacheUpdateManyAndReturnArgs} args - Arguments to update many ScraperCaches.
|
||||||
|
* @example
|
||||||
|
* // Update many ScraperCaches
|
||||||
|
* const scraperCache = await prisma.scraperCache.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more ScraperCaches and only return the `id`
|
||||||
|
* const scraperCacheWithIdOnly = await prisma.scraperCache.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ScraperCacheUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ScraperCacheUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ScraperCachePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one ScraperCache.
|
* Create or update one ScraperCache.
|
||||||
* @param {ScraperCacheUpsertArgs} args - Arguments to update or create a ScraperCache.
|
* @param {ScraperCacheUpsertArgs} args - Arguments to update or create a ScraperCache.
|
||||||
@@ -1017,6 +1082,25 @@ export type ScraperCacheCreateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ScraperCache createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ScraperCacheCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ScraperCache
|
||||||
|
*/
|
||||||
|
select?: Prisma.ScraperCacheSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ScraperCache
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ScraperCacheOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many ScraperCaches.
|
||||||
|
*/
|
||||||
|
data: Prisma.ScraperCacheCreateManyInput | Prisma.ScraperCacheCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ScraperCache update
|
* ScraperCache update
|
||||||
*/
|
*/
|
||||||
@@ -1057,6 +1141,32 @@ export type ScraperCacheUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ScraperCache updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ScraperCacheUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ScraperCache
|
||||||
|
*/
|
||||||
|
select?: Prisma.ScraperCacheSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ScraperCache
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ScraperCacheOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update ScraperCaches.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ScraperCacheUpdateManyMutationInput, Prisma.ScraperCacheUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which ScraperCaches to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ScraperCacheWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many ScraperCaches to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ScraperCache upsert
|
* ScraperCache upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -464,7 +464,6 @@ export type ServerNodeOrderByWithRelationInput = {
|
|||||||
recordedAt?: Prisma.SortOrder
|
recordedAt?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.ServerNodeOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServerNodeWhereUniqueInput = Prisma.AtLeast<{
|
export type ServerNodeWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -755,12 +754,6 @@ export type ServerNodeUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServerNodeOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ServerNodeOrderByRelevanceFieldEnum | Prisma.ServerNodeOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ServerNodeCountOrderByAggregateInput = {
|
export type ServerNodeCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
uuid?: Prisma.SortOrder
|
uuid?: Prisma.SortOrder
|
||||||
@@ -921,7 +914,61 @@ export type ServerNodeSelect<ExtArgs extends runtime.Types.Extensions.InternalAr
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["serverNode"]>
|
}, ExtArgs["result"]["serverNode"]>
|
||||||
|
|
||||||
|
export type ServerNodeSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
name?: boolean
|
||||||
|
cpuName?: boolean
|
||||||
|
os?: boolean
|
||||||
|
region?: boolean
|
||||||
|
memTotal?: boolean
|
||||||
|
diskTotal?: boolean
|
||||||
|
cpuCores?: boolean
|
||||||
|
cpuUsage?: boolean
|
||||||
|
ramUsed?: boolean
|
||||||
|
swapUsed?: boolean
|
||||||
|
load1?: boolean
|
||||||
|
load5?: boolean
|
||||||
|
load15?: boolean
|
||||||
|
diskUsed?: boolean
|
||||||
|
netIn?: boolean
|
||||||
|
netOut?: boolean
|
||||||
|
uptime?: boolean
|
||||||
|
process?: boolean
|
||||||
|
connections?: boolean
|
||||||
|
status?: boolean
|
||||||
|
recordedAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serverNode"]>
|
||||||
|
|
||||||
|
export type ServerNodeSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
name?: boolean
|
||||||
|
cpuName?: boolean
|
||||||
|
os?: boolean
|
||||||
|
region?: boolean
|
||||||
|
memTotal?: boolean
|
||||||
|
diskTotal?: boolean
|
||||||
|
cpuCores?: boolean
|
||||||
|
cpuUsage?: boolean
|
||||||
|
ramUsed?: boolean
|
||||||
|
swapUsed?: boolean
|
||||||
|
load1?: boolean
|
||||||
|
load5?: boolean
|
||||||
|
load15?: boolean
|
||||||
|
diskUsed?: boolean
|
||||||
|
netIn?: boolean
|
||||||
|
netOut?: boolean
|
||||||
|
uptime?: boolean
|
||||||
|
process?: boolean
|
||||||
|
connections?: boolean
|
||||||
|
status?: boolean
|
||||||
|
recordedAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serverNode"]>
|
||||||
|
|
||||||
export type ServerNodeSelectScalar = {
|
export type ServerNodeSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -1099,6 +1146,30 @@ export interface ServerNodeDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ServerNodeCreateManyArgs>(args?: Prisma.SelectSubset<T, ServerNodeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ServerNodeCreateManyArgs>(args?: Prisma.SelectSubset<T, ServerNodeCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many ServerNodes and returns the data saved in the database.
|
||||||
|
* @param {ServerNodeCreateManyAndReturnArgs} args - Arguments to create many ServerNodes.
|
||||||
|
* @example
|
||||||
|
* // Create many ServerNodes
|
||||||
|
* const serverNode = await prisma.serverNode.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many ServerNodes and only return the `id`
|
||||||
|
* const serverNodeWithIdOnly = await prisma.serverNode.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ServerNodeCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ServerNodeCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServerNodePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a ServerNode.
|
* Delete a ServerNode.
|
||||||
* @param {ServerNodeDeleteArgs} args - Arguments to delete one ServerNode.
|
* @param {ServerNodeDeleteArgs} args - Arguments to delete one ServerNode.
|
||||||
@@ -1163,6 +1234,36 @@ export interface ServerNodeDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ServerNodeUpdateManyArgs>(args: Prisma.SelectSubset<T, ServerNodeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ServerNodeUpdateManyArgs>(args: Prisma.SelectSubset<T, ServerNodeUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more ServerNodes and returns the data updated in the database.
|
||||||
|
* @param {ServerNodeUpdateManyAndReturnArgs} args - Arguments to update many ServerNodes.
|
||||||
|
* @example
|
||||||
|
* // Update many ServerNodes
|
||||||
|
* const serverNode = await prisma.serverNode.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more ServerNodes and only return the `id`
|
||||||
|
* const serverNodeWithIdOnly = await prisma.serverNode.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ServerNodeUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ServerNodeUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServerNodePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one ServerNode.
|
* Create or update one ServerNode.
|
||||||
* @param {ServerNodeUpsertArgs} args - Arguments to update or create a ServerNode.
|
* @param {ServerNodeUpsertArgs} args - Arguments to update or create a ServerNode.
|
||||||
@@ -1589,6 +1690,25 @@ export type ServerNodeCreateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServerNode createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServerNodeCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServerNode
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServerNodeSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServerNode
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServerNodeOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many ServerNodes.
|
||||||
|
*/
|
||||||
|
data: Prisma.ServerNodeCreateManyInput | Prisma.ServerNodeCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServerNode update
|
* ServerNode update
|
||||||
*/
|
*/
|
||||||
@@ -1629,6 +1749,32 @@ export type ServerNodeUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServerNode updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServerNodeUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServerNode
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServerNodeSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServerNode
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServerNodeOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update ServerNodes.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ServerNodeUpdateManyMutationInput, Prisma.ServerNodeUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which ServerNodes to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ServerNodeWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many ServerNodes to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServerNode upsert
|
* ServerNode upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -319,7 +319,6 @@ export type ServerNodeHistoryOrderByWithRelationInput = {
|
|||||||
process?: Prisma.SortOrder
|
process?: Prisma.SortOrder
|
||||||
connections?: Prisma.SortOrder
|
connections?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.ServerNodeHistoryOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServerNodeHistoryWhereUniqueInput = Prisma.AtLeast<{
|
export type ServerNodeHistoryWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -481,12 +480,6 @@ export type ServerNodeHistoryUncheckedUpdateManyInput = {
|
|||||||
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServerNodeHistoryOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ServerNodeHistoryOrderByRelevanceFieldEnum | Prisma.ServerNodeHistoryOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ServerNodeHistoryUuidPeriodCompoundUniqueInput = {
|
export type ServerNodeHistoryUuidPeriodCompoundUniqueInput = {
|
||||||
uuid: string
|
uuid: string
|
||||||
period: Date | string
|
period: Date | string
|
||||||
@@ -578,7 +571,35 @@ export type ServerNodeHistorySelect<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
}, ExtArgs["result"]["serverNodeHistory"]>
|
}, ExtArgs["result"]["serverNodeHistory"]>
|
||||||
|
|
||||||
|
export type ServerNodeHistorySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
period?: boolean
|
||||||
|
cpu?: boolean
|
||||||
|
ram?: boolean
|
||||||
|
load?: boolean
|
||||||
|
disk?: boolean
|
||||||
|
netIn?: boolean
|
||||||
|
netOut?: boolean
|
||||||
|
process?: boolean
|
||||||
|
connections?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serverNodeHistory"]>
|
||||||
|
|
||||||
|
export type ServerNodeHistorySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
period?: boolean
|
||||||
|
cpu?: boolean
|
||||||
|
ram?: boolean
|
||||||
|
load?: boolean
|
||||||
|
disk?: boolean
|
||||||
|
netIn?: boolean
|
||||||
|
netOut?: boolean
|
||||||
|
process?: boolean
|
||||||
|
connections?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serverNodeHistory"]>
|
||||||
|
|
||||||
export type ServerNodeHistorySelectScalar = {
|
export type ServerNodeHistorySelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -730,6 +751,30 @@ export interface ServerNodeHistoryDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ServerNodeHistoryCreateManyArgs>(args?: Prisma.SelectSubset<T, ServerNodeHistoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ServerNodeHistoryCreateManyArgs>(args?: Prisma.SelectSubset<T, ServerNodeHistoryCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many ServerNodeHistories and returns the data saved in the database.
|
||||||
|
* @param {ServerNodeHistoryCreateManyAndReturnArgs} args - Arguments to create many ServerNodeHistories.
|
||||||
|
* @example
|
||||||
|
* // Create many ServerNodeHistories
|
||||||
|
* const serverNodeHistory = await prisma.serverNodeHistory.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many ServerNodeHistories and only return the `id`
|
||||||
|
* const serverNodeHistoryWithIdOnly = await prisma.serverNodeHistory.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ServerNodeHistoryCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ServerNodeHistoryCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServerNodeHistoryPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a ServerNodeHistory.
|
* Delete a ServerNodeHistory.
|
||||||
* @param {ServerNodeHistoryDeleteArgs} args - Arguments to delete one ServerNodeHistory.
|
* @param {ServerNodeHistoryDeleteArgs} args - Arguments to delete one ServerNodeHistory.
|
||||||
@@ -794,6 +839,36 @@ export interface ServerNodeHistoryDelegate<ExtArgs extends runtime.Types.Extensi
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ServerNodeHistoryUpdateManyArgs>(args: Prisma.SelectSubset<T, ServerNodeHistoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ServerNodeHistoryUpdateManyArgs>(args: Prisma.SelectSubset<T, ServerNodeHistoryUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more ServerNodeHistories and returns the data updated in the database.
|
||||||
|
* @param {ServerNodeHistoryUpdateManyAndReturnArgs} args - Arguments to update many ServerNodeHistories.
|
||||||
|
* @example
|
||||||
|
* // Update many ServerNodeHistories
|
||||||
|
* const serverNodeHistory = await prisma.serverNodeHistory.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more ServerNodeHistories and only return the `id`
|
||||||
|
* const serverNodeHistoryWithIdOnly = await prisma.serverNodeHistory.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ServerNodeHistoryUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ServerNodeHistoryUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServerNodeHistoryPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one ServerNodeHistory.
|
* Create or update one ServerNodeHistory.
|
||||||
* @param {ServerNodeHistoryUpsertArgs} args - Arguments to update or create a ServerNodeHistory.
|
* @param {ServerNodeHistoryUpsertArgs} args - Arguments to update or create a ServerNodeHistory.
|
||||||
@@ -1207,6 +1282,25 @@ export type ServerNodeHistoryCreateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServerNodeHistory createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServerNodeHistoryCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServerNodeHistory
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServerNodeHistorySelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServerNodeHistory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServerNodeHistoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many ServerNodeHistories.
|
||||||
|
*/
|
||||||
|
data: Prisma.ServerNodeHistoryCreateManyInput | Prisma.ServerNodeHistoryCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServerNodeHistory update
|
* ServerNodeHistory update
|
||||||
*/
|
*/
|
||||||
@@ -1247,6 +1341,32 @@ export type ServerNodeHistoryUpdateManyArgs<ExtArgs extends runtime.Types.Extens
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServerNodeHistory updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServerNodeHistoryUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServerNodeHistory
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServerNodeHistorySelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServerNodeHistory
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServerNodeHistoryOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update ServerNodeHistories.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ServerNodeHistoryUpdateManyMutationInput, Prisma.ServerNodeHistoryUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which ServerNodeHistories to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ServerNodeHistoryWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many ServerNodeHistories to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServerNodeHistory upsert
|
* ServerNodeHistory upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -264,7 +264,6 @@ export type ServiceCheckOrderByWithRelationInput = {
|
|||||||
lastCheckAt?: Prisma.SortOrder
|
lastCheckAt?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.ServiceCheckOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServiceCheckWhereUniqueInput = Prisma.AtLeast<{
|
export type ServiceCheckWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -395,12 +394,6 @@ export type ServiceCheckUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type ServiceCheckOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.ServiceCheckOrderByRelevanceFieldEnum | Prisma.ServiceCheckOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type ServiceCheckCountOrderByAggregateInput = {
|
export type ServiceCheckCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
@@ -461,7 +454,29 @@ export type ServiceCheckSelect<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["serviceCheck"]>
|
}, ExtArgs["result"]["serviceCheck"]>
|
||||||
|
|
||||||
|
export type ServiceCheckSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
url?: boolean
|
||||||
|
status?: boolean
|
||||||
|
latencyMs?: boolean
|
||||||
|
message?: boolean
|
||||||
|
lastCheckAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serviceCheck"]>
|
||||||
|
|
||||||
|
export type ServiceCheckSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
url?: boolean
|
||||||
|
status?: boolean
|
||||||
|
latencyMs?: boolean
|
||||||
|
message?: boolean
|
||||||
|
lastCheckAt?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["serviceCheck"]>
|
||||||
|
|
||||||
export type ServiceCheckSelectScalar = {
|
export type ServiceCheckSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -607,6 +622,30 @@ export interface ServiceCheckDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
createMany<T extends ServiceCheckCreateManyArgs>(args?: Prisma.SelectSubset<T, ServiceCheckCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends ServiceCheckCreateManyArgs>(args?: Prisma.SelectSubset<T, ServiceCheckCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many ServiceChecks and returns the data saved in the database.
|
||||||
|
* @param {ServiceCheckCreateManyAndReturnArgs} args - Arguments to create many ServiceChecks.
|
||||||
|
* @example
|
||||||
|
* // Create many ServiceChecks
|
||||||
|
* const serviceCheck = await prisma.serviceCheck.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many ServiceChecks and only return the `id`
|
||||||
|
* const serviceCheckWithIdOnly = await prisma.serviceCheck.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends ServiceCheckCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ServiceCheckCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServiceCheckPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a ServiceCheck.
|
* Delete a ServiceCheck.
|
||||||
* @param {ServiceCheckDeleteArgs} args - Arguments to delete one ServiceCheck.
|
* @param {ServiceCheckDeleteArgs} args - Arguments to delete one ServiceCheck.
|
||||||
@@ -671,6 +710,36 @@ export interface ServiceCheckDelegate<ExtArgs extends runtime.Types.Extensions.I
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends ServiceCheckUpdateManyArgs>(args: Prisma.SelectSubset<T, ServiceCheckUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends ServiceCheckUpdateManyArgs>(args: Prisma.SelectSubset<T, ServiceCheckUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more ServiceChecks and returns the data updated in the database.
|
||||||
|
* @param {ServiceCheckUpdateManyAndReturnArgs} args - Arguments to update many ServiceChecks.
|
||||||
|
* @example
|
||||||
|
* // Update many ServiceChecks
|
||||||
|
* const serviceCheck = await prisma.serviceCheck.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more ServiceChecks and only return the `id`
|
||||||
|
* const serviceCheckWithIdOnly = await prisma.serviceCheck.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends ServiceCheckUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ServiceCheckUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ServiceCheckPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one ServiceCheck.
|
* Create or update one ServiceCheck.
|
||||||
* @param {ServiceCheckUpsertArgs} args - Arguments to update or create a ServiceCheck.
|
* @param {ServiceCheckUpsertArgs} args - Arguments to update or create a ServiceCheck.
|
||||||
@@ -1081,6 +1150,25 @@ export type ServiceCheckCreateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServiceCheck createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServiceCheckCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServiceCheck
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServiceCheckSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServiceCheck
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServiceCheckOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many ServiceChecks.
|
||||||
|
*/
|
||||||
|
data: Prisma.ServiceCheckCreateManyInput | Prisma.ServiceCheckCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServiceCheck update
|
* ServiceCheck update
|
||||||
*/
|
*/
|
||||||
@@ -1121,6 +1209,32 @@ export type ServiceCheckUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ServiceCheck updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type ServiceCheckUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the ServiceCheck
|
||||||
|
*/
|
||||||
|
select?: Prisma.ServiceCheckSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the ServiceCheck
|
||||||
|
*/
|
||||||
|
omit?: Prisma.ServiceCheckOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update ServiceChecks.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.ServiceCheckUpdateManyMutationInput, Prisma.ServiceCheckUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which ServiceChecks to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.ServiceCheckWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many ServiceChecks to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ServiceCheck upsert
|
* ServiceCheck upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -229,7 +229,6 @@ export type StrategyOrderByWithRelationInput = {
|
|||||||
data?: Prisma.SortOrder
|
data?: Prisma.SortOrder
|
||||||
createdAt?: Prisma.SortOrder
|
createdAt?: Prisma.SortOrder
|
||||||
updatedAt?: Prisma.SortOrder
|
updatedAt?: Prisma.SortOrder
|
||||||
_relevance?: Prisma.StrategyOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type StrategyWhereUniqueInput = Prisma.AtLeast<{
|
export type StrategyWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -330,12 +329,6 @@ export type StrategyUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type StrategyOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.StrategyOrderByRelevanceFieldEnum | Prisma.StrategyOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type StrategyCountOrderByAggregateInput = {
|
export type StrategyCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
@@ -380,7 +373,23 @@ export type StrategySelect<ExtArgs extends runtime.Types.Extensions.InternalArgs
|
|||||||
updatedAt?: boolean
|
updatedAt?: boolean
|
||||||
}, ExtArgs["result"]["strategy"]>
|
}, ExtArgs["result"]["strategy"]>
|
||||||
|
|
||||||
|
export type StrategySelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
description?: boolean
|
||||||
|
data?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["strategy"]>
|
||||||
|
|
||||||
|
export type StrategySelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
description?: boolean
|
||||||
|
data?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["strategy"]>
|
||||||
|
|
||||||
export type StrategySelectScalar = {
|
export type StrategySelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -520,6 +529,30 @@ export interface StrategyDelegate<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
*/
|
*/
|
||||||
createMany<T extends StrategyCreateManyArgs>(args?: Prisma.SelectSubset<T, StrategyCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends StrategyCreateManyArgs>(args?: Prisma.SelectSubset<T, StrategyCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Strategies and returns the data saved in the database.
|
||||||
|
* @param {StrategyCreateManyAndReturnArgs} args - Arguments to create many Strategies.
|
||||||
|
* @example
|
||||||
|
* // Create many Strategies
|
||||||
|
* const strategy = await prisma.strategy.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Strategies and only return the `id`
|
||||||
|
* const strategyWithIdOnly = await prisma.strategy.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends StrategyCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, StrategyCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$StrategyPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a Strategy.
|
* Delete a Strategy.
|
||||||
* @param {StrategyDeleteArgs} args - Arguments to delete one Strategy.
|
* @param {StrategyDeleteArgs} args - Arguments to delete one Strategy.
|
||||||
@@ -584,6 +617,36 @@ export interface StrategyDelegate<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends StrategyUpdateManyArgs>(args: Prisma.SelectSubset<T, StrategyUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends StrategyUpdateManyArgs>(args: Prisma.SelectSubset<T, StrategyUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Strategies and returns the data updated in the database.
|
||||||
|
* @param {StrategyUpdateManyAndReturnArgs} args - Arguments to update many Strategies.
|
||||||
|
* @example
|
||||||
|
* // Update many Strategies
|
||||||
|
* const strategy = await prisma.strategy.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Strategies and only return the `id`
|
||||||
|
* const strategyWithIdOnly = await prisma.strategy.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends StrategyUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, StrategyUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$StrategyPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one Strategy.
|
* Create or update one Strategy.
|
||||||
* @param {StrategyUpsertArgs} args - Arguments to update or create a Strategy.
|
* @param {StrategyUpsertArgs} args - Arguments to update or create a Strategy.
|
||||||
@@ -991,6 +1054,25 @@ export type StrategyCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strategy createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type StrategyCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Strategy
|
||||||
|
*/
|
||||||
|
select?: Prisma.StrategySelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Strategy
|
||||||
|
*/
|
||||||
|
omit?: Prisma.StrategyOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Strategies.
|
||||||
|
*/
|
||||||
|
data: Prisma.StrategyCreateManyInput | Prisma.StrategyCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Strategy update
|
* Strategy update
|
||||||
*/
|
*/
|
||||||
@@ -1031,6 +1113,32 @@ export type StrategyUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Inte
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Strategy updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type StrategyUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the Strategy
|
||||||
|
*/
|
||||||
|
select?: Prisma.StrategySelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the Strategy
|
||||||
|
*/
|
||||||
|
omit?: Prisma.StrategyOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Strategies.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.StrategyUpdateManyMutationInput, Prisma.StrategyUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Strategies to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.StrategyWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Strategies to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Strategy upsert
|
* Strategy upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
+543
-10
File diff suppressed because it is too large
Load Diff
@@ -40,18 +40,24 @@ export type TaskMemberSumAggregateOutputType = {
|
|||||||
|
|
||||||
export type TaskMemberMinAggregateOutputType = {
|
export type TaskMemberMinAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number | null
|
taskId: number | null
|
||||||
userId: number | null
|
userId: number | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberMaxAggregateOutputType = {
|
export type TaskMemberMaxAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number | null
|
taskId: number | null
|
||||||
userId: number | null
|
userId: number | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCountAggregateOutputType = {
|
export type TaskMemberCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: number
|
||||||
|
taskUuid: number
|
||||||
taskId: number
|
taskId: number
|
||||||
userId: number
|
userId: number
|
||||||
_all: number
|
_all: number
|
||||||
@@ -72,18 +78,24 @@ export type TaskMemberSumAggregateInputType = {
|
|||||||
|
|
||||||
export type TaskMemberMinAggregateInputType = {
|
export type TaskMemberMinAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberMaxAggregateInputType = {
|
export type TaskMemberMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCountAggregateInputType = {
|
export type TaskMemberCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
userId?: true
|
userId?: true
|
||||||
_all?: true
|
_all?: true
|
||||||
@@ -177,6 +189,8 @@ export type TaskMemberGroupByArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
|
|
||||||
export type TaskMemberGroupByOutputType = {
|
export type TaskMemberGroupByOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
userId: number
|
userId: number
|
||||||
_count: TaskMemberCountAggregateOutputType | null
|
_count: TaskMemberCountAggregateOutputType | null
|
||||||
@@ -206,6 +220,8 @@ export type TaskMemberWhereInput = {
|
|||||||
OR?: Prisma.TaskMemberWhereInput[]
|
OR?: Prisma.TaskMemberWhereInput[]
|
||||||
NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
||||||
id?: Prisma.IntFilter<"TaskMember"> | number
|
id?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"TaskMember"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskMember"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
userId?: Prisma.IntFilter<"TaskMember"> | number
|
userId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
||||||
@@ -214,6 +230,8 @@ export type TaskMemberWhereInput = {
|
|||||||
|
|
||||||
export type TaskMemberOrderByWithRelationInput = {
|
export type TaskMemberOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
task?: Prisma.TaskOrderByWithRelationInput
|
task?: Prisma.TaskOrderByWithRelationInput
|
||||||
@@ -222,18 +240,22 @@ export type TaskMemberOrderByWithRelationInput = {
|
|||||||
|
|
||||||
export type TaskMemberWhereUniqueInput = Prisma.AtLeast<{
|
export type TaskMemberWhereUniqueInput = Prisma.AtLeast<{
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid?: string
|
||||||
taskId_userId?: Prisma.TaskMemberTaskIdUserIdCompoundUniqueInput
|
taskId_userId?: Prisma.TaskMemberTaskIdUserIdCompoundUniqueInput
|
||||||
AND?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
AND?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
||||||
OR?: Prisma.TaskMemberWhereInput[]
|
OR?: Prisma.TaskMemberWhereInput[]
|
||||||
NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[]
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskMember"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
userId?: Prisma.IntFilter<"TaskMember"> | number
|
userId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
||||||
user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
|
user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
|
||||||
}, "id" | "taskId_userId">
|
}, "id" | "uuid" | "taskId_userId">
|
||||||
|
|
||||||
export type TaskMemberOrderByWithAggregationInput = {
|
export type TaskMemberOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
_count?: Prisma.TaskMemberCountOrderByAggregateInput
|
_count?: Prisma.TaskMemberCountOrderByAggregateInput
|
||||||
@@ -248,44 +270,59 @@ export type TaskMemberScalarWhereWithAggregatesInput = {
|
|||||||
OR?: Prisma.TaskMemberScalarWhereWithAggregatesInput[]
|
OR?: Prisma.TaskMemberScalarWhereWithAggregatesInput[]
|
||||||
NOT?: Prisma.TaskMemberScalarWhereWithAggregatesInput | Prisma.TaskMemberScalarWhereWithAggregatesInput[]
|
NOT?: Prisma.TaskMemberScalarWhereWithAggregatesInput | Prisma.TaskMemberScalarWhereWithAggregatesInput[]
|
||||||
id?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
id?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
||||||
|
uuid?: Prisma.StringWithAggregatesFilter<"TaskMember"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableWithAggregatesFilter<"TaskMember"> | string | null
|
||||||
taskId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
taskId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
||||||
userId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
userId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCreateInput = {
|
export type TaskMemberCreateInput = {
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
task: Prisma.TaskCreateNestedOneWithoutMembersInput
|
task: Prisma.TaskCreateNestedOneWithoutMembersInput
|
||||||
user: Prisma.UserCreateNestedOneWithoutTaskMembersInput
|
user: Prisma.UserCreateNestedOneWithoutTaskMembersInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedCreateInput = {
|
export type TaskMemberUncheckedCreateInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
userId: number
|
userId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUpdateInput = {
|
export type TaskMemberUpdateInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput
|
task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput
|
||||||
user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput
|
user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateInput = {
|
export type TaskMemberUncheckedUpdateInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCreateManyInput = {
|
export type TaskMemberCreateManyInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
userId: number
|
userId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUpdateManyMutationInput = {
|
export type TaskMemberUpdateManyMutationInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateManyInput = {
|
export type TaskMemberUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
@@ -307,6 +344,8 @@ export type TaskMemberTaskIdUserIdCompoundUniqueInput = {
|
|||||||
|
|
||||||
export type TaskMemberCountOrderByAggregateInput = {
|
export type TaskMemberCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
@@ -319,12 +358,16 @@ export type TaskMemberAvgOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type TaskMemberMaxOrderByAggregateInput = {
|
export type TaskMemberMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberMinOrderByAggregateInput = {
|
export type TaskMemberMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
userId?: Prisma.SortOrder
|
userId?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
@@ -420,11 +463,15 @@ export type TaskMemberUncheckedUpdateManyWithoutTaskNestedInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCreateWithoutUserInput = {
|
export type TaskMemberCreateWithoutUserInput = {
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
task: Prisma.TaskCreateNestedOneWithoutMembersInput
|
task: Prisma.TaskCreateNestedOneWithoutMembersInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedCreateWithoutUserInput = {
|
export type TaskMemberUncheckedCreateWithoutUserInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -459,16 +506,22 @@ export type TaskMemberScalarWhereInput = {
|
|||||||
OR?: Prisma.TaskMemberScalarWhereInput[]
|
OR?: Prisma.TaskMemberScalarWhereInput[]
|
||||||
NOT?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[]
|
NOT?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[]
|
||||||
id?: Prisma.IntFilter<"TaskMember"> | number
|
id?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"TaskMember"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskMember"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
taskId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
userId?: Prisma.IntFilter<"TaskMember"> | number
|
userId?: Prisma.IntFilter<"TaskMember"> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCreateWithoutTaskInput = {
|
export type TaskMemberCreateWithoutTaskInput = {
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
user: Prisma.UserCreateNestedOneWithoutTaskMembersInput
|
user: Prisma.UserCreateNestedOneWithoutTaskMembersInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedCreateWithoutTaskInput = {
|
export type TaskMemberUncheckedCreateWithoutTaskInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
userId: number
|
userId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -500,39 +553,55 @@ export type TaskMemberUpdateManyWithWhereWithoutTaskInput = {
|
|||||||
|
|
||||||
export type TaskMemberCreateManyUserInput = {
|
export type TaskMemberCreateManyUserInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUpdateWithoutUserInput = {
|
export type TaskMemberUpdateWithoutUserInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput
|
task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateWithoutUserInput = {
|
export type TaskMemberUncheckedUpdateWithoutUserInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateManyWithoutUserInput = {
|
export type TaskMemberUncheckedUpdateManyWithoutUserInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberCreateManyTaskInput = {
|
export type TaskMemberCreateManyTaskInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
userId: number
|
userId: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUpdateWithoutTaskInput = {
|
export type TaskMemberUpdateWithoutTaskInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput
|
user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateWithoutTaskInput = {
|
export type TaskMemberUncheckedUpdateWithoutTaskInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberUncheckedUpdateManyWithoutTaskInput = {
|
export type TaskMemberUncheckedUpdateManyWithoutTaskInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
userId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -540,25 +609,55 @@ export type TaskMemberUncheckedUpdateManyWithoutTaskInput = {
|
|||||||
|
|
||||||
export type TaskMemberSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type TaskMemberSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
taskId?: boolean
|
taskId?: boolean
|
||||||
userId?: boolean
|
userId?: boolean
|
||||||
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["taskMember"]>
|
}, ExtArgs["result"]["taskMember"]>
|
||||||
|
|
||||||
|
export type TaskMemberSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
|
taskId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["taskMember"]>
|
||||||
|
|
||||||
|
export type TaskMemberSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
|
taskId?: boolean
|
||||||
|
userId?: boolean
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["taskMember"]>
|
||||||
|
|
||||||
export type TaskMemberSelectScalar = {
|
export type TaskMemberSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
taskId?: boolean
|
taskId?: boolean
|
||||||
userId?: boolean
|
userId?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "taskId" | "userId", ExtArgs["result"]["taskMember"]>
|
export type TaskMemberOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "taskUuid" | "taskId" | "userId", ExtArgs["result"]["taskMember"]>
|
||||||
export type TaskMemberInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type TaskMemberInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type TaskMemberIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type TaskMemberIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $TaskMemberPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $TaskMemberPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "TaskMember"
|
name: "TaskMember"
|
||||||
@@ -568,6 +667,8 @@ export type $TaskMemberPayload<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
}
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
userId: number
|
userId: number
|
||||||
}, ExtArgs["result"]["taskMember"]>
|
}, ExtArgs["result"]["taskMember"]>
|
||||||
@@ -687,6 +788,30 @@ export interface TaskMemberDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
createMany<T extends TaskMemberCreateManyArgs>(args?: Prisma.SelectSubset<T, TaskMemberCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends TaskMemberCreateManyArgs>(args?: Prisma.SelectSubset<T, TaskMemberCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many TaskMembers and returns the data saved in the database.
|
||||||
|
* @param {TaskMemberCreateManyAndReturnArgs} args - Arguments to create many TaskMembers.
|
||||||
|
* @example
|
||||||
|
* // Create many TaskMembers
|
||||||
|
* const taskMember = await prisma.taskMember.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many TaskMembers and only return the `id`
|
||||||
|
* const taskMemberWithIdOnly = await prisma.taskMember.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends TaskMemberCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, TaskMemberCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TaskMemberPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a TaskMember.
|
* Delete a TaskMember.
|
||||||
* @param {TaskMemberDeleteArgs} args - Arguments to delete one TaskMember.
|
* @param {TaskMemberDeleteArgs} args - Arguments to delete one TaskMember.
|
||||||
@@ -751,6 +876,36 @@ export interface TaskMemberDelegate<ExtArgs extends runtime.Types.Extensions.Int
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends TaskMemberUpdateManyArgs>(args: Prisma.SelectSubset<T, TaskMemberUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends TaskMemberUpdateManyArgs>(args: Prisma.SelectSubset<T, TaskMemberUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more TaskMembers and returns the data updated in the database.
|
||||||
|
* @param {TaskMemberUpdateManyAndReturnArgs} args - Arguments to update many TaskMembers.
|
||||||
|
* @example
|
||||||
|
* // Update many TaskMembers
|
||||||
|
* const taskMember = await prisma.taskMember.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more TaskMembers and only return the `id`
|
||||||
|
* const taskMemberWithIdOnly = await prisma.taskMember.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends TaskMemberUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, TaskMemberUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TaskMemberPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one TaskMember.
|
* Create or update one TaskMember.
|
||||||
* @param {TaskMemberUpsertArgs} args - Arguments to update or create a TaskMember.
|
* @param {TaskMemberUpsertArgs} args - Arguments to update or create a TaskMember.
|
||||||
@@ -942,6 +1097,8 @@ export interface Prisma__TaskMemberClient<T, Null = never, ExtArgs extends runti
|
|||||||
*/
|
*/
|
||||||
export interface TaskMemberFieldRefs {
|
export interface TaskMemberFieldRefs {
|
||||||
readonly id: Prisma.FieldRef<"TaskMember", 'Int'>
|
readonly id: Prisma.FieldRef<"TaskMember", 'Int'>
|
||||||
|
readonly uuid: Prisma.FieldRef<"TaskMember", 'String'>
|
||||||
|
readonly taskUuid: Prisma.FieldRef<"TaskMember", 'String'>
|
||||||
readonly taskId: Prisma.FieldRef<"TaskMember", 'Int'>
|
readonly taskId: Prisma.FieldRef<"TaskMember", 'Int'>
|
||||||
readonly userId: Prisma.FieldRef<"TaskMember", 'Int'>
|
readonly userId: Prisma.FieldRef<"TaskMember", 'Int'>
|
||||||
}
|
}
|
||||||
@@ -1181,6 +1338,29 @@ export type TaskMemberCreateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TaskMember createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type TaskMemberCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the TaskMember
|
||||||
|
*/
|
||||||
|
select?: Prisma.TaskMemberSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the TaskMember
|
||||||
|
*/
|
||||||
|
omit?: Prisma.TaskMemberOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many TaskMembers.
|
||||||
|
*/
|
||||||
|
data: Prisma.TaskMemberCreateManyInput | Prisma.TaskMemberCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.TaskMemberIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskMember update
|
* TaskMember update
|
||||||
*/
|
*/
|
||||||
@@ -1225,6 +1405,36 @@ export type TaskMemberUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.In
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TaskMember updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type TaskMemberUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the TaskMember
|
||||||
|
*/
|
||||||
|
select?: Prisma.TaskMemberSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the TaskMember
|
||||||
|
*/
|
||||||
|
omit?: Prisma.TaskMemberOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update TaskMembers.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.TaskMemberUpdateManyMutationInput, Prisma.TaskMemberUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which TaskMembers to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.TaskMemberWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many TaskMembers to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.TaskMemberIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskMember upsert
|
* TaskMember upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -38,18 +38,24 @@ export type TaskTagSumAggregateOutputType = {
|
|||||||
|
|
||||||
export type TaskTagMinAggregateOutputType = {
|
export type TaskTagMinAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number | null
|
taskId: number | null
|
||||||
name: string | null
|
name: string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagMaxAggregateOutputType = {
|
export type TaskTagMaxAggregateOutputType = {
|
||||||
id: number | null
|
id: number | null
|
||||||
|
uuid: string | null
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number | null
|
taskId: number | null
|
||||||
name: string | null
|
name: string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCountAggregateOutputType = {
|
export type TaskTagCountAggregateOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: number
|
||||||
|
taskUuid: number
|
||||||
taskId: number
|
taskId: number
|
||||||
name: number
|
name: number
|
||||||
_all: number
|
_all: number
|
||||||
@@ -68,18 +74,24 @@ export type TaskTagSumAggregateInputType = {
|
|||||||
|
|
||||||
export type TaskTagMinAggregateInputType = {
|
export type TaskTagMinAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
name?: true
|
name?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagMaxAggregateInputType = {
|
export type TaskTagMaxAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
name?: true
|
name?: true
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCountAggregateInputType = {
|
export type TaskTagCountAggregateInputType = {
|
||||||
id?: true
|
id?: true
|
||||||
|
uuid?: true
|
||||||
|
taskUuid?: true
|
||||||
taskId?: true
|
taskId?: true
|
||||||
name?: true
|
name?: true
|
||||||
_all?: true
|
_all?: true
|
||||||
@@ -173,6 +185,8 @@ export type TaskTagGroupByArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
|
|
||||||
export type TaskTagGroupByOutputType = {
|
export type TaskTagGroupByOutputType = {
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
name: string
|
name: string
|
||||||
_count: TaskTagCountAggregateOutputType | null
|
_count: TaskTagCountAggregateOutputType | null
|
||||||
@@ -202,6 +216,8 @@ export type TaskTagWhereInput = {
|
|||||||
OR?: Prisma.TaskTagWhereInput[]
|
OR?: Prisma.TaskTagWhereInput[]
|
||||||
NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
||||||
id?: Prisma.IntFilter<"TaskTag"> | number
|
id?: Prisma.IntFilter<"TaskTag"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"TaskTag"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskTag"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
||||||
name?: Prisma.StringFilter<"TaskTag"> | string
|
name?: Prisma.StringFilter<"TaskTag"> | string
|
||||||
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
||||||
@@ -209,24 +225,29 @@ export type TaskTagWhereInput = {
|
|||||||
|
|
||||||
export type TaskTagOrderByWithRelationInput = {
|
export type TaskTagOrderByWithRelationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
task?: Prisma.TaskOrderByWithRelationInput
|
task?: Prisma.TaskOrderByWithRelationInput
|
||||||
_relevance?: Prisma.TaskTagOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagWhereUniqueInput = Prisma.AtLeast<{
|
export type TaskTagWhereUniqueInput = Prisma.AtLeast<{
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid?: string
|
||||||
AND?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
AND?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
||||||
OR?: Prisma.TaskTagWhereInput[]
|
OR?: Prisma.TaskTagWhereInput[]
|
||||||
NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[]
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskTag"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
||||||
name?: Prisma.StringFilter<"TaskTag"> | string
|
name?: Prisma.StringFilter<"TaskTag"> | string
|
||||||
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
task?: Prisma.XOR<Prisma.TaskScalarRelationFilter, Prisma.TaskWhereInput>
|
||||||
}, "id">
|
}, "id" | "uuid">
|
||||||
|
|
||||||
export type TaskTagOrderByWithAggregationInput = {
|
export type TaskTagOrderByWithAggregationInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrderInput | Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
_count?: Prisma.TaskTagCountOrderByAggregateInput
|
_count?: Prisma.TaskTagCountOrderByAggregateInput
|
||||||
@@ -241,44 +262,60 @@ export type TaskTagScalarWhereWithAggregatesInput = {
|
|||||||
OR?: Prisma.TaskTagScalarWhereWithAggregatesInput[]
|
OR?: Prisma.TaskTagScalarWhereWithAggregatesInput[]
|
||||||
NOT?: Prisma.TaskTagScalarWhereWithAggregatesInput | Prisma.TaskTagScalarWhereWithAggregatesInput[]
|
NOT?: Prisma.TaskTagScalarWhereWithAggregatesInput | Prisma.TaskTagScalarWhereWithAggregatesInput[]
|
||||||
id?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number
|
id?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number
|
||||||
|
uuid?: Prisma.StringWithAggregatesFilter<"TaskTag"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableWithAggregatesFilter<"TaskTag"> | string | null
|
||||||
taskId?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number
|
taskId?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number
|
||||||
name?: Prisma.StringWithAggregatesFilter<"TaskTag"> | string
|
name?: Prisma.StringWithAggregatesFilter<"TaskTag"> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCreateInput = {
|
export type TaskTagCreateInput = {
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
task: Prisma.TaskCreateNestedOneWithoutTagsInput
|
task: Prisma.TaskCreateNestedOneWithoutTagsInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedCreateInput = {
|
export type TaskTagUncheckedCreateInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUpdateInput = {
|
export type TaskTagUpdateInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
task?: Prisma.TaskUpdateOneRequiredWithoutTagsNestedInput
|
task?: Prisma.TaskUpdateOneRequiredWithoutTagsNestedInput
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedUpdateInput = {
|
export type TaskTagUncheckedUpdateInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCreateManyInput = {
|
export type TaskTagCreateManyInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUpdateManyMutationInput = {
|
export type TaskTagUpdateManyMutationInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedUpdateManyInput = {
|
export type TaskTagUncheckedUpdateManyInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
taskId?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
@@ -293,14 +330,10 @@ export type TaskTagOrderByRelationAggregateInput = {
|
|||||||
_count?: Prisma.SortOrder
|
_count?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.TaskTagOrderByRelevanceFieldEnum | Prisma.TaskTagOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type TaskTagCountOrderByAggregateInput = {
|
export type TaskTagCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
@@ -312,12 +345,16 @@ export type TaskTagAvgOrderByAggregateInput = {
|
|||||||
|
|
||||||
export type TaskTagMaxOrderByAggregateInput = {
|
export type TaskTagMaxOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagMinOrderByAggregateInput = {
|
export type TaskTagMinOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
|
uuid?: Prisma.SortOrder
|
||||||
|
taskUuid?: Prisma.SortOrder
|
||||||
taskId?: Prisma.SortOrder
|
taskId?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
}
|
}
|
||||||
@@ -370,11 +407,15 @@ export type TaskTagUncheckedUpdateManyWithoutTaskNestedInput = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCreateWithoutTaskInput = {
|
export type TaskTagCreateWithoutTaskInput = {
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedCreateWithoutTaskInput = {
|
export type TaskTagUncheckedCreateWithoutTaskInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -409,26 +450,36 @@ export type TaskTagScalarWhereInput = {
|
|||||||
OR?: Prisma.TaskTagScalarWhereInput[]
|
OR?: Prisma.TaskTagScalarWhereInput[]
|
||||||
NOT?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[]
|
NOT?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[]
|
||||||
id?: Prisma.IntFilter<"TaskTag"> | number
|
id?: Prisma.IntFilter<"TaskTag"> | number
|
||||||
|
uuid?: Prisma.StringFilter<"TaskTag"> | string
|
||||||
|
taskUuid?: Prisma.StringNullableFilter<"TaskTag"> | string | null
|
||||||
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
taskId?: Prisma.IntFilter<"TaskTag"> | number
|
||||||
name?: Prisma.StringFilter<"TaskTag"> | string
|
name?: Prisma.StringFilter<"TaskTag"> | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagCreateManyTaskInput = {
|
export type TaskTagCreateManyTaskInput = {
|
||||||
id?: number
|
id?: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid?: string | null
|
||||||
name: string
|
name: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUpdateWithoutTaskInput = {
|
export type TaskTagUpdateWithoutTaskInput = {
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedUpdateWithoutTaskInput = {
|
export type TaskTagUncheckedUpdateWithoutTaskInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagUncheckedUpdateManyWithoutTaskInput = {
|
export type TaskTagUncheckedUpdateManyWithoutTaskInput = {
|
||||||
id?: Prisma.IntFieldUpdateOperationsInput | number
|
id?: Prisma.IntFieldUpdateOperationsInput | number
|
||||||
|
uuid?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
|
taskUuid?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
|
||||||
name?: Prisma.StringFieldUpdateOperationsInput | string
|
name?: Prisma.StringFieldUpdateOperationsInput | string
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -436,23 +487,49 @@ export type TaskTagUncheckedUpdateManyWithoutTaskInput = {
|
|||||||
|
|
||||||
export type TaskTagSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
export type TaskTagSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
taskId?: boolean
|
taskId?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["taskTag"]>
|
}, ExtArgs["result"]["taskTag"]>
|
||||||
|
|
||||||
|
export type TaskTagSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
|
taskId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["taskTag"]>
|
||||||
|
|
||||||
|
export type TaskTagSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
|
taskId?: boolean
|
||||||
|
name?: boolean
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
}, ExtArgs["result"]["taskTag"]>
|
||||||
|
|
||||||
export type TaskTagSelectScalar = {
|
export type TaskTagSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
|
uuid?: boolean
|
||||||
|
taskUuid?: boolean
|
||||||
taskId?: boolean
|
taskId?: boolean
|
||||||
name?: boolean
|
name?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
export type TaskTagOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "taskId" | "name", ExtArgs["result"]["taskTag"]>
|
export type TaskTagOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "taskUuid" | "taskId" | "name", ExtArgs["result"]["taskTag"]>
|
||||||
export type TaskTagInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type TaskTagInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type TaskTagIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
export type TaskTagIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
task?: boolean | Prisma.TaskDefaultArgs<ExtArgs>
|
||||||
|
}
|
||||||
|
|
||||||
export type $TaskTagPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $TaskTagPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "TaskTag"
|
name: "TaskTag"
|
||||||
@@ -461,6 +538,8 @@ export type $TaskTagPayload<ExtArgs extends runtime.Types.Extensions.InternalArg
|
|||||||
}
|
}
|
||||||
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
scalars: runtime.Types.Extensions.GetPayloadResult<{
|
||||||
id: number
|
id: number
|
||||||
|
uuid: string
|
||||||
|
taskUuid: string | null
|
||||||
taskId: number
|
taskId: number
|
||||||
name: string
|
name: string
|
||||||
}, ExtArgs["result"]["taskTag"]>
|
}, ExtArgs["result"]["taskTag"]>
|
||||||
@@ -580,6 +659,30 @@ export interface TaskTagDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
createMany<T extends TaskTagCreateManyArgs>(args?: Prisma.SelectSubset<T, TaskTagCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends TaskTagCreateManyArgs>(args?: Prisma.SelectSubset<T, TaskTagCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many TaskTags and returns the data saved in the database.
|
||||||
|
* @param {TaskTagCreateManyAndReturnArgs} args - Arguments to create many TaskTags.
|
||||||
|
* @example
|
||||||
|
* // Create many TaskTags
|
||||||
|
* const taskTag = await prisma.taskTag.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many TaskTags and only return the `id`
|
||||||
|
* const taskTagWithIdOnly = await prisma.taskTag.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends TaskTagCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, TaskTagCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TaskTagPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a TaskTag.
|
* Delete a TaskTag.
|
||||||
* @param {TaskTagDeleteArgs} args - Arguments to delete one TaskTag.
|
* @param {TaskTagDeleteArgs} args - Arguments to delete one TaskTag.
|
||||||
@@ -644,6 +747,36 @@ export interface TaskTagDelegate<ExtArgs extends runtime.Types.Extensions.Intern
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends TaskTagUpdateManyArgs>(args: Prisma.SelectSubset<T, TaskTagUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends TaskTagUpdateManyArgs>(args: Prisma.SelectSubset<T, TaskTagUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more TaskTags and returns the data updated in the database.
|
||||||
|
* @param {TaskTagUpdateManyAndReturnArgs} args - Arguments to update many TaskTags.
|
||||||
|
* @example
|
||||||
|
* // Update many TaskTags
|
||||||
|
* const taskTag = await prisma.taskTag.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more TaskTags and only return the `id`
|
||||||
|
* const taskTagWithIdOnly = await prisma.taskTag.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends TaskTagUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, TaskTagUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TaskTagPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one TaskTag.
|
* Create or update one TaskTag.
|
||||||
* @param {TaskTagUpsertArgs} args - Arguments to update or create a TaskTag.
|
* @param {TaskTagUpsertArgs} args - Arguments to update or create a TaskTag.
|
||||||
@@ -834,6 +967,8 @@ export interface Prisma__TaskTagClient<T, Null = never, ExtArgs extends runtime.
|
|||||||
*/
|
*/
|
||||||
export interface TaskTagFieldRefs {
|
export interface TaskTagFieldRefs {
|
||||||
readonly id: Prisma.FieldRef<"TaskTag", 'Int'>
|
readonly id: Prisma.FieldRef<"TaskTag", 'Int'>
|
||||||
|
readonly uuid: Prisma.FieldRef<"TaskTag", 'String'>
|
||||||
|
readonly taskUuid: Prisma.FieldRef<"TaskTag", 'String'>
|
||||||
readonly taskId: Prisma.FieldRef<"TaskTag", 'Int'>
|
readonly taskId: Prisma.FieldRef<"TaskTag", 'Int'>
|
||||||
readonly name: Prisma.FieldRef<"TaskTag", 'String'>
|
readonly name: Prisma.FieldRef<"TaskTag", 'String'>
|
||||||
}
|
}
|
||||||
@@ -1073,6 +1208,29 @@ export type TaskTagCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TaskTag createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type TaskTagCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the TaskTag
|
||||||
|
*/
|
||||||
|
select?: Prisma.TaskTagSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the TaskTag
|
||||||
|
*/
|
||||||
|
omit?: Prisma.TaskTagOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many TaskTags.
|
||||||
|
*/
|
||||||
|
data: Prisma.TaskTagCreateManyInput | Prisma.TaskTagCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.TaskTagIncludeCreateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskTag update
|
* TaskTag update
|
||||||
*/
|
*/
|
||||||
@@ -1117,6 +1275,36 @@ export type TaskTagUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Inter
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* TaskTag updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type TaskTagUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the TaskTag
|
||||||
|
*/
|
||||||
|
select?: Prisma.TaskTagSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the TaskTag
|
||||||
|
*/
|
||||||
|
omit?: Prisma.TaskTagOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update TaskTags.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.TaskTagUpdateManyMutationInput, Prisma.TaskTagUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which TaskTags to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.TaskTagWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many TaskTags to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
/**
|
||||||
|
* Choose, which related nodes to fetch as well
|
||||||
|
*/
|
||||||
|
include?: Prisma.TaskTagIncludeUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* TaskTag upsert
|
* TaskTag upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -251,7 +251,6 @@ export type UserOrderByWithRelationInput = {
|
|||||||
assignedTasks?: Prisma.TaskOrderByRelationAggregateInput
|
assignedTasks?: Prisma.TaskOrderByRelationAggregateInput
|
||||||
createdTasks?: Prisma.TaskOrderByRelationAggregateInput
|
createdTasks?: Prisma.TaskOrderByRelationAggregateInput
|
||||||
taskMembers?: Prisma.TaskMemberOrderByRelationAggregateInput
|
taskMembers?: Prisma.TaskMemberOrderByRelationAggregateInput
|
||||||
_relevance?: Prisma.UserOrderByRelevanceInput
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserWhereUniqueInput = Prisma.AtLeast<{
|
export type UserWhereUniqueInput = Prisma.AtLeast<{
|
||||||
@@ -397,12 +396,6 @@ export type UserUncheckedUpdateManyInput = {
|
|||||||
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
}
|
}
|
||||||
|
|
||||||
export type UserOrderByRelevanceInput = {
|
|
||||||
fields: Prisma.UserOrderByRelevanceFieldEnum | Prisma.UserOrderByRelevanceFieldEnum[]
|
|
||||||
sort: Prisma.SortOrder
|
|
||||||
search: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export type UserCountOrderByAggregateInput = {
|
export type UserCountOrderByAggregateInput = {
|
||||||
id?: Prisma.SortOrder
|
id?: Prisma.SortOrder
|
||||||
name?: Prisma.SortOrder
|
name?: Prisma.SortOrder
|
||||||
@@ -1454,7 +1447,23 @@ export type UserSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = r
|
|||||||
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}, ExtArgs["result"]["user"]>
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
|
export type UserSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
email?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
|
export type UserSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
|
||||||
|
id?: boolean
|
||||||
|
name?: boolean
|
||||||
|
email?: boolean
|
||||||
|
password?: boolean
|
||||||
|
createdAt?: boolean
|
||||||
|
updatedAt?: boolean
|
||||||
|
}, ExtArgs["result"]["user"]>
|
||||||
|
|
||||||
export type UserSelectScalar = {
|
export type UserSelectScalar = {
|
||||||
id?: boolean
|
id?: boolean
|
||||||
@@ -1478,6 +1487,8 @@ export type UserInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs =
|
|||||||
taskMembers?: boolean | Prisma.User$taskMembersArgs<ExtArgs>
|
taskMembers?: boolean | Prisma.User$taskMembersArgs<ExtArgs>
|
||||||
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
_count?: boolean | Prisma.UserCountOutputTypeDefaultArgs<ExtArgs>
|
||||||
}
|
}
|
||||||
|
export type UserIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
export type UserIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
|
||||||
|
|
||||||
export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
export type $UserPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
name: "User"
|
name: "User"
|
||||||
@@ -1616,6 +1627,30 @@ export interface UserDelegate<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
*/
|
*/
|
||||||
createMany<T extends UserCreateManyArgs>(args?: Prisma.SelectSubset<T, UserCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
createMany<T extends UserCreateManyArgs>(args?: Prisma.SelectSubset<T, UserCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create many Users and returns the data saved in the database.
|
||||||
|
* @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users.
|
||||||
|
* @example
|
||||||
|
* // Create many Users
|
||||||
|
* const user = await prisma.user.createManyAndReturn({
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Create many Users and only return the `id`
|
||||||
|
* const userWithIdOnly = await prisma.user.createManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
createManyAndReturn<T extends UserCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, UserCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a User.
|
* Delete a User.
|
||||||
* @param {UserDeleteArgs} args - Arguments to delete one User.
|
* @param {UserDeleteArgs} args - Arguments to delete one User.
|
||||||
@@ -1680,6 +1715,36 @@ export interface UserDelegate<ExtArgs extends runtime.Types.Extensions.InternalA
|
|||||||
*/
|
*/
|
||||||
updateMany<T extends UserUpdateManyArgs>(args: Prisma.SelectSubset<T, UserUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
updateMany<T extends UserUpdateManyArgs>(args: Prisma.SelectSubset<T, UserUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update zero or more Users and returns the data updated in the database.
|
||||||
|
* @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users.
|
||||||
|
* @example
|
||||||
|
* // Update many Users
|
||||||
|
* const user = await prisma.user.updateManyAndReturn({
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
*
|
||||||
|
* // Update zero or more Users and only return the `id`
|
||||||
|
* const userWithIdOnly = await prisma.user.updateManyAndReturn({
|
||||||
|
* select: { id: true },
|
||||||
|
* where: {
|
||||||
|
* // ... provide filter here
|
||||||
|
* },
|
||||||
|
* data: [
|
||||||
|
* // ... provide data here
|
||||||
|
* ]
|
||||||
|
* })
|
||||||
|
* Note, that providing `undefined` is treated as the value not being there.
|
||||||
|
* Read more here: https://pris.ly/d/null-undefined
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
updateManyAndReturn<T extends UserUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, UserUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create or update one User.
|
* Create or update one User.
|
||||||
* @param {UserUpsertArgs} args - Arguments to update or create a User.
|
* @param {UserUpsertArgs} args - Arguments to update or create a User.
|
||||||
@@ -2120,6 +2185,25 @@ export type UserCreateManyArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
skipDuplicates?: boolean
|
skipDuplicates?: boolean
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User createManyAndReturn
|
||||||
|
*/
|
||||||
|
export type UserCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the User
|
||||||
|
*/
|
||||||
|
select?: Prisma.UserSelectCreateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the User
|
||||||
|
*/
|
||||||
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to create many Users.
|
||||||
|
*/
|
||||||
|
data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[]
|
||||||
|
skipDuplicates?: boolean
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User update
|
* User update
|
||||||
*/
|
*/
|
||||||
@@ -2164,6 +2248,32 @@ export type UserUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.Internal
|
|||||||
limit?: number
|
limit?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* User updateManyAndReturn
|
||||||
|
*/
|
||||||
|
export type UserUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
|
||||||
|
/**
|
||||||
|
* Select specific fields to fetch from the User
|
||||||
|
*/
|
||||||
|
select?: Prisma.UserSelectUpdateManyAndReturn<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* Omit specific fields from the User
|
||||||
|
*/
|
||||||
|
omit?: Prisma.UserOmit<ExtArgs> | null
|
||||||
|
/**
|
||||||
|
* The data used to update Users.
|
||||||
|
*/
|
||||||
|
data: Prisma.XOR<Prisma.UserUpdateManyMutationInput, Prisma.UserUncheckedUpdateManyInput>
|
||||||
|
/**
|
||||||
|
* Filter which Users to update
|
||||||
|
*/
|
||||||
|
where?: Prisma.UserWhereInput
|
||||||
|
/**
|
||||||
|
* Limit how many Users to update.
|
||||||
|
*/
|
||||||
|
limit?: number
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* User upsert
|
* User upsert
|
||||||
*/
|
*/
|
||||||
|
|||||||
Generated
+287
-70
@@ -1,14 +1,17 @@
|
|||||||
{
|
{
|
||||||
"name": "iboard",
|
"name": "iboard",
|
||||||
"version": "1.0.0",
|
"version": "0.2.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "iboard",
|
"name": "iboard",
|
||||||
"version": "1.0.0",
|
"version": "0.2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/adapter-mariadb": "^7.9.1",
|
"@journeyapps/wa-sqlite": "^2.0.7",
|
||||||
|
"@powersync/react": "^2.1.0",
|
||||||
|
"@powersync/web": "^2.5.0",
|
||||||
|
"@prisma/adapter-pg": "^7.9.1",
|
||||||
"@prisma/client": "^7.7.0",
|
"@prisma/client": "^7.7.0",
|
||||||
"@zythum02/mijia-api": "^0.1.4",
|
"@zythum02/mijia-api": "^0.1.4",
|
||||||
"antd-mobile": "^5.42.3",
|
"antd-mobile": "^5.42.3",
|
||||||
@@ -1187,6 +1190,11 @@
|
|||||||
"url": "https://opencollective.com/libvips"
|
"url": "https://opencollective.com/libvips"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@journeyapps/wa-sqlite": {
|
||||||
|
"version": "2.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/@journeyapps/wa-sqlite/-/wa-sqlite-2.0.8.tgz",
|
||||||
|
"integrity": "sha512-WRXEms2515S/0DFSWzmlggHu9hSJomhugDUO17rWkL6VpokV/hfjIDLs954Egx/eqrk3WADmiOMzOc7MuJbznQ=="
|
||||||
|
},
|
||||||
"node_modules/@jridgewell/gen-mapping": {
|
"node_modules/@jridgewell/gen-mapping": {
|
||||||
"version": "0.3.13",
|
"version": "0.3.13",
|
||||||
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
|
||||||
@@ -1615,64 +1623,91 @@
|
|||||||
"node": "^22.20 || ^24.12 || >=25"
|
"node": "^22.20 || ^24.12 || >=25"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/adapter-mariadb": {
|
"node_modules/@powersync/common": {
|
||||||
"version": "7.9.1",
|
"version": "2.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/adapter-mariadb/-/adapter-mariadb-7.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/@powersync/common/-/common-2.4.0.tgz",
|
||||||
"integrity": "sha512-4aZUbIg2av7XFSQyM9cQeAp9YP9HiPr8H7ehe2rDo375IZXILEzQrNXZ/zLetgRQ2ojlaUl/brArFdOVS3n1xA==",
|
"integrity": "sha512-ngVogy+B8NQeI5l+0Es8qMxnGozUie8Q6R4+0/AHA3oBAhDG5UmeYw/LquTzZJSOPnCmvGgFSqovblV+JKzxKQ==",
|
||||||
|
"license": "Apache-2.0"
|
||||||
|
},
|
||||||
|
"node_modules/@powersync/react": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@powersync/react/-/react-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ADIpakSLhstv0F9xrUIF+oCArFnAQPrcB9mNql6xH0Nup9EgBug38Ks+mv3yqbc33z60pBm9tuHs8uSIbkhuqg==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@powersync/common": "^2.4.0",
|
||||||
|
"react": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@powersync/shared-internals": {
|
||||||
|
"version": "1.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@powersync/shared-internals/-/shared-internals-1.4.0.tgz",
|
||||||
|
"integrity": "sha512-OiqqDuW6tePW4Ed7C5IWutBKrtcqKuTMlVMQNwUZtKtqr7ZrqKlb+YP5l4niuz8mpqDYo3/HNU0dpc+3mneSBQ==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@powersync/common": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@powersync/web": {
|
||||||
|
"version": "2.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@powersync/web/-/web-2.5.0.tgz",
|
||||||
|
"integrity": "sha512-/K2ZUjIdqvtFeoLfPetPcE+uioShBWzrTrOa8hpoZ7i62S8wgj47i+VPnKTXI7WQmXuxTGGZFUFnahinf6wjPg==",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/driver-adapter-utils": "7.9.1",
|
"@journeyapps/wa-sqlite": "2.0.7",
|
||||||
"mariadb": "3.4.5"
|
"@powersync/common": "2.4.0",
|
||||||
}
|
"@powersync/shared-internals": "1.4.0",
|
||||||
},
|
"comlink": "^4.4.2",
|
||||||
"node_modules/@prisma/adapter-mariadb/node_modules/@types/node": {
|
"commander": "^12.1.0"
|
||||||
"version": "24.13.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz",
|
|
||||||
"integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"undici-types": "~7.18.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@prisma/adapter-mariadb/node_modules/iconv-lite": {
|
|
||||||
"version": "0.6.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
|
|
||||||
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"bin": {
|
||||||
"node": ">=0.10.0"
|
"powersync-web": "bin/powersync.cjs"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@prisma/adapter-mariadb/node_modules/lru-cache": {
|
|
||||||
"version": "10.4.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
|
|
||||||
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
|
|
||||||
"license": "ISC"
|
|
||||||
},
|
|
||||||
"node_modules/@prisma/adapter-mariadb/node_modules/mariadb": {
|
|
||||||
"version": "3.4.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/mariadb/-/mariadb-3.4.5.tgz",
|
|
||||||
"integrity": "sha512-gThTYkhIS5rRqkVr+Y0cIdzr+GRqJ9sA2Q34e0yzmyhMCwyApf3OKAC1jnF23aSlIOqJuyaUFUcj7O1qZslmmQ==",
|
|
||||||
"license": "LGPL-2.1-or-later",
|
|
||||||
"dependencies": {
|
|
||||||
"@types/geojson": "^7946.0.16",
|
|
||||||
"@types/node": "^24.0.13",
|
|
||||||
"denque": "^2.1.0",
|
|
||||||
"iconv-lite": "^0.6.3",
|
|
||||||
"lru-cache": "^10.4.3"
|
|
||||||
},
|
},
|
||||||
"engines": {
|
"peerDependencies": {
|
||||||
"node": ">= 14"
|
"@powersync/common": "^2.4.0",
|
||||||
|
"@powersync/shared-internals": "^1.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/adapter-mariadb/node_modules/undici-types": {
|
"node_modules/@powersync/web/node_modules/@journeyapps/wa-sqlite": {
|
||||||
"version": "7.18.2",
|
"version": "2.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
"resolved": "https://registry.npmjs.org/@journeyapps/wa-sqlite/-/wa-sqlite-2.0.7.tgz",
|
||||||
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
"integrity": "sha512-mc6xUricl4QB2s8QTRGS+FofSr1cjwDtf6dPXAdMBuGWodjfEgkSJGDPWQ7zVqgc7hMfXYLT7WIfEBAxara8YA=="
|
||||||
"license": "MIT"
|
},
|
||||||
|
"node_modules/@powersync/web/node_modules/commander": {
|
||||||
|
"version": "12.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
|
||||||
|
"integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=18"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@prisma/adapter-pg": {
|
||||||
|
"version": "7.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@prisma/adapter-pg/-/adapter-pg-7.10.1.tgz",
|
||||||
|
"integrity": "sha512-EP9ruPYHjKP80WZlb5qVaEXKgZjJieBFjAxcBtQnDAHD6+16UN4keVmBh6L/RUpuDQT2FQRbvKNgq5d4Ix+IkQ==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@prisma/driver-adapter-utils": "7.10.1",
|
||||||
|
"@types/pg": "^8.16.0",
|
||||||
|
"pg": "^8.16.3",
|
||||||
|
"postgres-array": "3.0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@prisma/adapter-pg/node_modules/@prisma/debug": {
|
||||||
|
"version": "7.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.10.1.tgz",
|
||||||
|
"integrity": "sha512-eFCAkGZ13D/qPg48JBlG5IWi9cSBBOC7oG3abDPcAkYioDWlIjh0YJJLK2J7qo5S+xWWD8I6egAN/8KbCaiMCA==",
|
||||||
|
"license": "Apache-2.0"
|
||||||
|
},
|
||||||
|
"node_modules/@prisma/adapter-pg/node_modules/@prisma/driver-adapter-utils": {
|
||||||
|
"version": "7.10.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-7.10.1.tgz",
|
||||||
|
"integrity": "sha512-DJ4c6xvVnm3s9ZUyql9nCUicADSqyvH+CjXRCM9L6m5zJxCNmebCElG6X4irICq3rosBwlX+S19Dxq/4IrZk3A==",
|
||||||
|
"license": "Apache-2.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@prisma/debug": "7.10.1"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/client": {
|
"node_modules/@prisma/client": {
|
||||||
"version": "7.7.0",
|
"version": "7.7.0",
|
||||||
@@ -1747,21 +1782,6 @@
|
|||||||
"zeptomatch": "2.1.0"
|
"zeptomatch": "2.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/driver-adapter-utils": {
|
|
||||||
"version": "7.9.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/driver-adapter-utils/-/driver-adapter-utils-7.9.1.tgz",
|
|
||||||
"integrity": "sha512-vmHehG7nn/heW32DXXpp13DxxAxVVe6n250oEt3dOL2E/4bt3olktKZN0mzSuxMMronyMSkbeW2uCOn3F4g8RQ==",
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"dependencies": {
|
|
||||||
"@prisma/debug": "7.9.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@prisma/driver-adapter-utils/node_modules/@prisma/debug": {
|
|
||||||
"version": "7.9.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-7.9.1.tgz",
|
|
||||||
"integrity": "sha512-/cpVZ4itxtcgB8GHBvZtcmuEjq+lWsLrRJxFMbwZrT1RIdtuKmUm7PPGo/wzfbYpBrk+9WmmBE8CHJw2rybKDQ==",
|
|
||||||
"license": "Apache-2.0"
|
|
||||||
},
|
|
||||||
"node_modules/@prisma/engines": {
|
"node_modules/@prisma/engines": {
|
||||||
"version": "7.7.0",
|
"version": "7.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.7.0.tgz",
|
||||||
@@ -2867,6 +2887,17 @@
|
|||||||
"undici-types": "~8.3.0"
|
"undici-types": "~8.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/pg": {
|
||||||
|
"version": "8.23.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.23.1.tgz",
|
||||||
|
"integrity": "sha512-fKVHpikPdg4GKks3JuLEhvwSyvwzF23hnabPy6DD8ljVbC7+6J5dQzdv4arV6jqq57djnMgs1HKBxX4P8aBI3A==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/node": "*",
|
||||||
|
"pg-protocol": "*",
|
||||||
|
"pg-types": "^2.2.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/react": {
|
"node_modules/@types/react": {
|
||||||
"version": "19.2.14",
|
"version": "19.2.14",
|
||||||
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
|
"resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz",
|
||||||
@@ -3193,6 +3224,20 @@
|
|||||||
"integrity": "sha512-YOf0VSj5nUPI27doTtXF+BBnsiRq3qY7avHqfIWnppxTLGyvkLq1QV2RTxkwoZwJ60ywLfZ0raFF4J/G886i7A==",
|
"integrity": "sha512-YOf0VSj5nUPI27doTtXF+BBnsiRq3qY7avHqfIWnppxTLGyvkLq1QV2RTxkwoZwJ60ywLfZ0raFF4J/G886i7A==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/better-sqlite3": {
|
||||||
|
"version": "13.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/better-sqlite3/-/better-sqlite3-13.0.3.tgz",
|
||||||
|
"integrity": "sha512-RbOBxmLBG8uvFUc15X9+9SFemKcQ0WBuISBVkpuiaUB2qblC8UWlHEjdWVoZ8AdhSwmoEgsiXKfopX0CQxaACQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"peer": true,
|
||||||
|
"dependencies": {
|
||||||
|
"node-addon-api": "^8.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/body-parser": {
|
"node_modules/body-parser": {
|
||||||
"version": "1.20.6",
|
"version": "1.20.6",
|
||||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz",
|
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz",
|
||||||
@@ -3575,6 +3620,12 @@
|
|||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/comlink": {
|
||||||
|
"version": "4.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/comlink/-/comlink-4.4.2.tgz",
|
||||||
|
"integrity": "sha512-OxGdvBmJuNKSCMO4NTl1L47VRp6xn2wG4F/2hYzB6tiCb709otOxtEYCSvK80PtjODfXXZu8ds+Nw5kVCjqd2g==",
|
||||||
|
"license": "Apache-2.0"
|
||||||
|
},
|
||||||
"node_modules/commander": {
|
"node_modules/commander": {
|
||||||
"version": "13.1.0",
|
"version": "13.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
|
||||||
@@ -5362,6 +5413,17 @@
|
|||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/node-addon-api": {
|
||||||
|
"version": "8.9.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-8.9.2.tgz",
|
||||||
|
"integrity": "sha512-VijLXbi3UACN69I0JVXJsX4tjACjNoQDgv2gTF6sx2wWEi8tkSg2eX8p5gSIFi8z2+DL3oHmY6OyKce38SDolg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true,
|
||||||
|
"peer": true,
|
||||||
|
"engines": {
|
||||||
|
"node": "^18 || ^20 || >= 21"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/node-cron": {
|
"node_modules/node-cron": {
|
||||||
"version": "3.0.3",
|
"version": "3.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/node-cron/-/node-cron-3.0.3.tgz",
|
||||||
@@ -5579,6 +5641,104 @@
|
|||||||
"integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
|
"integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/pg": {
|
||||||
|
"version": "8.23.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg/-/pg-8.23.1.tgz",
|
||||||
|
"integrity": "sha512-aL96AHANtWjPLDOLqnhx+ngp9+UK7ETEU8VJrDCGvsSSi/mGLcWYsS6Herg7lmaBJe4uwrfqsa7gTEFaSizDoQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"pg-connection-string": "^2.14.1",
|
||||||
|
"pg-pool": "^3.14.0",
|
||||||
|
"pg-protocol": "^1.16.1",
|
||||||
|
"pg-types": "2.2.0",
|
||||||
|
"pgpass": "1.0.5"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 16.0.0"
|
||||||
|
},
|
||||||
|
"optionalDependencies": {
|
||||||
|
"pg-cloudflare": "^1.4.1"
|
||||||
|
},
|
||||||
|
"peerDependencies": {
|
||||||
|
"pg-native": ">=3.0.1"
|
||||||
|
},
|
||||||
|
"peerDependenciesMeta": {
|
||||||
|
"pg-native": {
|
||||||
|
"optional": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/pg-cloudflare": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-6PQbsFWZcp9EmJEwy5cGQ2La+AMWpP46lgbb8X+U/XsHIUweYDNCpeuKck5RxL2MdVFi7krbbEi5nX4Zh7JhrQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
|
"node_modules/pg-connection-string": {
|
||||||
|
"version": "2.14.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.14.1.tgz",
|
||||||
|
"integrity": "sha512-qR3kGNPBLpCNtz0evbKA0Y/MRFXwSSdT+pTJvYp/bXTcReZbvX1kzF0IyTc1QnxqF7AZbOeBhNL8R5mYQZV/MA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/pg-int8": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==",
|
||||||
|
"license": "ISC",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/pg-pool": {
|
||||||
|
"version": "3.14.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.14.0.tgz",
|
||||||
|
"integrity": "sha512-gKtPkFdQPU3DksooVLi9LsjZxrsBUZIpa+7aVx+LV5pNh0KzP4Zleud2po+ConrxbuXGBJ6Hfer6hdgpIBpBaw==",
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"pg": ">=8.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/pg-protocol": {
|
||||||
|
"version": "1.16.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.16.1.tgz",
|
||||||
|
"integrity": "sha512-p9VOFMiHB/ZbJATetbg+99PxssTVSQRnyuPSQ67mN1+1KBOjZaZ83ZQzltnxPhJwSsC3nwVjJ10DVJlerbFzLg==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/pg-types": {
|
||||||
|
"version": "2.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz",
|
||||||
|
"integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"pg-int8": "1.0.1",
|
||||||
|
"postgres-array": "~2.0.0",
|
||||||
|
"postgres-bytea": "~1.0.0",
|
||||||
|
"postgres-date": "~1.0.4",
|
||||||
|
"postgres-interval": "^1.1.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/pg-types/node_modules/postgres-array": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/pgpass": {
|
||||||
|
"version": "1.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz",
|
||||||
|
"integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"split2": "^4.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/picocolors": {
|
"node_modules/picocolors": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
|
||||||
@@ -5619,6 +5779,45 @@
|
|||||||
"url": "https://github.com/sponsors/porsager"
|
"url": "https://github.com/sponsors/porsager"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/postgres-array": {
|
||||||
|
"version": "3.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.4.tgz",
|
||||||
|
"integrity": "sha512-nAUSGfSDGOaOAEGwqsRY27GPOea7CNipJPOA7lPbdEpx5Kg3qzdP0AaWC5MlhTWV9s4hFX39nomVZ+C4tnGOJQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/postgres-bytea": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-5+5HqXnsZPE65IJZSMkZtURARZelel2oXUEO8rH83VS/hxH5vv1uHquPg5wZs8yMAfdv971IU+kcPUczi7NVBQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/postgres-date": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz",
|
||||||
|
"integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/postgres-interval": {
|
||||||
|
"version": "1.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz",
|
||||||
|
"integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"xtend": "^4.0.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.10.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/prisma": {
|
"node_modules/prisma": {
|
||||||
"version": "7.7.0",
|
"version": "7.7.0",
|
||||||
"resolved": "https://registry.npmjs.org/prisma/-/prisma-7.7.0.tgz",
|
"resolved": "https://registry.npmjs.org/prisma/-/prisma-7.7.0.tgz",
|
||||||
@@ -6470,6 +6669,15 @@
|
|||||||
"node": ">=0.10.0"
|
"node": ">=0.10.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/split2": {
|
||||||
|
"version": "4.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
|
||||||
|
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
|
||||||
|
"license": "ISC",
|
||||||
|
"engines": {
|
||||||
|
"node": ">= 10.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/sprintf-js": {
|
"node_modules/sprintf-js": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||||
@@ -6938,6 +7146,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/xtend": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/y18n": {
|
"node_modules/y18n": {
|
||||||
"version": "5.0.8",
|
"version": "5.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
|
||||||
|
|||||||
+4
-1
@@ -30,7 +30,10 @@
|
|||||||
"publish": "bash scripts/wsl/build-apk.sh release"
|
"publish": "bash scripts/wsl/build-apk.sh release"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/adapter-mariadb": "^7.9.1",
|
"@journeyapps/wa-sqlite": "^2.0.7",
|
||||||
|
"@powersync/react": "^2.1.0",
|
||||||
|
"@powersync/web": "^2.5.0",
|
||||||
|
"@prisma/adapter-pg": "^7.9.1",
|
||||||
"@prisma/client": "^7.7.0",
|
"@prisma/client": "^7.7.0",
|
||||||
"@zythum02/mijia-api": "^0.1.4",
|
"@zythum02/mijia-api": "^0.1.4",
|
||||||
"antd-mobile": "^5.42.3",
|
"antd-mobile": "^5.42.3",
|
||||||
|
|||||||
@@ -1,62 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `User` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`email` VARCHAR(191) NOT NULL,
|
|
||||||
`password` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `User_email_key`(`email`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Article` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`title` VARCHAR(191) NOT NULL,
|
|
||||||
`slug` VARCHAR(191) NOT NULL,
|
|
||||||
`content` VARCHAR(191) NOT NULL,
|
|
||||||
`date` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `Article_slug_key`(`slug`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Strategy` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`description` VARCHAR(191) NOT NULL,
|
|
||||||
`data` JSON NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Indicator` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`groupName` VARCHAR(191) NOT NULL,
|
|
||||||
`data` JSON NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `SowInventory` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`month` VARCHAR(191) NOT NULL,
|
|
||||||
`inventory` INTEGER NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `SowInventory_month_key`(`month`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
/*
|
|
||||||
Warnings:
|
|
||||||
|
|
||||||
- You are about to drop the `SowInventory` table. If the table is not empty, all the data it contains will be lost.
|
|
||||||
|
|
||||||
*/
|
|
||||||
-- DropTable
|
|
||||||
DROP TABLE `SowInventory`;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Econ_SowInventory` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`month` VARCHAR(191) NOT NULL,
|
|
||||||
`inventory` INTEGER NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `Econ_SowInventory_month_key`(`month`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ScraperCache` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`scraperName` VARCHAR(191) NOT NULL,
|
|
||||||
`lastDataHash` VARCHAR(191) NULL,
|
|
||||||
`lastUpdateAt` DATETIME(3) NOT NULL,
|
|
||||||
`metadata` JSON NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `ScraperCache_scraperName_key`(`scraperName`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
-- Add unique constraint on Strategy.name to enable idempotent upsert in seed script
|
|
||||||
ALTER TABLE `Strategy` ADD UNIQUE INDEX `Strategy_name_key`(`name`);
|
|
||||||
|
|
||||||
-- Add unique constraint on Indicator.name to enable idempotent upsert in seed script
|
|
||||||
ALTER TABLE `Indicator` ADD UNIQUE INDEX `Indicator_name_key`(`name`);
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
-- 经济指标: 明细数据拆到独立表, 兼容年/季/月/日频率
|
|
||||||
-- 第一步: 建 IndicatorPoint 表 + Indicator 加元数据列 (data 列暂保留, 由迁移脚本搬运后删除)
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `IndicatorPoint` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`indicatorId` INTEGER NOT NULL,
|
|
||||||
`period` VARCHAR(191) NOT NULL,
|
|
||||||
`value` DOUBLE NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `IndicatorPoint_indicatorId_period_key`(`indicatorId`, `period`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- AlterTable: 元数据列 (data JSON 拆出)
|
|
||||||
ALTER TABLE `Indicator` ADD COLUMN `title` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
ADD COLUMN `unit` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
ADD COLUMN `source` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
ADD COLUMN `frequency` VARCHAR(191) NOT NULL DEFAULT 'month';
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `IndicatorPoint` ADD CONSTRAINT `IndicatorPoint_indicatorId_fkey` FOREIGN KEY (`indicatorId`) REFERENCES `Indicator`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
-- 第二步: 明细数据已迁移到 IndicatorPoint, 删除 Indicator.data JSON 列
|
|
||||||
-- AlterTable
|
|
||||||
ALTER TABLE `Indicator` DROP COLUMN `data`;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- 指标隐藏标记: 数据与获取脚本保留, 前端展示过滤 hidden=true
|
|
||||||
ALTER TABLE `Indicator` ADD COLUMN `hidden` BOOLEAN NOT NULL DEFAULT false;
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `News` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`title` VARCHAR(191) NOT NULL,
|
|
||||||
`summary` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`source` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`url` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`publishedAt` DATETIME(3) NOT NULL,
|
|
||||||
`impactRank` INTEGER NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `News_title_publishedAt_key`(`title`, `publishedAt`),
|
|
||||||
INDEX `News_publishedAt_idx`(`publishedAt`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Alert` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`indicatorName` VARCHAR(191) NOT NULL,
|
|
||||||
`period` VARCHAR(191) NOT NULL,
|
|
||||||
`valueA` DOUBLE NOT NULL,
|
|
||||||
`valueB` DOUBLE NOT NULL,
|
|
||||||
`sourceA` VARCHAR(191) NOT NULL,
|
|
||||||
`sourceB` VARCHAR(191) NOT NULL,
|
|
||||||
`diff` DOUBLE NOT NULL,
|
|
||||||
`diffRatio` DOUBLE NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
INDEX `Alert_createdAt_idx`(`createdAt`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
-- 服务器监控 + 服务健康检查
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ServerNode` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`uuid` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`cpuName` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`os` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`region` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`memTotal` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`diskTotal` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`cpuCores` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`cpuUsage` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`ramUsed` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`swapUsed` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`load1` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`load5` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`load15` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`diskUsed` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`netIn` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`netOut` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`uptime` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`process` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`connections` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`status` VARCHAR(191) NOT NULL DEFAULT 'unknown',
|
|
||||||
`recordedAt` DATETIME(3) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `ServerNode_uuid_key`(`uuid`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ServerNodeHistory` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`uuid` VARCHAR(191) NOT NULL,
|
|
||||||
`period` DATETIME(3) NOT NULL,
|
|
||||||
`cpu` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`ram` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`load` DOUBLE NOT NULL DEFAULT 0,
|
|
||||||
`disk` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`netIn` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`netOut` BIGINT NOT NULL DEFAULT 0,
|
|
||||||
`process` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`connections` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `ServerNodeHistory_uuid_period_key`(`uuid`, `period`),
|
|
||||||
INDEX `ServerNodeHistory_uuid_period_idx`(`uuid`, `period`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ServiceCheck` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`url` VARCHAR(191) NOT NULL,
|
|
||||||
`status` VARCHAR(191) NOT NULL DEFAULT 'unknown',
|
|
||||||
`latencyMs` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`message` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`lastCheckAt` DATETIME(3) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `ServiceCheck_name_key`(`name`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- AlterTable (news.content 全文, 须在 news_and_alerts 建表之后执行)
|
|
||||||
ALTER TABLE `News` ADD COLUMN `content` TEXT NULL;
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
-- 浙江省油价历史表
|
|
||||||
-- - date: 调价日次日 (即数据实际抓取日, 便于按时间排序)
|
|
||||||
-- - province + fuel: 浙江 / 92/95/0
|
|
||||||
-- - unique (date, province, fuel): 防 cron 重复入库
|
|
||||||
-- - DOUBLE 容纳 999.999 元/升
|
|
||||||
CREATE TABLE OilPriceHistory (
|
|
||||||
id INT NOT NULL AUTO_INCREMENT,
|
|
||||||
date DATETIME(3) NOT NULL,
|
|
||||||
province VARCHAR(191) NOT NULL,
|
|
||||||
fuel VARCHAR(8) NOT NULL,
|
|
||||||
price DOUBLE NOT NULL,
|
|
||||||
source VARCHAR(191) NOT NULL DEFAULT 'apizero',
|
|
||||||
createdAt DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
PRIMARY KEY (id),
|
|
||||||
UNIQUE INDEX OilPriceHistory_date_province_fuel_key(date, province, fuel),
|
|
||||||
INDEX OilPriceHistory_province_fuel_date_idx(province, fuel, date)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
@@ -1,95 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `MihomeAccount` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`key` VARCHAR(191) NOT NULL DEFAULT 'default',
|
|
||||||
`userId` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`status` VARCHAR(191) NOT NULL DEFAULT 'unknown',
|
|
||||||
`lastError` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `MihomeAccount_key_key`(`key`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `MihomeHome` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`homeId` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `MihomeHome_homeId_key`(`homeId`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `MihomeDevice` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`did` VARCHAR(191) NOT NULL,
|
|
||||||
`homeId` VARCHAR(191) NOT NULL,
|
|
||||||
`model` VARCHAR(191) NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`alias` VARCHAR(191) NULL,
|
|
||||||
`tempSiid` INTEGER NOT NULL,
|
|
||||||
`tempPiid` INTEGER NOT NULL,
|
|
||||||
`humSiid` INTEGER NOT NULL,
|
|
||||||
`humPiid` INTEGER NOT NULL,
|
|
||||||
`battSiid` INTEGER NOT NULL,
|
|
||||||
`battPiid` INTEGER NOT NULL,
|
|
||||||
`battery` INTEGER NULL,
|
|
||||||
`batteryAt` DATETIME(3) NULL,
|
|
||||||
`enabled` BOOLEAN NOT NULL DEFAULT true,
|
|
||||||
`lastSyncAt` DATETIME(3) NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `MihomeDevice_did_key`(`did`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `MihomeEnvSample` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`deviceId` INTEGER NOT NULL,
|
|
||||||
`date` DATETIME(3) NOT NULL,
|
|
||||||
`temperature` DOUBLE NULL,
|
|
||||||
`humidity` DOUBLE NULL,
|
|
||||||
`temperatureAvg` DOUBLE NULL,
|
|
||||||
`humidityAvg` DOUBLE NULL,
|
|
||||||
`temperatureMin` DOUBLE NULL,
|
|
||||||
`temperatureMax` DOUBLE NULL,
|
|
||||||
`humidityMin` DOUBLE NULL,
|
|
||||||
`humidityMax` DOUBLE NULL,
|
|
||||||
`origin` VARCHAR(191) NOT NULL DEFAULT 'live',
|
|
||||||
`sampledAt` DATETIME(3) NULL,
|
|
||||||
`raw` JSON NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
INDEX `MihomeEnvSample_deviceId_date_idx`(`deviceId`, `date`),
|
|
||||||
UNIQUE INDEX `MihomeEnvSample_deviceId_date_key`(`deviceId`, `date`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `MihomeEnvHour` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`deviceId` INTEGER NOT NULL,
|
|
||||||
`hour` DATETIME(3) NOT NULL,
|
|
||||||
`temperatureAvg` DOUBLE NULL,
|
|
||||||
`humidityAvg` DOUBLE NULL,
|
|
||||||
`raw` JSON NULL,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
INDEX `MihomeEnvHour_deviceId_hour_idx`(`deviceId`, `hour`),
|
|
||||||
UNIQUE INDEX `MihomeEnvHour_deviceId_hour_key`(`deviceId`, `hour`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `MihomeDevice` ADD CONSTRAINT `MihomeDevice_homeId_fkey` FOREIGN KEY (`homeId`) REFERENCES `MihomeHome`(`homeId`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `MihomeEnvSample` ADD CONSTRAINT `MihomeEnvSample_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `MihomeDevice`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `MihomeEnvHour` ADD CONSTRAINT `MihomeEnvHour_deviceId_fkey` FOREIGN KEY (`deviceId`) REFERENCES `MihomeDevice`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
@@ -1,99 +0,0 @@
|
|||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Habit` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`period` VARCHAR(191) NOT NULL DEFAULT 'day',
|
|
||||||
`target` INTEGER NOT NULL DEFAULT 1,
|
|
||||||
`color` VARCHAR(191) NOT NULL DEFAULT '#1677ff',
|
|
||||||
`icon` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`note` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`archived` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`sortOrder` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `Habit_userId_archived_sortOrder_idx`(`userId`, `archived`, `sortOrder`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CheckIn` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`habitId` INTEGER NOT NULL,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`date` VARCHAR(10) NOT NULL,
|
|
||||||
`seq` INTEGER NOT NULL DEFAULT 1,
|
|
||||||
`note` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`source` VARCHAR(191) NOT NULL DEFAULT 'user',
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `CheckIn_habitId_date_seq_key`(`habitId`, `date`, `seq`),
|
|
||||||
INDEX `CheckIn_userId_date_idx`(`userId`, `date`),
|
|
||||||
INDEX `CheckIn_habitId_date_idx`(`habitId`, `date`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CheckList` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`title` VARCHAR(191) NOT NULL,
|
|
||||||
`scene` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`note` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`archived` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `CheckList_userId_archived_idx`(`userId`, `archived`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CheckListItem` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`listId` INTEGER NOT NULL,
|
|
||||||
`title` VARCHAR(191) NOT NULL,
|
|
||||||
`note` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`done` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`doneAt` DATETIME(3) NULL,
|
|
||||||
`sortOrder` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `CheckListItem_listId_sortOrder_idx`(`listId`, `sortOrder`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `CheckListTemplate` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`userId` INTEGER NULL,
|
|
||||||
`name` VARCHAR(191) NOT NULL,
|
|
||||||
`scene` VARCHAR(191) NOT NULL DEFAULT '',
|
|
||||||
`items` JSON NOT NULL,
|
|
||||||
`builtin` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `CheckListTemplate_userId_builtin_idx`(`userId`, `builtin`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Habit` ADD CONSTRAINT `Habit_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CheckIn` ADD CONSTRAINT `CheckIn_habitId_fkey` FOREIGN KEY (`habitId`) REFERENCES `Habit`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CheckIn` ADD CONSTRAINT `CheckIn_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CheckList` ADD CONSTRAINT `CheckList_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CheckListItem` ADD CONSTRAINT `CheckListItem_listId_fkey` FOREIGN KEY (`listId`) REFERENCES `CheckList`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `CheckListTemplate` ADD CONSTRAINT `CheckListTemplate_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
@@ -1,126 +0,0 @@
|
|||||||
-- 任务模块 (V0.2): 项目 / 成员 / 看板列 / 任务 / 任务成员 / 标签
|
|
||||||
-- 设计口径见 docs/V0.2/任务模块/任务模块数据库设计文档.md
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Project` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`name` VARCHAR(50) NOT NULL,
|
|
||||||
`ownerId` INTEGER NOT NULL,
|
|
||||||
`isPersonal` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`archived` BOOLEAN NOT NULL DEFAULT false,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `Project_ownerId_idx`(`ownerId`),
|
|
||||||
INDEX `Project_archived_idx`(`archived`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `ProjectMember` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`projectId` INTEGER NOT NULL,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
`permission` VARCHAR(191) NOT NULL DEFAULT 'member',
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
|
|
||||||
UNIQUE INDEX `ProjectMember_projectId_userId_key`(`projectId`, `userId`),
|
|
||||||
INDEX `ProjectMember_userId_idx`(`userId`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `BoardColumn` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`projectId` INTEGER NOT NULL,
|
|
||||||
`name` VARCHAR(20) NOT NULL,
|
|
||||||
`sortOrder` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`boundStatus` VARCHAR(8) NULL,
|
|
||||||
`retention` VARCHAR(8) NOT NULL DEFAULT 'forever',
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `BoardColumn_projectId_name_key`(`projectId`, `name`),
|
|
||||||
INDEX `BoardColumn_projectId_sortOrder_idx`(`projectId`, `sortOrder`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `Task` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`projectId` INTEGER NOT NULL,
|
|
||||||
`columnId` INTEGER NOT NULL,
|
|
||||||
`parentId` INTEGER NULL,
|
|
||||||
`title` VARCHAR(200) NOT NULL,
|
|
||||||
`description` TEXT NOT NULL,
|
|
||||||
`status` VARCHAR(8) NOT NULL DEFAULT 'todo',
|
|
||||||
`doneAt` DATETIME(3) NULL,
|
|
||||||
`assigneeId` INTEGER NULL,
|
|
||||||
`creatorId` INTEGER NOT NULL,
|
|
||||||
`extras` JSON NOT NULL,
|
|
||||||
`sortOrder` INTEGER NOT NULL DEFAULT 0,
|
|
||||||
`createdAt` DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
|
|
||||||
`updatedAt` DATETIME(3) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `Task_projectId_columnId_idx`(`projectId`, `columnId`),
|
|
||||||
INDEX `Task_projectId_status_idx`(`projectId`, `status`),
|
|
||||||
INDEX `Task_parentId_idx`(`parentId`),
|
|
||||||
INDEX `Task_projectId_doneAt_idx`(`projectId`, `doneAt`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `TaskMember` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`taskId` INTEGER NOT NULL,
|
|
||||||
`userId` INTEGER NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE INDEX `TaskMember_taskId_userId_key`(`taskId`, `userId`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- CreateTable
|
|
||||||
CREATE TABLE `TaskTag` (
|
|
||||||
`id` INTEGER NOT NULL AUTO_INCREMENT,
|
|
||||||
`taskId` INTEGER NOT NULL,
|
|
||||||
`name` VARCHAR(20) NOT NULL,
|
|
||||||
|
|
||||||
INDEX `TaskTag_taskId_idx`(`taskId`),
|
|
||||||
PRIMARY KEY (`id`)
|
|
||||||
) DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Project` ADD CONSTRAINT `Project_ownerId_fkey` FOREIGN KEY (`ownerId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ProjectMember` ADD CONSTRAINT `ProjectMember_projectId_fkey` FOREIGN KEY (`projectId`) REFERENCES `Project`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `ProjectMember` ADD CONSTRAINT `ProjectMember_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `BoardColumn` ADD CONSTRAINT `BoardColumn_projectId_fkey` FOREIGN KEY (`projectId`) REFERENCES `Project`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Task` ADD CONSTRAINT `Task_projectId_fkey` FOREIGN KEY (`projectId`) REFERENCES `Project`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Task` ADD CONSTRAINT `Task_columnId_fkey` FOREIGN KEY (`columnId`) REFERENCES `BoardColumn`(`id`) ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Task` ADD CONSTRAINT `Task_parentId_fkey` FOREIGN KEY (`parentId`) REFERENCES `Task`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Task` ADD CONSTRAINT `Task_assigneeId_fkey` FOREIGN KEY (`assigneeId`) REFERENCES `User`(`id`) ON DELETE SET NULL ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `Task` ADD CONSTRAINT `Task_creatorId_fkey` FOREIGN KEY (`creatorId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `TaskMember` ADD CONSTRAINT `TaskMember_taskId_fkey` FOREIGN KEY (`taskId`) REFERENCES `Task`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `TaskMember` ADD CONSTRAINT `TaskMember_userId_fkey` FOREIGN KEY (`userId`) REFERENCES `User`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
|
|
||||||
-- AddForeignKey
|
|
||||||
ALTER TABLE `TaskTag` ADD CONSTRAINT `TaskTag_taskId_fkey` FOREIGN KEY (`taskId`) REFERENCES `Task`(`id`) ON DELETE CASCADE ON UPDATE CASCADE;
|
|
||||||
@@ -1,7 +0,0 @@
|
|||||||
-- 项目信息块 (T-PJ-13): Project 增加 notes JSON, 存 [{ title, content }] 任意多个长文本块
|
|
||||||
-- 分三步保证存量行安全: 先可空加列 -> 回填 '[]' -> 收紧为 NOT NULL
|
|
||||||
ALTER TABLE `Project` ADD COLUMN `notes` JSON NULL;
|
|
||||||
|
|
||||||
UPDATE `Project` SET `notes` = '[]' WHERE `notes` IS NULL;
|
|
||||||
|
|
||||||
ALTER TABLE `Project` MODIFY `notes` JSON NOT NULL;
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
-- 任务类型标签: 项目级自定义列表 + 任务上的类型
|
|
||||||
ALTER TABLE `Project` ADD COLUMN `taskKinds` JSON NULL;
|
|
||||||
ALTER TABLE `Task` ADD COLUMN `kind` VARCHAR(20) NULL;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- 任务时间标记: 完整日期存储, 前端展示 MM-dd
|
|
||||||
ALTER TABLE `Task` ADD COLUMN `markDate` DATETIME(3) NULL;
|
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
-- 项目图标: data URL (客户端裁剪 96x96 JPEG, 约 10-20KB)
|
|
||||||
ALTER TABLE `Project` ADD COLUMN `icon` TEXT NULL;
|
|
||||||
@@ -0,0 +1,655 @@
|
|||||||
|
-- CreateSchema
|
||||||
|
CREATE SCHEMA IF NOT EXISTS "public";
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "User" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"email" TEXT NOT NULL,
|
||||||
|
"password" TEXT NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "User_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Article" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"slug" TEXT NOT NULL,
|
||||||
|
"content" TEXT NOT NULL,
|
||||||
|
"date" TEXT NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Article_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Strategy" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"description" TEXT NOT NULL,
|
||||||
|
"data" JSONB NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Strategy_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Indicator" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"groupName" TEXT NOT NULL,
|
||||||
|
"title" TEXT NOT NULL DEFAULT '',
|
||||||
|
"unit" TEXT NOT NULL DEFAULT '',
|
||||||
|
"source" TEXT NOT NULL DEFAULT '',
|
||||||
|
"frequency" TEXT NOT NULL DEFAULT 'month',
|
||||||
|
"hidden" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Indicator_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "IndicatorPoint" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"indicatorId" INTEGER NOT NULL,
|
||||||
|
"period" TEXT NOT NULL,
|
||||||
|
"value" DOUBLE PRECISION NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "IndicatorPoint_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "News" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"summary" TEXT NOT NULL DEFAULT '',
|
||||||
|
"content" TEXT,
|
||||||
|
"source" TEXT NOT NULL DEFAULT '',
|
||||||
|
"url" TEXT NOT NULL DEFAULT '',
|
||||||
|
"publishedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"impactRank" INTEGER NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "News_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Alert" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"indicatorName" TEXT NOT NULL,
|
||||||
|
"period" TEXT NOT NULL,
|
||||||
|
"valueA" DOUBLE PRECISION NOT NULL,
|
||||||
|
"valueB" DOUBLE PRECISION NOT NULL,
|
||||||
|
"sourceA" TEXT NOT NULL,
|
||||||
|
"sourceB" TEXT NOT NULL,
|
||||||
|
"diff" DOUBLE PRECISION NOT NULL,
|
||||||
|
"diffRatio" DOUBLE PRECISION NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "Alert_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ServerNode" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"cpuName" TEXT NOT NULL DEFAULT '',
|
||||||
|
"os" TEXT NOT NULL DEFAULT '',
|
||||||
|
"region" TEXT NOT NULL DEFAULT '',
|
||||||
|
"memTotal" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"diskTotal" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"cpuCores" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"cpuUsage" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"ramUsed" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"swapUsed" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"load1" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"load5" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"load15" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"diskUsed" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"netIn" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"netOut" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"uptime" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"process" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"connections" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"status" TEXT NOT NULL DEFAULT 'unknown',
|
||||||
|
"recordedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "ServerNode_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ServerNodeHistory" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" TEXT NOT NULL,
|
||||||
|
"period" TIMESTAMP(3) NOT NULL,
|
||||||
|
"cpu" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"ram" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"load" DOUBLE PRECISION NOT NULL DEFAULT 0,
|
||||||
|
"disk" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"netIn" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"netOut" BIGINT NOT NULL DEFAULT 0,
|
||||||
|
"process" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"connections" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "ServerNodeHistory_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ServiceCheck" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"url" TEXT NOT NULL,
|
||||||
|
"status" TEXT NOT NULL DEFAULT 'unknown',
|
||||||
|
"latencyMs" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"message" TEXT NOT NULL DEFAULT '',
|
||||||
|
"lastCheckAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "ServiceCheck_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Econ_SowInventory" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"month" TEXT NOT NULL,
|
||||||
|
"inventory" INTEGER NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Econ_SowInventory_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ScraperCache" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"scraperName" TEXT NOT NULL,
|
||||||
|
"lastDataHash" TEXT,
|
||||||
|
"lastUpdateAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"metadata" JSONB,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "ScraperCache_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "OilPriceHistory" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"date" TIMESTAMP(3) NOT NULL,
|
||||||
|
"province" TEXT NOT NULL,
|
||||||
|
"fuel" TEXT NOT NULL,
|
||||||
|
"price" DOUBLE PRECISION NOT NULL,
|
||||||
|
"source" TEXT NOT NULL DEFAULT 'apizero',
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "OilPriceHistory_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MihomeAccount" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"key" TEXT NOT NULL DEFAULT 'default',
|
||||||
|
"userId" TEXT NOT NULL DEFAULT '',
|
||||||
|
"status" TEXT NOT NULL DEFAULT 'unknown',
|
||||||
|
"lastError" TEXT NOT NULL DEFAULT '',
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "MihomeAccount_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MihomeHome" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"homeId" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MihomeHome_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MihomeDevice" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"did" TEXT NOT NULL,
|
||||||
|
"homeId" TEXT NOT NULL,
|
||||||
|
"model" TEXT NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"alias" TEXT,
|
||||||
|
"tempSiid" INTEGER NOT NULL,
|
||||||
|
"tempPiid" INTEGER NOT NULL,
|
||||||
|
"humSiid" INTEGER NOT NULL,
|
||||||
|
"humPiid" INTEGER NOT NULL,
|
||||||
|
"battSiid" INTEGER NOT NULL,
|
||||||
|
"battPiid" INTEGER NOT NULL,
|
||||||
|
"battery" INTEGER,
|
||||||
|
"batteryAt" TIMESTAMP(3),
|
||||||
|
"enabled" BOOLEAN NOT NULL DEFAULT true,
|
||||||
|
"lastSyncAt" TIMESTAMP(3),
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MihomeDevice_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MihomeEnvSample" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"deviceId" INTEGER NOT NULL,
|
||||||
|
"date" TIMESTAMP(3) NOT NULL,
|
||||||
|
"temperature" DOUBLE PRECISION,
|
||||||
|
"humidity" DOUBLE PRECISION,
|
||||||
|
"temperatureAvg" DOUBLE PRECISION,
|
||||||
|
"humidityAvg" DOUBLE PRECISION,
|
||||||
|
"temperatureMin" DOUBLE PRECISION,
|
||||||
|
"temperatureMax" DOUBLE PRECISION,
|
||||||
|
"humidityMin" DOUBLE PRECISION,
|
||||||
|
"humidityMax" DOUBLE PRECISION,
|
||||||
|
"origin" TEXT NOT NULL DEFAULT 'live',
|
||||||
|
"sampledAt" TIMESTAMP(3),
|
||||||
|
"raw" JSONB,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MihomeEnvSample_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "MihomeEnvHour" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"deviceId" INTEGER NOT NULL,
|
||||||
|
"hour" TIMESTAMP(3) NOT NULL,
|
||||||
|
"temperatureAvg" DOUBLE PRECISION,
|
||||||
|
"humidityAvg" DOUBLE PRECISION,
|
||||||
|
"raw" JSONB,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "MihomeEnvHour_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Habit" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"userId" INTEGER NOT NULL,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"period" TEXT NOT NULL DEFAULT 'day',
|
||||||
|
"target" INTEGER NOT NULL DEFAULT 1,
|
||||||
|
"color" TEXT NOT NULL DEFAULT '#1677ff',
|
||||||
|
"icon" TEXT NOT NULL DEFAULT '',
|
||||||
|
"note" TEXT NOT NULL DEFAULT '',
|
||||||
|
"archived" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"sortOrder" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Habit_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "CheckIn" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"habitId" INTEGER NOT NULL,
|
||||||
|
"userId" INTEGER NOT NULL,
|
||||||
|
"date" VARCHAR(10) NOT NULL,
|
||||||
|
"seq" INTEGER NOT NULL DEFAULT 1,
|
||||||
|
"note" TEXT NOT NULL DEFAULT '',
|
||||||
|
"source" TEXT NOT NULL DEFAULT 'user',
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "CheckIn_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "CheckList" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"userId" INTEGER NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"scene" TEXT NOT NULL DEFAULT '',
|
||||||
|
"note" TEXT NOT NULL DEFAULT '',
|
||||||
|
"archived" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "CheckList_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "CheckListItem" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"listId" INTEGER NOT NULL,
|
||||||
|
"title" TEXT NOT NULL,
|
||||||
|
"note" TEXT NOT NULL DEFAULT '',
|
||||||
|
"done" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"doneAt" TIMESTAMP(3),
|
||||||
|
"sortOrder" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "CheckListItem_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "CheckListTemplate" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"userId" INTEGER,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"scene" TEXT NOT NULL DEFAULT '',
|
||||||
|
"items" JSONB NOT NULL,
|
||||||
|
"builtin" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "CheckListTemplate_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Project" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"code" VARCHAR(8) NOT NULL,
|
||||||
|
"name" VARCHAR(50) NOT NULL,
|
||||||
|
"ownerId" INTEGER NOT NULL,
|
||||||
|
"isPersonal" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"archived" BOOLEAN NOT NULL DEFAULT false,
|
||||||
|
"notes" JSONB NOT NULL DEFAULT '[]',
|
||||||
|
"taskKinds" JSONB,
|
||||||
|
"icon" TEXT,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "Project_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "ProjectMember" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"projectId" INTEGER NOT NULL,
|
||||||
|
"userId" INTEGER NOT NULL,
|
||||||
|
"permission" TEXT NOT NULL DEFAULT 'member',
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
|
||||||
|
CONSTRAINT "ProjectMember_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "BoardColumn" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"projectId" INTEGER NOT NULL,
|
||||||
|
"name" VARCHAR(20) NOT NULL,
|
||||||
|
"sortOrder" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"boundStatus" VARCHAR(8),
|
||||||
|
"retention" VARCHAR(8) NOT NULL DEFAULT 'forever',
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "BoardColumn_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "Task" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"projectId" INTEGER NOT NULL,
|
||||||
|
"columnId" INTEGER NOT NULL,
|
||||||
|
"parentId" INTEGER,
|
||||||
|
"title" VARCHAR(200) NOT NULL,
|
||||||
|
"description" TEXT NOT NULL DEFAULT '',
|
||||||
|
"kind" VARCHAR(20),
|
||||||
|
"markDate" TIMESTAMP(3),
|
||||||
|
"status" VARCHAR(8) NOT NULL DEFAULT 'todo',
|
||||||
|
"doneAt" TIMESTAMP(3),
|
||||||
|
"assigneeId" INTEGER,
|
||||||
|
"creatorId" INTEGER NOT NULL,
|
||||||
|
"extras" JSONB NOT NULL DEFAULT '[]',
|
||||||
|
"sortOrder" INTEGER NOT NULL DEFAULT 0,
|
||||||
|
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" TIMESTAMP(3) NOT NULL,
|
||||||
|
"number" INTEGER,
|
||||||
|
|
||||||
|
CONSTRAINT "Task_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "TaskMember" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"taskId" INTEGER NOT NULL,
|
||||||
|
"userId" INTEGER NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "TaskMember_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateTable
|
||||||
|
CREATE TABLE "TaskTag" (
|
||||||
|
"id" SERIAL NOT NULL,
|
||||||
|
"uuid" VARCHAR(36) NOT NULL,
|
||||||
|
"taskId" INTEGER NOT NULL,
|
||||||
|
"name" VARCHAR(20) NOT NULL,
|
||||||
|
|
||||||
|
CONSTRAINT "TaskTag_pkey" PRIMARY KEY ("id")
|
||||||
|
);
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "User_email_key" ON "User"("email");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Article_slug_key" ON "Article"("slug");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Indicator_name_key" ON "Indicator"("name");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "IndicatorPoint_indicatorId_period_key" ON "IndicatorPoint"("indicatorId", "period");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "News_publishedAt_idx" ON "News"("publishedAt");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "News_title_publishedAt_key" ON "News"("title", "publishedAt");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Alert_createdAt_idx" ON "Alert"("createdAt");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ServerNode_uuid_key" ON "ServerNode"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "ServerNodeHistory_uuid_period_idx" ON "ServerNodeHistory"("uuid", "period");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ServerNodeHistory_uuid_period_key" ON "ServerNodeHistory"("uuid", "period");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ServiceCheck_name_key" ON "ServiceCheck"("name");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Econ_SowInventory_month_key" ON "Econ_SowInventory"("month");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ScraperCache_scraperName_key" ON "ScraperCache"("scraperName");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "OilPriceHistory_province_fuel_date_idx" ON "OilPriceHistory"("province", "fuel", "date");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "OilPriceHistory_date_province_fuel_key" ON "OilPriceHistory"("date", "province", "fuel");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "MihomeAccount_key_key" ON "MihomeAccount"("key");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "MihomeHome_homeId_key" ON "MihomeHome"("homeId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "MihomeDevice_did_key" ON "MihomeDevice"("did");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "MihomeEnvSample_deviceId_date_idx" ON "MihomeEnvSample"("deviceId", "date");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "MihomeEnvSample_deviceId_date_key" ON "MihomeEnvSample"("deviceId", "date");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "MihomeEnvHour_deviceId_hour_idx" ON "MihomeEnvHour"("deviceId", "hour");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "MihomeEnvHour_deviceId_hour_key" ON "MihomeEnvHour"("deviceId", "hour");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Habit_userId_archived_sortOrder_idx" ON "Habit"("userId", "archived", "sortOrder");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CheckIn_userId_date_idx" ON "CheckIn"("userId", "date");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CheckIn_habitId_date_idx" ON "CheckIn"("habitId", "date");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "CheckIn_habitId_date_seq_key" ON "CheckIn"("habitId", "date", "seq");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CheckList_userId_archived_idx" ON "CheckList"("userId", "archived");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CheckListItem_listId_sortOrder_idx" ON "CheckListItem"("listId", "sortOrder");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "CheckListTemplate_userId_builtin_idx" ON "CheckListTemplate"("userId", "builtin");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Project_uuid_key" ON "Project"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Project_code_key" ON "Project"("code");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Project_ownerId_idx" ON "Project"("ownerId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Project_archived_idx" ON "Project"("archived");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ProjectMember_uuid_key" ON "ProjectMember"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "ProjectMember_userId_idx" ON "ProjectMember"("userId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "ProjectMember_projectId_userId_key" ON "ProjectMember"("projectId", "userId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "BoardColumn_uuid_key" ON "BoardColumn"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "BoardColumn_projectId_sortOrder_idx" ON "BoardColumn"("projectId", "sortOrder");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "BoardColumn_projectId_name_key" ON "BoardColumn"("projectId", "name");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Task_uuid_key" ON "Task"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Task_projectId_columnId_idx" ON "Task"("projectId", "columnId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Task_projectId_status_idx" ON "Task"("projectId", "status");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Task_parentId_idx" ON "Task"("parentId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "Task_projectId_doneAt_idx" ON "Task"("projectId", "doneAt");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "Task_projectId_number_key" ON "Task"("projectId", "number");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "TaskMember_uuid_key" ON "TaskMember"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "TaskMember_taskId_userId_key" ON "TaskMember"("taskId", "userId");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE UNIQUE INDEX "TaskTag_uuid_key" ON "TaskTag"("uuid");
|
||||||
|
|
||||||
|
-- CreateIndex
|
||||||
|
CREATE INDEX "TaskTag_taskId_idx" ON "TaskTag"("taskId");
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "IndicatorPoint" ADD CONSTRAINT "IndicatorPoint_indicatorId_fkey" FOREIGN KEY ("indicatorId") REFERENCES "Indicator"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "MihomeDevice" ADD CONSTRAINT "MihomeDevice_homeId_fkey" FOREIGN KEY ("homeId") REFERENCES "MihomeHome"("homeId") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "MihomeEnvSample" ADD CONSTRAINT "MihomeEnvSample_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "MihomeDevice"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "MihomeEnvHour" ADD CONSTRAINT "MihomeEnvHour_deviceId_fkey" FOREIGN KEY ("deviceId") REFERENCES "MihomeDevice"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Habit" ADD CONSTRAINT "Habit_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CheckIn" ADD CONSTRAINT "CheckIn_habitId_fkey" FOREIGN KEY ("habitId") REFERENCES "Habit"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CheckIn" ADD CONSTRAINT "CheckIn_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CheckList" ADD CONSTRAINT "CheckList_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CheckListItem" ADD CONSTRAINT "CheckListItem_listId_fkey" FOREIGN KEY ("listId") REFERENCES "CheckList"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "CheckListTemplate" ADD CONSTRAINT "CheckListTemplate_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Project" ADD CONSTRAINT "Project_ownerId_fkey" FOREIGN KEY ("ownerId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "ProjectMember" ADD CONSTRAINT "ProjectMember_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "ProjectMember" ADD CONSTRAINT "ProjectMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "BoardColumn" ADD CONSTRAINT "BoardColumn_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_projectId_fkey" FOREIGN KEY ("projectId") REFERENCES "Project"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_columnId_fkey" FOREIGN KEY ("columnId") REFERENCES "BoardColumn"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_parentId_fkey" FOREIGN KEY ("parentId") REFERENCES "Task"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_assigneeId_fkey" FOREIGN KEY ("assigneeId") REFERENCES "User"("id") ON DELETE SET NULL ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TaskMember" ADD CONSTRAINT "TaskMember_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TaskMember" ADD CONSTRAINT "TaskMember_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- AddForeignKey
|
||||||
|
ALTER TABLE "TaskTag" ADD CONSTRAINT "TaskTag_taskId_fkey" FOREIGN KEY ("taskId") REFERENCES "Task"("id") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
@@ -0,0 +1,96 @@
|
|||||||
|
-- uuid 外键镜像 (PowerSync Sequential ID Mapping, 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md §3)
|
||||||
|
-- 目的: 同步流以 uuid 作为客户端主键 (离线新建行同步回填后本地 id 稳定不变),
|
||||||
|
-- 外键列同步输出 uuid 镜像 (别名回 projectId/columnId/parentId/taskId), 客户端零改动。
|
||||||
|
-- 镜像列由触发器维护: REST/Prisma 写 int 外键 -> 触发器回填 uuid; upload 端在应用层解析 uuid -> int。
|
||||||
|
|
||||||
|
-- 1) 加列 (先可空)
|
||||||
|
ALTER TABLE "BoardColumn" ADD COLUMN "projectUuid" VARCHAR(36);
|
||||||
|
ALTER TABLE "Task" ADD COLUMN "projectUuid" VARCHAR(36), ADD COLUMN "columnUuid" VARCHAR(36), ADD COLUMN "parentUuid" VARCHAR(36);
|
||||||
|
ALTER TABLE "ProjectMember" ADD COLUMN "projectUuid" VARCHAR(36);
|
||||||
|
ALTER TABLE "TaskMember" ADD COLUMN "taskUuid" VARCHAR(36);
|
||||||
|
ALTER TABLE "TaskTag" ADD COLUMN "taskUuid" VARCHAR(36);
|
||||||
|
|
||||||
|
-- 2) 存量回填
|
||||||
|
UPDATE "BoardColumn" c SET "projectUuid" = p."uuid" FROM "Project" p WHERE c."projectId" = p."id";
|
||||||
|
UPDATE "Task" t SET "projectUuid" = p."uuid" FROM "Project" p WHERE t."projectId" = p."id";
|
||||||
|
UPDATE "Task" t SET "columnUuid" = c."uuid" FROM "BoardColumn" c WHERE t."columnId" = c."id";
|
||||||
|
UPDATE "Task" t SET "parentUuid" = pt."uuid" FROM "Task" pt WHERE t."parentId" = pt."id";
|
||||||
|
UPDATE "ProjectMember" pm SET "projectUuid" = p."uuid" FROM "Project" p WHERE pm."projectId" = p."id";
|
||||||
|
UPDATE "TaskMember" tm SET "taskUuid" = t."uuid" FROM "Task" t WHERE tm."taskId" = t."id";
|
||||||
|
UPDATE "TaskTag" tt SET "taskUuid" = t."uuid" FROM "Task" t WHERE tt."taskId" = t."id";
|
||||||
|
|
||||||
|
-- 3) 非空约束
|
||||||
|
ALTER TABLE "BoardColumn" ALTER COLUMN "projectUuid" SET NOT NULL;
|
||||||
|
ALTER TABLE "Task" ALTER COLUMN "projectUuid" SET NOT NULL;
|
||||||
|
ALTER TABLE "Task" ALTER COLUMN "columnUuid" SET NOT NULL;
|
||||||
|
ALTER TABLE "ProjectMember" ALTER COLUMN "projectUuid" SET NOT NULL;
|
||||||
|
ALTER TABLE "TaskMember" ALTER COLUMN "taskUuid" SET NOT NULL;
|
||||||
|
ALTER TABLE "TaskTag" ALTER COLUMN "taskUuid" SET NOT NULL;
|
||||||
|
|
||||||
|
-- 4) 外键 (级联与 int 外键一致)
|
||||||
|
ALTER TABLE "BoardColumn" ADD CONSTRAINT "BoardColumn_projectUuid_fkey" FOREIGN KEY ("projectUuid") REFERENCES "Project"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_projectUuid_fkey" FOREIGN KEY ("projectUuid") REFERENCES "Project"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_columnUuid_fkey" FOREIGN KEY ("columnUuid") REFERENCES "BoardColumn"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "Task" ADD CONSTRAINT "Task_parentUuid_fkey" FOREIGN KEY ("parentUuid") REFERENCES "Task"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "ProjectMember" ADD CONSTRAINT "ProjectMember_projectUuid_fkey" FOREIGN KEY ("projectUuid") REFERENCES "Project"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "TaskMember" ADD CONSTRAINT "TaskMember_taskUuid_fkey" FOREIGN KEY ("taskUuid") REFERENCES "Task"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
ALTER TABLE "TaskTag" ADD CONSTRAINT "TaskTag_taskUuid_fkey" FOREIGN KEY ("taskUuid") REFERENCES "Task"("uuid") ON DELETE CASCADE ON UPDATE CASCADE;
|
||||||
|
|
||||||
|
-- 5) 触发器: 写入时按 int 外键回填 uuid 镜像
|
||||||
|
CREATE OR REPLACE FUNCTION "func_projectmember_uuid_map"() RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
SELECT "uuid" INTO NEW."projectUuid" FROM "Project" WHERE "id" = NEW."projectId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Project % 不存在', NEW."projectId"; END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
CREATE TRIGGER "trg_projectmember_uuid_map" BEFORE INSERT OR UPDATE ON "ProjectMember"
|
||||||
|
FOR EACH ROW EXECUTE FUNCTION "func_projectmember_uuid_map"();
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION "func_boardcolumn_uuid_map"() RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
SELECT "uuid" INTO NEW."projectUuid" FROM "Project" WHERE "id" = NEW."projectId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Project % 不存在', NEW."projectId"; END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
CREATE TRIGGER "trg_boardcolumn_uuid_map" BEFORE INSERT OR UPDATE ON "BoardColumn"
|
||||||
|
FOR EACH ROW EXECUTE FUNCTION "func_boardcolumn_uuid_map"();
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION "func_task_uuid_map"() RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
SELECT "uuid" INTO NEW."projectUuid" FROM "Project" WHERE "id" = NEW."projectId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Project % 不存在', NEW."projectId"; END IF;
|
||||||
|
SELECT "uuid" INTO NEW."columnUuid" FROM "BoardColumn" WHERE "id" = NEW."columnId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'BoardColumn % 不存在', NEW."columnId"; END IF;
|
||||||
|
IF NEW."parentId" IS NULL THEN
|
||||||
|
NEW."parentUuid" := NULL;
|
||||||
|
ELSE
|
||||||
|
SELECT "uuid" INTO NEW."parentUuid" FROM "Task" WHERE "id" = NEW."parentId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Task % 不存在', NEW."parentId"; END IF;
|
||||||
|
END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
CREATE TRIGGER "trg_task_uuid_map" BEFORE INSERT OR UPDATE ON "Task"
|
||||||
|
FOR EACH ROW EXECUTE FUNCTION "func_task_uuid_map"();
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION "func_taskmember_uuid_map"() RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
SELECT "uuid" INTO NEW."taskUuid" FROM "Task" WHERE "id" = NEW."taskId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Task % 不存在', NEW."taskId"; END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
CREATE TRIGGER "trg_taskmember_uuid_map" BEFORE INSERT OR UPDATE ON "TaskMember"
|
||||||
|
FOR EACH ROW EXECUTE FUNCTION "func_taskmember_uuid_map"();
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION "func_tasktag_uuid_map"() RETURNS TRIGGER AS $$
|
||||||
|
BEGIN
|
||||||
|
SELECT "uuid" INTO NEW."taskUuid" FROM "Task" WHERE "id" = NEW."taskId";
|
||||||
|
IF NOT FOUND THEN RAISE EXCEPTION 'Task % 不存在', NEW."taskId"; END IF;
|
||||||
|
RETURN NEW;
|
||||||
|
END;
|
||||||
|
$$ LANGUAGE plpgsql;
|
||||||
|
CREATE TRIGGER "trg_tasktag_uuid_map" BEFORE INSERT OR UPDATE ON "TaskTag"
|
||||||
|
FOR EACH ROW EXECUTE FUNCTION "func_tasktag_uuid_map"();
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
# Please do not edit this file manually
|
# Please do not edit this file manually
|
||||||
# It should be added in your version-control system (e.g., Git)
|
# It should be added in your version-control system (e.g., Git)
|
||||||
provider = "mysql"
|
provider = "postgresql"
|
||||||
|
|||||||
+23
-6
@@ -9,7 +9,7 @@ generator client {
|
|||||||
}
|
}
|
||||||
|
|
||||||
datasource db {
|
datasource db {
|
||||||
provider = "mysql"
|
provider = "postgresql"
|
||||||
}
|
}
|
||||||
|
|
||||||
model User {
|
model User {
|
||||||
@@ -388,6 +388,8 @@ model CheckListTemplate {
|
|||||||
|
|
||||||
model Project {
|
model Project {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑, 见 docs/V0.2/离线编辑模块)
|
||||||
|
code String @unique @db.VarChar(8) // 项目短编号: 用户自拟 2~8 位前缀, 全局唯一, 服务端分配
|
||||||
name String @db.VarChar(50)
|
name String @db.VarChar(50)
|
||||||
ownerId Int
|
ownerId Int
|
||||||
owner User @relation("ProjectOwner", fields: [ownerId], references: [id], onDelete: Cascade)
|
owner User @relation("ProjectOwner", fields: [ownerId], references: [id], onDelete: Cascade)
|
||||||
@@ -409,8 +411,10 @@ model Project {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model ProjectMember {
|
model ProjectMember {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
projectId Int
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
|
||||||
|
projectUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
|
||||||
|
projectId Int
|
||||||
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
||||||
userId Int
|
userId Int
|
||||||
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
|
||||||
@@ -423,6 +427,8 @@ model ProjectMember {
|
|||||||
|
|
||||||
model BoardColumn {
|
model BoardColumn {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
|
||||||
|
projectUuid String? @db.VarChar(36) // projectId 的 uuid 镜像 (触发器维护, 库级 NOT NULL; Prisma 侧可空以便触发器填充)
|
||||||
projectId Int
|
projectId Int
|
||||||
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
||||||
name String @db.VarChar(20)
|
name String @db.VarChar(20)
|
||||||
@@ -440,6 +446,10 @@ model BoardColumn {
|
|||||||
|
|
||||||
model Task {
|
model Task {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
|
||||||
|
projectUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
|
||||||
|
columnUuid String? @db.VarChar(36)
|
||||||
|
parentUuid String? @db.VarChar(36)
|
||||||
projectId Int
|
projectId Int
|
||||||
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)
|
||||||
columnId Int
|
columnId Int
|
||||||
@@ -471,6 +481,9 @@ model Task {
|
|||||||
members TaskMember[]
|
members TaskMember[]
|
||||||
tags TaskTag[]
|
tags TaskTag[]
|
||||||
|
|
||||||
|
number Int? // 项目内自增编号 (服务端分配, 展示为 `code-number`); 本地未定号的离线新建任务为空
|
||||||
|
|
||||||
|
@@unique([projectId, number])
|
||||||
@@index([projectId, columnId])
|
@@index([projectId, columnId])
|
||||||
@@index([projectId, status])
|
@@index([projectId, status])
|
||||||
@@index([parentId])
|
@@index([parentId])
|
||||||
@@ -480,7 +493,9 @@ model Task {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model TaskMember {
|
model TaskMember {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
|
||||||
|
taskUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
|
||||||
taskId Int
|
taskId Int
|
||||||
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
|
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
|
||||||
userId Int
|
userId Int
|
||||||
@@ -490,8 +505,10 @@ model TaskMember {
|
|||||||
}
|
}
|
||||||
|
|
||||||
model TaskTag {
|
model TaskTag {
|
||||||
id Int @id @default(autoincrement())
|
id Int @id @default(autoincrement())
|
||||||
taskId Int
|
uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)
|
||||||
|
taskUuid String? @db.VarChar(36) // 外键 uuid 镜像 (触发器维护, 库级 NOT NULL)
|
||||||
|
taskId Int
|
||||||
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
|
task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)
|
||||||
name String @db.VarChar(20)
|
name String @db.VarChar(20)
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,201 @@
|
|||||||
|
// 一次性数据迁移: 现网 MariaDB 只读快照 -> 0.2.1 PostgreSQL
|
||||||
|
// 运行 (在 app 容器内, 具备 mariadb 驱动与 PG 客户端):
|
||||||
|
// SRC_DATABASE_URL=mysql://... node scripts/etl-mariadb-to-pg.mjs
|
||||||
|
// 约束: 源库仅 SELECT; 目标库须为空 (Project 计数为 0), 除非 ETL_FORCE=1
|
||||||
|
// 迁移内容见 docs/V0.2/离线编辑模块/0.2.1实施方案.md §6:
|
||||||
|
// - 任务域 6 表回填 uuid; Project 回填短编号 code; Task 按项目内 (createdAt,id) 顺序回填 number
|
||||||
|
// - 时序大表 (ServerNodeHistory/MihomeEnv*) 仅取最近 N 条
|
||||||
|
// - 显式 id 插入后逐表 setval 校准序列
|
||||||
|
import 'dotenv/config'
|
||||||
|
import crypto from 'node:crypto'
|
||||||
|
import mariadb from 'mariadb'
|
||||||
|
import { PrismaPg } from '@prisma/adapter-pg'
|
||||||
|
import { PrismaClient } from '../generated/prisma/client.ts'
|
||||||
|
|
||||||
|
// 顺序: 先父后子
|
||||||
|
const TABLES = [
|
||||||
|
['User', 'user'],
|
||||||
|
['Project', 'project'],
|
||||||
|
['ProjectMember', 'projectMember'],
|
||||||
|
['BoardColumn', 'boardColumn'],
|
||||||
|
['Habit', 'habit'],
|
||||||
|
['CheckList', 'checkList'],
|
||||||
|
['CheckListTemplate', 'checkListTemplate'],
|
||||||
|
['CheckListItem', 'checkListItem'],
|
||||||
|
['CheckIn', 'checkIn'],
|
||||||
|
['Task', 'task'],
|
||||||
|
['TaskMember', 'taskMember'],
|
||||||
|
['TaskTag', 'taskTag'],
|
||||||
|
['Article', 'article'],
|
||||||
|
['Strategy', 'strategy'],
|
||||||
|
['Indicator', 'indicator'],
|
||||||
|
['IndicatorPoint', 'indicatorPoint'],
|
||||||
|
['News', 'news'],
|
||||||
|
['Alert', 'alert'],
|
||||||
|
['ServerNode', 'serverNode'],
|
||||||
|
['ServerNodeHistory', 'serverNodeHistory'],
|
||||||
|
['ServiceCheck', 'serviceCheck'],
|
||||||
|
['Econ_SowInventory', 'econ_SowInventory'],
|
||||||
|
['ScraperCache', 'scraperCache'],
|
||||||
|
['OilPriceHistory', 'oilPriceHistory'],
|
||||||
|
['MihomeAccount', 'mihomeAccount'],
|
||||||
|
['MihomeHome', 'mihomeHome'],
|
||||||
|
['MihomeDevice', 'mihomeDevice'],
|
||||||
|
['MihomeEnvSample', 'mihomeEnvSample'],
|
||||||
|
['MihomeEnvHour', 'mihomeEnvHour'],
|
||||||
|
]
|
||||||
|
|
||||||
|
const ROW_CAP = { ServerNodeHistory: 20000, MihomeEnvSample: 20000, MihomeEnvHour: 20000 }
|
||||||
|
|
||||||
|
const UUID_TABLES = new Set(['Project', 'ProjectMember', 'BoardColumn', 'Task', 'TaskMember', 'TaskTag'])
|
||||||
|
|
||||||
|
function parseUrl(url) {
|
||||||
|
const u = new URL(url)
|
||||||
|
return {
|
||||||
|
host: u.hostname,
|
||||||
|
port: Number(u.port) || 3306,
|
||||||
|
user: decodeURIComponent(u.username),
|
||||||
|
password: decodeURIComponent(u.password),
|
||||||
|
database: u.pathname.replace(/^\//, ''),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseJson(v) {
|
||||||
|
if (v === null || v === undefined || typeof v !== 'string') return v
|
||||||
|
try { return JSON.parse(v) } catch { return v }
|
||||||
|
}
|
||||||
|
|
||||||
|
function toBigInt(v) {
|
||||||
|
if (v === null || v === undefined || typeof v === 'bigint') return v
|
||||||
|
return BigInt(v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// MariaDB TINYINT(1) 返回 0/1, Prisma Boolean 需要 true/false
|
||||||
|
function toBoolean(v) {
|
||||||
|
if (v === null || v === undefined) return v
|
||||||
|
return !!v
|
||||||
|
}
|
||||||
|
|
||||||
|
function randCode(len) {
|
||||||
|
return crypto.randomBytes(len * 2).toString('hex').toUpperCase().replace(/[^A-Z0-9]/g, '').padEnd(len, 'X').slice(0, len)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
const src = process.env.SRC_DATABASE_URL
|
||||||
|
if (!src) throw new Error('SRC_DATABASE_URL 未配置')
|
||||||
|
const cfg = parseUrl(src)
|
||||||
|
|
||||||
|
const conn = await mariadb.createConnection({
|
||||||
|
host: cfg.host, port: cfg.port, user: cfg.user, password: cfg.password, database: cfg.database, connectTimeout: 8000,
|
||||||
|
})
|
||||||
|
console.log('[etl] 源库已连接 (只读):', `${cfg.host}:${cfg.port}/${cfg.database}`)
|
||||||
|
|
||||||
|
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
||||||
|
const prisma = new PrismaClient({ adapter })
|
||||||
|
|
||||||
|
const existing = await prisma.project.count()
|
||||||
|
if (existing > 0 && process.env.ETL_FORCE !== '1') {
|
||||||
|
console.log(`[etl] 目标库已有 ${existing} 个项目, 跳过 (ETL_FORCE=1 可强制)`)
|
||||||
|
await conn.end()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 目标 PG 列清单 (类型感知转换 + 源库多余列丢弃): 现网库可能比本分支 schema 新
|
||||||
|
const targetColumns = new Map()
|
||||||
|
for (const [table] of TABLES) {
|
||||||
|
const cols = await prisma.$queryRawUnsafe(
|
||||||
|
`SELECT column_name, data_type FROM information_schema.columns WHERE table_schema = 'public' AND table_name = $1`,
|
||||||
|
table,
|
||||||
|
)
|
||||||
|
targetColumns.set(table, new Map(cols.map((c) => [c.column_name, c.data_type])))
|
||||||
|
}
|
||||||
|
|
||||||
|
function adaptRow(table, r) {
|
||||||
|
const cols = targetColumns.get(table)
|
||||||
|
const out = {}
|
||||||
|
for (const [name, dataType] of cols) {
|
||||||
|
let v = r[name]
|
||||||
|
if (v === undefined) v = null
|
||||||
|
if (dataType === 'boolean') v = toBoolean(v)
|
||||||
|
else if (dataType === 'bigint') v = toBigInt(v)
|
||||||
|
else if (dataType === 'json' || dataType === 'jsonb') v = parseJson(v)
|
||||||
|
out[name] = v
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// Project.code 回填: 优先按名称推导字母, 冲突加随机尾缀
|
||||||
|
const projectRows = await conn.query('SELECT * FROM `Project`')
|
||||||
|
const usedCodes = new Set()
|
||||||
|
for (const p of projectRows) {
|
||||||
|
const letters = String(p.name || '').toUpperCase().replace(/[^A-Z0-9]/g, '')
|
||||||
|
let cand = ''
|
||||||
|
for (let i = 0; i < 30 && !cand; i++) {
|
||||||
|
const base = i === 0
|
||||||
|
? (letters.length >= 2 ? letters.slice(0, 8) : ('P' + String(p.id) + randCode(4)).slice(0, 8))
|
||||||
|
: (letters.slice(0, 5) + randCode(3)).slice(0, 8)
|
||||||
|
if (base.length >= 2 && !usedCodes.has(base)) cand = base
|
||||||
|
}
|
||||||
|
if (!cand) cand = randCode(6)
|
||||||
|
usedCodes.add(cand)
|
||||||
|
p.code = cand
|
||||||
|
}
|
||||||
|
|
||||||
|
// Task.number 回填: 项目内按 (createdAt, id) 顺序 1..n
|
||||||
|
const taskRows = (await conn.query('SELECT * FROM `Task`')).sort((a, b) => {
|
||||||
|
if (a.projectId !== b.projectId) return a.projectId - b.projectId
|
||||||
|
const ta = a.createdAt ? new Date(a.createdAt).getTime() : 0
|
||||||
|
const tb = b.createdAt ? new Date(b.createdAt).getTime() : 0
|
||||||
|
if (ta !== tb) return ta - tb
|
||||||
|
return a.id - b.id
|
||||||
|
})
|
||||||
|
const taskNumber = new Map()
|
||||||
|
for (const r of taskRows) {
|
||||||
|
const key = String(r.projectId)
|
||||||
|
const next = (taskNumber.get(key) || 0) + 1
|
||||||
|
taskNumber.set(key, next)
|
||||||
|
r.number = next
|
||||||
|
}
|
||||||
|
|
||||||
|
const counts = {}
|
||||||
|
for (const [table, model] of TABLES) {
|
||||||
|
let rows
|
||||||
|
if (table === 'Project') rows = projectRows
|
||||||
|
else if (table === 'Task') rows = taskRows
|
||||||
|
else {
|
||||||
|
const cap = ROW_CAP[table]
|
||||||
|
rows = await conn.query(cap ? `SELECT * FROM \`${table}\` ORDER BY id DESC LIMIT ${cap}` : `SELECT * FROM \`${table}\``)
|
||||||
|
}
|
||||||
|
if (rows.length) {
|
||||||
|
const adapted = rows.map((r) => {
|
||||||
|
if (UUID_TABLES.has(table)) r.uuid = crypto.randomUUID()
|
||||||
|
return adaptRow(table, r)
|
||||||
|
})
|
||||||
|
const chunk = 500
|
||||||
|
for (let i = 0; i < adapted.length; i += chunk) {
|
||||||
|
await prisma[model].createMany({ data: adapted.slice(i, i + chunk) })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
counts[table] = rows.length
|
||||||
|
console.log(`[etl] ${table}: ${rows.length}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 序列校准: 显式插入 id 后必须 setval, 否则新插入主键冲突
|
||||||
|
for (const [table] of TABLES) {
|
||||||
|
await prisma.$executeRawUnsafe(
|
||||||
|
`SELECT setval(pg_get_serial_sequence('"${table}"', 'id'), COALESCE((SELECT MAX(id) FROM "${table}"), 0) + 1, false)`,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
await conn.end()
|
||||||
|
const summary = {
|
||||||
|
users: await prisma.user.count(),
|
||||||
|
projects: await prisma.project.count(),
|
||||||
|
tasks: await prisma.task.count(),
|
||||||
|
checkIns: await prisma.checkIn.count(),
|
||||||
|
news: await prisma.news.count(),
|
||||||
|
}
|
||||||
|
console.log('[etl] 完成:', JSON.stringify(summary))
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch((e) => { console.error('[etl] 失败:', e); process.exit(1) })
|
||||||
@@ -0,0 +1,218 @@
|
|||||||
|
// 0.2.1 闭环验证脚本 (Node 客户端): 同步下行 -> 本地离线写入 -> 上行 -> 服务端编号 -> 同步回填
|
||||||
|
// 用法: node scripts/verify-powersync-client.mjs [BASE_URL] [EMAIL] [PASSWORD]
|
||||||
|
// BASE_URL 默认 http://bh.vps.honor3.com:13001
|
||||||
|
// 依赖 (dev-only, 不进服务端镜像; 运行前补装): npm install --no-save @powersync/node better-sqlite3
|
||||||
|
// 流程:
|
||||||
|
// 1. REST 登录 -> /api/powersync/token
|
||||||
|
// 2. Node SDK 连接 PowerSync, 等待首次同步, 校验 ETL 数据 (项目/任务/编号)
|
||||||
|
// 3. 本地新建一条验证任务 (number 为空, 模拟离线写入)
|
||||||
|
// 4. 等待 upload 完成并同步回填 -> 本地行应获得服务端分配的 number
|
||||||
|
// 5. 清理: 本地删除该任务 (上行级联删除), 恢复数据原状
|
||||||
|
import 'dotenv/config'
|
||||||
|
import crypto from 'node:crypto'
|
||||||
|
import os from 'node:os'
|
||||||
|
import path from 'node:path'
|
||||||
|
import fs from 'node:fs'
|
||||||
|
import { column, Schema, Table, PowerSyncDatabase, createConsoleLogger, LogLevels } from '@powersync/node'
|
||||||
|
|
||||||
|
const BASE = (process.argv[2] || 'http://bh.vps.honor3.com:13001').replace(/\/+$/, '')
|
||||||
|
const EMAIL = process.argv[3] || 'admin@iboard.local'
|
||||||
|
const PASSWORD = process.argv[4] || 'admin123'
|
||||||
|
|
||||||
|
const uuid = () => crypto.randomUUID()
|
||||||
|
const sleep = (ms) => new Promise((r) => setTimeout(r, ms))
|
||||||
|
|
||||||
|
// 与 src/lib/powersync/schema.js 同构的最小 schema (验证只用到 Project/Task/TaskTag)
|
||||||
|
const AppSchema = new Schema({
|
||||||
|
Project: new Table({
|
||||||
|
uuid: column.text, code: column.text, name: column.text, ownerId: column.text,
|
||||||
|
isPersonal: column.integer, archived: column.integer, notes: column.text,
|
||||||
|
taskKinds: column.text, icon: column.text, createdAt: column.text, updatedAt: column.text,
|
||||||
|
}),
|
||||||
|
Task: new Table({
|
||||||
|
uuid: column.text, projectId: column.text, columnId: column.text, parentId: column.text,
|
||||||
|
title: column.text, description: column.text, kind: column.text, markDate: column.text,
|
||||||
|
status: column.text, doneAt: column.text, assigneeId: column.text, creatorId: column.text,
|
||||||
|
extras: column.text, sortOrder: column.integer, number: column.integer,
|
||||||
|
createdAt: column.text, updatedAt: column.text,
|
||||||
|
}),
|
||||||
|
TaskTag: new Table({ uuid: column.text, taskId: column.text, name: column.text }),
|
||||||
|
TaskMember: new Table({ uuid: column.text, taskId: column.text, userId: column.text }),
|
||||||
|
ProjectMember: new Table({ uuid: column.text, projectId: column.text, userId: column.text, permission: column.text, createdAt: column.text }),
|
||||||
|
BoardColumn: new Table({
|
||||||
|
uuid: column.text, projectId: column.text, name: column.text, sortOrder: column.integer,
|
||||||
|
boundStatus: column.text, retention: column.text, createdAt: column.text, updatedAt: column.text,
|
||||||
|
}),
|
||||||
|
User: new Table({ name: column.text, email: column.text }),
|
||||||
|
})
|
||||||
|
|
||||||
|
async function api(path, { method = 'GET', token, body } = {}) {
|
||||||
|
const res = await fetch(BASE + '/api' + path, {
|
||||||
|
method,
|
||||||
|
headers: { 'Content-Type': 'application/json', ...(token ? { Authorization: 'Bearer ' + token } : {}) },
|
||||||
|
body: body ? JSON.stringify(body) : undefined,
|
||||||
|
})
|
||||||
|
const data = await res.json().catch(() => ({}))
|
||||||
|
if (!res.ok) throw new Error(`${path} -> ${res.status}: ${data.error || '请求失败'}`)
|
||||||
|
return data
|
||||||
|
}
|
||||||
|
|
||||||
|
class Connector {
|
||||||
|
constructor(appToken, endpoint) {
|
||||||
|
// appToken: 应用 JWT (调业务 API 上行用); endpoint + sync JWT 由 fetchCredentials 提供
|
||||||
|
this.appToken = appToken
|
||||||
|
this.endpoint = endpoint
|
||||||
|
}
|
||||||
|
async fetchCredentials() {
|
||||||
|
const cred = await api('/powersync/token', { method: 'POST', token: this.appToken })
|
||||||
|
return { endpoint: cred.endpoint, token: cred.token }
|
||||||
|
}
|
||||||
|
async uploadData(database) {
|
||||||
|
const batch = await database.getCrudBatch()
|
||||||
|
if (!batch) return
|
||||||
|
const ops = []
|
||||||
|
for (let i = 0; i < batch.crud.length; i++) {
|
||||||
|
const op = batch.crud[i]
|
||||||
|
let data = op.opData || {}
|
||||||
|
if (op.op !== 'DELETE') {
|
||||||
|
const row = await database.getOptional(`SELECT * FROM "${op.table}" WHERE id = ?`, [op.id])
|
||||||
|
if (row) data = row
|
||||||
|
}
|
||||||
|
ops.push({ id: String(i), table: op.table, op: op.op === 'DELETE' ? 'DELETE' : 'PUT', uuid: op.id, data })
|
||||||
|
}
|
||||||
|
const res = await fetch(BASE + '/api/powersync/upload', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: { 'Content-Type': 'application/json', Authorization: 'Bearer ' + this.appToken },
|
||||||
|
body: JSON.stringify({ ops }),
|
||||||
|
})
|
||||||
|
const out = await res.json().catch(() => ({}))
|
||||||
|
if (!res.ok) throw new Error('upload failed: ' + JSON.stringify(out))
|
||||||
|
const failed = (out.results || []).filter((r) => !r.ok)
|
||||||
|
if (failed.length) console.log('[verify] upload 部分失败:', JSON.stringify(failed))
|
||||||
|
await batch.complete()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async function main() {
|
||||||
|
console.log(`[verify] BASE = ${BASE}`)
|
||||||
|
const login = await api('/auth/login', { method: 'POST', body: { email: EMAIL, password: PASSWORD } })
|
||||||
|
console.log('[verify] 1. 登录 OK, user:', login.user.email)
|
||||||
|
const cred = await api('/powersync/token', { method: 'POST', token: login.token })
|
||||||
|
if (!cred.endpoint) throw new Error('POWERSYNC_URL 未配置 (服务端 /powersync/token 返回空 endpoint)')
|
||||||
|
console.log('[verify] 2. 同步凭证 OK, endpoint:', cred.endpoint)
|
||||||
|
|
||||||
|
const dbFile = path.join(os.tmpdir(), `iboard-verify-${Date.now()}.db`)
|
||||||
|
const logger = createConsoleLogger({ minLevel: LogLevels.debug })
|
||||||
|
const db = new PowerSyncDatabase({
|
||||||
|
schema: AppSchema,
|
||||||
|
database: { dbFilename: dbFile, databaseWorkerLogLevel: LogLevels.debug },
|
||||||
|
sync: { logLevel: LogLevels.debug },
|
||||||
|
logger,
|
||||||
|
})
|
||||||
|
db.registerListener({
|
||||||
|
statusChanged: (s) => {
|
||||||
|
const c = s?.dataFlowStatus || {}
|
||||||
|
console.log(`[verify] sync status: connected=${s?.connected} connecting=${s?.connecting} err=${c.downloadError?.message || c.uploadError?.message || '-'}`)
|
||||||
|
},
|
||||||
|
})
|
||||||
|
try {
|
||||||
|
await db.connect(new Connector(login.token, cred.endpoint))
|
||||||
|
console.log('[verify] connect() 已建立')
|
||||||
|
} catch (e) {
|
||||||
|
console.error('[verify] connect 失败:', e?.message)
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
await Promise.race([
|
||||||
|
db.waitForFirstSync(),
|
||||||
|
sleep(45000).then(() => { throw new Error('waitForFirstSync 超时 (45s)') }),
|
||||||
|
]).catch(async (e) => {
|
||||||
|
console.log('[verify] waitForFirstSync 未完成, 轮询内部状态...')
|
||||||
|
for (let i = 0; i < 10; i++) {
|
||||||
|
await sleep(3000)
|
||||||
|
const st = db.currentStatus
|
||||||
|
const counts = {
|
||||||
|
projects: (await db.getOptional('SELECT COUNT(*) AS n FROM Project'))?.n,
|
||||||
|
tasks: (await db.getOptional('SELECT COUNT(*) AS n FROM Task'))?.n,
|
||||||
|
}
|
||||||
|
console.log(`[verify] poll#${i}:`, JSON.stringify({
|
||||||
|
connected: st?.connected, connecting: st?.connecting, hasSynced: st?.hasSynced,
|
||||||
|
lastSyncedAt: st?.lastSyncedAt, dl: st?.dataFlowStatus?.downloadError?.message,
|
||||||
|
ul: st?.dataFlowStatus?.uploadError?.message, ...counts,
|
||||||
|
}))
|
||||||
|
if (st?.hasSynced && counts.projects > 0) {
|
||||||
|
console.log('[verify] 轮询确认同步已完成')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw e
|
||||||
|
})
|
||||||
|
console.log('[verify] 3. 首次同步完成')
|
||||||
|
|
||||||
|
const projects = await db.getAll('SELECT id, uuid, code, name FROM Project ORDER BY id')
|
||||||
|
console.log(`[verify] 项目 ${projects.length} 个:`, projects.map((p) => `${p.code || '?'}(${p.name})`).join(', '))
|
||||||
|
const tasks = await db.getAll('SELECT COUNT(*) AS n FROM Task')
|
||||||
|
const numbered = await db.getAll('SELECT COUNT(*) AS n FROM Task WHERE number IS NOT NULL')
|
||||||
|
console.log(`[verify] 任务 ${tasks[0].n} 条 (已有编号 ${numbered[0].n} 条)`)
|
||||||
|
if (!projects.length || tasks[0].n === 0) throw new Error('同步数据为空, ETL 未生效?')
|
||||||
|
|
||||||
|
// 本地新建验证任务 (模拟离线写入: number 为空, 等服务端分配)
|
||||||
|
const target = projects.find((p) => p.code) || projects[0]
|
||||||
|
const firstCol = await db.get(`SELECT id, boundStatus FROM BoardColumn WHERE projectId = ? ORDER BY sortOrder, id LIMIT 1`, [target.id])
|
||||||
|
const marker = `离线闭环验证-${Date.now()}`
|
||||||
|
const newId = uuid()
|
||||||
|
const ts = new Date().toISOString()
|
||||||
|
await db.writeTransaction(async (tx) => {
|
||||||
|
await tx.execute(
|
||||||
|
`INSERT INTO Task (id, uuid, projectId, columnId, parentId, title, description, kind, markDate, status, doneAt, assigneeId, creatorId, extras, sortOrder, number, createdAt, updatedAt)
|
||||||
|
VALUES (?, ?, ?, ?, NULL, ?, '', NULL, NULL, ?, NULL, NULL, ?, '[]', 0, NULL, ?, ?)`,
|
||||||
|
[newId, newId, target.id, firstCol.id, marker, firstCol.boundStatus || 'todo', String(login.user.id), ts, ts],
|
||||||
|
)
|
||||||
|
})
|
||||||
|
console.log(`[verify] 4. 本地写入任务 "${marker}" (number 为空), 等待上行 + 服务端定号 + 同步回填...`)
|
||||||
|
|
||||||
|
let syncedBack = null
|
||||||
|
for (let i = 0; i < 30; i++) {
|
||||||
|
await sleep(2000)
|
||||||
|
const row = await db.getOptional('SELECT number, updatedAt FROM Task WHERE id = ?', [newId])
|
||||||
|
const localCheck = await db.getOptional(`SELECT 1 AS x FROM ps_crud LIMIT 1`)
|
||||||
|
if (!localCheck) {
|
||||||
|
// 队列已清空 (上行完成); 等待下行回填 number
|
||||||
|
if (row && row.number != null) { syncedBack = row; break }
|
||||||
|
if (i > 10 && row && row.number == null) continue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!syncedBack) throw new Error('超时: 未观测到服务端编号回填')
|
||||||
|
console.log(`[verify] 5. 闭环 OK! 服务端分配编号: ${target.code}-${syncedBack.number} (项目 ${target.code})`)
|
||||||
|
|
||||||
|
// 直接从服务端核对 (REST 视角: REST 仍按 int id 寻址, 通过列表接口按 uuid 匹配)
|
||||||
|
const plist = await api('/projects', { token: login.token })
|
||||||
|
const pj = plist.items.find((p) => p.uuid === target.uuid)
|
||||||
|
if (!pj) throw new Error('服务端确认失败: 项目列表中找不到目标项目')
|
||||||
|
const tlist = await api(`/projects/${pj.id}/tasks`, { token: login.token })
|
||||||
|
const hit = tlist.items.find((t) => t.uuid === newId)
|
||||||
|
if (!hit || hit.number == null) throw new Error('服务端确认失败: 任务不存在或未定号')
|
||||||
|
console.log(`[verify] 6. 服务端确认: number=${hit.number}, uuid=${hit.uuid.slice(0, 13)}...`)
|
||||||
|
|
||||||
|
// 清理验证数据 (本地删除 -> 上行删除)
|
||||||
|
await db.execute('DELETE FROM Task WHERE id = ?', [newId])
|
||||||
|
for (let i = 0; i < 15; i++) {
|
||||||
|
await sleep(2000)
|
||||||
|
const left = await db.getOptional('SELECT 1 AS x FROM ps_crud LIMIT 1')
|
||||||
|
if (!left) break
|
||||||
|
}
|
||||||
|
const gone = await api(`/projects/${pj.id}/tasks`, { token: login.token })
|
||||||
|
if (!gone.items.some((t) => t.uuid === newId)) console.log('[verify] 7. 验证任务已从服务端清除')
|
||||||
|
else throw new Error('验证任务删除未同步到服务端')
|
||||||
|
|
||||||
|
db.close()
|
||||||
|
try {
|
||||||
|
fs.rmSync(dbFile, { force: true })
|
||||||
|
fs.rmSync(dbFile + '-journal', { force: true })
|
||||||
|
} catch { /* Windows 下可能被占用, 留在临时目录无害 */ }
|
||||||
|
console.log('[verify] 全部通过: 下行同步 / 离线写入 / 上行幂等 / 服务端编号 / 回填 / 删除同步')
|
||||||
|
}
|
||||||
|
|
||||||
|
main().catch((e) => {
|
||||||
|
console.error('[verify] 失败:', e.message)
|
||||||
|
process.exit(1)
|
||||||
|
})
|
||||||
+3
-14
@@ -1,18 +1,7 @@
|
|||||||
// 服务端 Prisma 单例, 使用 mariadb 适配器
|
// 服务端 Prisma 单例, 使用 pg 适配器 (0.2.1: 数据库迁移到 PostgreSQL)
|
||||||
import 'dotenv/config'
|
import 'dotenv/config'
|
||||||
import { PrismaMariaDb } from '@prisma/adapter-mariadb'
|
import { PrismaPg } from '@prisma/adapter-pg'
|
||||||
import { PrismaClient } from '../generated/prisma/client.ts'
|
import { PrismaClient } from '../generated/prisma/client.ts'
|
||||||
|
|
||||||
function parseDatabaseUrl(url) {
|
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
|
||||||
const u = new URL(url)
|
|
||||||
return {
|
|
||||||
host: u.hostname,
|
|
||||||
port: Number(u.port) || 3306,
|
|
||||||
user: decodeURIComponent(u.username),
|
|
||||||
password: decodeURIComponent(u.password),
|
|
||||||
database: u.pathname.replace(/^\//, ''),
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
const adapter = new PrismaMariaDb(parseDatabaseUrl(process.env.DATABASE_URL))
|
|
||||||
export const prisma = new PrismaClient({ adapter })
|
export const prisma = new PrismaClient({ adapter })
|
||||||
+9
-4
@@ -16,6 +16,7 @@ import checkinRouter from './routes/checkin.js'
|
|||||||
import checklistsRouter from './routes/checklists.js'
|
import checklistsRouter from './routes/checklists.js'
|
||||||
import projectsRouter, { columnRouter } from './routes/projects.js'
|
import projectsRouter, { columnRouter } from './routes/projects.js'
|
||||||
import tasksRouter from './routes/tasks.js'
|
import tasksRouter from './routes/tasks.js'
|
||||||
|
import powersyncRouter from './routes/powersync.js'
|
||||||
|
|
||||||
const PORT = Number(process.env.PORT) || 3001
|
const PORT = Number(process.env.PORT) || 3001
|
||||||
const DIST_DIR = path.join(process.cwd(), 'dist')
|
const DIST_DIR = path.join(process.cwd(), 'dist')
|
||||||
@@ -33,6 +34,8 @@ app.use('/api/auth', authRouter)
|
|||||||
// OTA 接口是公开的 (检查/下载更新不需要登录), 必须挂载在带 authRequired 的 router 之前,
|
// OTA 接口是公开的 (检查/下载更新不需要登录), 必须挂载在带 authRequired 的 router 之前,
|
||||||
// 否则 /api/ota/* 请求会先进入 dataRouter 等并被 authRequired 以 401 拦截
|
// 否则 /api/ota/* 请求会先进入 dataRouter 等并被 authRequired 以 401 拦截
|
||||||
app.use('/api', otaRouter)
|
app.use('/api', otaRouter)
|
||||||
|
// PowerSync: token 签发 + 离线上行队列 (自带 authRequired, 同样必须挂在带 authRequired 的业务 router 之前)
|
||||||
|
app.use('/api/powersync', powersyncRouter)
|
||||||
app.use('/api', dataRouter)
|
app.use('/api', dataRouter)
|
||||||
app.use('/api', newsRouter)
|
app.use('/api', newsRouter)
|
||||||
app.use('/api', alertsRouter)
|
app.use('/api', alertsRouter)
|
||||||
@@ -66,11 +69,13 @@ app.use((err, _req, res, _next) => {
|
|||||||
res.status(500).json({ error: err.message || '服务器内部错误' })
|
res.status(500).json({ error: err.message || '服务器内部错误' })
|
||||||
})
|
})
|
||||||
|
|
||||||
// 启动定时任务: 每天凌晨 3 点拉取新闻
|
// 启动定时任务: 每天凌晨 3 点拉取新闻; 0.2.1 验证部署以 DISABLE_CRON=1 关闭 (避免重复外呼)
|
||||||
import('./cron.js').catch((e) => console.error('[cron] 加载失败:', e.message))
|
if (process.env.DISABLE_CRON !== '1') {
|
||||||
|
import('./cron.js').catch((e) => console.error('[cron] 加载失败:', e.message))
|
||||||
|
|
||||||
// 米家环境监控定时调度 (独立注册, 不与 cron.js 绑定, 见 server/mihome/scheduler.js)
|
// 米家环境监控定时调度 (独立注册, 不与 cron.js 绑定, 见 server/mihome/scheduler.js)
|
||||||
import('./mihome/scheduler.js').catch((e) => console.error('[cron] 米家调度注册失败:', e.message))
|
import('./mihome/scheduler.js').catch((e) => console.error('[cron] 米家调度注册失败:', e.message))
|
||||||
|
}
|
||||||
|
|
||||||
app.listen(PORT, () => {
|
app.listen(PORT, () => {
|
||||||
console.log(`[iboard-api] listening on http://127.0.0.1:${PORT}`)
|
console.log(`[iboard-api] listening on http://127.0.0.1:${PORT}`)
|
||||||
|
|||||||
@@ -0,0 +1,386 @@
|
|||||||
|
// PowerSync 接入: 同步 token 签发 + 客户端上传队列落地 (0.2.1, 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md)
|
||||||
|
// 下行由 powersync-service 经 PG 逻辑复制完成; 本文件只负责:
|
||||||
|
// 1. /token 为已登录用户签发 powersync-service 接受的 JWT (aud=powersync, 独立密钥可选)
|
||||||
|
// 2. /upload 批量落地客户端离线写操作, 按 uuid 幂等 upsert, 服务端统一分配编号
|
||||||
|
import { Router } from 'express'
|
||||||
|
import jwt from 'jsonwebtoken'
|
||||||
|
import { prisma } from '../db.js'
|
||||||
|
import { JWT_SECRET, authRequired } from '../middleware.js'
|
||||||
|
import { genUuid, normProjectCode, allocProjectCode, withTaskNumber } from '../task-domain/identity.js'
|
||||||
|
|
||||||
|
const router = Router()
|
||||||
|
|
||||||
|
// ---------- 同步 token ----------
|
||||||
|
router.post('/token', authRequired, async (req, res, next) => {
|
||||||
|
try {
|
||||||
|
const user = await prisma.user.findUnique({
|
||||||
|
where: { id: req.user.sub },
|
||||||
|
select: { id: true, name: true, email: true },
|
||||||
|
})
|
||||||
|
if (!user) return res.status(401).json({ error: '用户不存在' })
|
||||||
|
const secret = process.env.POWERSYNC_JWT_SECRET || JWT_SECRET
|
||||||
|
const token = jwt.sign(
|
||||||
|
{ sub: String(user.id), aud: 'powersync', name: user.name, email: user.email },
|
||||||
|
secret,
|
||||||
|
{ expiresIn: '12h' },
|
||||||
|
)
|
||||||
|
res.json({ token, endpoint: process.env.POWERSYNC_URL || '' })
|
||||||
|
} catch (e) { next(e) }
|
||||||
|
})
|
||||||
|
|
||||||
|
// ---------- 上传队列 ----------
|
||||||
|
// 契约: POST { ops: [{ id, table, op: 'PUT'|'DELETE', uuid, data }] }
|
||||||
|
// table ∈ Project | BoardColumn | ProjectMember | Task | TaskMember | TaskTag
|
||||||
|
// data 为客户端本地全量行 (列名与客户端 schema 一致); 外键列 (projectId/columnId/parentId/taskId)
|
||||||
|
// 的值即父行的本地 id = uuid, 服务端据此解析为内部自增 id
|
||||||
|
// 返回 { results: [{ id, ok, skipped?, error? }] }, 单条失败不影响同批其它 op
|
||||||
|
const TABLES = ['Project', 'BoardColumn', 'ProjectMember', 'Task', 'TaskMember', 'TaskTag']
|
||||||
|
const TABLE_RANK = Object.fromEntries(TABLES.map((t, i) => [t, i]))
|
||||||
|
|
||||||
|
const COLUMN_RETENTIONS = ['never', 'today', '3d', 'week', 'month', 'forever']
|
||||||
|
const TASK_STATUSES = ['todo', 'doing', 'done']
|
||||||
|
const AUTO_ARCHIVE_OPTIONS = ['3d', '1w', '1m', 'never']
|
||||||
|
|
||||||
|
function isoTime(v) {
|
||||||
|
if (!v) return null
|
||||||
|
const d = new Date(v)
|
||||||
|
return Number.isNaN(d.getTime()) ? null : d
|
||||||
|
}
|
||||||
|
|
||||||
|
// LWW: 服务端已有行不早于客户端数据 => 跳过本次覆盖
|
||||||
|
function isStale(existing, data) {
|
||||||
|
const t = isoTime(data?.updatedAt)
|
||||||
|
if (!t) return false
|
||||||
|
return existing.updatedAt && existing.updatedAt.getTime() >= t.getTime()
|
||||||
|
}
|
||||||
|
|
||||||
|
function cleanExtras(v) {
|
||||||
|
if (!Array.isArray(v)) return []
|
||||||
|
return v.slice(0, 50).map((e) => ({
|
||||||
|
label: String(e?.label ?? '').slice(0, 40),
|
||||||
|
value: String(e?.value ?? ''),
|
||||||
|
url: e?.url ? String(e.url) : '',
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
function cleanNotes(v) {
|
||||||
|
if (!Array.isArray(v)) return []
|
||||||
|
return v.slice(0, 50).map((n) => ({
|
||||||
|
title: String(n?.title ?? '').slice(0, 50),
|
||||||
|
content: String(n?.content ?? '').slice(0, 20000),
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
async function applyPut(op, ctx) {
|
||||||
|
const { userId, assertMember } = ctx
|
||||||
|
const { table, uuid } = op
|
||||||
|
const d = op.data || {}
|
||||||
|
if (!uuid) throw new Error('缺少 uuid')
|
||||||
|
|
||||||
|
if (table === 'Project') {
|
||||||
|
const existing = await prisma.project.findUnique({ where: { uuid } })
|
||||||
|
if (existing) {
|
||||||
|
if (!(await assertMember(existing.id))) throw new Error('无项目权限')
|
||||||
|
if (isStale(existing, d)) return { skipped: true }
|
||||||
|
const data = {}
|
||||||
|
if (d.name !== undefined) {
|
||||||
|
const t = String(d.name).trim()
|
||||||
|
if (!t || t.length > 20) throw new Error('项目名称非法')
|
||||||
|
data.name = t
|
||||||
|
}
|
||||||
|
if (d.archived !== undefined) data.archived = !!d.archived
|
||||||
|
if (d.notes !== undefined) data.notes = cleanNotes(d.notes)
|
||||||
|
if (d.autoArchive !== undefined) {
|
||||||
|
data.autoArchive = AUTO_ARCHIVE_OPTIONS.includes(d.autoArchive) ? d.autoArchive : 'never'
|
||||||
|
}
|
||||||
|
if (d.taskKinds !== undefined) {
|
||||||
|
data.taskKinds = Array.isArray(d.taskKinds) ? d.taskKinds.map((k) => String(k).slice(0, 20)).filter(Boolean) : null
|
||||||
|
}
|
||||||
|
if (Object.keys(data).length) await prisma.project.update({ where: { uuid }, data })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
const name = String(d.name || '').trim()
|
||||||
|
if (!name || name.length > 20) throw new Error('项目名称非法')
|
||||||
|
const code = normProjectCode(d.code) || (await allocProjectCode(name))
|
||||||
|
const row = await prisma.project.create({
|
||||||
|
data: { uuid, code, name, ownerId: userId, isPersonal: !!d.isPersonal, archived: !!d.archived },
|
||||||
|
})
|
||||||
|
return { rowId: row.id, code: row.code }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table === 'BoardColumn') {
|
||||||
|
const existing = await prisma.boardColumn.findUnique({ where: { uuid } })
|
||||||
|
if (existing) {
|
||||||
|
if (!(await assertMember(existing.projectId))) throw new Error('无项目权限')
|
||||||
|
if (isStale(existing, d)) return { skipped: true }
|
||||||
|
const data = {}
|
||||||
|
if (d.name !== undefined) {
|
||||||
|
const t = String(d.name).trim()
|
||||||
|
if (!t || t.length > 20) throw new Error('列名非法')
|
||||||
|
data.name = t
|
||||||
|
}
|
||||||
|
if (d.sortOrder !== undefined) data.sortOrder = Number(d.sortOrder) || 0
|
||||||
|
if (d.boundStatus !== undefined) data.boundStatus = TASK_STATUSES.includes(d.boundStatus) ? d.boundStatus : null
|
||||||
|
if (d.retention !== undefined && COLUMN_RETENTIONS.includes(d.retention)) data.retention = d.retention
|
||||||
|
if (Object.keys(data).length) await prisma.boardColumn.update({ where: { uuid }, data })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
const project = await prisma.project.findUnique({ where: { uuid: d.projectId } })
|
||||||
|
if (!project || !(await assertMember(project.id))) throw new Error('项目不存在或无权限')
|
||||||
|
const name = String(d.name || '').trim()
|
||||||
|
if (!name || name.length > 20) throw new Error('列名非法')
|
||||||
|
await prisma.boardColumn.create({
|
||||||
|
data: {
|
||||||
|
uuid,
|
||||||
|
projectId: project.id,
|
||||||
|
name,
|
||||||
|
sortOrder: Number(d.sortOrder) || 0,
|
||||||
|
boundStatus: TASK_STATUSES.includes(d.boundStatus) ? d.boundStatus : null,
|
||||||
|
retention: COLUMN_RETENTIONS.includes(d.retention) ? d.retention : 'forever',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table === 'ProjectMember') {
|
||||||
|
const existing = await prisma.projectMember.findUnique({ where: { uuid } })
|
||||||
|
if (existing) {
|
||||||
|
// 成员关系只增不改: 已存在即视为完成 (幂等)
|
||||||
|
return { skipped: true }
|
||||||
|
}
|
||||||
|
const project = await prisma.project.findUnique({ where: { uuid: d.projectId } })
|
||||||
|
if (!project || !(await assertMember(project.id))) throw new Error('项目不存在或无权限')
|
||||||
|
const target = Number(d.userId)
|
||||||
|
if (!target) throw new Error('userId 非法')
|
||||||
|
const dup = await prisma.projectMember.findUnique({
|
||||||
|
where: { projectId_userId: { projectId: project.id, userId: target } },
|
||||||
|
})
|
||||||
|
if (dup) return { skipped: true }
|
||||||
|
await prisma.projectMember.create({
|
||||||
|
data: { uuid, projectId: project.id, userId: target, permission: d.permission === 'admin' ? 'admin' : 'member' },
|
||||||
|
})
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table === 'Task') {
|
||||||
|
const existing = await prisma.task.findUnique({ where: { uuid } })
|
||||||
|
if (existing) {
|
||||||
|
if (!(await assertMember(existing.projectId))) throw new Error('无项目权限')
|
||||||
|
if (isStale(existing, d)) return { skipped: true }
|
||||||
|
const data = {}
|
||||||
|
if (d.title !== undefined) {
|
||||||
|
const t = String(d.title).trim()
|
||||||
|
if (!t || t.length > 30) throw new Error('任务标题非法')
|
||||||
|
data.title = t
|
||||||
|
}
|
||||||
|
if (d.description !== undefined) data.description = String(d.description || '')
|
||||||
|
if (d.kind !== undefined) data.kind = d.kind ? String(d.kind).trim().slice(0, 20) : null
|
||||||
|
if (d.markDate !== undefined) {
|
||||||
|
const m = isoTime(d.markDate)
|
||||||
|
if (d.markDate && !m) throw new Error('时间标记非法')
|
||||||
|
data.markDate = m
|
||||||
|
}
|
||||||
|
if (d.extras !== undefined) data.extras = cleanExtras(d.extras)
|
||||||
|
if (d.sortOrder !== undefined) data.sortOrder = Number(d.sortOrder) || 0
|
||||||
|
if (d.assigneeId !== undefined) data.assigneeId = d.assigneeId ? Number(d.assigneeId) : null
|
||||||
|
if (d.doneAt !== undefined) data.doneAt = isoTime(d.doneAt)
|
||||||
|
// 归档状态 (T-ARC): 客户端本地归档/恢复走这里
|
||||||
|
if (d.archived !== undefined) data.archived = !!d.archived
|
||||||
|
if (d.archivedAt !== undefined) data.archivedAt = isoTime(d.archivedAt)
|
||||||
|
if (d.archiveSource !== undefined) {
|
||||||
|
data.archiveSource = ['manual', 'auto'].includes(d.archiveSource) ? d.archiveSource : null
|
||||||
|
}
|
||||||
|
if (d.columnId !== undefined) {
|
||||||
|
const col = await prisma.boardColumn.findUnique({ where: { uuid: d.columnId } })
|
||||||
|
if (!col || col.projectId !== existing.projectId) throw new Error('看板列不存在')
|
||||||
|
data.columnId = col.id
|
||||||
|
}
|
||||||
|
if (d.parentId !== undefined) {
|
||||||
|
if (!d.parentId) {
|
||||||
|
data.parentId = null
|
||||||
|
} else {
|
||||||
|
const parent = await prisma.task.findUnique({ where: { uuid: d.parentId } })
|
||||||
|
if (!parent || parent.projectId !== existing.projectId) throw new Error('父任务不存在')
|
||||||
|
if (parent.parentId) throw new Error('仅支持一级子任务')
|
||||||
|
data.parentId = parent.id
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Object.keys(data).length) await prisma.task.update({ where: { uuid }, data })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
// 离线新建: 服务端解析父引用并分配项目内编号
|
||||||
|
const project = await prisma.project.findUnique({ where: { uuid: d.projectId } })
|
||||||
|
if (!project || !(await assertMember(project.id))) throw new Error('项目不存在或无权限')
|
||||||
|
const title = String(d.title || '').trim()
|
||||||
|
if (!title || title.length > 30) throw new Error('任务标题非法')
|
||||||
|
let columnId = null
|
||||||
|
if (d.columnId) {
|
||||||
|
const col = await prisma.boardColumn.findUnique({ where: { uuid: d.columnId } })
|
||||||
|
if (!col || col.projectId !== project.id) throw new Error('看板列不存在')
|
||||||
|
columnId = col.id
|
||||||
|
} else {
|
||||||
|
const first = await prisma.boardColumn.findFirst({
|
||||||
|
where: { projectId: project.id },
|
||||||
|
orderBy: { sortOrder: 'asc' },
|
||||||
|
})
|
||||||
|
if (!first) throw new Error('项目没有可用的看板列')
|
||||||
|
columnId = first.id
|
||||||
|
}
|
||||||
|
let parentId = null
|
||||||
|
if (d.parentId) {
|
||||||
|
const parent = await prisma.task.findUnique({ where: { uuid: d.parentId } })
|
||||||
|
if (!parent || parent.projectId !== project.id) throw new Error('父任务不存在')
|
||||||
|
if (parent.parentId) throw new Error('仅支持一级子任务')
|
||||||
|
parentId = parent.id
|
||||||
|
}
|
||||||
|
const status = TASK_STATUSES.includes(d.status) ? d.status : 'todo'
|
||||||
|
const base = {
|
||||||
|
uuid,
|
||||||
|
projectId: project.id,
|
||||||
|
columnId,
|
||||||
|
parentId,
|
||||||
|
title,
|
||||||
|
description: String(d.description || ''),
|
||||||
|
kind: d.kind ? String(d.kind).trim().slice(0, 20) : null,
|
||||||
|
markDate: isoTime(d.markDate),
|
||||||
|
status,
|
||||||
|
assigneeId: d.assigneeId ? Number(d.assigneeId) : null,
|
||||||
|
creatorId: userId,
|
||||||
|
extras: cleanExtras(d.extras),
|
||||||
|
doneAt: status === 'done' ? (isoTime(d.doneAt) || new Date()) : null,
|
||||||
|
sortOrder: Number(d.sortOrder) || 0,
|
||||||
|
}
|
||||||
|
const { value: row } = await withTaskNumber(project.id, (number) =>
|
||||||
|
prisma.task.create({ data: { ...base, number } }),
|
||||||
|
)
|
||||||
|
return { rowId: row.id, number: row.number }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table === 'TaskMember') {
|
||||||
|
const existing = await prisma.taskMember.findUnique({ where: { uuid } })
|
||||||
|
if (existing) return { skipped: true }
|
||||||
|
const task = await prisma.task.findUnique({ where: { uuid: d.taskId } })
|
||||||
|
if (!task || !(await assertMember(task.projectId))) throw new Error('任务不存在或无权限')
|
||||||
|
const uid = Number(d.userId)
|
||||||
|
if (!uid) throw new Error('userId 非法')
|
||||||
|
const dup = await prisma.taskMember.findUnique({
|
||||||
|
where: { taskId_userId: { taskId: task.id, userId: uid } },
|
||||||
|
})
|
||||||
|
if (dup) return { skipped: true }
|
||||||
|
await prisma.taskMember.create({ data: { uuid, taskId: task.id, userId: uid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (table === 'TaskTag') {
|
||||||
|
const existing = await prisma.taskTag.findUnique({ where: { uuid } })
|
||||||
|
if (existing) return { skipped: true }
|
||||||
|
const task = await prisma.task.findUnique({ where: { uuid: d.taskId } })
|
||||||
|
if (!task || !(await assertMember(task.projectId))) throw new Error('任务不存在或无权限')
|
||||||
|
const name = String(d.name || '').trim().slice(0, 20)
|
||||||
|
if (!name) throw new Error('标签名非法')
|
||||||
|
const dup = await prisma.taskTag.findFirst({ where: { taskId: task.id, name } })
|
||||||
|
if (dup) return { skipped: true }
|
||||||
|
await prisma.taskTag.create({ data: { uuid, taskId: task.id, name } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new Error('未知表: ' + table)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function applyDelete(op, ctx) {
|
||||||
|
const { assertMember } = ctx
|
||||||
|
const { table, uuid } = op
|
||||||
|
if (!uuid) throw new Error('缺少 uuid')
|
||||||
|
|
||||||
|
if (table === 'Project') {
|
||||||
|
const row = await prisma.project.findUnique({ where: { uuid }, select: { id: true, isPersonal: true } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
if (!(await assertMember(row.id))) throw new Error('无项目权限')
|
||||||
|
if (row.isPersonal) throw new Error('个人默认项目不可删除')
|
||||||
|
await prisma.project.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if (table === 'BoardColumn') {
|
||||||
|
const row = await prisma.boardColumn.findUnique({ where: { uuid } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
if (!(await assertMember(row.projectId))) throw new Error('无项目权限')
|
||||||
|
await prisma.boardColumn.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if (table === 'ProjectMember') {
|
||||||
|
const row = await prisma.projectMember.findUnique({ where: { uuid } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
if (!(await assertMember(row.projectId))) throw new Error('无项目权限')
|
||||||
|
await prisma.projectMember.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if (table === 'Task') {
|
||||||
|
const row = await prisma.task.findUnique({ where: { uuid } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
if (!(await assertMember(row.projectId))) throw new Error('无项目权限')
|
||||||
|
await prisma.task.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if (table === 'TaskMember') {
|
||||||
|
const row = await prisma.taskMember.findUnique({ where: { uuid } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
const task = await prisma.task.findUnique({ where: { id: row.taskId }, select: { projectId: true } })
|
||||||
|
if (!task || !(await assertMember(task.projectId))) throw new Error('无项目权限')
|
||||||
|
await prisma.taskMember.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
if (table === 'TaskTag') {
|
||||||
|
const row = await prisma.taskTag.findUnique({ where: { uuid } })
|
||||||
|
if (!row) return { skipped: true }
|
||||||
|
const task = await prisma.task.findUnique({ where: { id: row.taskId }, select: { projectId: true } })
|
||||||
|
if (!task || !(await assertMember(task.projectId))) throw new Error('无项目权限')
|
||||||
|
await prisma.taskTag.delete({ where: { uuid } })
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
throw new Error('未知表: ' + table)
|
||||||
|
}
|
||||||
|
|
||||||
|
router.post('/upload', authRequired, async (req, res, next) => {
|
||||||
|
try {
|
||||||
|
const userId = req.user.sub
|
||||||
|
const ops = Array.isArray(req.body?.ops) ? req.body.ops : []
|
||||||
|
if (!ops.length) return res.status(400).json({ error: 'ops 不能为空' })
|
||||||
|
if (ops.length > 500) return res.status(400).json({ error: '单批 ops 过多 (上限 500)' })
|
||||||
|
|
||||||
|
const memberCache = new Map()
|
||||||
|
const assertMember = async (projectId) => {
|
||||||
|
if (!projectId) return false
|
||||||
|
if (memberCache.has(projectId)) return memberCache.get(projectId)
|
||||||
|
const ok = !!(await prisma.projectMember.findFirst({ where: { projectId, userId } }))
|
||||||
|
memberCache.set(projectId, ok)
|
||||||
|
return ok
|
||||||
|
}
|
||||||
|
const ctx = { userId, assertMember }
|
||||||
|
|
||||||
|
// 依赖顺序: 父表先落地 (Project → BoardColumn → ProjectMember → Task → TaskMember/TaskTag); 删除反向
|
||||||
|
const rank = (o) => TABLE_RANK[o?.table] ?? 99
|
||||||
|
const puts = ops.filter((o) => o && o.op !== 'DELETE').sort((a, b) => rank(a) - rank(b))
|
||||||
|
const dels = ops.filter((o) => o && o.op === 'DELETE').sort((a, b) => rank(b) - rank(a))
|
||||||
|
|
||||||
|
const results = []
|
||||||
|
for (const op of puts) {
|
||||||
|
try {
|
||||||
|
const extra = await applyPut(op, ctx)
|
||||||
|
results.push({ id: op.id, ok: true, ...extra })
|
||||||
|
} catch (e) {
|
||||||
|
results.push({ id: op.id, ok: false, error: e.message })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const op of dels) {
|
||||||
|
try {
|
||||||
|
const extra = await applyDelete(op, ctx)
|
||||||
|
results.push({ id: op.id, ok: true, ...extra })
|
||||||
|
} catch (e) {
|
||||||
|
results.push({ id: op.id, ok: false, error: e.message })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
res.json({ results })
|
||||||
|
} catch (e) { next(e) }
|
||||||
|
})
|
||||||
|
|
||||||
|
export default router
|
||||||
@@ -3,6 +3,7 @@ import { Router } from 'express'
|
|||||||
import { prisma } from '../db.js'
|
import { prisma } from '../db.js'
|
||||||
import { authRequired } from '../middleware.js'
|
import { authRequired } from '../middleware.js'
|
||||||
import { loadProjectForUser, loadColumns, loadMemberIds } from '../task-domain/access.js'
|
import { loadProjectForUser, loadColumns, loadMemberIds } from '../task-domain/access.js'
|
||||||
|
import { genUuid, withUuid, normProjectCode, allocProjectCode } from '../task-domain/identity.js'
|
||||||
|
|
||||||
const router = Router()
|
const router = Router()
|
||||||
router.use(authRequired)
|
router.use(authRequired)
|
||||||
@@ -21,7 +22,7 @@ const MAX_NAME = 20
|
|||||||
/** 建 4 个默认列 */
|
/** 建 4 个默认列 */
|
||||||
async function createDefaultColumns(projectId) {
|
async function createDefaultColumns(projectId) {
|
||||||
await prisma.boardColumn.createMany({
|
await prisma.boardColumn.createMany({
|
||||||
data: DEFAULT_COLUMNS.map((c) => ({ ...c, projectId, retention: 'forever' })),
|
data: withUuid(DEFAULT_COLUMNS.map((c) => ({ ...c, projectId, retention: 'forever' }))),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,7 +33,14 @@ export async function ensurePersonalProject(userId) {
|
|||||||
const user = await prisma.user.findUnique({ where: { id: userId }, select: { name: true } })
|
const user = await prisma.user.findUnique({ where: { id: userId }, select: { name: true } })
|
||||||
const name = `${user?.name || '我'}的任务`
|
const name = `${user?.name || '我'}的任务`
|
||||||
const project = await prisma.project.create({
|
const project = await prisma.project.create({
|
||||||
data: { name, ownerId: userId, isPersonal: true, members: { create: { userId } } },
|
data: {
|
||||||
|
name,
|
||||||
|
ownerId: userId,
|
||||||
|
isPersonal: true,
|
||||||
|
uuid: genUuid(),
|
||||||
|
code: await allocProjectCode(name),
|
||||||
|
members: { create: { uuid: genUuid(), userId } },
|
||||||
|
},
|
||||||
})
|
})
|
||||||
await createDefaultColumns(project.id)
|
await createDefaultColumns(project.id)
|
||||||
return project
|
return project
|
||||||
@@ -58,6 +66,8 @@ export function normTaskKinds(v) {
|
|||||||
function projectSummary(p) {
|
function projectSummary(p) {
|
||||||
return {
|
return {
|
||||||
id: p.id,
|
id: p.id,
|
||||||
|
uuid: p.uuid,
|
||||||
|
code: p.code,
|
||||||
name: p.name,
|
name: p.name,
|
||||||
ownerId: p.ownerId,
|
ownerId: p.ownerId,
|
||||||
isPersonal: p.isPersonal,
|
isPersonal: p.isPersonal,
|
||||||
@@ -96,8 +106,27 @@ router.post('/', async (req, res, next) => {
|
|||||||
if (!name) return res.status(400).json({ error: '项目名称不能为空' })
|
if (!name) return res.status(400).json({ error: '项目名称不能为空' })
|
||||||
if (name.length > MAX_NAME) return res.status(400).json({ error: `项目名称不能超过 ${MAX_NAME} 字` })
|
if (name.length > MAX_NAME) return res.status(400).json({ error: `项目名称不能超过 ${MAX_NAME} 字` })
|
||||||
|
|
||||||
|
// 项目短编号: 可由客户端自拟 (2~8 位字母数字, 全局唯一), 未提供时按名称自动分配
|
||||||
|
let code
|
||||||
|
const rawCode = req.body?.code
|
||||||
|
if (rawCode !== undefined && rawCode !== null && String(rawCode).trim() !== '') {
|
||||||
|
code = normProjectCode(rawCode)
|
||||||
|
if (!code) return res.status(400).json({ error: '项目编号须为 2~8 位字母数字' })
|
||||||
|
const dup = await prisma.project.findUnique({ where: { code } })
|
||||||
|
if (dup) return res.status(409).json({ error: `项目编号 ${code} 已被占用` })
|
||||||
|
} else {
|
||||||
|
code = await allocProjectCode(name)
|
||||||
|
}
|
||||||
|
|
||||||
const project = await prisma.project.create({
|
const project = await prisma.project.create({
|
||||||
data: { name, ownerId: userId, isPersonal: false, members: { create: { userId } } },
|
data: {
|
||||||
|
name,
|
||||||
|
ownerId: userId,
|
||||||
|
isPersonal: false,
|
||||||
|
uuid: genUuid(),
|
||||||
|
code,
|
||||||
|
members: { create: { uuid: genUuid(), userId } },
|
||||||
|
},
|
||||||
})
|
})
|
||||||
await createDefaultColumns(project.id)
|
await createDefaultColumns(project.id)
|
||||||
const full = await prisma.project.findUnique({
|
const full = await prisma.project.findUnique({
|
||||||
@@ -139,7 +168,7 @@ router.put('/:id', async (req, res, next) => {
|
|||||||
const userId = req.user.sub
|
const userId = req.user.sub
|
||||||
const project = await loadProjectForUser(req.params.id, userId)
|
const project = await loadProjectForUser(req.params.id, userId)
|
||||||
if (!project) return res.status(404).json({ error: '项目不存在或无权限' })
|
if (!project) return res.status(404).json({ error: '项目不存在或无权限' })
|
||||||
const { name, archived, notes, taskKinds, icon, autoArchive } = req.body || {}
|
const { name, archived, notes, taskKinds, icon, autoArchive, code } = req.body || {}
|
||||||
const data = {}
|
const data = {}
|
||||||
if (name !== undefined) {
|
if (name !== undefined) {
|
||||||
const t = String(name).trim()
|
const t = String(name).trim()
|
||||||
@@ -147,6 +176,16 @@ router.put('/:id', async (req, res, next) => {
|
|||||||
if (t.length > MAX_NAME) return res.status(400).json({ error: `项目名称不能超过 ${MAX_NAME} 字` })
|
if (t.length > MAX_NAME) return res.status(400).json({ error: `项目名称不能超过 ${MAX_NAME} 字` })
|
||||||
data.name = t
|
data.name = t
|
||||||
}
|
}
|
||||||
|
// 项目短编号: 可修改 (2~8 位字母数字, 全局唯一)
|
||||||
|
if (code !== undefined) {
|
||||||
|
const c = normProjectCode(code)
|
||||||
|
if (!c) return res.status(400).json({ error: '项目编号须为 2~8 位字母数字' })
|
||||||
|
if (c !== project.code) {
|
||||||
|
const dup = await prisma.project.findUnique({ where: { code: c } })
|
||||||
|
if (dup) return res.status(409).json({ error: `项目编号 ${c} 已被占用` })
|
||||||
|
data.code = c
|
||||||
|
}
|
||||||
|
}
|
||||||
// 任务类型标签: 整体替换; 空数组回落默认
|
// 任务类型标签: 整体替换; 空数组回落默认
|
||||||
if (taskKinds !== undefined) {
|
if (taskKinds !== undefined) {
|
||||||
if (!Array.isArray(taskKinds)) return res.status(400).json({ error: '任务类型格式非法' })
|
if (!Array.isArray(taskKinds)) return res.status(400).json({ error: '任务类型格式非法' })
|
||||||
@@ -215,7 +254,7 @@ router.post('/:id/members', async (req, res, next) => {
|
|||||||
})
|
})
|
||||||
if (exist) return res.status(409).json({ error: '该用户已是项目成员' })
|
if (exist) return res.status(409).json({ error: '该用户已是项目成员' })
|
||||||
|
|
||||||
await prisma.projectMember.create({ data: { projectId: project.id, userId: target.id } })
|
await prisma.projectMember.create({ data: { uuid: genUuid(), projectId: project.id, userId: target.id } })
|
||||||
res.json({ ok: true, member: { userId: target.id, name: target.name } })
|
res.json({ ok: true, member: { userId: target.id, name: target.name } })
|
||||||
} catch (e) { next(e) }
|
} catch (e) { next(e) }
|
||||||
})
|
})
|
||||||
|
|||||||
+26
-23
@@ -9,6 +9,7 @@ import { resolveTaskWrite } from '../task-domain/resolveStatus.js'
|
|||||||
import { filterVisible } from '../task-domain/retention.js'
|
import { filterVisible } from '../task-domain/retention.js'
|
||||||
import { copyTask } from '../task-domain/copyTask.js'
|
import { copyTask } from '../task-domain/copyTask.js'
|
||||||
import { runAutoArchiveForProject } from '../task-domain/archive.js'
|
import { runAutoArchiveForProject } from '../task-domain/archive.js'
|
||||||
|
import { genUuid, withUuid, withTaskNumber } from '../task-domain/identity.js'
|
||||||
|
|
||||||
const router = Router()
|
const router = Router()
|
||||||
router.use(authRequired)
|
router.use(authRequired)
|
||||||
@@ -184,28 +185,30 @@ router.post('/projects/:id/tasks', async (req, res, next) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const firstCol = columns[0]
|
const firstCol = columns[0]
|
||||||
const row = await prisma.task.create({
|
const taskData = {
|
||||||
data: {
|
uuid: req.body?.uuid || genUuid(),
|
||||||
projectId: project.id,
|
projectId: project.id,
|
||||||
columnId: firstCol.id,
|
columnId: firstCol.id,
|
||||||
parentId: pid,
|
parentId: pid,
|
||||||
title: cleanTitle,
|
title: cleanTitle,
|
||||||
description: String(description || ''),
|
description: String(description || ''),
|
||||||
kind: kind ? String(kind).trim().slice(0, 20) : null,
|
kind: kind ? String(kind).trim().slice(0, 20) : null,
|
||||||
markDate: mark,
|
markDate: mark,
|
||||||
status: firstCol.boundStatus || 'todo',
|
status: firstCol.boundStatus || 'todo',
|
||||||
assigneeId: finalAssignee,
|
assigneeId: finalAssignee,
|
||||||
creatorId: userId,
|
creatorId: userId,
|
||||||
extras: [],
|
extras: [],
|
||||||
members: {
|
members: {
|
||||||
create: (Array.isArray(memberIds) ? memberIds : [])
|
create: withUuid((Array.isArray(memberIds) ? memberIds : [])
|
||||||
.map(Number).filter((id) => memberSet.has(id))
|
.map(Number).filter((id) => memberSet.has(id))
|
||||||
.map((uid) => ({ userId: uid })),
|
.map((uid) => ({ userId: uid }))),
|
||||||
},
|
|
||||||
tags: { create: (Array.isArray(tags) ? tags : []).filter(Boolean).map((n) => ({ name: String(n).slice(0, 20) })) },
|
|
||||||
},
|
},
|
||||||
include: TASK_INCLUDE,
|
tags: { create: withUuid((Array.isArray(tags) ? tags : []).filter(Boolean).map((n) => ({ name: String(n).slice(0, 20) }))) },
|
||||||
})
|
}
|
||||||
|
// 项目内自增编号 (展示 `code-number`): 服务端分配, 并发冲突时重取 max+1 重试
|
||||||
|
const { value: row } = await withTaskNumber(project.id, (number) =>
|
||||||
|
prisma.task.create({ data: { ...taskData, number }, include: TASK_INCLUDE }),
|
||||||
|
)
|
||||||
res.json({ item: shape(row) })
|
res.json({ item: shape(row) })
|
||||||
} catch (e) { next(e) }
|
} catch (e) { next(e) }
|
||||||
})
|
})
|
||||||
@@ -333,7 +336,7 @@ router.put('/tasks/:id', async (req, res, next) => {
|
|||||||
await prisma.taskMember.deleteMany({ where: { taskId: task.id } })
|
await prisma.taskMember.deleteMany({ where: { taskId: task.id } })
|
||||||
if (ids.length) {
|
if (ids.length) {
|
||||||
await prisma.taskMember.createMany({
|
await prisma.taskMember.createMany({
|
||||||
data: ids.map((uid) => ({ taskId: task.id, userId: uid })),
|
data: withUuid(ids.map((uid) => ({ taskId: task.id, userId: uid }))),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -341,7 +344,7 @@ router.put('/tasks/:id', async (req, res, next) => {
|
|||||||
await prisma.taskTag.deleteMany({ where: { taskId: task.id } })
|
await prisma.taskTag.deleteMany({ where: { taskId: task.id } })
|
||||||
const names = body.tags.map((n) => String(n).trim()).filter(Boolean).slice(0, 10)
|
const names = body.tags.map((n) => String(n).trim()).filter(Boolean).slice(0, 10)
|
||||||
if (names.length) {
|
if (names.length) {
|
||||||
await prisma.taskTag.createMany({ data: names.map((name) => ({ taskId: task.id, name: name.slice(0, 20) })) })
|
await prisma.taskTag.createMany({ data: withUuid(names.map((name) => ({ taskId: task.id, name: name.slice(0, 20) }))) })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// 任务模块: 跨项目拷贝 (T-CP-*)
|
// 任务模块: 跨项目拷贝 (T-CP-*)
|
||||||
// 拷贝而非移动: 新建记录 + 深拷贝子任务, 源任务零改动.
|
// 拷贝而非移动: 新建记录 + 深拷贝子任务, 源任务零改动.
|
||||||
import { prisma } from '../db.js'
|
import { prisma } from '../db.js'
|
||||||
|
import { genUuid, withUuid, withTaskNumber } from './identity.js'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 拷贝一条任务(含子任务)到目标项目。
|
* 拷贝一条任务(含子任务)到目标项目。
|
||||||
@@ -38,6 +39,7 @@ export async function copyTask({ source, targetProject, targetColumns, operatorI
|
|||||||
const droppedAssignee = source.assigneeId && !memberSet.has(source.assigneeId) ? source.assignee : null
|
const droppedAssignee = source.assigneeId && !memberSet.has(source.assigneeId) ? source.assignee : null
|
||||||
|
|
||||||
const baseData = (extra) => ({
|
const baseData = (extra) => ({
|
||||||
|
uuid: genUuid(),
|
||||||
projectId: targetProject.id,
|
projectId: targetProject.id,
|
||||||
title: source.title,
|
title: source.title,
|
||||||
description: source.description || '',
|
description: source.description || '',
|
||||||
@@ -50,33 +52,39 @@ export async function copyTask({ source, targetProject, targetColumns, operatorI
|
|||||||
doneAt: source.status === 'done' ? (source.doneAt || new Date()) : null,
|
doneAt: source.status === 'done' ? (source.doneAt || new Date()) : null,
|
||||||
sortOrder: source.sortOrder ?? 0,
|
sortOrder: source.sortOrder ?? 0,
|
||||||
tags: {
|
tags: {
|
||||||
create: (source.tags || []).map((t) => ({ name: t.name })),
|
create: withUuid((source.tags || []).map((t) => ({ name: t.name }))),
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const newTask = await prisma.task.create({
|
const { value: newTask } = await withTaskNumber(targetProject.id, (number) =>
|
||||||
data: {
|
prisma.task.create({
|
||||||
...baseData({ columnId: pickColumn(source.columnId) }),
|
data: {
|
||||||
members: {
|
...baseData({ columnId: pickColumn(source.columnId) }),
|
||||||
create: keptMemberIds.map((uid) => ({ userId: uid })),
|
number,
|
||||||
|
members: {
|
||||||
|
create: withUuid(keptMemberIds.map((uid) => ({ userId: uid }))),
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
}),
|
||||||
})
|
)
|
||||||
|
|
||||||
// 子任务: 同法复制, parentId 指向新父任务
|
// 子任务: 同法复制, parentId 指向新父任务
|
||||||
for (const child of source.children || []) {
|
for (const child of source.children || []) {
|
||||||
const childMembers = (child.members || [])
|
const childMembers = (child.members || [])
|
||||||
.filter((m) => memberSet.has(m.userId))
|
.filter((m) => memberSet.has(m.userId))
|
||||||
.map((m) => m.userId)
|
.map((m) => m.userId)
|
||||||
await prisma.task.create({
|
await withTaskNumber(targetProject.id, (number) =>
|
||||||
data: {
|
prisma.task.create({
|
||||||
...baseData({
|
data: {
|
||||||
columnId: pickColumn(child.columnId),
|
...baseData({
|
||||||
parentId: newTask.id,
|
columnId: pickColumn(child.columnId),
|
||||||
}),
|
parentId: newTask.id,
|
||||||
members: { create: childMembers.map((uid) => ({ userId: uid })) },
|
}),
|
||||||
},
|
number,
|
||||||
})
|
members: { create: withUuid(childMembers.map((uid) => ({ userId: uid }))) },
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
// 任务域同步标识与编号 (0.2.1 离线编辑, 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md)
|
||||||
|
// 约定: 任务域 6 表均带 uuid(客户端/服务端创建时生成, 上行按 uuid 幂等);
|
||||||
|
// Project.code 为用户自拟 2~8 位字母数字短编号(存储大写, 全局唯一);
|
||||||
|
// Task.number 为项目内自增编号, 服务端分配, 展示 `code-number`。
|
||||||
|
import crypto from 'node:crypto'
|
||||||
|
import { prisma } from '../db.js'
|
||||||
|
|
||||||
|
/** 同步标识: 服务端创建行时统一生成 uuid */
|
||||||
|
export function genUuid() {
|
||||||
|
return crypto.randomUUID()
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 为多行数据补 uuid (createMany 前用) */
|
||||||
|
export function withUuid(rows) {
|
||||||
|
return rows.map((r) => ({ ...r, uuid: r.uuid || genUuid() }))
|
||||||
|
}
|
||||||
|
|
||||||
|
// 项目编号: 2~8 位字母数字, 存储统一大写 (任务展示 `编号-序号`, 不允许连字符)
|
||||||
|
const CODE_RE = /^[A-Z0-9]{2,8}$/
|
||||||
|
|
||||||
|
/** 归一化项目编号; 非法返回 null */
|
||||||
|
export function normProjectCode(v) {
|
||||||
|
const s = String(v || '').trim().toUpperCase()
|
||||||
|
return CODE_RE.test(s) ? s : null
|
||||||
|
}
|
||||||
|
|
||||||
|
function randCode(len) {
|
||||||
|
return crypto.randomBytes(len * 2).toString('hex').toUpperCase().replace(/[^A-Z0-9]/g, '').padEnd(len, 'X').slice(0, len)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 从项目名推导候选编号: 取 ASCII 字母数字, 不足则随机补齐 */
|
||||||
|
function suggestCode(name) {
|
||||||
|
const letters = String(name || '').toUpperCase().replace(/[^A-Z0-9]/g, '')
|
||||||
|
if (letters.length >= 2) return letters.slice(0, 8)
|
||||||
|
return (letters + randCode(8)).slice(0, 8)
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 分配一个未占用的项目编号: 优先按名称推导, 冲突则随机尾缀重试 */
|
||||||
|
export async function allocProjectCode(name) {
|
||||||
|
const base = suggestCode(name)
|
||||||
|
for (let i = 0; i < 20; i++) {
|
||||||
|
const cand = i === 0 ? base : (base.slice(0, 5) + randCode(3)).slice(0, 8)
|
||||||
|
if (cand.length < 2 || !CODE_RE.test(cand)) continue
|
||||||
|
const dup = await prisma.project.findUnique({ where: { code: cand } })
|
||||||
|
if (!dup) return cand
|
||||||
|
}
|
||||||
|
while (true) {
|
||||||
|
const cand = randCode(6)
|
||||||
|
const dup = await prisma.project.findUnique({ where: { code: cand } })
|
||||||
|
if (!dup) return cand
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 任务项目内下一个编号 (max+1); 并发冲突由调用方捕获 P2002 重试 */
|
||||||
|
export async function nextTaskNumber(projectId) {
|
||||||
|
const agg = await prisma.task.aggregate({ where: { projectId }, _max: { number: true } })
|
||||||
|
return (agg._max.number ?? 0) + 1
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Task.number 唯一冲突重试包装: fn(number) 返回 Promise; 冲突时重取编号, 最多 3 次 */
|
||||||
|
export async function withTaskNumber(projectId, fn) {
|
||||||
|
let lastErr = null
|
||||||
|
for (let attempt = 0; attempt < 3; attempt++) {
|
||||||
|
const number = await nextTaskNumber(projectId)
|
||||||
|
try {
|
||||||
|
return { number, value: await fn(number) }
|
||||||
|
} catch (e) {
|
||||||
|
const target = Array.isArray(e?.meta?.target) ? e.meta.target.join(',') : String(e?.meta?.target || '')
|
||||||
|
lastErr = e
|
||||||
|
if (!(e?.code === 'P2002' && target.includes('number'))) throw e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
throw lastErr
|
||||||
|
}
|
||||||
+5
-2
@@ -8,6 +8,7 @@ import MePage from './pages/MePage.jsx'
|
|||||||
import CheckinPage from './pages/checkin/CheckinPage.jsx'
|
import CheckinPage from './pages/checkin/CheckinPage.jsx'
|
||||||
import TaskPage from './pages/task/TaskPage.jsx'
|
import TaskPage from './pages/task/TaskPage.jsx'
|
||||||
import { useAuth } from './auth/AuthContext.jsx'
|
import { useAuth } from './auth/AuthContext.jsx'
|
||||||
|
import { PowerSyncProvider } from './lib/powersync/react.jsx'
|
||||||
|
|
||||||
// 默认落地页: 打卡 (V0.2 起打卡是第一个 Tab 且为默认选中)
|
// 默认落地页: 打卡 (V0.2 起打卡是第一个 Tab 且为默认选中)
|
||||||
const HOME_PATH = '/checkin'
|
const HOME_PATH = '/checkin'
|
||||||
@@ -31,7 +32,8 @@ function RequireAuth({ children }) {
|
|||||||
|
|
||||||
export default function App() {
|
export default function App() {
|
||||||
return (
|
return (
|
||||||
<Routes>
|
<PowerSyncProvider>
|
||||||
|
<Routes>
|
||||||
<Route path="/login" element={<RedirectIfAuthed><LoginPage /></RedirectIfAuthed>} />
|
<Route path="/login" element={<RedirectIfAuthed><LoginPage /></RedirectIfAuthed>} />
|
||||||
<Route element={<RequireAuth><MobileShell /></RequireAuth>}>
|
<Route element={<RequireAuth><MobileShell /></RequireAuth>}>
|
||||||
{/* 打卡为默认首页 */}
|
{/* 打卡为默认首页 */}
|
||||||
@@ -49,6 +51,7 @@ export default function App() {
|
|||||||
<Route path="/me" element={<MePage />} />
|
<Route path="/me" element={<MePage />} />
|
||||||
</Route>
|
</Route>
|
||||||
<Route path="*" element={<Navigate to={HOME_PATH} replace />} />
|
<Route path="*" element={<Navigate to={HOME_PATH} replace />} />
|
||||||
</Routes>
|
</Routes>
|
||||||
|
</PowerSyncProvider>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
+143
-10
@@ -1,13 +1,121 @@
|
|||||||
// API 调用封装: 自动带 JWT、401 自动清 token、抛统一错误
|
// API 调用封装: 自动带 JWT、401 自动清 token、抛统一错误
|
||||||
|
// 0.2.1 离线支持:
|
||||||
|
// - GET 请求成功后把响应写入本地缓存 (localStorage), 离线/网络失败时回退缓存 (界面仍有数据)
|
||||||
|
// - 写请求 (POST/PUT/DELETE) 仍要求在线 (任务模块的离线写走 PowerSync 上传队列)
|
||||||
|
// - 统一在线/离线状态订阅, 供 UI 显示离线标识
|
||||||
const TOKEN_KEY = 'iboard_token'
|
const TOKEN_KEY = 'iboard_token'
|
||||||
const REMEMBER_KEY = 'iboard_remember'
|
const REMEMBER_KEY = 'iboard_remember'
|
||||||
|
const UID_KEY = 'iboard_uid'
|
||||||
|
|
||||||
// API 基址:
|
// API 基址:
|
||||||
// - 默认相对路径 `/api` (web dev: Vite 代理; web prod: 同源 Express 一起托管)
|
// - 默认相对路径 `/api` (web dev: Vite 代理; web prod: 同源 Express 一起托管)
|
||||||
// - 打包 Android 时设 VITE_API_BASE=http://bh.vps.honor3.com:3001 走外网后端
|
// - 打包 Android / Windows 外壳时设 VITE_API_BASE=http://bh.vps.honor3.com:3001 走外网后端
|
||||||
const API_BASE = (import.meta.env.VITE_API_BASE || '').replace(/\/+$/, '')
|
const API_BASE = (import.meta.env.VITE_API_BASE || '').replace(/\/+$/, '')
|
||||||
const API_PREFIX = API_BASE ? API_BASE + '/api' : '/api'
|
const API_PREFIX = API_BASE ? API_BASE + '/api' : '/api'
|
||||||
|
|
||||||
|
// ---------- 在线/离线状态 (网络事件 + 请求结果联动) ----------
|
||||||
|
let offline = typeof navigator !== 'undefined' ? navigator.onLine === false : false
|
||||||
|
const offlineListeners = new Set()
|
||||||
|
|
||||||
|
export function isOffline() {
|
||||||
|
return offline
|
||||||
|
}
|
||||||
|
|
||||||
|
function setOffline(next) {
|
||||||
|
if (offline === next) return
|
||||||
|
offline = next
|
||||||
|
offlineListeners.forEach((cb) => {
|
||||||
|
try { cb(next) } catch { /* ignore */ }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (typeof window !== 'undefined') {
|
||||||
|
window.addEventListener('online', () => setOffline(false))
|
||||||
|
window.addEventListener('offline', () => setOffline(true))
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 订阅在线/离线变化, 返回取消函数 */
|
||||||
|
export function subscribeOffline(cb) {
|
||||||
|
offlineListeners.add(cb)
|
||||||
|
return () => offlineListeners.delete(cb)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------- GET 响应本地缓存 ----------
|
||||||
|
// 目的: 任何界面只要成功访问过一次, 离线时都能展示上次的数据
|
||||||
|
const CACHE_PREFIX = 'iboard_cache:'
|
||||||
|
const CACHE_TOTAL_LIMIT = 3 * 1024 * 1024 // 约 3MB (localStorage 通常 5MB)
|
||||||
|
const CACHE_ENTRY_LIMIT = 512 * 1024 // 单条上限, 超大响应不缓存
|
||||||
|
|
||||||
|
function cacheKey(path) {
|
||||||
|
return CACHE_PREFIX + path
|
||||||
|
}
|
||||||
|
|
||||||
|
function readCache(path) {
|
||||||
|
try {
|
||||||
|
const raw = localStorage.getItem(cacheKey(path))
|
||||||
|
if (!raw) return null
|
||||||
|
const parsed = JSON.parse(raw)
|
||||||
|
if (!parsed || typeof parsed !== 'object' || !('data' in parsed)) return null
|
||||||
|
return parsed
|
||||||
|
} catch {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function cacheSizeUsed() {
|
||||||
|
let total = 0
|
||||||
|
try {
|
||||||
|
for (let i = 0; i < localStorage.length; i++) {
|
||||||
|
const k = localStorage.key(i)
|
||||||
|
if (k && k.startsWith(CACHE_PREFIX)) total += (localStorage.getItem(k) || '').length
|
||||||
|
}
|
||||||
|
} catch { /* ignore */ }
|
||||||
|
return total
|
||||||
|
}
|
||||||
|
|
||||||
|
function evictOldest(needBytes) {
|
||||||
|
try {
|
||||||
|
const entries = []
|
||||||
|
for (let i = 0; i < localStorage.length; i++) {
|
||||||
|
const k = localStorage.key(i)
|
||||||
|
if (!k || !k.startsWith(CACHE_PREFIX)) continue
|
||||||
|
let ts = 0
|
||||||
|
try { ts = JSON.parse(localStorage.getItem(k) || '{}').ts || 0 } catch { /* ignore */ }
|
||||||
|
entries.push({ k, ts })
|
||||||
|
}
|
||||||
|
entries.sort((a, b) => a.ts - b.ts)
|
||||||
|
let used = cacheSizeUsed()
|
||||||
|
for (const e of entries) {
|
||||||
|
if (used + needBytes <= CACHE_TOTAL_LIMIT) break
|
||||||
|
used -= (localStorage.getItem(e.k) || '').length
|
||||||
|
localStorage.removeItem(e.k)
|
||||||
|
}
|
||||||
|
} catch { /* ignore */ }
|
||||||
|
}
|
||||||
|
|
||||||
|
function writeCache(path, data) {
|
||||||
|
try {
|
||||||
|
const payload = JSON.stringify({ ts: Date.now(), data })
|
||||||
|
if (payload.length > CACHE_ENTRY_LIMIT) return // 过大不缓存
|
||||||
|
evictOldest(payload.length)
|
||||||
|
localStorage.setItem(cacheKey(path), payload)
|
||||||
|
} catch {
|
||||||
|
// 配额满等异常: 静默失败, 不影响主流程
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 清空所有 GET 缓存 (退出登录时调用) */
|
||||||
|
export function clearApiCache() {
|
||||||
|
try {
|
||||||
|
const keys = []
|
||||||
|
for (let i = 0; i < localStorage.length; i++) {
|
||||||
|
const k = localStorage.key(i)
|
||||||
|
if (k && k.startsWith(CACHE_PREFIX)) keys.push(k)
|
||||||
|
}
|
||||||
|
keys.forEach((k) => localStorage.removeItem(k))
|
||||||
|
} catch { /* ignore */ }
|
||||||
|
}
|
||||||
|
|
||||||
export function getToken() {
|
export function getToken() {
|
||||||
return localStorage.getItem(TOKEN_KEY) || ''
|
return localStorage.getItem(TOKEN_KEY) || ''
|
||||||
}
|
}
|
||||||
@@ -26,21 +134,45 @@ export function setRememberFlag(v) {
|
|||||||
else localStorage.removeItem(REMEMBER_KEY)
|
else localStorage.removeItem(REMEMBER_KEY)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 当前用户 id (0.2.1 离线写入需要 ownerId/creatorId, 本地库无法即时从服务端获取)
|
||||||
|
export function getCurrentUserId() {
|
||||||
|
return localStorage.getItem(UID_KEY) || ''
|
||||||
|
}
|
||||||
|
export function setCurrentUserId(id) {
|
||||||
|
if (id !== null && id !== undefined && id !== '') localStorage.setItem(UID_KEY, String(id))
|
||||||
|
else localStorage.removeItem(UID_KEY)
|
||||||
|
}
|
||||||
|
|
||||||
export function getApiBase() {
|
export function getApiBase() {
|
||||||
return API_BASE
|
return API_BASE
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function api(path, { method = 'GET', body, headers = {} } = {}) {
|
export async function api(path, { method = 'GET', body, headers = {} } = {}) {
|
||||||
const token = getToken()
|
const token = getToken()
|
||||||
const res = await fetch(API_PREFIX + path, {
|
const isRead = method === 'GET'
|
||||||
method,
|
let res
|
||||||
headers: {
|
try {
|
||||||
'Content-Type': 'application/json',
|
res = await fetch(API_PREFIX + path, {
|
||||||
...(token ? { Authorization: 'Bearer ' + token } : {}),
|
method,
|
||||||
...headers,
|
headers: {
|
||||||
},
|
'Content-Type': 'application/json',
|
||||||
body: body ? JSON.stringify(body) : undefined,
|
...(token ? { Authorization: 'Bearer ' + token } : {}),
|
||||||
})
|
...headers,
|
||||||
|
},
|
||||||
|
body: body ? JSON.stringify(body) : undefined,
|
||||||
|
})
|
||||||
|
} catch {
|
||||||
|
// 网络层失败: 离线 / 服务不可达
|
||||||
|
setOffline(true)
|
||||||
|
if (isRead) {
|
||||||
|
const cached = readCache(path)
|
||||||
|
if (cached) return cached.data
|
||||||
|
throw new Error('当前离线,且该界面尚无本地缓存')
|
||||||
|
}
|
||||||
|
throw new Error('当前离线,修改操作需要联网后重试')
|
||||||
|
}
|
||||||
|
|
||||||
|
setOffline(false)
|
||||||
if (res.status === 401) {
|
if (res.status === 401) {
|
||||||
setToken('')
|
setToken('')
|
||||||
const data = await res.json().catch(() => ({}))
|
const data = await res.json().catch(() => ({}))
|
||||||
@@ -49,5 +181,6 @@ export async function api(path, { method = 'GET', body, headers = {} } = {}) {
|
|||||||
}
|
}
|
||||||
const data = await res.json().catch(() => ({}))
|
const data = await res.json().catch(() => ({}))
|
||||||
if (!res.ok) throw new Error(data.error || '请求失败 (' + res.status + ')')
|
if (!res.ok) throw new Error(data.error || '请求失败 (' + res.status + ')')
|
||||||
|
if (isRead) writeCache(path, data)
|
||||||
return data
|
return data
|
||||||
}
|
}
|
||||||
+764
-33
@@ -1,44 +1,775 @@
|
|||||||
import { api } from './client.js'
|
// 任务模块数据层 (0.2.1): 已切换为 PowerSync 本地 SQLite
|
||||||
|
// - 读: 全部来自本地库 (离线可用); 写: 本地写入 -> upload queue -> /api/powersync/upload (按 uuid 幂等)
|
||||||
|
// - 对页面保持与原 REST 版一致的调用签名与响应形状 (projectApi / columnApi / taskApi)
|
||||||
|
// - 编号: Project.code / Task.number 由服务端统一分配, 本地新建行同步前分别为空 -> 展示占位
|
||||||
|
// 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md
|
||||||
|
import { getPowersyncDb } from '../lib/powersync/db.js'
|
||||||
|
import { api, getCurrentUserId } from './client.js'
|
||||||
|
import { filterVisible } from '../pages/task/date.js'
|
||||||
|
|
||||||
const q = (params) => {
|
const db = () => getPowersyncDb()
|
||||||
const s = new URLSearchParams()
|
|
||||||
Object.entries(params || {}).forEach(([k, v]) => {
|
// crypto.randomUUID 仅在安全上下文 (https / localhost) 可用; 部署站为 http 明文, 用 getRandomValues 兜底生成 v4
|
||||||
if (v !== undefined && v !== null && v !== '') s.set(k, v)
|
const uuid = () => {
|
||||||
})
|
if (typeof crypto !== 'undefined' && typeof crypto.randomUUID === 'function') return crypto.randomUUID()
|
||||||
const str = s.toString()
|
const b = crypto.getRandomValues(new Uint8Array(16))
|
||||||
return str ? '?' + str : ''
|
b[6] = (b[6] & 0x0f) | 0x40
|
||||||
|
b[8] = (b[8] & 0x3f) | 0x80
|
||||||
|
const h = [...b].map((x) => x.toString(16).padStart(2, '0')).join('')
|
||||||
|
return `${h.slice(0, 8)}-${h.slice(8, 12)}-${h.slice(12, 16)}-${h.slice(16, 20)}-${h.slice(20)}`
|
||||||
|
}
|
||||||
|
const now = () => new Date().toISOString()
|
||||||
|
const parseJson = (v, fallback) => {
|
||||||
|
if (v === null || v === undefined || v === '') return fallback
|
||||||
|
if (typeof v !== 'string') return v
|
||||||
|
try { return JSON.parse(v) } catch { return fallback }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 项目
|
// 新建项目时的默认 4 列 (与服务端 DEFAULT_COLUMNS 一致)
|
||||||
|
const DEFAULT_COLUMNS = [
|
||||||
|
{ name: 'Plan', sortOrder: 0, boundStatus: 'todo' },
|
||||||
|
{ name: 'Doing', sortOrder: 1, boundStatus: 'doing' },
|
||||||
|
{ name: 'Action', sortOrder: 2, boundStatus: null },
|
||||||
|
{ name: 'Done', sortOrder: 3, boundStatus: 'done' },
|
||||||
|
]
|
||||||
|
export const DEFAULT_TASK_KINDS = ['需求', 'Bug', 'FEATURE', '优化']
|
||||||
|
const MAX_NAME = 20
|
||||||
|
|
||||||
|
function normTaskKinds(v) {
|
||||||
|
if (!Array.isArray(v)) return null
|
||||||
|
const out = []
|
||||||
|
for (const k of v) {
|
||||||
|
const s = String(k || '').trim().slice(0, 20)
|
||||||
|
if (s && !out.includes(s)) out.push(s)
|
||||||
|
if (out.length >= 30) break
|
||||||
|
}
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------- 查询助手 ----------
|
||||||
|
|
||||||
|
async function getColumns(projectId) {
|
||||||
|
return db().getAll(
|
||||||
|
'SELECT * FROM BoardColumn WHERE projectId = ? ORDER BY sortOrder, id',
|
||||||
|
[String(projectId)],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getProjectMembers(projectId) {
|
||||||
|
const rows = await db().getAll(
|
||||||
|
`SELECT pm.userId, pm.permission, u.name, u.email
|
||||||
|
FROM ProjectMember pm LEFT JOIN User u ON u.id = pm.userId
|
||||||
|
WHERE pm.projectId = ? ORDER BY pm.createdAt, pm.id`,
|
||||||
|
[String(projectId)],
|
||||||
|
)
|
||||||
|
return rows.map((r) => ({ userId: String(r.userId), name: r.name || String(r.userId), email: r.email || '', permission: r.permission || 'member' }))
|
||||||
|
}
|
||||||
|
|
||||||
|
function memberMapOf(members) {
|
||||||
|
return new Map(members.map((m) => [m.userId, { id: m.userId, name: m.name }]))
|
||||||
|
}
|
||||||
|
|
||||||
|
async function shapeTasks(rows, columns) {
|
||||||
|
const columnById = new Map(columns.map((c) => [String(c.id), c]))
|
||||||
|
const projectIds = [...new Set(rows.map((r) => String(r.projectId)))]
|
||||||
|
let membersByProject = new Map()
|
||||||
|
if (projectIds.length) {
|
||||||
|
const ph = projectIds.map(() => '?').join(',')
|
||||||
|
const pmRows = await db().getAll(
|
||||||
|
`SELECT pm.projectId, pm.userId, u.name FROM ProjectMember pm LEFT JOIN User u ON u.id = pm.userId WHERE pm.projectId IN (${ph})`,
|
||||||
|
projectIds,
|
||||||
|
)
|
||||||
|
membersByProject = new Map(projectIds.map((pid) => [pid, new Map()]))
|
||||||
|
for (const r of pmRows) {
|
||||||
|
membersByProject.get(String(r.projectId)).set(String(r.userId), { id: String(r.userId), name: r.name || String(r.userId) })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const taskIds = rows.map((r) => String(r.id))
|
||||||
|
const memberRows = taskIds.length
|
||||||
|
? await db().getAll(
|
||||||
|
`SELECT tm.taskId, tm.userId, u.name FROM TaskMember tm LEFT JOIN User u ON u.id = tm.userId WHERE tm.taskId IN (${taskIds.map(() => '?').join(',')})`,
|
||||||
|
taskIds,
|
||||||
|
)
|
||||||
|
: []
|
||||||
|
const tagRows = taskIds.length
|
||||||
|
? await db().getAll(`SELECT taskId, name FROM TaskTag WHERE taskId IN (${taskIds.map(() => '?').join(',')})`, taskIds)
|
||||||
|
: []
|
||||||
|
const membersByTask = new Map()
|
||||||
|
for (const r of memberRows) {
|
||||||
|
const k = String(r.taskId)
|
||||||
|
if (!membersByTask.has(k)) membersByTask.set(k, [])
|
||||||
|
membersByTask.get(k).push({ userId: String(r.userId), name: r.name || String(r.userId) })
|
||||||
|
}
|
||||||
|
const tagsByTask = new Map()
|
||||||
|
for (const r of tagRows) {
|
||||||
|
const k = String(r.taskId)
|
||||||
|
if (!tagsByTask.has(k)) tagsByTask.set(k, [])
|
||||||
|
tagsByTask.get(k).push(r.name)
|
||||||
|
}
|
||||||
|
|
||||||
|
const shapeOne = (t) => {
|
||||||
|
const members = membersByTask.get(String(t.id)) || []
|
||||||
|
const usersByProject = membersByProject.get(String(t.projectId)) || new Map()
|
||||||
|
return {
|
||||||
|
...t,
|
||||||
|
extras: parseJson(t.extras, []),
|
||||||
|
column: columnById.get(String(t.columnId)) || null,
|
||||||
|
assignee: t.assigneeId ? (usersByProject.get(String(t.assigneeId)) || { id: String(t.assigneeId), name: String(t.assigneeId) }) : null,
|
||||||
|
members,
|
||||||
|
tags: tagsByTask.get(String(t.id)) || [],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return shapeOne
|
||||||
|
}
|
||||||
|
|
||||||
|
function projectSummary(p, memberCount, taskCount) {
|
||||||
|
return {
|
||||||
|
id: String(p.id),
|
||||||
|
uuid: p.uuid,
|
||||||
|
code: p.code || null,
|
||||||
|
name: p.name,
|
||||||
|
ownerId: String(p.ownerId),
|
||||||
|
isPersonal: !!p.isPersonal,
|
||||||
|
archived: !!p.archived,
|
||||||
|
createdAt: p.createdAt,
|
||||||
|
updatedAt: p.updatedAt,
|
||||||
|
taskKinds: normTaskKinds(parseJson(p.taskKinds, null)) || DEFAULT_TASK_KINDS,
|
||||||
|
icon: p.icon || null,
|
||||||
|
memberCount,
|
||||||
|
taskCount,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function assertUser() {
|
||||||
|
const uid = getCurrentUserId()
|
||||||
|
if (!uid) throw new Error('未登录')
|
||||||
|
return String(uid)
|
||||||
|
}
|
||||||
|
|
||||||
|
// ---------- 项目 ----------
|
||||||
|
|
||||||
export const projectApi = {
|
export const projectApi = {
|
||||||
list: () => api('/projects'),
|
// 我参与的项目 (本地库; 个人默认项目缺失且在线时回源一次让服务端补建)
|
||||||
detail: (id) => api(`/projects/${id}`),
|
list: async () => {
|
||||||
create: (body) => api('/projects', { method: 'POST', body }),
|
const uid = assertUser()
|
||||||
update: (id, body) => api(`/projects/${id}`, { method: 'PUT', body }),
|
let rows = await db().getAll(
|
||||||
remove: (id) => api(`/projects/${id}`, { method: 'DELETE' }),
|
`SELECT p.* FROM Project p WHERE p.id IN (SELECT pm.projectId FROM ProjectMember pm WHERE pm.userId = ?)
|
||||||
addMember: (id, body) => api(`/projects/${id}/members`, { method: 'POST', body }),
|
ORDER BY p.archived, p.updatedAt DESC`,
|
||||||
removeMember: (id, uid) => api(`/projects/${id}/members/${uid}`, { method: 'DELETE' }),
|
[uid],
|
||||||
|
)
|
||||||
|
if (!rows.some((r) => !!r.isPersonal && String(r.ownerId) === uid)) {
|
||||||
|
try {
|
||||||
|
await api('/projects')
|
||||||
|
await new Promise((r) => setTimeout(r, 1200))
|
||||||
|
rows = await db().getAll(
|
||||||
|
`SELECT p.* FROM Project p WHERE p.id IN (SELECT pm.projectId FROM ProjectMember pm WHERE pm.userId = ?)
|
||||||
|
ORDER BY p.archived, p.updatedAt DESC`,
|
||||||
|
[uid],
|
||||||
|
)
|
||||||
|
} catch { /* 离线: 无个人项目则跳过 */ }
|
||||||
|
}
|
||||||
|
const items = []
|
||||||
|
for (const p of rows) {
|
||||||
|
const memberCount = await db().getOptional('SELECT COUNT(*) AS n FROM ProjectMember WHERE projectId = ?', [String(p.id)])
|
||||||
|
const taskCount = await db().getOptional('SELECT COUNT(*) AS n FROM Task WHERE projectId = ?', [String(p.id)])
|
||||||
|
items.push(projectSummary(p, memberCount?.n || 0, taskCount?.n || 0))
|
||||||
|
}
|
||||||
|
return { items }
|
||||||
|
},
|
||||||
|
|
||||||
|
detail: async (id) => {
|
||||||
|
const p = await db().getOptional('SELECT * FROM Project WHERE id = ?', [String(id)])
|
||||||
|
if (!p) throw new Error('项目不存在或无权限')
|
||||||
|
const members = await getProjectMembers(p.id)
|
||||||
|
const columns = await getColumns(p.id)
|
||||||
|
const taskCount = await db().getOptional('SELECT COUNT(*) AS n FROM Task WHERE projectId = ?', [String(p.id)])
|
||||||
|
return {
|
||||||
|
item: {
|
||||||
|
...projectSummary(p, members.length, taskCount?.n || 0),
|
||||||
|
members,
|
||||||
|
columns,
|
||||||
|
notes: parseJson(p.notes, []),
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
create: async (body) => {
|
||||||
|
const uid = assertUser()
|
||||||
|
const name = String(body?.name || '').trim()
|
||||||
|
if (!name) throw new Error('项目名称不能为空')
|
||||||
|
if (name.length > MAX_NAME) throw new Error(`项目名称不能超过 ${MAX_NAME} 字`)
|
||||||
|
let code = null
|
||||||
|
const rawCode = body?.code
|
||||||
|
if (rawCode !== undefined && rawCode !== null && String(rawCode).trim() !== '') {
|
||||||
|
code = String(rawCode).trim().toUpperCase()
|
||||||
|
if (!/^[A-Z0-9]{2,8}$/.test(code)) throw new Error('项目编号须为 2~8 位字母数字')
|
||||||
|
const dup = await db().getOptional('SELECT id FROM Project WHERE code = ?', [code])
|
||||||
|
if (dup) throw new Error(`项目编号 ${code} 已被占用`)
|
||||||
|
}
|
||||||
|
const id = uuid()
|
||||||
|
const ts = now()
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
await tx.execute(
|
||||||
|
'INSERT INTO Project (id, uuid, code, name, ownerId, isPersonal, archived, notes, taskKinds, icon, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)',
|
||||||
|
[id, id, code, name, uid, 0, 0, '[]', null, null, ts, ts],
|
||||||
|
)
|
||||||
|
await tx.execute(
|
||||||
|
'INSERT INTO ProjectMember (id, uuid, projectId, userId, permission, createdAt) VALUES (?, ?, ?, ?, ?, ?)',
|
||||||
|
[uuid(), uuid(), id, uid, 'member', ts],
|
||||||
|
)
|
||||||
|
for (const c of DEFAULT_COLUMNS) {
|
||||||
|
await tx.execute(
|
||||||
|
'INSERT INTO BoardColumn (id, uuid, projectId, name, sortOrder, boundStatus, retention, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
|
||||||
|
[uuid(), uuid(), id, c.name, c.sortOrder, c.boundStatus, 'forever', ts, ts],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const p = await db().get('SELECT * FROM Project WHERE id = ?', [id])
|
||||||
|
return { item: projectSummary(p, 1, 0) }
|
||||||
|
},
|
||||||
|
|
||||||
|
update: async (id, body) => {
|
||||||
|
await db().getOptional('SELECT id FROM Project WHERE id = ?', [String(id)]).then((p) => {
|
||||||
|
if (!p) throw new Error('项目不存在或无权限')
|
||||||
|
})
|
||||||
|
const data = {}
|
||||||
|
if (body?.name !== undefined) {
|
||||||
|
const t = String(body.name).trim()
|
||||||
|
if (!t) throw new Error('项目名称不能为空')
|
||||||
|
if (t.length > MAX_NAME) throw new Error(`项目名称不能超过 ${MAX_NAME} 字`)
|
||||||
|
data.name = t
|
||||||
|
}
|
||||||
|
if (body?.code !== undefined) {
|
||||||
|
const c = String(body.code || '').trim().toUpperCase()
|
||||||
|
if (!/^[A-Z0-9]{2,8}$/.test(c)) throw new Error('项目编号须为 2~8 位字母数字')
|
||||||
|
const dup = await db().getOptional('SELECT id FROM Project WHERE code = ? AND id != ?', [c, String(id)])
|
||||||
|
if (dup) throw new Error(`项目编号 ${c} 已被占用`)
|
||||||
|
data.code = c
|
||||||
|
}
|
||||||
|
if (body?.taskKinds !== undefined) {
|
||||||
|
const kinds = normTaskKinds(body.taskKinds)
|
||||||
|
if (!kinds?.length) throw new Error('至少保留一个任务类型')
|
||||||
|
data.taskKinds = JSON.stringify(kinds)
|
||||||
|
}
|
||||||
|
if (body?.icon !== undefined) {
|
||||||
|
if (body.icon === null) data.icon = null
|
||||||
|
else {
|
||||||
|
const s = String(body.icon)
|
||||||
|
if (!s.startsWith('data:image/')) throw new Error('图标格式非法')
|
||||||
|
if (s.length > 300_000) throw new Error('图标过大')
|
||||||
|
data.icon = s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (body?.archived !== undefined) data.archived = body.archived ? 1 : 0
|
||||||
|
if (body?.notes !== undefined) {
|
||||||
|
if (!Array.isArray(body.notes)) throw new Error('信息块格式非法')
|
||||||
|
data.notes = JSON.stringify(body.notes.slice(0, 50).map((n) => ({
|
||||||
|
title: String(n?.title ?? '').slice(0, 50),
|
||||||
|
content: String(n?.content ?? '').slice(0, 20000),
|
||||||
|
})))
|
||||||
|
}
|
||||||
|
const sets = Object.keys(data).map((k) => `"${k}" = ?`)
|
||||||
|
if (sets.length) {
|
||||||
|
await db().execute(
|
||||||
|
`UPDATE Project SET ${sets.join(', ')}, updatedAt = ? WHERE id = ?`,
|
||||||
|
[...Object.values(data), now(), String(id)],
|
||||||
|
)
|
||||||
|
}
|
||||||
|
const p = await db().get('SELECT * FROM Project WHERE id = ?', [String(id)])
|
||||||
|
const memberCount = await db().getOptional('SELECT COUNT(*) AS n FROM ProjectMember WHERE projectId = ?', [String(p.id)])
|
||||||
|
const taskCount = await db().getOptional('SELECT COUNT(*) AS n FROM Task WHERE projectId = ?', [String(p.id)])
|
||||||
|
return { item: projectSummary(p, memberCount?.n || 0, taskCount?.n || 0) }
|
||||||
|
},
|
||||||
|
|
||||||
|
remove: async (id) => {
|
||||||
|
const p = await db().getOptional('SELECT * FROM Project WHERE id = ?', [String(id)])
|
||||||
|
if (!p) throw new Error('项目不存在或无权限')
|
||||||
|
if (!!p.isPersonal) throw new Error('个人默认项目不可删除')
|
||||||
|
// 手动级联 (本地 SQLite 无外键级联)
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
const taskIds = (await tx.getAll('SELECT id FROM Task WHERE projectId = ?', [String(p.id)])).map((r) => String(r.id))
|
||||||
|
if (taskIds.length) {
|
||||||
|
const ph = taskIds.map(() => '?').join(',')
|
||||||
|
await tx.execute(`DELETE FROM TaskMember WHERE taskId IN (${ph})`, taskIds)
|
||||||
|
await tx.execute(`DELETE FROM TaskTag WHERE taskId IN (${ph})`, taskIds)
|
||||||
|
}
|
||||||
|
await tx.execute('DELETE FROM Task WHERE projectId = ?', [String(p.id)])
|
||||||
|
await tx.execute('DELETE FROM BoardColumn WHERE projectId = ?', [String(p.id)])
|
||||||
|
await tx.execute('DELETE FROM ProjectMember WHERE projectId = ?', [String(p.id)])
|
||||||
|
await tx.execute('DELETE FROM Project WHERE id = ?', [String(p.id)])
|
||||||
|
})
|
||||||
|
return { ok: true }
|
||||||
|
},
|
||||||
|
|
||||||
|
addMember: async (id, body) => {
|
||||||
|
const p = await db().getOptional('SELECT * FROM Project WHERE id = ?', [String(id)])
|
||||||
|
if (!p) throw new Error('项目不存在或无权限')
|
||||||
|
if (!!p.isPersonal) throw new Error('个人默认项目不可添加成员')
|
||||||
|
let target = null
|
||||||
|
if (body?.userId) target = await db().getOptional('SELECT id, name FROM User WHERE id = ?', [String(body.userId)])
|
||||||
|
else if (body?.email) target = await db().getOptional('SELECT id, name FROM User WHERE email = ?', [String(body.email).trim()])
|
||||||
|
if (!target) throw new Error('用户不存在')
|
||||||
|
const dup = await db().getOptional('SELECT id FROM ProjectMember WHERE projectId = ? AND userId = ?', [String(p.id), String(target.id)])
|
||||||
|
if (dup) throw new Error('该用户已是项目成员')
|
||||||
|
await db().execute(
|
||||||
|
'INSERT INTO ProjectMember (id, uuid, projectId, userId, permission, createdAt) VALUES (?, ?, ?, ?, ?, ?)',
|
||||||
|
[uuid(), uuid(), String(p.id), String(target.id), 'member', now()],
|
||||||
|
)
|
||||||
|
return { ok: true, member: { userId: String(target.id), name: target.name } }
|
||||||
|
},
|
||||||
|
|
||||||
|
removeMember: async (id, uid) => {
|
||||||
|
const p = await db().getOptional('SELECT * FROM Project WHERE id = ?', [String(id)])
|
||||||
|
if (!p) throw new Error('项目不存在或无权限')
|
||||||
|
if (!!p.isPersonal) throw new Error('个人默认项目不可移除成员')
|
||||||
|
const me = getCurrentUserId()
|
||||||
|
if (String(uid) !== me && String(p.ownerId) !== me) throw new Error('只能移除自己,或由创建人移除他人')
|
||||||
|
await db().execute('DELETE FROM ProjectMember WHERE projectId = ? AND userId = ?', [String(p.id), String(uid)])
|
||||||
|
return { ok: true }
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// 看板列
|
// ---------- 看板列 ----------
|
||||||
|
|
||||||
export const columnApi = {
|
export const columnApi = {
|
||||||
list: (projectId) => api(`/projects/${projectId}/columns`),
|
list: async (projectId) => ({ items: await getColumns(projectId) }),
|
||||||
add: (projectId, body) => api(`/projects/${projectId}/columns`, { method: 'POST', body }),
|
|
||||||
update: (id, body) => api(`/columns/${id}`, { method: 'PUT', body }),
|
add: async (projectId, body) => {
|
||||||
remove: (id, moveToColumnId) => api(`/columns/${id}${q({ moveToColumnId })}`, { method: 'DELETE' }),
|
const name = String(body?.name || '').trim()
|
||||||
order: (projectId, ids) => api(`/projects/${projectId}/columns/order`, { method: 'PUT', body: { ids } }),
|
if (!name) throw new Error('列名不能为空')
|
||||||
|
if (name.length > MAX_NAME) throw new Error(`列名不能超过 ${MAX_NAME} 字`)
|
||||||
|
const cols = await getColumns(projectId)
|
||||||
|
if (cols.length >= 10) throw new Error('最多 10 列')
|
||||||
|
if (cols.some((c) => c.name === name)) throw new Error('列名已存在')
|
||||||
|
const id = uuid()
|
||||||
|
const ts = now()
|
||||||
|
await db().execute(
|
||||||
|
'INSERT INTO BoardColumn (id, uuid, projectId, name, sortOrder, boundStatus, retention, createdAt, updatedAt) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
|
||||||
|
[id, id, String(projectId), name, cols.length ? Math.max(...cols.map((c) => Number(c.sortOrder))) + 1 : 0, null, 'forever', ts, ts],
|
||||||
|
)
|
||||||
|
return { item: await db().get('SELECT * FROM BoardColumn WHERE id = ?', [id]) }
|
||||||
|
},
|
||||||
|
|
||||||
|
update: async (id, body) => {
|
||||||
|
const col = await db().getOptional('SELECT * FROM BoardColumn WHERE id = ?', [String(id)])
|
||||||
|
if (!col) throw new Error('列不存在')
|
||||||
|
const data = {}
|
||||||
|
if (body?.name !== undefined) {
|
||||||
|
const t = String(body.name).trim()
|
||||||
|
if (!t) throw new Error('列名不能为空')
|
||||||
|
if (t.length > MAX_NAME) throw new Error(`列名不能超过 ${MAX_NAME} 字`)
|
||||||
|
const dup = await db().getOptional('SELECT id FROM BoardColumn WHERE projectId = ? AND name = ? AND id != ?', [String(col.projectId), t, String(id)])
|
||||||
|
if (dup) throw new Error('列名已存在')
|
||||||
|
data.name = t
|
||||||
|
}
|
||||||
|
if (body?.boundStatus !== undefined) {
|
||||||
|
if (body.boundStatus !== null && !['todo', 'doing', 'done'].includes(body.boundStatus)) throw new Error('绑定状态取值非法')
|
||||||
|
data.boundStatus = body.boundStatus
|
||||||
|
}
|
||||||
|
if (body?.retention !== undefined) {
|
||||||
|
if (!['never', 'today', '3d', 'week', 'month', 'forever'].includes(body.retention)) throw new Error('保留选项取值非法')
|
||||||
|
data.retention = body.retention
|
||||||
|
}
|
||||||
|
const sets = Object.keys(data).map((k) => `"${k}" = ?`)
|
||||||
|
if (sets.length) {
|
||||||
|
await db().execute(`UPDATE BoardColumn SET ${sets.join(', ')}, updatedAt = ? WHERE id = ?`, [...Object.values(data), now(), String(id)])
|
||||||
|
}
|
||||||
|
return { item: await db().get('SELECT * FROM BoardColumn WHERE id = ?', [String(id)]) }
|
||||||
|
},
|
||||||
|
|
||||||
|
remove: async (id, moveToColumnId) => {
|
||||||
|
const col = await db().getOptional('SELECT * FROM BoardColumn WHERE id = ?', [String(id)])
|
||||||
|
if (!col) throw new Error('列不存在')
|
||||||
|
const cols = await getColumns(col.projectId)
|
||||||
|
if (cols.length <= 1) throw new Error('至少保留一列')
|
||||||
|
let targetId = String(moveToColumnId || '')
|
||||||
|
if (!targetId) {
|
||||||
|
const idx = cols.findIndex((c) => String(c.id) === String(id))
|
||||||
|
targetId = String((cols[idx + 1] || cols[idx - 1]).id)
|
||||||
|
}
|
||||||
|
const target = cols.find((c) => String(c.id) === targetId)
|
||||||
|
if (!target || String(target.id) === String(id)) throw new Error('迁移目标列非法')
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
// 迁移任务: 状态按目标列绑定重新裁决 (与服务端同口径)
|
||||||
|
if (target.boundStatus) {
|
||||||
|
await tx.execute('UPDATE Task SET columnId = ?, status = ?, updatedAt = ? WHERE columnId = ?', [targetId, target.boundStatus, now(), String(id)])
|
||||||
|
} else {
|
||||||
|
await tx.execute('UPDATE Task SET columnId = ?, updatedAt = ? WHERE columnId = ?', [targetId, now(), String(id)])
|
||||||
|
}
|
||||||
|
await tx.execute('DELETE FROM BoardColumn WHERE id = ?', [String(id)])
|
||||||
|
})
|
||||||
|
return { ok: true, toColumnId: targetId }
|
||||||
|
},
|
||||||
|
|
||||||
|
order: async (projectId, ids) => {
|
||||||
|
const list = Array.isArray(ids) ? ids.map(String) : []
|
||||||
|
if (!list.length) throw new Error('ids 不能为空')
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
await tx.execute('UPDATE BoardColumn SET sortOrder = ?, updatedAt = ? WHERE id = ?', [i, now(), list[i]])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return { items: await getColumns(projectId) }
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
// 任务
|
// ---------- 任务 ----------
|
||||||
|
|
||||||
|
function assertTitle(t) {
|
||||||
|
const s = String(t || '').trim()
|
||||||
|
if (!s) throw new Error('任务标题不能为空')
|
||||||
|
if (s.length > 30) throw new Error('任务标题不能超过 30 字')
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
function parseMarkDate(v) {
|
||||||
|
if (v === null || v === undefined || v === '') return null
|
||||||
|
const d = new Date(v)
|
||||||
|
if (Number.isNaN(d.getTime())) throw new Error('时间标记格式非法')
|
||||||
|
return d.toISOString()
|
||||||
|
}
|
||||||
|
|
||||||
export const taskApi = {
|
export const taskApi = {
|
||||||
list: (projectId) => api(`/projects/${projectId}/tasks`),
|
list: async (projectId) => {
|
||||||
create: (projectId, body) => api(`/projects/${projectId}/tasks`, { method: 'POST', body }),
|
const columns = await getColumns(projectId)
|
||||||
detail: (id) => api(`/tasks/${id}`),
|
const rows = await db().getAll(
|
||||||
update: (id, body) => api(`/tasks/${id}`, { method: 'PUT', body }),
|
'SELECT * FROM Task WHERE projectId = ? AND parentId IS NULL AND archived = 0 ORDER BY sortOrder, createdAt, id',
|
||||||
reorder: (projectId, ids) => api(`/projects/${projectId}/tasks/reorder`, { method: 'POST', body: { ids } }),
|
[String(projectId)],
|
||||||
remove: (id) => api(`/tasks/${id}`, { method: 'DELETE' }),
|
)
|
||||||
copy: (id, projectId) => api(`/tasks/${id}/copy`, { method: 'POST', body: { projectId } }),
|
const shape = await shapeTasks(rows, columns)
|
||||||
archive: (id) => api(`/tasks/${id}/archive`, { method: 'POST', body: {} }),
|
const shaped = rows.map(shape)
|
||||||
unarchive: (id) => api(`/tasks/${id}/unarchive`, { method: 'POST', body: {} }),
|
// 子任务挂载 (与服务端 TASK_INCLUDE.children 同构)
|
||||||
archivedList: (projectId, params) => api(`/projects/${projectId}/tasks/archived` + q(params)),
|
for (const t of shaped) {
|
||||||
|
const childRows = await db().getAll(
|
||||||
|
'SELECT * FROM Task WHERE parentId = ? ORDER BY sortOrder, id',
|
||||||
|
[String(t.id)],
|
||||||
|
)
|
||||||
|
const childShape = await shapeTasks(childRows, columns)
|
||||||
|
t.children = childRows.map(childShape)
|
||||||
|
}
|
||||||
|
const visible = filterVisible(shaped, columns)
|
||||||
|
return { items: visible, columns, total: shaped.length }
|
||||||
|
},
|
||||||
|
|
||||||
|
create: async (projectId, body) => {
|
||||||
|
const uid = assertUser()
|
||||||
|
const title = assertTitle(body?.title)
|
||||||
|
const columns = await getColumns(projectId)
|
||||||
|
if (!columns.length) throw new Error('项目没有可用的看板列')
|
||||||
|
let parentId = null
|
||||||
|
if (body?.parentId) {
|
||||||
|
const parent = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(body.parentId)])
|
||||||
|
if (!parent) throw new Error('父任务不存在')
|
||||||
|
if (String(parent.projectId) !== String(projectId)) throw new Error('子任务必须与父任务同项目')
|
||||||
|
if (parent.parentId) throw new Error('仅支持一级子任务')
|
||||||
|
parentId = String(parent.id)
|
||||||
|
}
|
||||||
|
const memberIds = await db().getAll('SELECT userId FROM ProjectMember WHERE projectId = ?', [String(projectId)])
|
||||||
|
const memberSet = new Set(memberIds.map((r) => String(r.userId)))
|
||||||
|
let finalAssignee = null
|
||||||
|
if (body?.assigneeId === undefined) finalAssignee = memberSet.has(uid) ? uid : null
|
||||||
|
else if (body?.assigneeId !== null) {
|
||||||
|
const aid = String(body.assigneeId)
|
||||||
|
if (!memberSet.has(aid)) throw new Error('负责人必须是项目成员')
|
||||||
|
finalAssignee = aid
|
||||||
|
}
|
||||||
|
const firstCol = columns[0]
|
||||||
|
const id = uuid()
|
||||||
|
const ts = now()
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
await tx.execute(
|
||||||
|
`INSERT INTO Task (id, uuid, projectId, columnId, parentId, title, description, kind, markDate, status, doneAt, assigneeId, creatorId, extras, sortOrder, number, archived, archivedAt, archiveSource, createdAt, updatedAt)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, 0, NULL, NULL, ?, ?)`,
|
||||||
|
[id, id, String(projectId), String(firstCol.id), parentId, title, String(body?.description || ''),
|
||||||
|
body?.kind ? String(body.kind).trim().slice(0, 20) : null, parseMarkDate(body?.markDate),
|
||||||
|
firstCol.boundStatus || 'todo', null, finalAssignee, uid, '[]', 0, null, ts, ts],
|
||||||
|
)
|
||||||
|
for (const mid of (Array.isArray(body?.memberIds) ? body.memberIds : []).map(String).filter((x) => memberSet.has(x))) {
|
||||||
|
await tx.execute('INSERT INTO TaskMember (id, uuid, taskId, userId) VALUES (?, ?, ?, ?)', [uuid(), uuid(), id, mid])
|
||||||
|
}
|
||||||
|
for (const name of (Array.isArray(body?.tags) ? body.tags : []).filter(Boolean).map((n) => String(n).slice(0, 20))) {
|
||||||
|
await tx.execute('INSERT INTO TaskTag (id, uuid, taskId, name) VALUES (?, ?, ?, ?)', [uuid(), uuid(), id, name])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const row = await db().get('SELECT * FROM Task WHERE id = ?', [id])
|
||||||
|
const shape = await shapeTasks([row], columns)
|
||||||
|
return { item: shape(row) }
|
||||||
|
},
|
||||||
|
|
||||||
|
detail: async (id) => {
|
||||||
|
const row = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!row) throw new Error('任务不存在或无权限')
|
||||||
|
const columns = await getColumns(row.projectId)
|
||||||
|
const shape = await shapeTasks([row], columns)
|
||||||
|
return { item: shape(row) }
|
||||||
|
},
|
||||||
|
|
||||||
|
update: async (id, body) => {
|
||||||
|
const task = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!task) throw new Error('任务不存在或无权限')
|
||||||
|
const columns = await getColumns(task.projectId)
|
||||||
|
const data = {}
|
||||||
|
|
||||||
|
if (body?.title !== undefined) data.title = assertTitle(body.title)
|
||||||
|
if (body?.description !== undefined) data.description = String(body.description)
|
||||||
|
if (body?.kind !== undefined) data.kind = body.kind ? String(body.kind).trim().slice(0, 20) : null
|
||||||
|
if (body?.markDate !== undefined) data.markDate = parseMarkDate(body.markDate)
|
||||||
|
if (body?.extras !== undefined) {
|
||||||
|
if (!Array.isArray(body.extras)) throw new Error('扩展信息格式非法')
|
||||||
|
data.extras = JSON.stringify(body.extras.map((e) => ({
|
||||||
|
label: String(e?.label ?? '').slice(0, 40),
|
||||||
|
value: String(e?.value ?? ''),
|
||||||
|
url: e?.url ? String(e.url) : '',
|
||||||
|
})))
|
||||||
|
}
|
||||||
|
if (body?.sortOrder !== undefined) data.sortOrder = Number(body.sortOrder) || 0
|
||||||
|
|
||||||
|
const memberRows = await db().getAll('SELECT userId FROM ProjectMember WHERE projectId = ?', [String(task.projectId)])
|
||||||
|
const memberSet = new Set(memberRows.map((r) => String(r.userId)))
|
||||||
|
if (body?.assigneeId !== undefined) {
|
||||||
|
if (body.assigneeId === null || body.assigneeId === '') data.assigneeId = null
|
||||||
|
else {
|
||||||
|
const aid = String(body.assigneeId)
|
||||||
|
if (!memberSet.has(aid)) throw new Error('负责人必须是项目成员')
|
||||||
|
data.assigneeId = aid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 列 / 状态联动裁决 (与 server/task-domain/resolveStatus.js 同口径)
|
||||||
|
let status = task.status
|
||||||
|
let columnId = String(task.columnId)
|
||||||
|
const patch = {}
|
||||||
|
if (body?.columnId !== undefined) patch.columnId = String(body.columnId)
|
||||||
|
if (body?.status !== undefined) {
|
||||||
|
if (!['todo', 'doing', 'done'].includes(body.status)) throw new Error('任务状态取值非法')
|
||||||
|
patch.status = body.status
|
||||||
|
}
|
||||||
|
if (patch.columnId !== undefined && !columns.some((c) => String(c.id) === patch.columnId)) {
|
||||||
|
throw new Error('看板列不存在')
|
||||||
|
}
|
||||||
|
if (Object.keys(patch).length) {
|
||||||
|
status = patch.status !== undefined ? patch.status : task.status
|
||||||
|
columnId = patch.columnId !== undefined ? patch.columnId : String(task.columnId)
|
||||||
|
if (!task.parentId) {
|
||||||
|
const ordered = [...columns].sort((a, b) => (Number(a.sortOrder) - Number(b.sortOrder)) || String(a.id).localeCompare(String(b.id)))
|
||||||
|
const targetColumn = ordered.find((c) => String(c.id) === columnId)
|
||||||
|
if (patch.columnId !== undefined && targetColumn) {
|
||||||
|
if (targetColumn.boundStatus) status = targetColumn.boundStatus
|
||||||
|
}
|
||||||
|
if (patch.status !== undefined) {
|
||||||
|
if (!(targetColumn && targetColumn.boundStatus === status)) {
|
||||||
|
const hit = ordered.find((c) => c.boundStatus === status)
|
||||||
|
if (hit) columnId = String(hit.id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
data.status = status
|
||||||
|
data.columnId = columnId
|
||||||
|
}
|
||||||
|
if (data.status === 'done' && task.status !== 'done') data.doneAt = now()
|
||||||
|
else if (data.status !== undefined && data.status !== 'done') data.doneAt = null
|
||||||
|
|
||||||
|
// 拖拽降为子任务
|
||||||
|
if (body?.parentId !== undefined) {
|
||||||
|
if (body.parentId === null) {
|
||||||
|
data.parentId = null
|
||||||
|
} else {
|
||||||
|
const pid = String(body.parentId)
|
||||||
|
if (pid === String(task.id)) throw new Error('不能成为自己的子任务')
|
||||||
|
const parent = await db().getOptional('SELECT * FROM Task WHERE id = ?', [pid])
|
||||||
|
if (!parent) throw new Error('目标任务不存在')
|
||||||
|
if (String(parent.projectId) !== String(task.projectId)) throw new Error('子任务必须与父任务同项目')
|
||||||
|
if (parent.parentId) throw new Error('仅支持一级子任务')
|
||||||
|
const childCount = await db().getOptional('SELECT COUNT(*) AS n FROM Task WHERE parentId = ?', [String(task.id)])
|
||||||
|
if ((childCount?.n || 0) > 0) throw new Error('该任务已有子任务,不能成为子任务')
|
||||||
|
data.parentId = pid
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
const sets = Object.keys(data).map((k) => `"${k}" = ?`)
|
||||||
|
if (sets.length) {
|
||||||
|
await tx.execute(`UPDATE Task SET ${sets.join(', ')}, updatedAt = ? WHERE id = ?`, [...Object.values(data), now(), String(task.id)])
|
||||||
|
}
|
||||||
|
if (Array.isArray(body?.memberIds)) {
|
||||||
|
const ids = body.memberIds.map(String).filter((x) => memberSet.has(x))
|
||||||
|
await tx.execute('DELETE FROM TaskMember WHERE taskId = ?', [String(task.id)])
|
||||||
|
for (const mid of ids) {
|
||||||
|
await tx.execute('INSERT INTO TaskMember (id, uuid, taskId, userId) VALUES (?, ?, ?, ?)', [uuid(), uuid(), String(task.id), mid])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (Array.isArray(body?.tags)) {
|
||||||
|
await tx.execute('DELETE FROM TaskTag WHERE taskId = ?', [String(task.id)])
|
||||||
|
const names = body.tags.map((n) => String(n).trim()).filter(Boolean).slice(0, 10)
|
||||||
|
for (const name of names) {
|
||||||
|
await tx.execute('INSERT INTO TaskTag (id, uuid, taskId, name) VALUES (?, ?, ?, ?)', [uuid(), uuid(), String(task.id), name.slice(0, 20)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const row = await db().get('SELECT * FROM Task WHERE id = ?', [String(task.id)])
|
||||||
|
const shape = await shapeTasks([row], columns)
|
||||||
|
return { item: shape(row) }
|
||||||
|
},
|
||||||
|
|
||||||
|
reorder: async (projectId, ids) => {
|
||||||
|
const list = Array.isArray(ids) ? ids.map(String).filter(Boolean) : []
|
||||||
|
if (!list.length) throw new Error('ids 不能为空')
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
for (let i = 0; i < list.length; i++) {
|
||||||
|
await tx.execute('UPDATE Task SET sortOrder = ?, updatedAt = ? WHERE id = ?', [i, now(), list[i]])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return { ok: true }
|
||||||
|
},
|
||||||
|
|
||||||
|
remove: async (id) => {
|
||||||
|
const task = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!task) throw new Error('任务不存在或无权限')
|
||||||
|
const childCount = await db().getOptional('SELECT COUNT(*) AS n FROM Task WHERE parentId = ?', [String(task.id)])
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
const ids = [String(task.id), ...((await tx.getAll('SELECT id FROM Task WHERE parentId = ?', [String(task.id)])).map((r) => String(r.id)))]
|
||||||
|
const ph = ids.map(() => '?').join(',')
|
||||||
|
await tx.execute(`DELETE FROM TaskMember WHERE taskId IN (${ph})`, ids)
|
||||||
|
await tx.execute(`DELETE FROM TaskTag WHERE taskId IN (${ph})`, ids)
|
||||||
|
await tx.execute(`DELETE FROM Task WHERE id IN (${ph})`, ids)
|
||||||
|
})
|
||||||
|
return { ok: true, deletedSubtasks: childCount?.n || 0 }
|
||||||
|
},
|
||||||
|
|
||||||
|
copy: async (id, projectId) => {
|
||||||
|
const uid = assertUser()
|
||||||
|
const source = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!source) throw new Error('任务不存在或无权限')
|
||||||
|
const targetProject = await db().getOptional('SELECT * FROM Project WHERE id = ?', [String(projectId)])
|
||||||
|
if (!targetProject) throw new Error('目标项目不存在或你不是其成员')
|
||||||
|
const targetColumns = await getColumns(targetProject.id)
|
||||||
|
if (!targetColumns.length) throw new Error('目标项目没有可用的看板列')
|
||||||
|
const sourceColumns = await getColumns(source.projectId)
|
||||||
|
const targetMemberIds = new Set((await db().getAll('SELECT userId FROM ProjectMember WHERE projectId = ?', [String(targetProject.id)])).map((r) => String(r.userId)))
|
||||||
|
|
||||||
|
const pickColumn = (sourceColumnId) => {
|
||||||
|
const src = sourceColumns.find((c) => String(c.id) === String(sourceColumnId))
|
||||||
|
if (src) {
|
||||||
|
const same = targetColumns.find((c) => c.name === src.name)
|
||||||
|
if (same) return String(same.id)
|
||||||
|
}
|
||||||
|
return String(targetColumns[0]?.id)
|
||||||
|
}
|
||||||
|
|
||||||
|
const copyOne = async (tx, s, parentId) => {
|
||||||
|
const newId = uuid()
|
||||||
|
const ts = now()
|
||||||
|
await tx.execute(
|
||||||
|
`INSERT INTO Task (id, uuid, projectId, columnId, parentId, title, description, kind, markDate, status, doneAt, assigneeId, creatorId, extras, sortOrder, number, createdAt, updatedAt)
|
||||||
|
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`,
|
||||||
|
[newId, newId, String(targetProject.id), pickColumn(s.columnId), parentId, s.title, s.description || '', s.kind || null,
|
||||||
|
s.markDate || null, s.status, s.status === 'done' ? (s.doneAt || ts) : null,
|
||||||
|
s.assigneeId && targetMemberIds.has(String(s.assigneeId)) ? String(s.assigneeId) : null,
|
||||||
|
uid, s.extras || '[]', Number(s.sortOrder) || 0, null, ts, ts],
|
||||||
|
)
|
||||||
|
const tagRows = await tx.getAll('SELECT name FROM TaskTag WHERE taskId = ?', [String(s.id)])
|
||||||
|
for (const t of tagRows) {
|
||||||
|
await tx.execute('INSERT INTO TaskTag (id, uuid, taskId, name) VALUES (?, ?, ?, ?)', [uuid(), uuid(), newId, t.name])
|
||||||
|
}
|
||||||
|
const keptMembers = (await tx.getAll('SELECT userId FROM TaskMember WHERE taskId = ?', [String(s.id)])).map((r) => String(r.userId)).filter((x) => targetMemberIds.has(x))
|
||||||
|
for (const m of keptMembers) {
|
||||||
|
await tx.execute('INSERT INTO TaskMember (id, uuid, taskId, userId) VALUES (?, ?, ?, ?)', [uuid(), uuid(), newId, m])
|
||||||
|
}
|
||||||
|
return newId
|
||||||
|
}
|
||||||
|
|
||||||
|
const newId = await db().writeTransaction(async (tx) => {
|
||||||
|
const pid = await copyOne(tx, source, null)
|
||||||
|
const children = await tx.getAll('SELECT * FROM Task WHERE parentId = ?', [String(source.id)])
|
||||||
|
for (const child of children) await copyOne(tx, child, pid)
|
||||||
|
return pid
|
||||||
|
})
|
||||||
|
const row = await db().get('SELECT * FROM Task WHERE id = ?', [newId])
|
||||||
|
const shape = await shapeTasks([row], targetColumns)
|
||||||
|
return { item: shape(row), dropped: { assignee: null, members: [] } }
|
||||||
|
},
|
||||||
|
// ---------- 归档 (T-ARC, 本地实现: 写本地库 -> 上行) ----------
|
||||||
|
|
||||||
|
/** 手动归档: 连带全部子任务, 幂等 (T-ARC-01) */
|
||||||
|
archive: async (id) => {
|
||||||
|
const task = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!task) throw new Error('任务不存在或无权限')
|
||||||
|
const now = now()
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
const kids = await tx.getAll('SELECT id FROM Task WHERE parentId = ?', [String(task.id)])
|
||||||
|
const ids = [String(task.id), ...kids.map((k) => String(k.id))]
|
||||||
|
const ph = ids.map(() => '?').join(',')
|
||||||
|
await tx.execute(
|
||||||
|
`UPDATE Task SET archived = 1, archivedAt = ?, archiveSource = 'manual', updatedAt = ? WHERE id IN (${ph})`,
|
||||||
|
[now, now, ...ids],
|
||||||
|
)
|
||||||
|
})
|
||||||
|
return { ok: true, count: 1 }
|
||||||
|
},
|
||||||
|
|
||||||
|
/** 恢复归档: 回原列, 状态不变, 连带子任务 (T-ARC-03) */
|
||||||
|
unarchive: async (id) => {
|
||||||
|
const task = await db().getOptional('SELECT * FROM Task WHERE id = ?', [String(id)])
|
||||||
|
if (!task) throw new Error('任务不存在或无权限')
|
||||||
|
const now = now()
|
||||||
|
await db().writeTransaction(async (tx) => {
|
||||||
|
const kids = await tx.getAll('SELECT id FROM Task WHERE parentId = ?', [String(task.id)])
|
||||||
|
const ids = [String(task.id), ...kids.map((k) => String(k.id))]
|
||||||
|
const ph = ids.map(() => '?').join(',')
|
||||||
|
await tx.execute(
|
||||||
|
`UPDATE Task SET archived = 0, archivedAt = NULL, archiveSource = NULL, updatedAt = ? WHERE id IN (${ph})`,
|
||||||
|
[now, ...ids],
|
||||||
|
)
|
||||||
|
})
|
||||||
|
return { ok: true, count: 1 }
|
||||||
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 已归档查询: 关键词 / 类型 / 列 / 归档日期区间 + 游标分页 (T-ARC-04)
|
||||||
|
* 参数: { keyword, kind, columnId, from, to, limit, cursor }
|
||||||
|
* cursor 形如 "<archivedAt ISO>|<id>", 按 (archivedAt desc, id desc) 取下一页
|
||||||
|
*/
|
||||||
|
archivedList: async (projectId, params = {}) => {
|
||||||
|
const columns = await getColumns(projectId)
|
||||||
|
const p = params || {}
|
||||||
|
const limit = Math.min(100, Math.max(1, Number(p.limit) || 20))
|
||||||
|
const where = ['projectId = ?', 'archived = 1', 'parentId IS NULL']
|
||||||
|
const args = [String(projectId)]
|
||||||
|
if (p.keyword) {
|
||||||
|
where.push('title LIKE ?')
|
||||||
|
args.push(`%${String(p.keyword).trim()}%`)
|
||||||
|
}
|
||||||
|
if (p.kind) {
|
||||||
|
where.push('kind = ?')
|
||||||
|
args.push(String(p.kind))
|
||||||
|
}
|
||||||
|
if (p.columnId) {
|
||||||
|
where.push('columnId = ?')
|
||||||
|
args.push(String(p.columnId))
|
||||||
|
}
|
||||||
|
if (p.from) {
|
||||||
|
where.push('archivedAt >= ?')
|
||||||
|
args.push(String(p.from) + 'T00:00:00+08:00'.replace('+08:00', 'Z'))
|
||||||
|
}
|
||||||
|
if (p.to) {
|
||||||
|
where.push('archivedAt <= ?')
|
||||||
|
args.push(String(p.to) + 'T23:59:59.999Z')
|
||||||
|
}
|
||||||
|
if (p.cursor) {
|
||||||
|
const [ts, cid] = String(p.cursor).split('|')
|
||||||
|
where.push('(archivedAt < ? OR (archivedAt = ? AND id < ?))')
|
||||||
|
args.push(ts, ts, String(cid))
|
||||||
|
}
|
||||||
|
const rows = await db().getAll(
|
||||||
|
`SELECT * FROM Task WHERE ${where.join(' AND ')} ORDER BY archivedAt DESC, id DESC LIMIT ${limit + 1}`,
|
||||||
|
args,
|
||||||
|
)
|
||||||
|
const hasMore = rows.length > limit
|
||||||
|
const page = rows.slice(0, limit)
|
||||||
|
const shape = await shapeTasks(page, columns)
|
||||||
|
const items = page.map(shape)
|
||||||
|
const last = page[page.length - 1]
|
||||||
|
const nextCursor = hasMore && last ? `${last.archivedAt}|${last.id}` : null
|
||||||
|
return { items, nextCursor }
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { createContext, useContext, useEffect, useState } from 'react'
|
import { createContext, useContext, useEffect, useState } from 'react'
|
||||||
import { api, getToken, setToken, setRememberFlag } from '../api/client.js'
|
import { api, getToken, setToken, setRememberFlag, setCurrentUserId, clearApiCache } from '../api/client.js'
|
||||||
|
import { disconnectAndClearPowersync } from '../lib/powersync/db.js'
|
||||||
|
|
||||||
const AuthContext = createContext(null)
|
const AuthContext = createContext(null)
|
||||||
|
|
||||||
@@ -17,10 +18,14 @@ export function AuthProvider({ children }) {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
const data = await api('/auth/me')
|
const data = await api('/auth/me')
|
||||||
if (!cancelled) setUser(data.user)
|
if (!cancelled) {
|
||||||
|
setUser(data.user)
|
||||||
|
setCurrentUserId(data.user?.id)
|
||||||
|
}
|
||||||
} catch {
|
} catch {
|
||||||
if (!cancelled) {
|
if (!cancelled) {
|
||||||
setToken('')
|
setToken('')
|
||||||
|
setCurrentUserId('')
|
||||||
setUser(null)
|
setUser(null)
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -36,6 +41,7 @@ export function AuthProvider({ children }) {
|
|||||||
setToken(data.token)
|
setToken(data.token)
|
||||||
setRememberFlag(!!remember)
|
setRememberFlag(!!remember)
|
||||||
setUser(data.user)
|
setUser(data.user)
|
||||||
|
setCurrentUserId(data.user?.id)
|
||||||
return data.user
|
return data.user
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,6 +50,11 @@ export function AuthProvider({ children }) {
|
|||||||
setToken('')
|
setToken('')
|
||||||
setRememberFlag(false)
|
setRememberFlag(false)
|
||||||
setUser(null)
|
setUser(null)
|
||||||
|
setCurrentUserId('')
|
||||||
|
try { clearApiCache() } catch { /* ignore */ }
|
||||||
|
try { localStorage.removeItem('iboard_ps_cred') } catch { /* ignore */ }
|
||||||
|
// 断开同步并清空本地 SQLite (0.2.1 离线编辑)
|
||||||
|
try { await disconnectAndClearPowersync() } catch { /* ignore */ }
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { kindColor } from '../../pages/task/kind.js'
|
|||||||
const MAX_SUB = 3
|
const MAX_SUB = 3
|
||||||
|
|
||||||
export default function TaskCard({
|
export default function TaskCard({
|
||||||
task, bindDrag, onClick, onToggleSub, onToggle, onMore, dragging = false, highlight = false,
|
task, codePrefix, bindDrag, onClick, onToggleSub, onToggle, onMore, dragging = false, highlight = false,
|
||||||
}) {
|
}) {
|
||||||
const children = task.children || []
|
const children = task.children || []
|
||||||
const shown = children.slice(0, MAX_SUB)
|
const shown = children.slice(0, MAX_SUB)
|
||||||
@@ -47,6 +47,9 @@ export default function TaskCard({
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="bmeta">
|
<div className="bmeta">
|
||||||
|
{codePrefix && task.number != null && (
|
||||||
|
<span className="num-tag">{codePrefix}-{task.number}</span>
|
||||||
|
)}
|
||||||
{task.markDate && (
|
{task.markDate && (
|
||||||
<span className="date-tag">{task.markDate.slice(5, 10).replace('-', '/')}</span>
|
<span className="date-tag">{task.markDate.slice(5, 10).replace('-', '/')}</span>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const statusLabel = (s) => (s === 'done' ? '完成' : s === 'doing' ? '执行中
|
|||||||
// 复选框 / ⋯ 是独立控件: pointerdown 不冒泡, 不发起拖动,
|
// 复选框 / ⋯ 是独立控件: pointerdown 不冒泡, 不发起拖动,
|
||||||
// 避免长按行后抬手时合成的 click 落在控件上误触状态切换
|
// 避免长按行后抬手时合成的 click 落在控件上误触状态切换
|
||||||
export default function TaskRow({
|
export default function TaskRow({
|
||||||
task, onToggle, onClick, onMore, bindDrag, bindDragHandle, dragging = false, dragOver, indent = false, children,
|
task, codePrefix, onToggle, onClick, onMore, bindDrag, bindDragHandle, dragging = false, dragOver, indent = false, children,
|
||||||
}) {
|
}) {
|
||||||
const done = task.status === 'done'
|
const done = task.status === 'done'
|
||||||
return (
|
return (
|
||||||
@@ -52,6 +52,9 @@ export default function TaskRow({
|
|||||||
<div className="task-title">{task.title}</div>
|
<div className="task-title">{task.title}</div>
|
||||||
{/* 无类型/成员也保留该行, 与有标签的行等高 */}
|
{/* 无类型/成员也保留该行, 与有标签的行等高 */}
|
||||||
<div className="task-meta">
|
<div className="task-meta">
|
||||||
|
{codePrefix && task.number != null && (
|
||||||
|
<span className="num-tag">{codePrefix}-{task.number}</span>
|
||||||
|
)}
|
||||||
{task.markDate && (
|
{task.markDate && (
|
||||||
<span className="date-tag">{task.markDate.slice(5, 10).replace('-', '/')}</span>
|
<span className="date-tag">{task.markDate.slice(5, 10).replace('-', '/')}</span>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { Outlet, useLocation } from 'react-router-dom'
|
import { Outlet, useLocation } from 'react-router-dom'
|
||||||
import BottomNav from '../components/BottomNav.jsx'
|
import BottomNav from '../components/BottomNav.jsx'
|
||||||
|
import { isOffline, subscribeOffline } from '../api/client.js'
|
||||||
|
|
||||||
// 移动端应用外壳
|
// 移动端应用外壳
|
||||||
// - 顶部安全区: 用 --safe-top 撑开 (由 main.jsx 的 calibrateSafeTop 实测校准)
|
// - 顶部安全区: 用 --safe-top 撑开 (由 main.jsx 的 calibrateSafeTop 实测校准)
|
||||||
// - 中间 <main>: flex:1 可滚动主区
|
// - 中间 <main>: flex:1 可滚动主区
|
||||||
// - 底部 TabBar: antd-mobile TabBar 自带底部安全区
|
// - 底部 TabBar: antd-mobile TabBar 自带底部安全区
|
||||||
|
// - 左上角离线标识 (0.2.1): 离线或服务不可达时显示, 请求恢复后自动隐藏
|
||||||
//
|
//
|
||||||
// 注意: 这里不再用 antd-mobile 的 <SafeArea position="top" />.
|
// 注意: 这里不再用 antd-mobile 的 <SafeArea position="top" />.
|
||||||
// 它只是一个空 div, 高度完全依赖 env(safe-area-inset-top); 而 Android WebView
|
// 它只是一个空 div, 高度完全依赖 env(safe-area-inset-top); 而 Android WebView
|
||||||
@@ -22,9 +24,19 @@ export default function MobileShell() {
|
|||||||
return () => clearTimeout(t)
|
return () => clearTimeout(t)
|
||||||
}, [location.pathname])
|
}, [location.pathname])
|
||||||
|
|
||||||
|
// 离线状态 (窗口左上角标识)
|
||||||
|
const [offline, setOfflineState] = useState(isOffline())
|
||||||
|
useEffect(() => subscribeOffline(setOfflineState), [])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="app-root">
|
<div className="app-root">
|
||||||
<div className="app-safe-top" aria-hidden="true" />
|
<div className="app-safe-top" aria-hidden="true" />
|
||||||
|
{offline && (
|
||||||
|
<div className="offline-badge" title="当前离线:显示本地缓存数据">
|
||||||
|
<span className="offline-dot" />
|
||||||
|
<span className="offline-text">离线</span>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
<main className="app-main">
|
<main className="app-main">
|
||||||
<div className={'page-transition' + (animating ? ' active' : '')}>
|
<div className={'page-transition' + (animating ? ' active' : '')}>
|
||||||
<Outlet />
|
<Outlet />
|
||||||
|
|||||||
@@ -0,0 +1,74 @@
|
|||||||
|
// PowerSync 后端连接器: 凭证获取 + 上传队列落地 (0.2.1)
|
||||||
|
// 契约见 server/routes/powersync.js: POST /api/powersync/upload { ops: [{ id, table, op, uuid, data }] }
|
||||||
|
// Web SDK 无需基类, 实现 fetchCredentials / uploadData 两个方法即可
|
||||||
|
import { api, getToken } from '../../api/client.js'
|
||||||
|
|
||||||
|
// 上次成功的同步凭证: 离线时复用, 避免 SDK 因"凭证不可用"清空本地库
|
||||||
|
const CRED_KEY = 'iboard_ps_cred'
|
||||||
|
|
||||||
|
export class IBoardConnector {
|
||||||
|
async fetchCredentials() {
|
||||||
|
// 未登录: 返回 null 让 SDK 保持断开 (登录后由页面触发 connect)
|
||||||
|
if (!getToken()) return null
|
||||||
|
try {
|
||||||
|
const { token, endpoint } = await api('/powersync/token', { method: 'POST' })
|
||||||
|
// VITE_POWERSYNC_URL: 打包端 (Tauri 外壳等) 可覆盖服务端下发的同步地址
|
||||||
|
const ep = import.meta.env.VITE_POWERSYNC_URL || endpoint || ''
|
||||||
|
if (ep && token) {
|
||||||
|
try { localStorage.setItem(CRED_KEY, JSON.stringify({ endpoint: ep, token, ts: Date.now() })) } catch { /* ignore */ }
|
||||||
|
}
|
||||||
|
return { endpoint: ep, token }
|
||||||
|
} catch {
|
||||||
|
// 离线 / 服务不可达: 复用上次凭证 (本地库数据继续可读, 联网后自动恢复同步)
|
||||||
|
try {
|
||||||
|
const cached = JSON.parse(localStorage.getItem(CRED_KEY) || 'null')
|
||||||
|
if (cached?.endpoint && cached?.token) return { endpoint: cached.endpoint, token: cached.token }
|
||||||
|
} catch { /* ignore */ }
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
async invalidateCredentials() {
|
||||||
|
// 交给 SDK: 下次 fetchCredentials 会重新尝试取新凭证 (离线时回退缓存)
|
||||||
|
}
|
||||||
|
|
||||||
|
async uploadData(database) {
|
||||||
|
const batch = await database.getCrudBatch()
|
||||||
|
if (!batch) return
|
||||||
|
|
||||||
|
// 本地行的 id 即为 uuid (客户端创建时生成), 服务端按 uuid 幂等 upsert。
|
||||||
|
// PATCH 的 opData 只含变更列, 这里统一回读全行按 PUT 上行, 保证服务端整行 upsert 语义。
|
||||||
|
const ops = []
|
||||||
|
for (let i = 0; i < batch.crud.length; i++) {
|
||||||
|
const op = batch.crud[i]
|
||||||
|
let data = op.opData || {}
|
||||||
|
if (op.op !== 'DELETE') {
|
||||||
|
try {
|
||||||
|
const row = await database.get(`SELECT * FROM "${op.table}" WHERE id = ?`, [op.id])
|
||||||
|
if (row) data = row
|
||||||
|
} catch { /* 回读失败则用 opData 兜底 */ }
|
||||||
|
}
|
||||||
|
ops.push({
|
||||||
|
id: String(i),
|
||||||
|
table: op.table,
|
||||||
|
op: op.op === 'DELETE' ? 'DELETE' : 'PUT',
|
||||||
|
uuid: op.id,
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
let res
|
||||||
|
try {
|
||||||
|
res = await api('/powersync/upload', { method: 'POST', body: { ops } })
|
||||||
|
} catch (e) {
|
||||||
|
// 网络失败/401: 抛出让 SDK 稍后重试本批
|
||||||
|
throw e
|
||||||
|
}
|
||||||
|
const failed = (res?.results || []).filter((r) => !r.ok)
|
||||||
|
if (failed.length) {
|
||||||
|
// 单条业务错误: 记录并放行 (重试也无法成功, 避免队列卡死); 服务端已尽力落地其余 op
|
||||||
|
console.error('[powersync] upload 部分失败:', failed)
|
||||||
|
}
|
||||||
|
await batch.complete()
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
// PowerSync 本地库单例 (0.2.1 离线编辑)
|
||||||
|
// 页面用法: usePowerSyncQuery 等见 src/lib/powersync/react.jsx; 写入用 db.execute/writeTransaction
|
||||||
|
import { PowerSyncDatabase } from '@powersync/web'
|
||||||
|
import { AppSchema } from './schema.js'
|
||||||
|
import { IBoardConnector } from './connector.js'
|
||||||
|
|
||||||
|
let dbInstance = null
|
||||||
|
|
||||||
|
export function getPowersyncDb() {
|
||||||
|
if (!dbInstance) {
|
||||||
|
dbInstance = new PowerSyncDatabase({
|
||||||
|
schema: AppSchema,
|
||||||
|
database: {
|
||||||
|
// 默认 IDBBatchAtomicVFS (IndexedDB), 兼容性最广; WebView2 (Chromium) 后续可切 OPFS 加速
|
||||||
|
dbFilename: 'iboard-powersync.db',
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
return dbInstance
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 登录后调用: 建立同步连接 (幂等) */
|
||||||
|
export async function connectPowersync() {
|
||||||
|
const db = getPowersyncDb()
|
||||||
|
db.connect(new IBoardConnector())
|
||||||
|
return db
|
||||||
|
}
|
||||||
|
|
||||||
|
/** 退出登录时调用: 断开同步并清空本地库 */
|
||||||
|
export async function disconnectAndClearPowersync() {
|
||||||
|
if (!dbInstance) return
|
||||||
|
try {
|
||||||
|
await dbInstance.disconnectAndClear()
|
||||||
|
} catch {
|
||||||
|
/* ignore */
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
// PowerSync React 接入 (0.2.1 离线编辑)
|
||||||
|
// 用法: 在 App 外层包 <PowerSyncProvider>; 任务模块内用 re-export 的 useQuery/useStatus/usePowerSync
|
||||||
|
import React, { useEffect, useMemo } from 'react'
|
||||||
|
import { PowerSyncContext } from '@powersync/react'
|
||||||
|
import { getPowersyncDb, connectPowersync, disconnectAndClearPowersync } from './db.js'
|
||||||
|
import { useAuth } from '../../auth/AuthContext.jsx'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 登录后建立同步连接; 登出后断开并清空本地库 (避免下一用户读到残留数据)
|
||||||
|
*/
|
||||||
|
export function PowerSyncProvider({ children }) {
|
||||||
|
const { user } = useAuth()
|
||||||
|
const db = useMemo(() => getPowersyncDb(), [])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (user) {
|
||||||
|
connectPowersync().catch((e) => console.error('[powersync] connect 失败:', e))
|
||||||
|
} else {
|
||||||
|
disconnectAndClearPowersync()
|
||||||
|
}
|
||||||
|
}, [user])
|
||||||
|
|
||||||
|
return <PowerSyncContext.Provider value={db}>{children}</PowerSyncContext.Provider>
|
||||||
|
}
|
||||||
|
|
||||||
|
export { useQuery, useStatus, useSuspenseQuery, usePowerSync } from '@powersync/react'
|
||||||
@@ -0,0 +1,98 @@
|
|||||||
|
// PowerSync 客户端 schema (0.2.1 离线编辑)
|
||||||
|
// 表名/列名与 deploy/0.2.1/powersync/sync-config.yaml 的输出严格一致 (PascalCase + text 型 id 由 SDK 自建)
|
||||||
|
// 见 docs/V0.2/离线编辑模块/0.2.1实施方案.md
|
||||||
|
import { column, Schema, Table } from '@powersync/web'
|
||||||
|
|
||||||
|
// 时间/JSON 列在同步流里以文本落地, 本地按字符串读写 (JSON 列为 JSON 字符串)
|
||||||
|
const project = new Table(
|
||||||
|
{
|
||||||
|
uuid: column.text,
|
||||||
|
code: column.text,
|
||||||
|
name: column.text,
|
||||||
|
ownerId: column.text,
|
||||||
|
isPersonal: column.integer,
|
||||||
|
archived: column.integer,
|
||||||
|
notes: column.text,
|
||||||
|
taskKinds: column.text,
|
||||||
|
icon: column.text,
|
||||||
|
autoArchive: column.text,
|
||||||
|
createdAt: column.text,
|
||||||
|
updatedAt: column.text,
|
||||||
|
},
|
||||||
|
{ indexes: { code: ['code'] } },
|
||||||
|
)
|
||||||
|
|
||||||
|
const projectMember = new Table({
|
||||||
|
uuid: column.text,
|
||||||
|
projectId: column.text,
|
||||||
|
userId: column.text,
|
||||||
|
permission: column.text,
|
||||||
|
createdAt: column.text,
|
||||||
|
})
|
||||||
|
|
||||||
|
const boardColumn = new Table(
|
||||||
|
{
|
||||||
|
uuid: column.text,
|
||||||
|
projectId: column.text,
|
||||||
|
name: column.text,
|
||||||
|
sortOrder: column.integer,
|
||||||
|
boundStatus: column.text,
|
||||||
|
retention: column.text,
|
||||||
|
createdAt: column.text,
|
||||||
|
updatedAt: column.text,
|
||||||
|
},
|
||||||
|
{ indexes: { project: ['projectId'] } },
|
||||||
|
)
|
||||||
|
|
||||||
|
const task = new Table(
|
||||||
|
{
|
||||||
|
uuid: column.text,
|
||||||
|
projectId: column.text,
|
||||||
|
columnId: column.text,
|
||||||
|
parentId: column.text,
|
||||||
|
title: column.text,
|
||||||
|
description: column.text,
|
||||||
|
kind: column.text,
|
||||||
|
markDate: column.text,
|
||||||
|
status: column.text,
|
||||||
|
doneAt: column.text,
|
||||||
|
assigneeId: column.text,
|
||||||
|
creatorId: column.text,
|
||||||
|
extras: column.text,
|
||||||
|
sortOrder: column.integer,
|
||||||
|
number: column.integer,
|
||||||
|
archived: column.integer,
|
||||||
|
archivedAt: column.text,
|
||||||
|
archiveSource: column.text,
|
||||||
|
createdAt: column.text,
|
||||||
|
updatedAt: column.text,
|
||||||
|
},
|
||||||
|
{ indexes: { project: ['projectId'], column: ['columnId'], number: ['projectId', 'number'] } },
|
||||||
|
)
|
||||||
|
|
||||||
|
const taskMember = new Table({
|
||||||
|
uuid: column.text,
|
||||||
|
taskId: column.text,
|
||||||
|
userId: column.text,
|
||||||
|
})
|
||||||
|
|
||||||
|
const taskTag = new Table({
|
||||||
|
uuid: column.text,
|
||||||
|
taskId: column.text,
|
||||||
|
name: column.text,
|
||||||
|
})
|
||||||
|
|
||||||
|
const user = new Table({
|
||||||
|
name: column.text,
|
||||||
|
email: column.text,
|
||||||
|
})
|
||||||
|
|
||||||
|
export const AppSchema = new Schema({
|
||||||
|
Project: project,
|
||||||
|
ProjectMember: projectMember,
|
||||||
|
BoardColumn: boardColumn,
|
||||||
|
Task: task,
|
||||||
|
TaskMember: taskMember,
|
||||||
|
TaskTag: taskTag,
|
||||||
|
User: user,
|
||||||
|
})
|
||||||
@@ -36,7 +36,7 @@ function ScrollBody({ children }) {
|
|||||||
// 横向滚列; 列内独立纵向滚动, 列头固定, 滚动时右缘显示滚动条
|
// 横向滚列; 列内独立纵向滚动, 列头固定, 滚动时右缘显示滚动条
|
||||||
// 不做"拖到卡片上转子任务" —— 统一走详情页「转为子任务」
|
// 不做"拖到卡片上转子任务" —— 统一走详情页「转为子任务」
|
||||||
export default function BoardView({
|
export default function BoardView({
|
||||||
tasks, columns, onMoveColumn, onOpen, onToggleSub, onToggle, onMore, onQuickAdd,
|
tasks, columns, codePrefix, onMoveColumn, onOpen, onToggleSub, onToggle, onMore, onQuickAdd,
|
||||||
}) {
|
}) {
|
||||||
const drag = useColumnDrag({ onDrop: onMoveColumn })
|
const drag = useColumnDrag({ onDrop: onMoveColumn })
|
||||||
|
|
||||||
@@ -69,6 +69,7 @@ export default function BoardView({
|
|||||||
<TaskCard
|
<TaskCard
|
||||||
key={t.id}
|
key={t.id}
|
||||||
task={t}
|
task={t}
|
||||||
|
codePrefix={codePrefix}
|
||||||
dragging={drag.dragTask?.id === t.id}
|
dragging={drag.dragTask?.id === t.id}
|
||||||
bindDrag={drag.bind}
|
bindDrag={drag.bind}
|
||||||
onClick={() => { if (!drag.dragTask && !drag.justEnded()) onOpen?.(t) }}
|
onClick={() => { if (!drag.dragTask && !drag.justEnded()) onOpen?.(t) }}
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import useRowDrag from '../../components/task/useRowDrag.js'
|
|||||||
// 换列: 行/把手拖动, 跟手浮层, 手指划到哪个分组松手就落到哪 (与看板一致)
|
// 换列: 行/把手拖动, 跟手浮层, 手指划到哪个分组松手就落到哪 (与看板一致)
|
||||||
// (列表只展示有任务的列, 空列需到看板视图拖入)
|
// (列表只展示有任务的列, 空列需到看板视图拖入)
|
||||||
export default function ListView({
|
export default function ListView({
|
||||||
tasks, columns, onToggle, onOpen, onMore, onMoveColumn, onReorder,
|
tasks, columns, codePrefix, onToggle, onOpen, onMore, onMoveColumn, onReorder,
|
||||||
}) {
|
}) {
|
||||||
const [collapsed, setCollapsed] = useState({})
|
const [collapsed, setCollapsed] = useState({})
|
||||||
const drag = useRowDrag({ columns, onDrop: onMoveColumn, onReorder })
|
const drag = useRowDrag({ columns, onDrop: onMoveColumn, onReorder })
|
||||||
@@ -49,6 +49,7 @@ export default function ListView({
|
|||||||
<div key={t.id}>
|
<div key={t.id}>
|
||||||
<TaskRow
|
<TaskRow
|
||||||
task={t}
|
task={t}
|
||||||
|
codePrefix={codePrefix}
|
||||||
onToggle={onToggle}
|
onToggle={onToggle}
|
||||||
onClick={() => { if (!drag.justEnded()) onOpen(t) }}
|
onClick={() => { if (!drag.justEnded()) onOpen(t) }}
|
||||||
onMore={onMore}
|
onMore={onMore}
|
||||||
|
|||||||
@@ -276,6 +276,7 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
|
|||||||
<ListView
|
<ListView
|
||||||
tasks={visibleTasks}
|
tasks={visibleTasks}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
|
codePrefix={project?.code}
|
||||||
onToggle={toggleDone}
|
onToggle={toggleDone}
|
||||||
onOpen={(t) => setOpenTask(t)}
|
onOpen={(t) => setOpenTask(t)}
|
||||||
onMore={openTaskMenu}
|
onMore={openTaskMenu}
|
||||||
@@ -286,6 +287,7 @@ export default function ProjectView({ projectId, onProjectChanged, onProjectExit
|
|||||||
<BoardView
|
<BoardView
|
||||||
tasks={visibleTasks}
|
tasks={visibleTasks}
|
||||||
columns={columns}
|
columns={columns}
|
||||||
|
codePrefix={project?.code}
|
||||||
onMoveColumn={moveToColumn}
|
onMoveColumn={moveToColumn}
|
||||||
onOpen={(t) => setOpenTask(t)}
|
onOpen={(t) => setOpenTask(t)}
|
||||||
onToggleSub={(c) => toggleDone(c)}
|
onToggleSub={(c) => toggleDone(c)}
|
||||||
|
|||||||
@@ -70,6 +70,35 @@ input, textarea, select { font: inherit; }
|
|||||||
background: var(--color-bg);
|
background: var(--color-bg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 离线标识 (0.2.1): 窗口左上角, 仅在离线/服务不可达时出现 */
|
||||||
|
.offline-badge {
|
||||||
|
position: fixed;
|
||||||
|
top: calc(var(--safe-top) + 4px);
|
||||||
|
left: 6px;
|
||||||
|
z-index: 120;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 4px;
|
||||||
|
padding: 2px 6px;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: rgba(255, 77, 79, 0.12);
|
||||||
|
border: 1px solid rgba(255, 77, 79, 0.35);
|
||||||
|
color: #cf1322;
|
||||||
|
font-size: 10px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 600;
|
||||||
|
pointer-events: none;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.offline-dot {
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #ff4d4f;
|
||||||
|
box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.18);
|
||||||
|
}
|
||||||
|
.offline-text { letter-spacing: 1px; }
|
||||||
|
|
||||||
.app-main {
|
.app-main {
|
||||||
flex: 1 1 auto;
|
flex: 1 1 auto;
|
||||||
min-height: 0;
|
min-height: 0;
|
||||||
@@ -718,6 +747,13 @@ body.me-safe-top .app-safe-top { height: 0; }
|
|||||||
font-size: 10px; line-height: 1; font-weight: 600; color: #fff;
|
font-size: 10px; line-height: 1; font-weight: 600; color: #fff;
|
||||||
border-radius: 4px; padding: 3px 5px; flex-shrink: 0; white-space: nowrap;
|
border-radius: 4px; padding: 3px 5px; flex-shrink: 0; white-space: nowrap;
|
||||||
}
|
}
|
||||||
|
/* 任务编号 (0.2.1): `项目编号-序号`, 服务端分配 */
|
||||||
|
.num-tag {
|
||||||
|
display: inline-flex; align-items: center;
|
||||||
|
font-size: 10px; line-height: 1; font-weight: 600;
|
||||||
|
color: #5b6b7c; background: #eef2f6; border-radius: 4px; padding: 3px 5px;
|
||||||
|
flex-shrink: 0; white-space: nowrap; font-variant-numeric: tabular-nums;
|
||||||
|
}
|
||||||
/* 项目管理: 任务类型编辑 chips */
|
/* 项目管理: 任务类型编辑 chips */
|
||||||
.kind-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
|
.kind-chip-row { display: flex; flex-wrap: wrap; gap: 8px; }
|
||||||
.kind-chip {
|
.kind-chip {
|
||||||
|
|||||||
@@ -17,6 +17,10 @@ const BUILD_ID = makeBuildId()
|
|||||||
// 注意: 不能设 hmr: false —— 那会连 WS 通道一起关掉, 文件变更不再触发任何刷新。
|
// 注意: 不能设 hmr: false —— 那会连 WS 通道一起关掉, 文件变更不再触发任何刷新。
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
plugins: [react()],
|
plugins: [react()],
|
||||||
|
// PowerSync 的数据库/同步跑在 module worker 里, iife worker 不支持代码分包 (0.2.1)
|
||||||
|
worker: {
|
||||||
|
format: 'es',
|
||||||
|
},
|
||||||
define: {
|
define: {
|
||||||
__BUILD_ID__: JSON.stringify(BUILD_ID), // 构建时生成的唯一 build 号
|
__BUILD_ID__: JSON.stringify(BUILD_ID), // 构建时生成的唯一 build 号
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user