diff --git a/docs/V0.2/离线编辑模块/0.2.1实施方案.md b/docs/V0.2/离线编辑模块/0.2.1实施方案.md new file mode 100644 index 0000000..346c525 --- /dev/null +++ b/docs/V0.2/离线编辑模块/0.2.1实施方案.md @@ -0,0 +1,94 @@ +# 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)。 + +## 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 验证期数据与现网彻底隔离,不回迁;若验证后需并回主线,另行决策迁移口径。 diff --git a/generated/prisma/browser.ts b/generated/prisma/browser.ts index fad8cc8..6b62810 100644 --- a/generated/prisma/browser.ts +++ b/generated/prisma/browser.ts @@ -132,3 +132,33 @@ export type CheckListItem = Prisma.CheckListItemModel * */ export type CheckListTemplate = Prisma.CheckListTemplateModel +/** + * Model Project + * + */ +export type Project = Prisma.ProjectModel +/** + * Model ProjectMember + * + */ +export type ProjectMember = Prisma.ProjectMemberModel +/** + * Model BoardColumn + * + */ +export type BoardColumn = Prisma.BoardColumnModel +/** + * Model Task + * + */ +export type Task = Prisma.TaskModel +/** + * Model TaskMember + * + */ +export type TaskMember = Prisma.TaskMemberModel +/** + * Model TaskTag + * + */ +export type TaskTag = Prisma.TaskTagModel diff --git a/generated/prisma/client.ts b/generated/prisma/client.ts index 322de4c..188bf4b 100644 --- a/generated/prisma/client.ts +++ b/generated/prisma/client.ts @@ -156,3 +156,33 @@ export type CheckListItem = Prisma.CheckListItemModel * */ export type CheckListTemplate = Prisma.CheckListTemplateModel +/** + * Model Project + * + */ +export type Project = Prisma.ProjectModel +/** + * Model ProjectMember + * + */ +export type ProjectMember = Prisma.ProjectMemberModel +/** + * Model BoardColumn + * + */ +export type BoardColumn = Prisma.BoardColumnModel +/** + * Model Task + * + */ +export type Task = Prisma.TaskModel +/** + * Model TaskMember + * + */ +export type TaskMember = Prisma.TaskMemberModel +/** + * Model TaskTag + * + */ +export type TaskTag = Prisma.TaskTagModel diff --git a/generated/prisma/commonInputTypes.ts b/generated/prisma/commonInputTypes.ts index d0d5081..3deecf5 100644 --- a/generated/prisma/commonInputTypes.ts +++ b/generated/prisma/commonInputTypes.ts @@ -16,8 +16,8 @@ import type * as Prisma from "./internal/prismaNamespace.ts" export type IntFilter<$PrismaModel = never> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -27,8 +27,8 @@ export type IntFilter<$PrismaModel = never> = { export type StringFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -36,14 +36,14 @@ export type StringFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string + mode?: Prisma.QueryMode not?: Prisma.NestedStringFilter<$PrismaModel> | string } export type DateTimeFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] - notIn?: Date[] | string[] + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -69,8 +69,8 @@ export type IntWithAggregatesFilter<$PrismaModel = never> = { export type StringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -78,7 +78,7 @@ export type StringWithAggregatesFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string + mode?: Prisma.QueryMode not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: Prisma.NestedIntFilter<$PrismaModel> _min?: Prisma.NestedStringFilter<$PrismaModel> @@ -87,8 +87,8 @@ export type StringWithAggregatesFilter<$PrismaModel = never> = { export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] - notIn?: Date[] | string[] + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter } @@ -132,7 +132,7 @@ export type JsonWithAggregatesFilter<$PrismaModel = never> = export type JsonWithAggregatesFilterBase<$PrismaModel = never> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter _count?: Prisma.NestedIntFilter<$PrismaModel> _min?: Prisma.NestedJsonFilter<$PrismaModel> @@ -165,8 +165,8 @@ export type BoolWithAggregatesFilter<$PrismaModel = never> = { export type FloatFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -176,8 +176,8 @@ export type FloatFilter<$PrismaModel = never> = { export type FloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -192,8 +192,8 @@ export type FloatWithAggregatesFilter<$PrismaModel = never> = { export type StringNullableFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null - in?: string[] | null - notIn?: string[] | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -201,7 +201,7 @@ export type StringNullableFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string + mode?: Prisma.QueryMode not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null } @@ -212,8 +212,8 @@ export type SortOrderInput = { export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null - in?: string[] | null - notIn?: string[] | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -221,7 +221,7 @@ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string + mode?: Prisma.QueryMode not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: Prisma.NestedIntNullableFilter<$PrismaModel> _min?: Prisma.NestedStringNullableFilter<$PrismaModel> @@ -230,8 +230,8 @@ export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { export type BigIntFilter<$PrismaModel = never> = { equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> - in?: bigint[] | number[] - notIn?: bigint[] | number[] + in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> lte?: 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> = { equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> - in?: bigint[] | number[] - notIn?: bigint[] | number[] + in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> lte?: 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> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter } @@ -288,7 +288,7 @@ export type JsonNullableWithAggregatesFilter<$PrismaModel = never> = export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter _count?: Prisma.NestedIntNullableFilter<$PrismaModel> _min?: Prisma.NestedJsonNullableFilter<$PrismaModel> @@ -308,8 +308,8 @@ export type JsonNullableWithAggregatesFilterBase<$PrismaModel = never> = { export type IntNullableFilter<$PrismaModel = never> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -319,8 +319,8 @@ export type IntNullableFilter<$PrismaModel = never> = { export type DateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null - in?: Date[] | string[] | null - notIn?: Date[] | string[] | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -346,8 +346,8 @@ export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null - in?: Date[] | string[] | null - notIn?: Date[] | string[] | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -371,8 +371,8 @@ export type FloatNullableFilter<$PrismaModel = never> = { export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -387,8 +387,8 @@ export type FloatNullableWithAggregatesFilter<$PrismaModel = never> = { export type NestedIntFilter<$PrismaModel = never> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -398,8 +398,8 @@ export type NestedIntFilter<$PrismaModel = never> = { export type NestedStringFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -407,14 +407,13 @@ export type NestedStringFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string not?: Prisma.NestedStringFilter<$PrismaModel> | string } export type NestedDateTimeFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] - notIn?: Date[] | string[] + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -440,8 +439,8 @@ export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { export type NestedFloatFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -451,8 +450,8 @@ export type NestedFloatFilter<$PrismaModel = never> = { export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> - in?: string[] - notIn?: string[] + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -460,7 +459,6 @@ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string not?: Prisma.NestedStringWithAggregatesFilter<$PrismaModel> | string _count?: Prisma.NestedIntFilter<$PrismaModel> _min?: Prisma.NestedStringFilter<$PrismaModel> @@ -469,8 +467,8 @@ export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> - in?: Date[] | string[] - notIn?: Date[] | string[] + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter } @@ -520,8 +518,8 @@ export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> - in?: number[] - notIn?: number[] + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -536,8 +534,8 @@ export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { export type NestedStringNullableFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null - in?: string[] | null - notIn?: string[] | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -545,14 +543,13 @@ export type NestedStringNullableFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string not?: Prisma.NestedStringNullableFilter<$PrismaModel> | string | null } export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: string | Prisma.StringFieldRefInput<$PrismaModel> | null - in?: string[] | null - notIn?: string[] | null + in?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | Prisma.ListStringFieldRefInput<$PrismaModel> | null lt?: string | Prisma.StringFieldRefInput<$PrismaModel> lte?: string | Prisma.StringFieldRefInput<$PrismaModel> gt?: string | Prisma.StringFieldRefInput<$PrismaModel> @@ -560,7 +557,6 @@ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { contains?: string | Prisma.StringFieldRefInput<$PrismaModel> startsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> endsWith?: string | Prisma.StringFieldRefInput<$PrismaModel> - search?: string not?: Prisma.NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null _count?: Prisma.NestedIntNullableFilter<$PrismaModel> _min?: Prisma.NestedStringNullableFilter<$PrismaModel> @@ -569,8 +565,8 @@ export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { export type NestedIntNullableFilter<$PrismaModel = never> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -580,8 +576,8 @@ export type NestedIntNullableFilter<$PrismaModel = never> = { export type NestedBigIntFilter<$PrismaModel = never> = { equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> - in?: bigint[] | number[] - notIn?: bigint[] | number[] + in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> lte?: 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> = { equals?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> - in?: bigint[] | number[] - notIn?: bigint[] | number[] + in?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> + notIn?: bigint[] | number[] | Prisma.ListBigIntFieldRefInput<$PrismaModel> lt?: bigint | number | Prisma.BigIntFieldRefInput<$PrismaModel> lte?: 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> = { equals?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter - path?: string + path?: string[] mode?: Prisma.QueryMode | Prisma.EnumQueryModeFieldRefInput<$PrismaModel> string_contains?: 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_ends_with?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null array_contains?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | null - lt?: runtime.InputJsonValue - lte?: runtime.InputJsonValue - gt?: runtime.InputJsonValue - gte?: runtime.InputJsonValue + lt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + lte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gt?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> + gte?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> not?: runtime.InputJsonValue | Prisma.JsonFieldRefInput<$PrismaModel> | Prisma.JsonNullValueFilter } export type NestedDateTimeNullableFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null - in?: Date[] | string[] | null - notIn?: Date[] | string[] | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.IntFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListIntFieldRefInput<$PrismaModel> | null lt?: number | Prisma.IntFieldRefInput<$PrismaModel> lte?: number | Prisma.IntFieldRefInput<$PrismaModel> gt?: number | Prisma.IntFieldRefInput<$PrismaModel> @@ -658,8 +654,8 @@ export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { export type NestedFloatNullableFilter<$PrismaModel = never> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> @@ -669,8 +665,8 @@ export type NestedFloatNullableFilter<$PrismaModel = never> = { export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { equals?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> | null - in?: Date[] | string[] | null - notIn?: Date[] | string[] | null + in?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | Prisma.ListDateTimeFieldRefInput<$PrismaModel> | null lt?: Date | string | Prisma.DateTimeFieldRefInput<$PrismaModel> lte?: 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> = { equals?: number | Prisma.FloatFieldRefInput<$PrismaModel> | null - in?: number[] | null - notIn?: number[] | null + in?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | Prisma.ListFloatFieldRefInput<$PrismaModel> | null lt?: number | Prisma.FloatFieldRefInput<$PrismaModel> lte?: number | Prisma.FloatFieldRefInput<$PrismaModel> gt?: number | Prisma.FloatFieldRefInput<$PrismaModel> diff --git a/generated/prisma/internal/class.ts b/generated/prisma/internal/class.ts index c8ce4ba..7828f52 100644 --- a/generated/prisma/internal/class.ts +++ b/generated/prisma/internal/class.ts @@ -19,8 +19,8 @@ const config: runtime.GetPrismaClientConfig = { "previewFeatures": [], "clientVersion": "7.7.0", "engineVersion": "75cbdc1eb7150937890ad5465d861175c6624711", - "activeProvider": "mysql", - "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Get a free hosted Postgres database in seconds: `npx create-db`\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"mysql\"\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n name String\n email String @unique\n password String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // V0.2 打卡 / 清单: 用户删除时级联清理\n habits Habit[]\n checkIns CheckIn[]\n checkLists CheckList[]\n templates CheckListTemplate[]\n}\n\nmodel Article {\n id Int @id @default(autoincrement())\n title String\n slug String @unique\n content String\n date String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Strategy {\n id Int @id @default(autoincrement())\n name String\n description String\n data Json\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Indicator {\n id Int @id @default(autoincrement())\n name String @unique\n groupName String\n title String @default(\"\")\n unit String @default(\"\")\n source String @default(\"\")\n frequency String @default(\"month\") // year | quarter | month | day\n hidden Boolean @default(false) // true = 数据/脚本保留, 但不在前端展示\n points IndicatorPoint[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel IndicatorPoint {\n id Int @id @default(autoincrement())\n indicatorId Int\n indicator Indicator @relation(fields: [indicatorId], references: [id], onDelete: Cascade)\n period String // \"2024\" | \"2024-Q1\" | \"2024-01\" | \"2024-01-15\"\n value Float\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([indicatorId, period])\n}\n\n// 新闻: 每天 3 点由 mx_finance_search_news 拉取, 按影响大小排序, 累加多日供首页无限滚动\nmodel News {\n id Int @id @default(autoincrement())\n title String\n summary String @default(\"\")\n content String? @db.Text\n source String @default(\"\")\n url String @default(\"\")\n publishedAt DateTime\n impactRank Int\n createdAt DateTime @default(now())\n\n @@unique([title, publishedAt])\n @@index([publishedAt])\n}\n\n// 报警: refresh 写库时比对同 (indicatorName, period) 的跨源数据, 差异超阈值记录\nmodel Alert {\n id Int @id @default(autoincrement())\n indicatorName String\n period String\n valueA Float\n valueB Float\n sourceA String\n sourceB String\n diff Float\n diffRatio Float\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\n// 服务器监控: 对接 komari 公开 API\nmodel ServerNode {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n cpuName String @default(\"\")\n os String @default(\"\")\n region String @default(\"\")\n memTotal BigInt @default(0)\n diskTotal BigInt @default(0)\n cpuCores Int @default(0)\n // 最新实时快照\n cpuUsage Float @default(0)\n ramUsed BigInt @default(0)\n swapUsed BigInt @default(0)\n load1 Float @default(0)\n load5 Float @default(0)\n load15 Float @default(0)\n diskUsed BigInt @default(0)\n netIn BigInt @default(0)\n netOut BigInt @default(0)\n uptime BigInt @default(0)\n process Int @default(0)\n connections Int @default(0)\n status String @default(\"unknown\") // online | offline | unknown\n recordedAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// 时序历史: 每节点每分钟一条 (komari records 1 分钟粒度)\nmodel ServerNodeHistory {\n id Int @id @default(autoincrement())\n uuid String\n period DateTime\n cpu Float @default(0)\n ram BigInt @default(0)\n load Float @default(0)\n disk BigInt @default(0)\n netIn BigInt @default(0)\n netOut BigInt @default(0)\n process Int @default(0)\n connections Int @default(0)\n createdAt DateTime @default(now())\n\n @@unique([uuid, period])\n @@index([uuid, period])\n}\n\n// 服务健康检查: 本应用自检 (健康端点 / DB / 第三方)\nmodel ServiceCheck {\n id Int @id @default(autoincrement())\n name String @unique\n url String\n status String @default(\"unknown\") // up | down | unknown\n latencyMs Int @default(0)\n message String @default(\"\")\n lastCheckAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Econ_SowInventory {\n id Int @id @default(autoincrement())\n month String @unique\n inventory Int // 能繁母猪数量(万头)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ScraperCache {\n id Int @id @default(autoincrement())\n scraperName String @unique // 爬虫名称,如:sow-inventory\n lastDataHash String? // 上次数据指纹\n lastUpdateAt DateTime // 上次更新时间\n metadata Json? // 其他元数据\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// 浙江省油价历史 (apizero price 接口每日抓取)\n// 每天 04:00 cron 触发: 检查 schedule 里待定且 <= 昨天的调价日, 抓 price?province=浙江 存本表\n// unique (date, province, fuel) 防重复\nmodel OilPriceHistory {\n id Int @id @default(autoincrement())\n date DateTime // 调价日次日 (即数据实际抓取日)\n province String // '浙江'\n fuel String // '92' | '95' | '0'\n price Float // 油价 (元/升, 4 位小数足够)\n source String @default(\"apizero\")\n createdAt DateTime @default(now())\n\n @@unique([date, province, fuel])\n @@index([province, fuel, date])\n}\n\n// ==================== 环境监控:米家 ====================\n\n// 米家授权状态 (DiskCache 存凭证, 本表只存状态/错误供前端展示)\nmodel MihomeAccount {\n id Int @id @default(autoincrement())\n key String @unique @default(\"default\")\n userId String @default(\"\")\n status String @default(\"unknown\") // ok | pending | expired\n lastError String @default(\"\")\n updatedAt DateTime @updatedAt\n}\n\nmodel MihomeHome {\n id Int @id @default(autoincrement())\n homeId String @unique\n name String\n createdAt DateTime @default(now())\n devices MihomeDevice[]\n}\n\nmodel MihomeDevice {\n id Int @id @default(autoincrement())\n did String @unique\n homeId String\n home MihomeHome @relation(fields: [homeId], references: [homeId])\n model String\n name String\n alias String? // 用户别名, 仅本应用展示\n tempSiid Int\n tempPiid Int\n humSiid Int\n humPiid Int\n battSiid Int // 电池电量属性 (炎米 3.1003 / 青萍 2.3)\n battPiid Int\n battery Int? // 最近一次电量 (每天读一次, 标题展示用)\n batteryAt DateTime? // 电量读取时间 (当天缓存, 不频繁更新)\n enabled Boolean @default(true)\n lastSyncAt DateTime?\n createdAt DateTime @default(now())\n samples MihomeEnvSample[]\n hours MihomeEnvHour[]\n}\n\n// 日档: 月视图(逐日)数据源; unique (deviceId, date) 防重\nmodel MihomeEnvSample {\n id Int @id @default(autoincrement())\n deviceId Int\n device MihomeDevice @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n date DateTime // 采样日 (Asia/Shanghai 当日 00:00 存 UTC)\n temperature Float? // 当日最后一次实时值 (或 vendor hour 均值)\n humidity Float?\n temperatureAvg Float? // 当日均值 (由小时档聚合, 或 vendor_hour)\n humidityAvg Float?\n temperatureMin Float? // 当日最低\n temperatureMax Float? // 当日最高\n humidityMin Float?\n humidityMax Float?\n origin String @default(\"live\") // live | vendor_history | backfill\n sampledAt DateTime?\n raw Json?\n createdAt DateTime @default(now())\n\n @@unique([deviceId, date])\n @@index([deviceId, date])\n}\n\n// 小时档: 当天视图(逐小时)数据源; unique (deviceId, hour) 防重\nmodel MihomeEnvHour {\n id Int @id @default(autoincrement())\n deviceId Int\n device MihomeDevice @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n hour DateTime // Asia/Shanghai 整点 (存 UTC)\n temperatureAvg Float? // 该小时均值 (live 采样点, 或 vendor_hour)\n humidityAvg Float?\n raw Json?\n createdAt DateTime @default(now())\n\n @@unique([deviceId, hour])\n @@index([deviceId, hour])\n}\n\n// ==================== 打卡 / 日历 / 清单 (V0.2) ====================\n\n// 打卡项: 周期性目标 (每天 / 每周 / 每月 / 每年 n 次)\nmodel Habit {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n name String\n period String @default(\"day\") // day | week | month | year\n target Int @default(1) // 周期内目标次数 n (>=1)\n color String @default(\"#1677ff\")\n icon String @default(\"\") // emoji 或图标名, 预留\n note String @default(\"\")\n archived Boolean @default(false) // 归档: 不出现在今日待办, 历史保留\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n records CheckIn[]\n\n @@index([userId, archived, sortOrder])\n}\n\n// 打卡记录: 一次打卡 = 一条; 同日多次 => seq 递增 (1..n, 超额继续累加)\nmodel CheckIn {\n id Int @id @default(autoincrement())\n habitId Int\n habit Habit @relation(fields: [habitId], references: [id], onDelete: Cascade)\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n date String @db.VarChar(10) // 本地日历日 \"YYYY-MM-DD\" (Asia/Shanghai)\n seq Int @default(1) // 当日第几次\n note String @default(\"\")\n source String @default(\"user\") // user | backfill (补打)\n createdAt DateTime @default(now())\n\n @@unique([habitId, date, seq])\n @@index([userId, date])\n @@index([habitId, date])\n}\n\n// 检查清单: 出差 / 回老家 等场景的一次性清单\nmodel CheckList {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n title String\n scene String @default(\"\") // 出差 | 回老家 | 自定义\n note String @default(\"\")\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n items CheckListItem[]\n\n @@index([userId, archived])\n}\n\n// 检查项: 勾选即完成\nmodel CheckListItem {\n id Int @id @default(autoincrement())\n listId Int\n list CheckList @relation(fields: [listId], references: [id], onDelete: Cascade)\n title String\n note String @default(\"\")\n done Boolean @default(false)\n doneAt DateTime?\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([listId, sortOrder])\n}\n\n// 清单模板: builtin = 系统预置 (userId 为空); 否则为用户自定义\nmodel CheckListTemplate {\n id Int @id @default(autoincrement())\n userId Int?\n user User? @relation(fields: [userId], references: [id], onDelete: Cascade)\n name String\n scene String @default(\"\")\n items Json // [{ title, note }]\n builtin Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId, builtin])\n}\n", + "activeProvider": "postgresql", + "inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\n// Get a free hosted Postgres database in seconds: `npx create-db`\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n}\n\nmodel User {\n id Int @id @default(autoincrement())\n name String\n email String @unique\n password String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n // V0.2 打卡 / 清单: 用户删除时级联清理\n habits Habit[]\n checkIns CheckIn[]\n checkLists CheckList[]\n templates CheckListTemplate[]\n\n // V0.2 任务模块\n ownedProjects Project[] @relation(\"ProjectOwner\")\n projectMembers ProjectMember[]\n assignedTasks Task[] @relation(\"TaskAssignee\")\n createdTasks Task[] @relation(\"TaskCreator\")\n taskMembers TaskMember[]\n}\n\nmodel Article {\n id Int @id @default(autoincrement())\n title String\n slug String @unique\n content String\n date String\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Strategy {\n id Int @id @default(autoincrement())\n name String\n description String\n data Json\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Indicator {\n id Int @id @default(autoincrement())\n name String @unique\n groupName String\n title String @default(\"\")\n unit String @default(\"\")\n source String @default(\"\")\n frequency String @default(\"month\") // year | quarter | month | day\n hidden Boolean @default(false) // true = 数据/脚本保留, 但不在前端展示\n points IndicatorPoint[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel IndicatorPoint {\n id Int @id @default(autoincrement())\n indicatorId Int\n indicator Indicator @relation(fields: [indicatorId], references: [id], onDelete: Cascade)\n period String // \"2024\" | \"2024-Q1\" | \"2024-01\" | \"2024-01-15\"\n value Float\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([indicatorId, period])\n}\n\n// 新闻: 每天 3 点由 mx_finance_search_news 拉取, 按影响大小排序, 累加多日供首页无限滚动\nmodel News {\n id Int @id @default(autoincrement())\n title String\n summary String @default(\"\")\n content String? @db.Text\n source String @default(\"\")\n url String @default(\"\")\n publishedAt DateTime\n impactRank Int\n createdAt DateTime @default(now())\n\n @@unique([title, publishedAt])\n @@index([publishedAt])\n}\n\n// 报警: refresh 写库时比对同 (indicatorName, period) 的跨源数据, 差异超阈值记录\nmodel Alert {\n id Int @id @default(autoincrement())\n indicatorName String\n period String\n valueA Float\n valueB Float\n sourceA String\n sourceB String\n diff Float\n diffRatio Float\n createdAt DateTime @default(now())\n\n @@index([createdAt])\n}\n\n// 服务器监控: 对接 komari 公开 API\nmodel ServerNode {\n id Int @id @default(autoincrement())\n uuid String @unique\n name String\n cpuName String @default(\"\")\n os String @default(\"\")\n region String @default(\"\")\n memTotal BigInt @default(0)\n diskTotal BigInt @default(0)\n cpuCores Int @default(0)\n // 最新实时快照\n cpuUsage Float @default(0)\n ramUsed BigInt @default(0)\n swapUsed BigInt @default(0)\n load1 Float @default(0)\n load5 Float @default(0)\n load15 Float @default(0)\n diskUsed BigInt @default(0)\n netIn BigInt @default(0)\n netOut BigInt @default(0)\n uptime BigInt @default(0)\n process Int @default(0)\n connections Int @default(0)\n status String @default(\"unknown\") // online | offline | unknown\n recordedAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// 时序历史: 每节点每分钟一条 (komari records 1 分钟粒度)\nmodel ServerNodeHistory {\n id Int @id @default(autoincrement())\n uuid String\n period DateTime\n cpu Float @default(0)\n ram BigInt @default(0)\n load Float @default(0)\n disk BigInt @default(0)\n netIn BigInt @default(0)\n netOut BigInt @default(0)\n process Int @default(0)\n connections Int @default(0)\n createdAt DateTime @default(now())\n\n @@unique([uuid, period])\n @@index([uuid, period])\n}\n\n// 服务健康检查: 本应用自检 (健康端点 / DB / 第三方)\nmodel ServiceCheck {\n id Int @id @default(autoincrement())\n name String @unique\n url String\n status String @default(\"unknown\") // up | down | unknown\n latencyMs Int @default(0)\n message String @default(\"\")\n lastCheckAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Econ_SowInventory {\n id Int @id @default(autoincrement())\n month String @unique\n inventory Int // 能繁母猪数量(万头)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel ScraperCache {\n id Int @id @default(autoincrement())\n scraperName String @unique // 爬虫名称,如:sow-inventory\n lastDataHash String? // 上次数据指纹\n lastUpdateAt DateTime // 上次更新时间\n metadata Json? // 其他元数据\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\n// 浙江省油价历史 (apizero price 接口每日抓取)\n// 每天 04:00 cron 触发: 检查 schedule 里待定且 <= 昨天的调价日, 抓 price?province=浙江 存本表\n// unique (date, province, fuel) 防重复\nmodel OilPriceHistory {\n id Int @id @default(autoincrement())\n date DateTime // 调价日次日 (即数据实际抓取日)\n province String // '浙江'\n fuel String // '92' | '95' | '0'\n price Float // 油价 (元/升, 4 位小数足够)\n source String @default(\"apizero\")\n createdAt DateTime @default(now())\n\n @@unique([date, province, fuel])\n @@index([province, fuel, date])\n}\n\n// ==================== 环境监控:米家 ====================\n\n// 米家授权状态 (DiskCache 存凭证, 本表只存状态/错误供前端展示)\nmodel MihomeAccount {\n id Int @id @default(autoincrement())\n key String @unique @default(\"default\")\n userId String @default(\"\")\n status String @default(\"unknown\") // ok | pending | expired\n lastError String @default(\"\")\n updatedAt DateTime @updatedAt\n}\n\nmodel MihomeHome {\n id Int @id @default(autoincrement())\n homeId String @unique\n name String\n createdAt DateTime @default(now())\n devices MihomeDevice[]\n}\n\nmodel MihomeDevice {\n id Int @id @default(autoincrement())\n did String @unique\n homeId String\n home MihomeHome @relation(fields: [homeId], references: [homeId])\n model String\n name String\n alias String? // 用户别名, 仅本应用展示\n tempSiid Int\n tempPiid Int\n humSiid Int\n humPiid Int\n battSiid Int // 电池电量属性 (炎米 3.1003 / 青萍 2.3)\n battPiid Int\n battery Int? // 最近一次电量 (每天读一次, 标题展示用)\n batteryAt DateTime? // 电量读取时间 (当天缓存, 不频繁更新)\n enabled Boolean @default(true)\n lastSyncAt DateTime?\n createdAt DateTime @default(now())\n samples MihomeEnvSample[]\n hours MihomeEnvHour[]\n}\n\n// 日档: 月视图(逐日)数据源; unique (deviceId, date) 防重\nmodel MihomeEnvSample {\n id Int @id @default(autoincrement())\n deviceId Int\n device MihomeDevice @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n date DateTime // 采样日 (Asia/Shanghai 当日 00:00 存 UTC)\n temperature Float? // 当日最后一次实时值 (或 vendor hour 均值)\n humidity Float?\n temperatureAvg Float? // 当日均值 (由小时档聚合, 或 vendor_hour)\n humidityAvg Float?\n temperatureMin Float? // 当日最低\n temperatureMax Float? // 当日最高\n humidityMin Float?\n humidityMax Float?\n origin String @default(\"live\") // live | vendor_history | backfill\n sampledAt DateTime?\n raw Json?\n createdAt DateTime @default(now())\n\n @@unique([deviceId, date])\n @@index([deviceId, date])\n}\n\n// 小时档: 当天视图(逐小时)数据源; unique (deviceId, hour) 防重\nmodel MihomeEnvHour {\n id Int @id @default(autoincrement())\n deviceId Int\n device MihomeDevice @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n hour DateTime // Asia/Shanghai 整点 (存 UTC)\n temperatureAvg Float? // 该小时均值 (live 采样点, 或 vendor_hour)\n humidityAvg Float?\n raw Json?\n createdAt DateTime @default(now())\n\n @@unique([deviceId, hour])\n @@index([deviceId, hour])\n}\n\n// ==================== 打卡 / 日历 / 清单 (V0.2) ====================\n\n// 打卡项: 周期性目标 (每天 / 每周 / 每月 / 每年 n 次)\nmodel Habit {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n name String\n period String @default(\"day\") // day | week | month | year\n target Int @default(1) // 周期内目标次数 n (>=1)\n color String @default(\"#1677ff\")\n icon String @default(\"\") // emoji 或图标名, 预留\n note String @default(\"\")\n archived Boolean @default(false) // 归档: 不出现在今日待办, 历史保留\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n records CheckIn[]\n\n @@index([userId, archived, sortOrder])\n}\n\n// 打卡记录: 一次打卡 = 一条; 同日多次 => seq 递增 (1..n, 超额继续累加)\nmodel CheckIn {\n id Int @id @default(autoincrement())\n habitId Int\n habit Habit @relation(fields: [habitId], references: [id], onDelete: Cascade)\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n date String @db.VarChar(10) // 本地日历日 \"YYYY-MM-DD\" (Asia/Shanghai)\n seq Int @default(1) // 当日第几次\n note String @default(\"\")\n source String @default(\"user\") // user | backfill (补打)\n createdAt DateTime @default(now())\n\n @@unique([habitId, date, seq])\n @@index([userId, date])\n @@index([habitId, date])\n}\n\n// 检查清单: 出差 / 回老家 等场景的一次性清单\nmodel CheckList {\n id Int @id @default(autoincrement())\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n title String\n scene String @default(\"\") // 出差 | 回老家 | 自定义\n note String @default(\"\")\n archived Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n items CheckListItem[]\n\n @@index([userId, archived])\n}\n\n// 检查项: 勾选即完成\nmodel CheckListItem {\n id Int @id @default(autoincrement())\n listId Int\n list CheckList @relation(fields: [listId], references: [id], onDelete: Cascade)\n title String\n note String @default(\"\")\n done Boolean @default(false)\n doneAt DateTime?\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([listId, sortOrder])\n}\n\n// 清单模板: builtin = 系统预置 (userId 为空); 否则为用户自定义\nmodel CheckListTemplate {\n id Int @id @default(autoincrement())\n userId Int?\n user User? @relation(fields: [userId], references: [id], onDelete: Cascade)\n name String\n scene String @default(\"\")\n items Json // [{ title, note }]\n builtin Boolean @default(false)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([userId, builtin])\n}\n\n// ================== 任务模块 (V0.2 任务模块需求文档 T-*) ==================\n// 口径见 docs/V0.2/任务模块/任务模块数据库设计文档.md\n// 项目 = 隔离 + 权限单位; 看板列是实体(可增删改排序);\n// 任务状态(todo/doing/done) 与 看板列 是两个正交维度, 由列的 boundStatus 决定是否联动.\n\nmodel Project {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑, 见 docs/V0.2/离线编辑模块)\n code String @unique @db.VarChar(8) // 项目短编号: 用户自拟 2~8 位前缀, 全局唯一, 服务端分配\n name String @db.VarChar(50)\n ownerId Int\n owner User @relation(\"ProjectOwner\", fields: [ownerId], references: [id], onDelete: Cascade)\n isPersonal Boolean @default(false)\n archived Boolean @default(false)\n notes Json @default(\"[]\") // 项目信息块 [{ title, content }] (T-PJ-13)\n taskKinds Json? // 任务类型标签列表 (未配置时服务端回落默认四类)\n icon String? @db.Text // 项目图标 (data URL, 客户端裁剪为 96x96 JPEG)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n members ProjectMember[]\n columns BoardColumn[]\n tasks Task[]\n\n @@index([ownerId])\n @@index([archived])\n}\n\nmodel ProjectMember {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)\n projectId Int\n project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n permission String @default(\"member\")\n createdAt DateTime @default(now())\n\n @@unique([projectId, userId])\n @@index([userId])\n}\n\nmodel BoardColumn {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)\n projectId Int\n project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)\n name String @db.VarChar(20)\n sortOrder Int @default(0)\n boundStatus String? @db.VarChar(8)\n retention String @default(\"forever\") @db.VarChar(8)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n tasks Task[]\n\n @@unique([projectId, name])\n @@index([projectId, sortOrder])\n}\n\nmodel Task {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)\n projectId Int\n project Project @relation(fields: [projectId], references: [id], onDelete: Cascade)\n columnId Int\n column BoardColumn @relation(fields: [columnId], references: [id], onDelete: Restrict)\n parentId Int?\n parent Task? @relation(\"Subtask\", fields: [parentId], references: [id], onDelete: Cascade)\n children Task[] @relation(\"Subtask\")\n\n title String @db.VarChar(200)\n description String @default(\"\") @db.Text\n kind String? @db.VarChar(20) // 任务类型标签 (项目 taskKinds 之一)\n markDate DateTime? // 时间标记 (完整日期存储, 展示为 MM-dd)\n status String @default(\"todo\") @db.VarChar(8)\n doneAt DateTime?\n\n assigneeId Int?\n assignee User? @relation(\"TaskAssignee\", fields: [assigneeId], references: [id], onDelete: SetNull)\n creatorId Int\n creator User @relation(\"TaskCreator\", fields: [creatorId], references: [id], onDelete: Cascade)\n\n extras Json @default(\"[]\")\n sortOrder Int @default(0)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n members TaskMember[]\n tags TaskTag[]\n\n number Int? // 项目内自增编号 (服务端分配, 展示为 `code-number`); 本地未定号的离线新建任务为空\n\n @@unique([projectId, number])\n @@index([projectId, columnId])\n @@index([projectId, status])\n @@index([parentId])\n @@index([projectId, doneAt])\n}\n\nmodel TaskMember {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)\n taskId Int\n task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)\n userId Int\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n\n @@unique([taskId, userId])\n}\n\nmodel TaskTag {\n id Int @id @default(autoincrement())\n uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑)\n taskId Int\n task Task @relation(fields: [taskId], references: [id], onDelete: Cascade)\n name String @db.VarChar(20)\n\n @@index([taskId])\n}\n", "runtimeDataModel": { "models": {}, "enums": {}, @@ -32,10 +32,10 @@ const config: runtime.GetPrismaClientConfig = { } } -config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"habits\",\"kind\":\"object\",\"type\":\"Habit\",\"relationName\":\"HabitToUser\"},{\"name\":\"checkIns\",\"kind\":\"object\",\"type\":\"CheckIn\",\"relationName\":\"CheckInToUser\"},{\"name\":\"checkLists\",\"kind\":\"object\",\"type\":\"CheckList\",\"relationName\":\"CheckListToUser\"},{\"name\":\"templates\",\"kind\":\"object\",\"type\":\"CheckListTemplate\",\"relationName\":\"CheckListTemplateToUser\"}],\"dbName\":null},\"Article\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Strategy\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Indicator\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"frequency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hidden\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"points\",\"kind\":\"object\",\"type\":\"IndicatorPoint\",\"relationName\":\"IndicatorToIndicatorPoint\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"IndicatorPoint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicatorId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicator\",\"kind\":\"object\",\"type\":\"Indicator\",\"relationName\":\"IndicatorToIndicatorPoint\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"News\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"publishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"impactRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Alert\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicatorName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"valueA\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"valueB\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"sourceA\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceB\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"diff\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"diffRatio\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServerNode\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cpuName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"region\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memTotal\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"diskTotal\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"cpuCores\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cpuUsage\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ramUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"swapUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"load1\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"load5\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"load15\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"diskUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netIn\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netOut\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"uptime\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"process\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"connections\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServerNodeHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cpu\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ram\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"load\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"disk\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netIn\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netOut\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"process\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"connections\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latencyMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastCheckAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Econ_SowInventory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"month\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inventory\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ScraperCache\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"scraperName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastDataHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastUpdateAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OilPriceHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"province\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fuel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeAccount\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastError\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeHome\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"homeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeHome\"}],\"dbName\":null},\"MihomeDevice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"did\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"home\",\"kind\":\"object\",\"type\":\"MihomeHome\",\"relationName\":\"MihomeDeviceToMihomeHome\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tempSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tempPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"humSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"humPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battery\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"batteryAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastSyncAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"samples\",\"kind\":\"object\",\"type\":\"MihomeEnvSample\",\"relationName\":\"MihomeDeviceToMihomeEnvSample\"},{\"name\":\"hours\",\"kind\":\"object\",\"type\":\"MihomeEnvHour\",\"relationName\":\"MihomeDeviceToMihomeEnvHour\"}],\"dbName\":null},\"MihomeEnvSample\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeEnvSample\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"temperature\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureMin\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureMax\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityMin\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityMax\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"origin\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sampledAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"raw\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeEnvHour\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeEnvHour\"},{\"name\":\"hour\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"temperatureAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"raw\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Habit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HabitToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"target\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"records\",\"kind\":\"object\",\"type\":\"CheckIn\",\"relationName\":\"CheckInToHabit\"}],\"dbName\":null},\"CheckIn\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"habitId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"habit\",\"kind\":\"object\",\"type\":\"Habit\",\"relationName\":\"CheckInToHabit\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckInToUser\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seq\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CheckList\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckListToUser\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scene\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"CheckListItem\",\"relationName\":\"CheckListToCheckListItem\"}],\"dbName\":null},\"CheckListItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"listId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"list\",\"kind\":\"object\",\"type\":\"CheckList\",\"relationName\":\"CheckListToCheckListItem\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"done\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"doneAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CheckListTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckListTemplateToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scene\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"items\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"builtin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"habits\",\"kind\":\"object\",\"type\":\"Habit\",\"relationName\":\"HabitToUser\"},{\"name\":\"checkIns\",\"kind\":\"object\",\"type\":\"CheckIn\",\"relationName\":\"CheckInToUser\"},{\"name\":\"checkLists\",\"kind\":\"object\",\"type\":\"CheckList\",\"relationName\":\"CheckListToUser\"},{\"name\":\"templates\",\"kind\":\"object\",\"type\":\"CheckListTemplate\",\"relationName\":\"CheckListTemplateToUser\"},{\"name\":\"ownedProjects\",\"kind\":\"object\",\"type\":\"Project\",\"relationName\":\"ProjectOwner\"},{\"name\":\"projectMembers\",\"kind\":\"object\",\"type\":\"ProjectMember\",\"relationName\":\"ProjectMemberToUser\"},{\"name\":\"assignedTasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TaskAssignee\"},{\"name\":\"createdTasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TaskCreator\"},{\"name\":\"taskMembers\",\"kind\":\"object\",\"type\":\"TaskMember\",\"relationName\":\"TaskMemberToUser\"}],\"dbName\":null},\"Article\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Strategy\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"data\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Indicator\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"groupName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"unit\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"frequency\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"hidden\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"points\",\"kind\":\"object\",\"type\":\"IndicatorPoint\",\"relationName\":\"IndicatorToIndicatorPoint\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"IndicatorPoint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicatorId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicator\",\"kind\":\"object\",\"type\":\"Indicator\",\"relationName\":\"IndicatorToIndicatorPoint\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"News\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"summary\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"publishedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"impactRank\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Alert\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"indicatorName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"valueA\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"valueB\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"sourceA\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sourceB\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"diff\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"diffRatio\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServerNode\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"cpuName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"os\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"region\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memTotal\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"diskTotal\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"cpuCores\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cpuUsage\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ramUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"swapUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"load1\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"load5\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"load15\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"diskUsed\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netIn\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netOut\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"uptime\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"process\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"connections\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServerNodeHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cpu\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"ram\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"load\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"disk\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netIn\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"netOut\",\"kind\":\"scalar\",\"type\":\"BigInt\"},{\"name\":\"process\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"connections\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ServiceCheck\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"latencyMs\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastCheckAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Econ_SowInventory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"month\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"inventory\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"ScraperCache\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"scraperName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastDataHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastUpdateAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"metadata\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"OilPriceHistory\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"province\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fuel\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeAccount\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastError\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeHome\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"homeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeHome\"}],\"dbName\":null},\"MihomeDevice\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"did\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"home\",\"kind\":\"object\",\"type\":\"MihomeHome\",\"relationName\":\"MihomeDeviceToMihomeHome\"},{\"name\":\"model\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"alias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tempSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"tempPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"humSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"humPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battSiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battPiid\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"battery\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"batteryAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastSyncAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"samples\",\"kind\":\"object\",\"type\":\"MihomeEnvSample\",\"relationName\":\"MihomeDeviceToMihomeEnvSample\"},{\"name\":\"hours\",\"kind\":\"object\",\"type\":\"MihomeEnvHour\",\"relationName\":\"MihomeDeviceToMihomeEnvHour\"}],\"dbName\":null},\"MihomeEnvSample\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeEnvSample\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"temperature\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidity\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureMin\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"temperatureMax\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityMin\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityMax\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"origin\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sampledAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"raw\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MihomeEnvHour\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"MihomeDevice\",\"relationName\":\"MihomeDeviceToMihomeEnvHour\"},{\"name\":\"hour\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"temperatureAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"humidityAvg\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"raw\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Habit\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"HabitToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"period\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"target\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"color\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"records\",\"kind\":\"object\",\"type\":\"CheckIn\",\"relationName\":\"CheckInToHabit\"}],\"dbName\":null},\"CheckIn\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"habitId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"habit\",\"kind\":\"object\",\"type\":\"Habit\",\"relationName\":\"CheckInToHabit\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckInToUser\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"seq\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CheckList\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckListToUser\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scene\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"items\",\"kind\":\"object\",\"type\":\"CheckListItem\",\"relationName\":\"CheckListToCheckListItem\"}],\"dbName\":null},\"CheckListItem\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"listId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"list\",\"kind\":\"object\",\"type\":\"CheckList\",\"relationName\":\"CheckListToCheckListItem\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"note\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"done\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"doneAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"CheckListTemplate\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"CheckListTemplateToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scene\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"items\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"builtin\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Project\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ownerId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"owner\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProjectOwner\"},{\"name\":\"isPersonal\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"archived\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"taskKinds\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"ProjectMember\",\"relationName\":\"ProjectToProjectMember\"},{\"name\":\"columns\",\"kind\":\"object\",\"type\":\"BoardColumn\",\"relationName\":\"BoardColumnToProject\"},{\"name\":\"tasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"ProjectToTask\"}],\"dbName\":null},\"ProjectMember\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"projectId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"project\",\"kind\":\"object\",\"type\":\"Project\",\"relationName\":\"ProjectToProjectMember\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"ProjectMemberToUser\"},{\"name\":\"permission\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"BoardColumn\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"projectId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"project\",\"kind\":\"object\",\"type\":\"Project\",\"relationName\":\"BoardColumnToProject\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"boundStatus\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"retention\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"tasks\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"BoardColumnToTask\"}],\"dbName\":null},\"Task\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"projectId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"project\",\"kind\":\"object\",\"type\":\"Project\",\"relationName\":\"ProjectToTask\"},{\"name\":\"columnId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"column\",\"kind\":\"object\",\"type\":\"BoardColumn\",\"relationName\":\"BoardColumnToTask\"},{\"name\":\"parentId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"Subtask\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"Subtask\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"kind\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"markDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"status\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"doneAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"assigneeId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assignee\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TaskAssignee\"},{\"name\":\"creatorId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"creator\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TaskCreator\"},{\"name\":\"extras\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sortOrder\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"members\",\"kind\":\"object\",\"type\":\"TaskMember\",\"relationName\":\"TaskToTaskMember\"},{\"name\":\"tags\",\"kind\":\"object\",\"type\":\"TaskTag\",\"relationName\":\"TaskToTaskTag\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"TaskMember\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"taskId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"task\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TaskToTaskMember\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TaskMemberToUser\"}],\"dbName\":null},\"TaskTag\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"uuid\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"taskId\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"task\",\"kind\":\"object\",\"type\":\"Task\",\"relationName\":\"TaskToTaskTag\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") config.parameterizationSchema = { - strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"habit\",\"records\",\"_count\",\"habits\",\"checkIns\",\"list\",\"items\",\"checkLists\",\"templates\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.updateOne\",\"User.updateMany\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Article.findUnique\",\"Article.findUniqueOrThrow\",\"Article.findFirst\",\"Article.findFirstOrThrow\",\"Article.findMany\",\"Article.createOne\",\"Article.createMany\",\"Article.updateOne\",\"Article.updateMany\",\"Article.upsertOne\",\"Article.deleteOne\",\"Article.deleteMany\",\"Article.groupBy\",\"Article.aggregate\",\"Strategy.findUnique\",\"Strategy.findUniqueOrThrow\",\"Strategy.findFirst\",\"Strategy.findFirstOrThrow\",\"Strategy.findMany\",\"Strategy.createOne\",\"Strategy.createMany\",\"Strategy.updateOne\",\"Strategy.updateMany\",\"Strategy.upsertOne\",\"Strategy.deleteOne\",\"Strategy.deleteMany\",\"Strategy.groupBy\",\"Strategy.aggregate\",\"indicator\",\"points\",\"Indicator.findUnique\",\"Indicator.findUniqueOrThrow\",\"Indicator.findFirst\",\"Indicator.findFirstOrThrow\",\"Indicator.findMany\",\"Indicator.createOne\",\"Indicator.createMany\",\"Indicator.updateOne\",\"Indicator.updateMany\",\"Indicator.upsertOne\",\"Indicator.deleteOne\",\"Indicator.deleteMany\",\"Indicator.groupBy\",\"Indicator.aggregate\",\"IndicatorPoint.findUnique\",\"IndicatorPoint.findUniqueOrThrow\",\"IndicatorPoint.findFirst\",\"IndicatorPoint.findFirstOrThrow\",\"IndicatorPoint.findMany\",\"IndicatorPoint.createOne\",\"IndicatorPoint.createMany\",\"IndicatorPoint.updateOne\",\"IndicatorPoint.updateMany\",\"IndicatorPoint.upsertOne\",\"IndicatorPoint.deleteOne\",\"IndicatorPoint.deleteMany\",\"IndicatorPoint.groupBy\",\"IndicatorPoint.aggregate\",\"News.findUnique\",\"News.findUniqueOrThrow\",\"News.findFirst\",\"News.findFirstOrThrow\",\"News.findMany\",\"News.createOne\",\"News.createMany\",\"News.updateOne\",\"News.updateMany\",\"News.upsertOne\",\"News.deleteOne\",\"News.deleteMany\",\"News.groupBy\",\"News.aggregate\",\"Alert.findUnique\",\"Alert.findUniqueOrThrow\",\"Alert.findFirst\",\"Alert.findFirstOrThrow\",\"Alert.findMany\",\"Alert.createOne\",\"Alert.createMany\",\"Alert.updateOne\",\"Alert.updateMany\",\"Alert.upsertOne\",\"Alert.deleteOne\",\"Alert.deleteMany\",\"Alert.groupBy\",\"Alert.aggregate\",\"ServerNode.findUnique\",\"ServerNode.findUniqueOrThrow\",\"ServerNode.findFirst\",\"ServerNode.findFirstOrThrow\",\"ServerNode.findMany\",\"ServerNode.createOne\",\"ServerNode.createMany\",\"ServerNode.updateOne\",\"ServerNode.updateMany\",\"ServerNode.upsertOne\",\"ServerNode.deleteOne\",\"ServerNode.deleteMany\",\"ServerNode.groupBy\",\"ServerNode.aggregate\",\"ServerNodeHistory.findUnique\",\"ServerNodeHistory.findUniqueOrThrow\",\"ServerNodeHistory.findFirst\",\"ServerNodeHistory.findFirstOrThrow\",\"ServerNodeHistory.findMany\",\"ServerNodeHistory.createOne\",\"ServerNodeHistory.createMany\",\"ServerNodeHistory.updateOne\",\"ServerNodeHistory.updateMany\",\"ServerNodeHistory.upsertOne\",\"ServerNodeHistory.deleteOne\",\"ServerNodeHistory.deleteMany\",\"ServerNodeHistory.groupBy\",\"ServerNodeHistory.aggregate\",\"ServiceCheck.findUnique\",\"ServiceCheck.findUniqueOrThrow\",\"ServiceCheck.findFirst\",\"ServiceCheck.findFirstOrThrow\",\"ServiceCheck.findMany\",\"ServiceCheck.createOne\",\"ServiceCheck.createMany\",\"ServiceCheck.updateOne\",\"ServiceCheck.updateMany\",\"ServiceCheck.upsertOne\",\"ServiceCheck.deleteOne\",\"ServiceCheck.deleteMany\",\"ServiceCheck.groupBy\",\"ServiceCheck.aggregate\",\"Econ_SowInventory.findUnique\",\"Econ_SowInventory.findUniqueOrThrow\",\"Econ_SowInventory.findFirst\",\"Econ_SowInventory.findFirstOrThrow\",\"Econ_SowInventory.findMany\",\"Econ_SowInventory.createOne\",\"Econ_SowInventory.createMany\",\"Econ_SowInventory.updateOne\",\"Econ_SowInventory.updateMany\",\"Econ_SowInventory.upsertOne\",\"Econ_SowInventory.deleteOne\",\"Econ_SowInventory.deleteMany\",\"Econ_SowInventory.groupBy\",\"Econ_SowInventory.aggregate\",\"ScraperCache.findUnique\",\"ScraperCache.findUniqueOrThrow\",\"ScraperCache.findFirst\",\"ScraperCache.findFirstOrThrow\",\"ScraperCache.findMany\",\"ScraperCache.createOne\",\"ScraperCache.createMany\",\"ScraperCache.updateOne\",\"ScraperCache.updateMany\",\"ScraperCache.upsertOne\",\"ScraperCache.deleteOne\",\"ScraperCache.deleteMany\",\"ScraperCache.groupBy\",\"ScraperCache.aggregate\",\"OilPriceHistory.findUnique\",\"OilPriceHistory.findUniqueOrThrow\",\"OilPriceHistory.findFirst\",\"OilPriceHistory.findFirstOrThrow\",\"OilPriceHistory.findMany\",\"OilPriceHistory.createOne\",\"OilPriceHistory.createMany\",\"OilPriceHistory.updateOne\",\"OilPriceHistory.updateMany\",\"OilPriceHistory.upsertOne\",\"OilPriceHistory.deleteOne\",\"OilPriceHistory.deleteMany\",\"OilPriceHistory.groupBy\",\"OilPriceHistory.aggregate\",\"MihomeAccount.findUnique\",\"MihomeAccount.findUniqueOrThrow\",\"MihomeAccount.findFirst\",\"MihomeAccount.findFirstOrThrow\",\"MihomeAccount.findMany\",\"MihomeAccount.createOne\",\"MihomeAccount.createMany\",\"MihomeAccount.updateOne\",\"MihomeAccount.updateMany\",\"MihomeAccount.upsertOne\",\"MihomeAccount.deleteOne\",\"MihomeAccount.deleteMany\",\"MihomeAccount.groupBy\",\"MihomeAccount.aggregate\",\"home\",\"device\",\"samples\",\"hours\",\"devices\",\"MihomeHome.findUnique\",\"MihomeHome.findUniqueOrThrow\",\"MihomeHome.findFirst\",\"MihomeHome.findFirstOrThrow\",\"MihomeHome.findMany\",\"MihomeHome.createOne\",\"MihomeHome.createMany\",\"MihomeHome.updateOne\",\"MihomeHome.updateMany\",\"MihomeHome.upsertOne\",\"MihomeHome.deleteOne\",\"MihomeHome.deleteMany\",\"MihomeHome.groupBy\",\"MihomeHome.aggregate\",\"MihomeDevice.findUnique\",\"MihomeDevice.findUniqueOrThrow\",\"MihomeDevice.findFirst\",\"MihomeDevice.findFirstOrThrow\",\"MihomeDevice.findMany\",\"MihomeDevice.createOne\",\"MihomeDevice.createMany\",\"MihomeDevice.updateOne\",\"MihomeDevice.updateMany\",\"MihomeDevice.upsertOne\",\"MihomeDevice.deleteOne\",\"MihomeDevice.deleteMany\",\"MihomeDevice.groupBy\",\"MihomeDevice.aggregate\",\"MihomeEnvSample.findUnique\",\"MihomeEnvSample.findUniqueOrThrow\",\"MihomeEnvSample.findFirst\",\"MihomeEnvSample.findFirstOrThrow\",\"MihomeEnvSample.findMany\",\"MihomeEnvSample.createOne\",\"MihomeEnvSample.createMany\",\"MihomeEnvSample.updateOne\",\"MihomeEnvSample.updateMany\",\"MihomeEnvSample.upsertOne\",\"MihomeEnvSample.deleteOne\",\"MihomeEnvSample.deleteMany\",\"MihomeEnvSample.groupBy\",\"MihomeEnvSample.aggregate\",\"MihomeEnvHour.findUnique\",\"MihomeEnvHour.findUniqueOrThrow\",\"MihomeEnvHour.findFirst\",\"MihomeEnvHour.findFirstOrThrow\",\"MihomeEnvHour.findMany\",\"MihomeEnvHour.createOne\",\"MihomeEnvHour.createMany\",\"MihomeEnvHour.updateOne\",\"MihomeEnvHour.updateMany\",\"MihomeEnvHour.upsertOne\",\"MihomeEnvHour.deleteOne\",\"MihomeEnvHour.deleteMany\",\"MihomeEnvHour.groupBy\",\"MihomeEnvHour.aggregate\",\"Habit.findUnique\",\"Habit.findUniqueOrThrow\",\"Habit.findFirst\",\"Habit.findFirstOrThrow\",\"Habit.findMany\",\"Habit.createOne\",\"Habit.createMany\",\"Habit.updateOne\",\"Habit.updateMany\",\"Habit.upsertOne\",\"Habit.deleteOne\",\"Habit.deleteMany\",\"Habit.groupBy\",\"Habit.aggregate\",\"CheckIn.findUnique\",\"CheckIn.findUniqueOrThrow\",\"CheckIn.findFirst\",\"CheckIn.findFirstOrThrow\",\"CheckIn.findMany\",\"CheckIn.createOne\",\"CheckIn.createMany\",\"CheckIn.updateOne\",\"CheckIn.updateMany\",\"CheckIn.upsertOne\",\"CheckIn.deleteOne\",\"CheckIn.deleteMany\",\"CheckIn.groupBy\",\"CheckIn.aggregate\",\"CheckList.findUnique\",\"CheckList.findUniqueOrThrow\",\"CheckList.findFirst\",\"CheckList.findFirstOrThrow\",\"CheckList.findMany\",\"CheckList.createOne\",\"CheckList.createMany\",\"CheckList.updateOne\",\"CheckList.updateMany\",\"CheckList.upsertOne\",\"CheckList.deleteOne\",\"CheckList.deleteMany\",\"CheckList.groupBy\",\"CheckList.aggregate\",\"CheckListItem.findUnique\",\"CheckListItem.findUniqueOrThrow\",\"CheckListItem.findFirst\",\"CheckListItem.findFirstOrThrow\",\"CheckListItem.findMany\",\"CheckListItem.createOne\",\"CheckListItem.createMany\",\"CheckListItem.updateOne\",\"CheckListItem.updateMany\",\"CheckListItem.upsertOne\",\"CheckListItem.deleteOne\",\"CheckListItem.deleteMany\",\"CheckListItem.groupBy\",\"CheckListItem.aggregate\",\"CheckListTemplate.findUnique\",\"CheckListTemplate.findUniqueOrThrow\",\"CheckListTemplate.findFirst\",\"CheckListTemplate.findFirstOrThrow\",\"CheckListTemplate.findMany\",\"CheckListTemplate.createOne\",\"CheckListTemplate.createMany\",\"CheckListTemplate.updateOne\",\"CheckListTemplate.updateMany\",\"CheckListTemplate.upsertOne\",\"CheckListTemplate.deleteOne\",\"CheckListTemplate.deleteMany\",\"CheckListTemplate.groupBy\",\"CheckListTemplate.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"userId\",\"name\",\"scene\",\"builtin\",\"createdAt\",\"updatedAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"contains\",\"startsWith\",\"endsWith\",\"search\",\"listId\",\"title\",\"note\",\"done\",\"doneAt\",\"sortOrder\",\"archived\",\"habitId\",\"date\",\"seq\",\"source\",\"period\",\"target\",\"color\",\"icon\",\"deviceId\",\"hour\",\"temperatureAvg\",\"humidityAvg\",\"raw\",\"temperature\",\"humidity\",\"temperatureMin\",\"temperatureMax\",\"humidityMin\",\"humidityMax\",\"origin\",\"sampledAt\",\"did\",\"homeId\",\"model\",\"alias\",\"tempSiid\",\"tempPiid\",\"humSiid\",\"humPiid\",\"battSiid\",\"battPiid\",\"battery\",\"batteryAt\",\"enabled\",\"lastSyncAt\",\"every\",\"some\",\"none\",\"deviceId_hour\",\"deviceId_date\",\"key\",\"status\",\"lastError\",\"province\",\"fuel\",\"price\",\"date_province_fuel\",\"scraperName\",\"lastDataHash\",\"lastUpdateAt\",\"metadata\",\"month\",\"inventory\",\"url\",\"latencyMs\",\"message\",\"lastCheckAt\",\"uuid\",\"cpu\",\"ram\",\"load\",\"disk\",\"netIn\",\"netOut\",\"process\",\"connections\",\"uuid_period\",\"cpuName\",\"os\",\"region\",\"memTotal\",\"diskTotal\",\"cpuCores\",\"cpuUsage\",\"ramUsed\",\"swapUsed\",\"load1\",\"load5\",\"load15\",\"diskUsed\",\"uptime\",\"recordedAt\",\"indicatorName\",\"valueA\",\"valueB\",\"sourceA\",\"sourceB\",\"diff\",\"diffRatio\",\"summary\",\"content\",\"publishedAt\",\"impactRank\",\"title_publishedAt\",\"indicatorId\",\"value\",\"groupName\",\"unit\",\"frequency\",\"hidden\",\"indicatorId_period\",\"description\",\"slug\",\"email\",\"password\",\"habitId_date_seq\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"_relevance\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), - graph: "lQi_AcICDQcAAIsFACAIAACMBQAgCwAAjQUAIAwAAI4FACDeAgAAigUAMN8CAAAaABDgAgAAigUAMOECAgAAAAHjAgEAzwQAIeYCQADQBAAh5wJAANAEACHoAwEAAAAB6QMBAM8EACEBAAAAAQAgEQMAAJQFACAFAACMBQAg3gIAAJkFADDfAgAAAwAQ4AIAAJkFADDhAgIAzgQAIeICAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh_AIBAM8EACH_AgIAzgQAIYADIADdBAAhhQMBAM8EACGGAwIAzgQAIYcDAQDPBAAhiAMBAM8EACEDAwAA0QcAIAUAAM0HACD2AwAA2QcAIBEDAACUBQAgBQAAjAUAIN4CAACZBQAw3wIAAAMAEOACAACZBQAw4QICAAAAAeICAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh_AIBAM8EACH_AgIAzgQAIYADIADdBAAhhQMBAM8EACGGAwIAzgQAIYcDAQDPBAAhiAMBAM8EACEDAAAAAwAgAQAABAAwAgAABQAgDQMAAJQFACAEAACYBQAg3gIAAJcFADDfAgAABwAQ4AIAAJcFADDhAgIAzgQAIeICAgDOBAAh5gJAANAEACH8AgEAzwQAIYEDAgDOBAAhggMBAM8EACGDAwIAzgQAIYQDAQDPBAAhAwMAANEHACAEAADXBwAg9gMAANgHACAOAwAAlAUAIAQAAJgFACDeAgAAlwUAMN8CAAAHABDgAgAAlwUAMOECAgAAAAHiAgIAzgQAIeYCQADQBAAh_AIBAM8EACGBAwIAzgQAIYIDAQDPBAAhgwMCAM4EACGEAwEAzwQAIeoDAACWBQAgAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAAHACADAAAABwAgAQAACAAwAgAACQAgDQMAAJQFACAKAACVBQAg3gIAAJMFADDfAgAADQAQ4AIAAJMFADDhAgIAzgQAIeICAgDOBAAh5AIBAM8EACHmAkAA0AQAIecCQADQBAAh-wIBAM8EACH8AgEAzwQAIYADIADdBAAhAwMAANEHACAKAADVBwAg9gMAANYHACANAwAAlAUAIAoAAJUFACDeAgAAkwUAMN8CAAANABDgAgAAkwUAMOECAgAAAAHiAgIAzgQAIeQCAQDPBAAh5gJAANAEACHnAkAA0AQAIfsCAQDPBAAh_AIBAM8EACGAAyAA3QQAIQMAAAANACABAAAOADACAAAPACANCQAAkgUAIN4CAACRBQAw3wIAABEAEOACAACRBQAw4QICAM4EACHmAkAA0AQAIecCQADQBAAh-gICAM4EACH7AgEAzwQAIfwCAQDPBAAh_QIgAN0EACH-AkAA2QQAIf8CAgDOBAAhAwkAANMHACD-AgAAmgUAIPYDAADUBwAgDQkAAJIFACDeAgAAkQUAMN8CAAARABDgAgAAkQUAMOECAgAAAAHmAkAA0AQAIecCQADQBAAh-gICAM4EACH7AgEAzwQAIfwCAQDPBAAh_QIgAN0EACH-AkAA2QQAIf8CAgDOBAAhAwAAABEAIAEAABIAMAIAABMAIAEAAAARACAMAwAAkAUAIAoAAIYFACDeAgAAjwUAMN8CAAAWABDgAgAAjwUAMOECAgDOBAAh4gICANwEACHjAgEAzwQAIeQCAQDPBAAh5QIgAN0EACHmAkAA0AQAIecCQADQBAAhAwMAANEHACDiAgAAmgUAIPYDAADSBwAgDAMAAJAFACAKAACGBQAg3gIAAI8FADDfAgAAFgAQ4AIAAI8FADDhAgIAAAAB4gICANwEACHjAgEAzwQAIeQCAQDPBAAh5QIgAN0EACHmAkAA0AQAIecCQADQBAAhAwAAABYAIAEAABcAMAIAABgAIA0HAACLBQAgCAAAjAUAIAsAAI0FACAMAACOBQAg3gIAAIoFADDfAgAAGgAQ4AIAAIoFADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIegDAQDPBAAh6QMBAM8EACEBAAAAGgAgAQAAAAMAIAEAAAAHACABAAAADQAgAQAAABYAIAEAAAABACAFBwAAzAcAIAgAAM0HACALAADOBwAgDAAAzwcAIPYDAADQBwAgAwAAABoAIAEAACEAMAIAAAEAIAMAAAAaACABAAAhADACAAABACADAAAAGgAgAQAAIQAwAgAAAQAgCgcAAMgHACAIAADJBwAgCwAAygcAIAwAAMsHACDhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB6AMBAAAAAekDAQAAAAEBEgAAJQAgBuECAgAAAAHjAgEAAAAB5gJAAAAAAecCQAAAAAHoAwEAAAAB6QMBAAAAAQESAAAnADAKBwAAlwcAIAgAAJgHACALAACZBwAgDAAAmgcAIOECAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAh6AMBAKAFACHpAwEAoAUAIQIAAAABACASAAApACAG4QICAKMFACHjAgEAoAUAIeYCQACiBQAh5wJAAKIFACHoAwEAoAUAIekDAQCgBQAhAgAAABoAIBIAACsAIAMAAAABACAXAAAlACAYAAApACABAAAAAQAgAQAAABoAIAUGAACSBwAgHQAAkwcAIB4AAJYHACAfAACVBwAgIAAAlAcAIAneAgAAiQUAMN8CAAAxABDgAgAAiQUAMOECAgCoBAAh4wIBAKoEACHmAkAArQQAIecCQACtBAAh6AMBAKoEACHpAwEAqgQAIQMAAAAaACABAAAwADAcAAAxACADAAAAGgAgAQAAIQAwAgAAAQAgCt4CAACIBQAw3wIAADcAEOACAACIBQAw4QICAAAAAeYCQADQBAAh5wJAANAEACH7AgEAzwQAIYIDAQDPBAAh2wMBAM8EACHnAwEAAAABAQAAADQAIAEAAAA0ACAK3gIAAIgFADDfAgAANwAQ4AIAAIgFADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACH7AgEAzwQAIYIDAQDPBAAh2wMBAM8EACHnAwEAzwQAIQH2AwAAkQcAIAMAAAA3ACABAAA4ADACAAA0ACADAAAANwAgAQAAOAAwAgAANAAgAwAAADcAIAEAADgAMAIAADQAIAfhAgIAAAAB5gJAAAAAAecCQAAAAAH7AgEAAAABggMBAAAAAdsDAQAAAAHnAwEAAAABARIAADwAIAfhAgIAAAAB5gJAAAAAAecCQAAAAAH7AgEAAAABggMBAAAAAdsDAQAAAAHnAwEAAAABARIAAD4AMAfhAgIAowUAIeYCQACiBQAh5wJAAKIFACH7AgEAoAUAIYIDAQCgBQAh2wMBAKAFACHnAwEAoAUAIQIAAAA0ACASAABAACAH4QICAKMFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACGCAwEAoAUAIdsDAQCgBQAh5wMBAKAFACECAAAANwAgEgAAQgAgAwAAADQAIBcAADwAIBgAAEAAIAEAAAA0ACABAAAANwAgBQYAAIwHACAdAACNBwAgHgAAkAcAIB8AAI8HACAgAACOBwAgCt4CAACHBQAw3wIAAEgAEOACAACHBQAw4QICAKgEACHmAkAArQQAIecCQACtBAAh-wIBAKoEACGCAwEAqgQAIdsDAQCqBAAh5wMBAKoEACEDAAAANwAgAQAARwAwHAAASAAgAwAAADcAIAEAADgAMAIAADQAIAkSAACGBQAg3gIAAIUFADDfAgAATgAQ4AIAAIUFADDhAgIAAAAB4wIBAM8EACHmAkAA0AQAIecCQADQBAAh5gMBAM8EACEBAAAASwAgAQAAAEsAIAkSAACGBQAg3gIAAIUFADDfAgAATgAQ4AIAAIUFADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIeYDAQDPBAAhAfYDAACLBwAgAwAAAE4AIAEAAE8AMAIAAEsAIAMAAABOACABAABPADACAABLACADAAAATgAgAQAATwAwAgAASwAgBhKAAAAAAeECAgAAAAHjAgEAAAAB5gJAAAAAAecCQAAAAAHmAwEAAAABARIAAFMAIAYSgAAAAAHhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB5gMBAAAAAQESAABVADAGEoAAAAAB4QICAKMFACHjAgEAoAUAIeYCQACiBQAh5wJAAKIFACHmAwEAoAUAIQIAAABLACASAABXACAGEoAAAAAB4QICAKMFACHjAgEAoAUAIeYCQACiBQAh5wJAAKIFACHmAwEAoAUAIQIAAABOACASAABZACADAAAASwAgFwAAUwAgGAAAVwAgAQAAAEsAIAEAAABOACAFBgAAhgcAIB0AAIcHACAeAACKBwAgHwAAiQcAICAAAIgHACAJEgAAqwQAIN4CAACEBQAw3wIAAF8AEOACAACEBQAw4QICAKgEACHjAgEAqgQAIeYCQACtBAAh5wJAAK0EACHmAwEAqgQAIQMAAABOACABAABeADAcAABfACADAAAATgAgAQAATwAwAgAASwAgDkAAAIAFACDeAgAA_wQAMN8CAABqABDgAgAA_wQAMOECAgAAAAHjAgEAAAAB5gJAANAEACHnAkAA0AQAIfsCAQDPBAAhhAMBAM8EACHhAwEAzwQAIeIDAQDPBAAh4wMBAM8EACHkAyAA3QQAIQEAAABiACAKPwAAgwUAIN4CAACCBQAw3wIAAGQAEOACAACCBQAw4QICAM4EACHmAkAA0AQAIecCQADQBAAhhQMBAM8EACHfAwIAzgQAIeADCADnBAAhAj8AAIQHACD2AwAAhQcAIAs_AACDBQAg3gIAAIIFADDfAgAAZAAQ4AIAAIIFADDhAgIAAAAB5gJAANAEACHnAkAA0AQAIYUDAQDPBAAh3wMCAM4EACHgAwgA5wQAIeUDAACBBQAgAwAAAGQAIAEAAGUAMAIAAGYAIAEAAABkACABAAAAYgAgDkAAAIAFACDeAgAA_wQAMN8CAABqABDgAgAA_wQAMOECAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh-wIBAM8EACGEAwEAzwQAIeEDAQDPBAAh4gMBAM8EACHjAwEAzwQAIeQDIADdBAAhAkAAAIIHACD2AwAAgwcAIAMAAABqACABAABrADACAABiACADAAAAagAgAQAAawAwAgAAYgAgAwAAAGoAIAEAAGsAMAIAAGIAIAtAAACBBwAg4QICAAAAAeMCAQAAAAHmAkAAAAAB5wJAAAAAAfsCAQAAAAGEAwEAAAAB4QMBAAAAAeIDAQAAAAHjAwEAAAAB5AMgAAAAAQESAABvACAK4QICAAAAAeMCAQAAAAHmAkAAAAAB5wJAAAAAAfsCAQAAAAGEAwEAAAAB4QMBAAAAAeIDAQAAAAHjAwEAAAAB5AMgAAAAAQESAABxADALQAAA9AYAIOECAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACGEAwEAoAUAIeEDAQCgBQAh4gMBAKAFACHjAwEAoAUAIeQDIAChBQAhAgAAAGIAIBIAAHMAIArhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfsCAQCgBQAhhAMBAKAFACHhAwEAoAUAIeIDAQCgBQAh4wMBAKAFACHkAyAAoQUAIQIAAABqACASAAB1ACADAAAAYgAgFwAAbwAgGAAAcwAgAQAAAGIAIAEAAABqACAFBgAA7wYAIB0AAPAGACAeAADzBgAgHwAA8gYAICAAAPEGACAN3gIAAP4EADDfAgAAewAQ4AIAAP4EADDhAgIAqAQAIeMCAQCqBAAh5gJAAK0EACHnAkAArQQAIfsCAQCqBAAhhAMBAKoEACHhAwEAqgQAIeIDAQCqBAAh4wMBAKoEACHkAyAArAQAIQMAAABqACABAAB6ADAcAAB7ACADAAAAagAgAQAAawAwAgAAYgAgAQAAAGYAIAEAAABmACADAAAAZAAgAQAAZQAwAgAAZgAgAwAAAGQAIAEAAGUAMAIAAGYAIAMAAABkACABAABlADACAABmACAHPwAA7gYAIOECAgAAAAHmAkAAAAAB5wJAAAAAAYUDAQAAAAHfAwIAAAAB4AMIAAAAAQESAACDAQAgBuECAgAAAAHmAkAAAAAB5wJAAAAAAYUDAQAAAAHfAwIAAAAB4AMIAAAAAQESAACFAQAwBz8AAO0GACDhAgIAowUAIeYCQACiBQAh5wJAAKIFACGFAwEAoAUAId8DAgCjBQAh4AMIALsGACECAAAAZgAgEgAAhwEAIAbhAgIAowUAIeYCQACiBQAh5wJAAKIFACGFAwEAoAUAId8DAgCjBQAh4AMIALsGACECAAAAZAAgEgAAiQEAIAMAAABmACAXAACDAQAgGAAAhwEAIAEAAABmACABAAAAZAAgBQYAAOgGACAdAADpBgAgHgAA7AYAIB8AAOsGACAgAADqBgAgCd4CAAD9BAAw3wIAAI8BABDgAgAA_QQAMOECAgCoBAAh5gJAAK0EACHnAkAArQQAIYUDAQCqBAAh3wMCAKgEACHgAwgA5AQAIQMAAABkACABAACOAQAwHAAAjwEAIAMAAABkACABAABlADACAABmACAN3gIAAPsEADDfAgAAlQEAEOACAAD7BAAw4QICAAAAAeYCQADQBAAh-wIBAM8EACGEAwEAzwQAIbYDAQDPBAAh2gMBAM8EACHbAwEA2wQAIdwDQADQBAAh3QMCAM4EACHeAwAA_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_AwQA9AQAIcADBAD0BAAhwQMCAM4EACHCAwIAzgQAIcQDAQDPBAAhxQMBAM8EACHGAwEAzwQAIccDBAD0BAAhyAMEAPQEACHJAwIAzgQAIcoDCADnBAAhywMEAPQEACHMAwQA9AQAIc0DCADnBAAhzgMIAOcEACHPAwgA5wQAIdADBAD0BAAh0QMEAPQEACHSA0AA0AQAIQH2AwAA2wYAIAMAAADDAQAgAQAAxAEAMAIAAMABACADAAAAwwEAIAEAAMQBADACAADAAQAgAwAAAMMBACABAADEAQAwAgAAwAEAIBnhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAABqgMBAAAAAboDAQAAAAG_AwQAAAABwAMEAAAAAcEDAgAAAAHCAwIAAAABxAMBAAAAAcUDAQAAAAHGAwEAAAABxwMEAAAAAcgDBAAAAAHJAwIAAAABygMIAAAAAcsDBAAAAAHMAwQAAAABzQMIAAAAAc4DCAAAAAHPAwgAAAAB0AMEAAAAAdEDBAAAAAHSA0AAAAABARIAAMgBACAZ4QICAAAAAeMCAQAAAAHmAkAAAAAB5wJAAAAAAaoDAQAAAAG6AwEAAAABvwMEAAAAAcADBAAAAAHBAwIAAAABwgMCAAAAAcQDAQAAAAHFAwEAAAABxgMBAAAAAccDBAAAAAHIAwQAAAAByQMCAAAAAcoDCAAAAAHLAwQAAAABzAMEAAAAAc0DCAAAAAHOAwgAAAABzwMIAAAAAdADBAAAAAHRAwQAAAAB0gNAAAAAAQESAADKAQAwGeECAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAhqgMBAKAFACG6AwEAoAUAIb8DBADUBgAhwAMEANQGACHBAwIAowUAIcIDAgCjBQAhxAMBAKAFACHFAwEAoAUAIcYDAQCgBQAhxwMEANQGACHIAwQA1AYAIckDAgCjBQAhygMIALsGACHLAwQA1AYAIcwDBADUBgAhzQMIALsGACHOAwgAuwYAIc8DCAC7BgAh0AMEANQGACHRAwQA1AYAIdIDQACiBQAhAgAAAMABACASAADMAQAgGeECAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAhqgMBAKAFACG6AwEAoAUAIb8DBADUBgAhwAMEANQGACHBAwIAowUAIcIDAgCjBQAhxAMBAKAFACHFAwEAoAUAIcYDAQCgBQAhxwMEANQGACHIAwQA1AYAIckDAgCjBQAhygMIALsGACHLAwQA1AYAIcwDBADUBgAhzQMIALsGACHOAwgAuwYAIc8DCAC7BgAh0AMEANQGACHRAwQA1AYAIdIDQACiBQAhAgAAAMMBACASAADOAQAgAwAAAMABACAXAADIAQAgGAAAzAEAIAEAAADAAQAgAQAAAMMBACAFBgAA1gYAIB0AANcGACAeAADaBgAgHwAA2QYAICAAANgGACAc3gIAAPYEADDfAgAA1AEAEOACAAD2BAAw4QICAKgEACHjAgEAqgQAIeYCQACtBAAh5wJAAK0EACGqAwEAqgQAIboDAQCqBAAhvwMEAPAEACHAAwQA8AQAIcEDAgCoBAAhwgMCAKgEACHEAwEAqgQAIcUDAQCqBAAhxgMBAKoEACHHAwQA8AQAIcgDBADwBAAhyQMCAKgEACHKAwgA5AQAIcsDBADwBAAhzAMEAPAEACHNAwgA5AQAIc4DCADkBAAhzwMIAOQEACHQAwQA8AQAIdEDBADwBAAh0gNAAK0EACEDAAAAwwEAIAEAANMBADAcAADUAQAgAwAAAMMBACABAADEAQAwAgAAwAEAIBDeAgAA8wQAMN8CAADaAQAQ4AIAAPMEADDhAgIAAAAB5gJAANAEACGFA0AA0AQAIboDAQDPBAAhuwMIAOcEACG8AwQA9AQAIb0DCADnBAAhvgMEAPQEACG_AwQA9AQAIcADBAD0BAAhwQMCAM4EACHCAwIAzgQAIcMDAAD1BAAgAQAAANcBACABAAAA1wEAIA_eAgAA8wQAMN8CAADaAQAQ4AIAAPMEADDhAgIAzgQAIeYCQADQBAAhhQNAANAEACG6AwEAzwQAIbsDCADnBAAhvAMEAPQEACG9AwgA5wQAIb4DBAD0BAAhvwMEAPQEACHAAwQA9AQAIcEDAgDOBAAhwgMCAM4EACEB9gMAANUGACADAAAA2gEAIAEAANsBADACAADXAQAgAwAAANoBACABAADbAQAwAgAA1wEAIAMAAADaAQAgAQAA2wEAMAIAANcBACAM4QICAAAAAeYCQAAAAAGFA0AAAAABugMBAAAAAbsDCAAAAAG8AwQAAAABvQMIAAAAAb4DBAAAAAG_AwQAAAABwAMEAAAAAcEDAgAAAAHCAwIAAAABARIAAN8BACAM4QICAAAAAeYCQAAAAAGFA0AAAAABugMBAAAAAbsDCAAAAAG8AwQAAAABvQMIAAAAAb4DBAAAAAG_AwQAAAABwAMEAAAAAcEDAgAAAAHCAwIAAAABARIAAOEBADAM4QICAKMFACHmAkAAogUAIYUDQACiBQAhugMBAKAFACG7AwgAuwYAIbwDBADUBgAhvQMIALsGACG-AwQA1AYAIb8DBADUBgAhwAMEANQGACHBAwIAowUAIcIDAgCjBQAhAgAAANcBACASAADjAQAgDOECAgCjBQAh5gJAAKIFACGFA0AAogUAIboDAQCgBQAhuwMIALsGACG8AwQA1AYAIb0DCAC7BgAhvgMEANQGACG_AwQA1AYAIcADBADUBgAhwQMCAKMFACHCAwIAowUAIQIAAADaAQAgEgAA5QEAIAMAAADXAQAgFwAA3wEAIBgAAOMBACABAAAA1wEAIAEAAADaAQAgBQYAAM8GACAdAADQBgAgHgAA0wYAIB8AANIGACAgAADRBgAgD94CAADvBAAw3wIAAOsBABDgAgAA7wQAMOECAgCoBAAh5gJAAK0EACGFA0AArQQAIboDAQCqBAAhuwMIAOQEACG8AwQA8AQAIb0DCADkBAAhvgMEAPAEACG_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-BgAgHgAAwQYAIB8AAMAGACAgAAC_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_hAgIAowUAIeYCQACiBQAhggNAAKIFACGJAwIAowUAIYsDCADnBQAhjAMIAOcFACGNA4AAAAABjgMIAOcFACGPAwgA5wUAIZADCADnBQAhkQMIAOcFACGSAwgA5wUAIZMDCADnBQAhlAMBAKAFACGVA0AArAUAIQIAAADnAgAgEgAApgMAIAMAAADpAgAgFwAAoAMAIBgAAKQDACABAAAA6QIAIAEAAADnAgAgDwYAAOoFACAdAADrBQAgHgAA7gUAIB8AAO0FACAgAADsBQAgiwMAAJoFACCMAwAAmgUAII0DAACaBQAgjgMAAJoFACCPAwAAmgUAIJADAACaBQAgkQMAAJoFACCSAwAAmgUAIJMDAACaBQAglQMAAJoFACAS3gIAAMcEADDfAgAArAMAEOACAADHBAAw4QICAKgEACHmAkAArQQAIYIDQACtBAAhiQMCAKgEACGLAwgAwwQAIYwDCADDBAAhjQMAAMQEACCOAwgAwwQAIY8DCADDBAAhkAMIAMMEACGRAwgAwwQAIZIDCADDBAAhkwMIAMMEACGUAwEAqgQAIZUDQAC8BAAhAwAAAOcCACABAACrAwAwHAAArAMAIAMAAADnAgAgAQAA6AIAMAIAAOkCACABAAAA7QIAIAEAAADtAgAgAwAAAOsCACABAADsAgAwAgAA7QIAIAMAAADrAgAgAQAA7AIAMAIAAO0CACADAAAA6wIAIAEAAOwCADACAADtAgAgCNwBAADpBQAg4QICAAAAAeYCQAAAAAGJAwIAAAABigNAAAAAAYsDCAAAAAGMAwgAAAABjQOAAAAAAQESAAC0AwAgB-ECAgAAAAHmAkAAAAABiQMCAAAAAYoDQAAAAAGLAwgAAAABjAMIAAAAAY0DgAAAAAEBEgAAtgMAMAjcAQAA6AUAIOECAgCjBQAh5gJAAKIFACGJAwIAowUAIYoDQACiBQAhiwMIAOcFACGMAwgA5wUAIY0DgAAAAAECAAAA7QIAIBIAALgDACAH4QICAKMFACHmAkAAogUAIYkDAgCjBQAhigNAAKIFACGLAwgA5wUAIYwDCADnBQAhjQOAAAAAAQIAAADrAgAgEgAAugMAIAMAAADtAgAgFwAAtAMAIBgAALgDACABAAAA7QIAIAEAAADrAgAgCAYAAOIFACAdAADjBQAgHgAA5gUAIB8AAOUFACAgAADkBQAgiwMAAJoFACCMAwAAmgUAII0DAACaBQAgCt4CAADCBAAw3wIAAMADABDgAgAAwgQAMOECAgCoBAAh5gJAAK0EACGJAwIAqAQAIYoDQACtBAAhiwMIAMMEACGMAwgAwwQAIY0DAADEBAAgAwAAAOsCACABAAC_AwAwHAAAwAMAIAMAAADrAgAgAQAA7AIAMAIAAO0CACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA4DAADgBQAgBQAA4QUAIOECAgAAAAHiAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQESAADIAwAgDOECAgAAAAHiAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQESAADKAwAwDgMAANIFACAFAADTBQAg4QICAKMFACHiAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfwCAQCgBQAh_wICAKMFACGAAyAAoQUAIYUDAQCgBQAhhgMCAKMFACGHAwEAoAUAIYgDAQCgBQAhAgAAAAUAIBIAAMwDACAM4QICAKMFACHiAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfwCAQCgBQAh_wICAKMFACGAAyAAoQUAIYUDAQCgBQAhhgMCAKMFACGHAwEAoAUAIYgDAQCgBQAhAgAAAAMAIBIAAM4DACADAAAABQAgFwAAyAMAIBgAAMwDACABAAAABQAgAQAAAAMAIAUGAADNBQAgHQAAzgUAIB4AANEFACAfAADQBQAgIAAAzwUAIA_eAgAAwQQAMN8CAADUAwAQ4AIAAMEEADDhAgIAqAQAIeICAgCoBAAh4wIBAKoEACHmAkAArQQAIecCQACtBAAh_AIBAKoEACH_AgIAqAQAIYADIACsBAAhhQMBAKoEACGGAwIAqAQAIYcDAQCqBAAhiAMBAKoEACEDAAAAAwAgAQAA0wMAMBwAANQDACADAAAAAwAgAQAABAAwAgAABQAgAQAAAAkAIAEAAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACAKAwAAzAUAIAQAAMsFACDhAgIAAAAB4gICAAAAAeYCQAAAAAH8AgEAAAABgQMCAAAAAYIDAQAAAAGDAwIAAAABhAMBAAAAAQESAADcAwAgCOECAgAAAAHiAgIAAAAB5gJAAAAAAfwCAQAAAAGBAwIAAAABggMBAAAAAYMDAgAAAAGEAwEAAAABARIAAN4DADAKAwAAygUAIAQAAMkFACDhAgIAowUAIeICAgCjBQAh5gJAAKIFACH8AgEAoAUAIYEDAgCjBQAhggMBAKAFACGDAwIAowUAIYQDAQCgBQAhAgAAAAkAIBIAAOADACAI4QICAKMFACHiAgIAowUAIeYCQACiBQAh_AIBAKAFACGBAwIAowUAIYIDAQCgBQAhgwMCAKMFACGEAwEAoAUAIQIAAAAHACASAADiAwAgAwAAAAkAIBcAANwDACAYAADgAwAgAQAAAAkAIAEAAAAHACAFBgAAxAUAIB0AAMUFACAeAADIBQAgHwAAxwUAICAAAMYFACAL3gIAAMAEADDfAgAA6AMAEOACAADABAAw4QICAKgEACHiAgIAqAQAIeYCQACtBAAh_AIBAKoEACGBAwIAqAQAIYIDAQCqBAAhgwMCAKgEACGEAwEAqgQAIQMAAAAHACABAADnAwAwHAAA6AMAIAMAAAAHACABAAAIADACAAAJACABAAAADwAgAQAAAA8AIAMAAAANACABAAAOADACAAAPACADAAAADQAgAQAADgAwAgAADwAgAwAAAA0AIAEAAA4AMAIAAA8AIAoDAADCBQAgCgAAwwUAIOECAgAAAAHiAgIAAAAB5AIBAAAAAeYCQAAAAAHnAkAAAAAB-wIBAAAAAfwCAQAAAAGAAyAAAAABARIAAPADACAI4QICAAAAAeICAgAAAAHkAgEAAAAB5gJAAAAAAecCQAAAAAH7AgEAAAAB_AIBAAAAAYADIAAAAAEBEgAA8gMAMAoDAAC0BQAgCgAAtQUAIOECAgCjBQAh4gICAKMFACHkAgEAoAUAIeYCQACiBQAh5wJAAKIFACH7AgEAoAUAIfwCAQCgBQAhgAMgAKEFACECAAAADwAgEgAA9AMAIAjhAgIAowUAIeICAgCjBQAh5AIBAKAFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACH8AgEAoAUAIYADIAChBQAhAgAAAA0AIBIAAPYDACADAAAADwAgFwAA8AMAIBgAAPQDACABAAAADwAgAQAAAA0AIAUGAACvBQAgHQAAsAUAIB4AALMFACAfAACyBQAgIAAAsQUAIAveAgAAvwQAMN8CAAD8AwAQ4AIAAL8EADDhAgIAqAQAIeICAgCoBAAh5AIBAKoEACHmAkAArQQAIecCQACtBAAh-wIBAKoEACH8AgEAqgQAIYADIACsBAAhAwAAAA0AIAEAAPsDADAcAAD8AwAgAwAAAA0AIAEAAA4AMAIAAA8AIAEAAAATACABAAAAEwAgAwAAABEAIAEAABIAMAIAABMAIAMAAAARACABAAASADACAAATACADAAAAEQAgAQAAEgAwAgAAEwAgCgkAAK4FACDhAgIAAAAB5gJAAAAAAecCQAAAAAH6AgIAAAAB-wIBAAAAAfwCAQAAAAH9AiAAAAAB_gJAAAAAAf8CAgAAAAEBEgAAhAQAIAnhAgIAAAAB5gJAAAAAAecCQAAAAAH6AgIAAAAB-wIBAAAAAfwCAQAAAAH9AiAAAAAB_gJAAAAAAf8CAgAAAAEBEgAAhgQAMAoJAACtBQAg4QICAKMFACHmAkAAogUAIecCQACiBQAh-gICAKMFACH7AgEAoAUAIfwCAQCgBQAh_QIgAKEFACH-AkAArAUAIf8CAgCjBQAhAgAAABMAIBIAAIgEACAJ4QICAKMFACHmAkAAogUAIecCQACiBQAh-gICAKMFACH7AgEAoAUAIfwCAQCgBQAh_QIgAKEFACH-AkAArAUAIf8CAgCjBQAhAgAAABEAIBIAAIoEACADAAAAEwAgFwAAhAQAIBgAAIgEACABAAAAEwAgAQAAABEAIAYGAACnBQAgHQAAqAUAIB4AAKsFACAfAACqBQAgIAAAqQUAIP4CAACaBQAgDN4CAAC7BAAw3wIAAJAEABDgAgAAuwQAMOECAgCoBAAh5gJAAK0EACHnAkAArQQAIfoCAgCoBAAh-wIBAKoEACH8AgEAqgQAIf0CIACsBAAh_gJAALwEACH_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_AIBAKoEACH9AiAArAQAIf4CQAC8BAAh_wICAKgEACELBgAAtwQAIB8AAL4EACAgAAC-BAAg6AJAAAAAAekCQAAAAAXqAkAAAAAF6wJAAAAAAewCQAAAAAHtAkAAAAAB7gJAAAAAAe8CQAC9BAAhCwYAALcEACAfAAC-BAAgIAAAvgQAIOgCQAAAAAHpAkAAAAAF6gJAAAAABesCQAAAAAHsAkAAAAAB7QJAAAAAAe4CQAAAAAHvAkAAvQQAIQjoAkAAAAAB6QJAAAAABeoCQAAAAAXrAkAAAAAB7AJAAAAAAe0CQAAAAAHuAkAAAAAB7wJAAL4EACEL3gIAAL8EADDfAgAA_AMAEOACAAC_BAAw4QICAKgEACHiAgIAqAQAIeQCAQCqBAAh5gJAAK0EACHnAkAArQQAIfsCAQCqBAAh_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_AwQA8AQAIcADBADwBAAhwQMCAKgEACHCAwIAqAQAIQ0GAACvBAAgHQAAugQAIB4AAPIEACAfAADyBAAgIAAA8gQAIOgCBAAAAAHpAgQAAAAE6gIEAAAABOsCBAAAAAHsAgQAAAAB7QIEAAAAAe4CBAAAAAHvAgQA8QQAIQ0GAACvBAAgHQAAugQAIB4AAPIEACAfAADyBAAgIAAA8gQAIOgCBAAAAAHpAgQAAAAE6gIEAAAABOsCBAAAAAHsAgQAAAAB7QIEAAAAAe4CBAAAAAHvAgQA8QQAIQjoAgQAAAAB6QIEAAAABOoCBAAAAATrAgQAAAAB7AIEAAAAAe0CBAAAAAHuAgQAAAAB7wIEAPIEACEP3gIAAPMEADDfAgAA2gEAEOACAADzBAAw4QICAM4EACHmAkAA0AQAIYUDQADQBAAhugMBAM8EACG7AwgA5wQAIbwDBAD0BAAhvQMIAOcEACG-AwQA9AQAIb8DBAD0BAAhwAMEAPQEACHBAwIAzgQAIcIDAgDOBAAhCOgCBAAAAAHpAgQAAAAE6gIEAAAABOsCBAAAAAHsAgQAAAAB7QIEAAAAAe4CBAAAAAHvAgQA8gQAIQKFA0AAAAABugMBAAAAARzeAgAA9gQAMN8CAADUAQAQ4AIAAPYEADDhAgIAqAQAIeMCAQCqBAAh5gJAAK0EACHnAkAArQQAIaoDAQCqBAAhugMBAKoEACG_AwQA8AQAIcADBADwBAAhwQMCAKgEACHCAwIAqAQAIcQDAQCqBAAhxQMBAKoEACHGAwEAqgQAIccDBADwBAAhyAMEAPAEACHJAwIAqAQAIcoDCADkBAAhywMEAPAEACHMAwQA8AQAIc0DCADkBAAhzgMIAOQEACHPAwgA5AQAIdADBADwBAAh0QMEAPAEACHSA0AArQQAIRzeAgAA9wQAMN8CAADDAQAQ4AIAAPcEADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIaoDAQDPBAAhugMBAM8EACG_AwQA9AQAIcADBAD0BAAhwQMCAM4EACHCAwIAzgQAIcQDAQDPBAAhxQMBAM8EACHGAwEAzwQAIccDBAD0BAAhyAMEAPQEACHJAwIAzgQAIcoDCADnBAAhywMEAPQEACHMAwQA9AQAIc0DCADnBAAhzgMIAOcEACHPAwgA5wQAIdADBAD0BAAh0QMEAPQEACHSA0AA0AQAIQ3eAgAA-AQAMN8CAAC9AQAQ4AIAAPgEADDhAgIAqAQAIeYCQACtBAAhhQMBAKoEACHTAwEAqgQAIdQDCADkBAAh1QMIAOQEACHWAwEAqgQAIdcDAQCqBAAh2AMIAOQEACHZAwgA5AQAIQ3eAgAA-QQAMN8CAACsAQAQ4AIAAPkEADDhAgIAzgQAIeYCQADQBAAhhQMBAM8EACHTAwEAzwQAIdQDCADnBAAh1QMIAOcEACHWAwEAzwQAIdcDAQDPBAAh2AMIAOcEACHZAwgA5wQAIQzeAgAA-gQAMN8CAACmAQAQ4AIAAPoEADDhAgIAqAQAIeYCQACtBAAh-wIBAKoEACGEAwEAqgQAIbYDAQCqBAAh2gMBAKoEACHbAwEAyQQAIdwDQACtBAAh3QMCAKgEACEM3gIAAPsEADDfAgAAlQEAEOACAAD7BAAw4QICAM4EACHmAkAA0AQAIfsCAQDPBAAhhAMBAM8EACG2AwEAzwQAIdoDAQDPBAAh2wMBANsEACHcA0AA0AQAId0DAgDOBAAhAvsCAQAAAAHcA0AAAAABCd4CAAD9BAAw3wIAAI8BABDgAgAA_QQAMOECAgCoBAAh5gJAAK0EACHnAkAArQQAIYUDAQCqBAAh3wMCAKgEACHgAwgA5AQAIQ3eAgAA_gQAMN8CAAB7ABDgAgAA_gQAMOECAgCoBAAh4wIBAKoEACHmAkAArQQAIecCQACtBAAh-wIBAKoEACGEAwEAqgQAIeEDAQCqBAAh4gMBAKoEACHjAwEAqgQAIeQDIACsBAAhDkAAAIAFACDeAgAA_wQAMN8CAABqABDgAgAA_wQAMOECAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh-wIBAM8EACGEAwEAzwQAIeEDAQDPBAAh4gMBAM8EACHjAwEAzwQAIeQDIADdBAAhA6QDAABkACClAwAAZAAgpgMAAGQAIAKFAwEAAAAB3wMCAAAAAQo_AACDBQAg3gIAAIIFADDfAgAAZAAQ4AIAAIIFADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACGFAwEAzwQAId8DAgDOBAAh4AMIAOcEACEQQAAAgAUAIN4CAAD_BAAw3wIAAGoAEOACAAD_BAAw4QICAM4EACHjAgEAzwQAIeYCQADQBAAh5wJAANAEACH7AgEAzwQAIYQDAQDPBAAh4QMBAM8EACHiAwEAzwQAIeMDAQDPBAAh5AMgAN0EACHrAwAAagAg7AMAAGoAIAkSAACrBAAg3gIAAIQFADDfAgAAXwAQ4AIAAIQFADDhAgIAqAQAIeMCAQCqBAAh5gJAAK0EACHnAkAArQQAIeYDAQCqBAAhCRIAAIYFACDeAgAAhQUAMN8CAABOABDgAgAAhQUAMOECAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh5gMBAM8EACEM6AKAAAAAAesCgAAAAAHsAoAAAAAB7QKAAAAAAe4CgAAAAAHvAoAAAAAB8AIBAAAAAfECAQAAAAHyAgEAAAAB8wKAAAAAAfQCgAAAAAH1AoAAAAABCt4CAACHBQAw3wIAAEgAEOACAACHBQAw4QICAKgEACHmAkAArQQAIecCQACtBAAh-wIBAKoEACGCAwEAqgQAIdsDAQCqBAAh5wMBAKoEACEK3gIAAIgFADDfAgAANwAQ4AIAAIgFADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACH7AgEAzwQAIYIDAQDPBAAh2wMBAM8EACHnAwEAzwQAIQneAgAAiQUAMN8CAAAxABDgAgAAiQUAMOECAgCoBAAh4wIBAKoEACHmAkAArQQAIecCQACtBAAh6AMBAKoEACHpAwEAqgQAIQ0HAACLBQAgCAAAjAUAIAsAAI0FACAMAACOBQAg3gIAAIoFADDfAgAAGgAQ4AIAAIoFADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIegDAQDPBAAh6QMBAM8EACEDpAMAAAMAIKUDAAADACCmAwAAAwAgA6QDAAAHACClAwAABwAgpgMAAAcAIAOkAwAADQAgpQMAAA0AIKYDAAANACADpAMAABYAIKUDAAAWACCmAwAAFgAgDAMAAJAFACAKAACGBQAg3gIAAI8FADDfAgAAFgAQ4AIAAI8FADDhAgIAzgQAIeICAgDcBAAh4wIBAM8EACHkAgEAzwQAIeUCIADdBAAh5gJAANAEACHnAkAA0AQAIQ8HAACLBQAgCAAAjAUAIAsAAI0FACAMAACOBQAg3gIAAIoFADDfAgAAGgAQ4AIAAIoFADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIegDAQDPBAAh6QMBAM8EACHrAwAAGgAg7AMAABoAIA0JAACSBQAg3gIAAJEFADDfAgAAEQAQ4AIAAJEFADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACH6AgIAzgQAIfsCAQDPBAAh_AIBAM8EACH9AiAA3QQAIf4CQADZBAAh_wICAM4EACEPAwAAlAUAIAoAAJUFACDeAgAAkwUAMN8CAAANABDgAgAAkwUAMOECAgDOBAAh4gICAM4EACHkAgEAzwQAIeYCQADQBAAh5wJAANAEACH7AgEAzwQAIfwCAQDPBAAhgAMgAN0EACHrAwAADQAg7AMAAA0AIA0DAACUBQAgCgAAlQUAIN4CAACTBQAw3wIAAA0AEOACAACTBQAw4QICAM4EACHiAgIAzgQAIeQCAQDPBAAh5gJAANAEACHnAkAA0AQAIfsCAQDPBAAh_AIBAM8EACGAAyAA3QQAIQ8HAACLBQAgCAAAjAUAIAsAAI0FACAMAACOBQAg3gIAAIoFADDfAgAAGgAQ4AIAAIoFADDhAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIegDAQDPBAAh6QMBAM8EACHrAwAAGgAg7AMAABoAIAOkAwAAEQAgpQMAABEAIKYDAAARACADgQMCAAAAAYIDAQAAAAGDAwIAAAABDQMAAJQFACAEAACYBQAg3gIAAJcFADDfAgAABwAQ4AIAAJcFADDhAgIAzgQAIeICAgDOBAAh5gJAANAEACH8AgEAzwQAIYEDAgDOBAAhggMBAM8EACGDAwIAzgQAIYQDAQDPBAAhEwMAAJQFACAFAACMBQAg3gIAAJkFADDfAgAAAwAQ4AIAAJkFADDhAgIAzgQAIeICAgDOBAAh4wIBAM8EACHmAkAA0AQAIecCQADQBAAh_AIBAM8EACH_AgIAzgQAIYADIADdBAAhhQMBAM8EACGGAwIAzgQAIYcDAQDPBAAhiAMBAM8EACHrAwAAAwAg7AMAAAMAIBEDAACUBQAgBQAAjAUAIN4CAACZBQAw3wIAAAMAEOACAACZBQAw4QICAM4EACHiAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIfwCAQDPBAAh_wICAM4EACGAAyAA3QQAIYUDAQDPBAAhhgMCAM4EACGHAwEAzwQAIYgDAQDPBAAhAAAAAAAAAfADAQAAAAEB8AMgAAAAAQHwA0AAAAABBfADAgAAAAH3AwIAAAAB-AMCAAAAAfkDAgAAAAH6AwIAAAABBfADAgAAAAH3AwIAAAAB-AMCAAAAAfkDAgAAAAH6AwIAAAABBxcAAJEIACAYAACUCAAg7QMAAJIIACDuAwAAkwgAIPEDAAAaACDyAwAAGgAg8wMAAAEAIAMXAACRCAAg7QMAAJIIACDzAwAAAQAgAAAAAAAB8ANAAAAAAQUXAACMCAAgGAAAjwgAIO0DAACNCAAg7gMAAI4IACDzAwAADwAgAxcAAIwIACDtAwAAjQgAIPMDAAAPACAAAAAAAAUXAACGCAAgGAAAiggAIO0DAACHCAAg7gMAAIkIACDzAwAAAQAgCxcAALYFADAYAAC7BQAw7QMAALcFADDuAwAAuAUAMO8DAAC5BQAg8AMAALoFADDxAwAAugUAMPIDAAC6BQAw8wMAALoFADD0AwAAvAUAMPUDAAC9BQAwCOECAgAAAAHmAkAAAAAB5wJAAAAAAfsCAQAAAAH8AgEAAAAB_QIgAAAAAf4CQAAAAAH_AgIAAAABAgAAABMAIBcAAMEFACADAAAAEwAgFwAAwQUAIBgAAMAFACABEgAAiAgAMA0JAACSBQAg3gIAAJEFADDfAgAAEQAQ4AIAAJEFADDhAgIAAAAB5gJAANAEACHnAkAA0AQAIfoCAgDOBAAh-wIBAM8EACH8AgEAzwQAIf0CIADdBAAh_gJAANkEACH_AgIAzgQAIQIAAAATACASAADABQAgAgAAAL4FACASAAC_BQAgDN4CAAC9BQAw3wIAAL4FABDgAgAAvQUAMOECAgDOBAAh5gJAANAEACHnAkAA0AQAIfoCAgDOBAAh-wIBAM8EACH8AgEAzwQAIf0CIADdBAAh_gJAANkEACH_AgIAzgQAIQzeAgAAvQUAMN8CAAC-BQAQ4AIAAL0FADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACH6AgIAzgQAIfsCAQDPBAAh_AIBAM8EACH9AiAA3QQAIf4CQADZBAAh_wICAM4EACEI4QICAKMFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACH8AgEAoAUAIf0CIAChBQAh_gJAAKwFACH_AgIAowUAIQjhAgIAowUAIeYCQACiBQAh5wJAAKIFACH7AgEAoAUAIfwCAQCgBQAh_QIgAKEFACH-AkAArAUAIf8CAgCjBQAhCOECAgAAAAHmAkAAAAAB5wJAAAAAAfsCAQAAAAH8AgEAAAAB_QIgAAAAAf4CQAAAAAH_AgIAAAABAxcAAIYIACDtAwAAhwgAIPMDAAABACAEFwAAtgUAMO0DAAC3BQAw7wMAALkFACDzAwAAugUAMAAAAAAABRcAAP4HACAYAACECAAg7QMAAP8HACDuAwAAgwgAIPMDAAAFACAFFwAA_AcAIBgAAIEIACDtAwAA_QcAIO4DAACACAAg8wMAAAEAIAMXAAD-BwAg7QMAAP8HACDzAwAABQAgAxcAAPwHACDtAwAA_QcAIPMDAAABACAAAAAAAAUXAAD2BwAgGAAA-gcAIO0DAAD3BwAg7gMAAPkHACDzAwAAAQAgCxcAANQFADAYAADZBQAw7QMAANUFADDuAwAA1gUAMO8DAADXBQAg8AMAANgFADDxAwAA2AUAMPIDAADYBQAw8wMAANgFADD0AwAA2gUAMPUDAADbBQAwCAMAAMwFACDhAgIAAAAB4gICAAAAAeYCQAAAAAH8AgEAAAABggMBAAAAAYMDAgAAAAGEAwEAAAABAgAAAAkAIBcAAN8FACADAAAACQAgFwAA3wUAIBgAAN4FACABEgAA-AcAMA4DAACUBQAgBAAAmAUAIN4CAACXBQAw3wIAAAcAEOACAACXBQAw4QICAAAAAeICAgDOBAAh5gJAANAEACH8AgEAzwQAIYEDAgDOBAAhggMBAM8EACGDAwIAzgQAIYQDAQDPBAAh6gMAAJYFACACAAAACQAgEgAA3gUAIAIAAADcBQAgEgAA3QUAIAveAgAA2wUAMN8CAADcBQAQ4AIAANsFADDhAgIAzgQAIeICAgDOBAAh5gJAANAEACH8AgEAzwQAIYEDAgDOBAAhggMBAM8EACGDAwIAzgQAIYQDAQDPBAAhC94CAADbBQAw3wIAANwFABDgAgAA2wUAMOECAgDOBAAh4gICAM4EACHmAkAA0AQAIfwCAQDPBAAhgQMCAM4EACGCAwEAzwQAIYMDAgDOBAAhhAMBAM8EACEH4QICAKMFACHiAgIAowUAIeYCQACiBQAh_AIBAKAFACGCAwEAoAUAIYMDAgCjBQAhhAMBAKAFACEIAwAAygUAIOECAgCjBQAh4gICAKMFACHmAkAAogUAIfwCAQCgBQAhggMBAKAFACGDAwIAowUAIYQDAQCgBQAhCAMAAMwFACDhAgIAAAAB4gICAAAAAeYCQAAAAAH8AgEAAAABggMBAAAAAYMDAgAAAAGEAwEAAAABAxcAAPYHACDtAwAA9wcAIPMDAAABACAEFwAA1AUAMO0DAADVBQAw7wMAANcFACDzAwAA2AUAMAAAAAAABfADCAAAAAH3AwgAAAAB-AMIAAAAAfkDCAAAAAH6AwgAAAABBRcAAPEHACAYAAD0BwAg7QMAAPIHACDuAwAA8wcAIPMDAADlAgAgAxcAAPEHACDtAwAA8gcAIPMDAADlAgAgAAAAAAAFFwAA7AcAIBgAAO8HACDtAwAA7QcAIO4DAADuBwAg8wMAAOUCACADFwAA7AcAIO0DAADtBwAg8wMAAOUCACAAAAAAAAHwAwEAAAABBRcAAOUHACAYAADqBwAg7QMAAOYHACDuAwAA6QcAIPMDAADhAgAgCxcAAIYGADAYAACLBgAw7QMAAIcGADDuAwAAiAYAMO8DAACJBgAg8AMAAIoGADDxAwAAigYAMPIDAACKBgAw8wMAAIoGADD0AwAAjAYAMPUDAACNBgAwCxcAAPoFADAYAAD_BQAw7QMAAPsFADDuAwAA_AUAMO8DAAD9BQAg8AMAAP4FADDxAwAA_gUAMPIDAAD-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-QIBAAAAAQAAAAAABfADCAAAAAH3AwgAAAAB-AMIAAAAAfkDCAAAAAH6AwgAAAABAfkCAQAAAAEAAAAAAAH5AgEAAAABAAAAAAAB-QIBAAAAAQAAAAAAAfkCAQAAAAEAAAAAAAXwAwQAAAAB9wMEAAAAAfgDBAAAAAH5AwQAAAAB-gMEAAAAAQH5AgEAAAABAAAAAAAB-QIBAAAAAQAAAAAAAfkCAQAAAAEAAAAAAAH5AgEAAAABAAAAAAAFFwAA3wcAIBgAAOIHACDtAwAA4AcAIO4DAADhBwAg8wMAAGIAIAMXAADfBwAg7QMAAOAHACDzAwAAYgAgAAAAAAALFwAA9QYAMBgAAPoGADDtAwAA9gYAMO4DAAD3BgAw7wMAAPgGACDwAwAA-QYAMPEDAAD5BgAw8gMAAPkGADDzAwAA-QYAMPQDAAD7BgAw9QMAAPwGADAF4QICAAAAAeYCQAAAAAHnAkAAAAABhQMBAAAAAeADCAAAAAECAAAAZgAgFwAAgAcAIAMAAABmACAXAACABwAgGAAA_wYAIAESAADeBwAwCz8AAIMFACDeAgAAggUAMN8CAABkABDgAgAAggUAMOECAgAAAAHmAkAA0AQAIecCQADQBAAhhQMBAM8EACHfAwIAzgQAIeADCADnBAAh5QMAAIEFACACAAAAZgAgEgAA_wYAIAIAAAD9BgAgEgAA_gYAIAneAgAA_AYAMN8CAAD9BgAQ4AIAAPwGADDhAgIAzgQAIeYCQADQBAAh5wJAANAEACGFAwEAzwQAId8DAgDOBAAh4AMIAOcEACEJ3gIAAPwGADDfAgAA_QYAEOACAAD8BgAw4QICAM4EACHmAkAA0AQAIecCQADQBAAhhQMBAM8EACHfAwIAzgQAIeADCADnBAAhBeECAgCjBQAh5gJAAKIFACHnAkAAogUAIYUDAQCgBQAh4AMIALsGACEF4QICAKMFACHmAkAAogUAIecCQACiBQAhhQMBAKAFACHgAwgAuwYAIQXhAgIAAAAB5gJAAAAAAecCQAAAAAGFAwEAAAAB4AMIAAAAAQQXAAD1BgAw7QMAAPYGADDvAwAA-AYAIPMDAAD5BgAwAAH5AgEAAAABAkAAAIIHACD2AwAAgwcAIAH5AgEAAAABAAAAAAAB-QIBAAAAAQAAAAAAAfkCAQAAAAEAAAAAAAsXAAC8BwAwGAAAwQcAMO0DAAC9BwAw7gMAAL4HADDvAwAAvwcAIPADAADABwAw8QMAAMAHADDyAwAAwAcAMPMDAADABwAw9AMAAMIHADD1AwAAwwcAMAsXAACzBwAwGAAAtwcAMO0DAAC0BwAw7gMAALUHADDvAwAAtgcAIPADAADYBQAw8QMAANgFADDyAwAA2AUAMPMDAADYBQAw9AMAALgHADD1AwAA2wUAMAsXAACnBwAwGAAArAcAMO0DAACoBwAw7gMAAKkHADDvAwAAqgcAIPADAACrBwAw8QMAAKsHADDyAwAAqwcAMPMDAACrBwAw9AMAAK0HADD1AwAArgcAMAsXAACbBwAwGAAAoAcAMO0DAACcBwAw7gMAAJ0HADDvAwAAngcAIPADAACfBwAw8QMAAJ8HADDyAwAAnwcAMPMDAACfBwAw9AMAAKEHADD1AwAAogcAMAcKgAAAAAHhAgIAAAAB4wIBAAAAAeQCAQAAAAHlAiAAAAAB5gJAAAAAAecCQAAAAAECAAAAGAAgFwAApgcAIAMAAAAYACAXAACmBwAgGAAApQcAIAESAADdBwAwDAMAAJAFACAKAACGBQAg3gIAAI8FADDfAgAAFgAQ4AIAAI8FADDhAgIAAAAB4gICANwEACHjAgEAzwQAIeQCAQDPBAAh5QIgAN0EACHmAkAA0AQAIecCQADQBAAhAgAAABgAIBIAAKUHACACAAAAowcAIBIAAKQHACALCgAAhgUAIN4CAACiBwAw3wIAAKMHABDgAgAAogcAMOECAgDOBAAh4gICANwEACHjAgEAzwQAIeQCAQDPBAAh5QIgAN0EACHmAkAA0AQAIecCQADQBAAhCwoAAIYFACDeAgAAogcAMN8CAACjBwAQ4AIAAKIHADDhAgIAzgQAIeICAgDcBAAh4wIBAM8EACHkAgEAzwQAIeUCIADdBAAh5gJAANAEACHnAkAA0AQAIQcKgAAAAAHhAgIAowUAIeMCAQCgBQAh5AIBAKAFACHlAiAAoQUAIeYCQACiBQAh5wJAAKIFACEHCoAAAAAB4QICAKMFACHjAgEAoAUAIeQCAQCgBQAh5QIgAKEFACHmAkAAogUAIecCQACiBQAhBwqAAAAAAeECAgAAAAHjAgEAAAAB5AIBAAAAAeUCIAAAAAHmAkAAAAAB5wJAAAAAAQgKAADDBQAg4QICAAAAAeQCAQAAAAHmAkAAAAAB5wJAAAAAAfsCAQAAAAH8AgEAAAABgAMgAAAAAQIAAAAPACAXAACyBwAgAwAAAA8AIBcAALIHACAYAACxBwAgARIAANwHADANAwAAlAUAIAoAAJUFACDeAgAAkwUAMN8CAAANABDgAgAAkwUAMOECAgAAAAHiAgIAzgQAIeQCAQDPBAAh5gJAANAEACHnAkAA0AQAIfsCAQDPBAAh_AIBAM8EACGAAyAA3QQAIQIAAAAPACASAACxBwAgAgAAAK8HACASAACwBwAgC94CAACuBwAw3wIAAK8HABDgAgAArgcAMOECAgDOBAAh4gICAM4EACHkAgEAzwQAIeYCQADQBAAh5wJAANAEACH7AgEAzwQAIfwCAQDPBAAhgAMgAN0EACEL3gIAAK4HADDfAgAArwcAEOACAACuBwAw4QICAM4EACHiAgIAzgQAIeQCAQDPBAAh5gJAANAEACHnAkAA0AQAIfsCAQDPBAAh_AIBAM8EACGAAyAA3QQAIQfhAgIAowUAIeQCAQCgBQAh5gJAAKIFACHnAkAAogUAIfsCAQCgBQAh_AIBAKAFACGAAyAAoQUAIQgKAAC1BQAg4QICAKMFACHkAgEAoAUAIeYCQACiBQAh5wJAAKIFACH7AgEAoAUAIfwCAQCgBQAhgAMgAKEFACEICgAAwwUAIOECAgAAAAHkAgEAAAAB5gJAAAAAAecCQAAAAAH7AgEAAAAB_AIBAAAAAYADIAAAAAEIBAAAywUAIOECAgAAAAHmAkAAAAAB_AIBAAAAAYEDAgAAAAGCAwEAAAABgwMCAAAAAYQDAQAAAAECAAAACQAgFwAAuwcAIAMAAAAJACAXAAC7BwAgGAAAugcAIAESAADbBwAwAgAAAAkAIBIAALoHACACAAAA3AUAIBIAALkHACAH4QICAKMFACHmAkAAogUAIfwCAQCgBQAhgQMCAKMFACGCAwEAoAUAIYMDAgCjBQAhhAMBAKAFACEIBAAAyQUAIOECAgCjBQAh5gJAAKIFACH8AgEAoAUAIYEDAgCjBQAhggMBAKAFACGDAwIAowUAIYQDAQCgBQAhCAQAAMsFACDhAgIAAAAB5gJAAAAAAfwCAQAAAAGBAwIAAAABggMBAAAAAYMDAgAAAAGEAwEAAAABDAUAAOEFACDhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQIAAAAFACAXAADHBwAgAwAAAAUAIBcAAMcHACAYAADGBwAgARIAANoHADARAwAAlAUAIAUAAIwFACDeAgAAmQUAMN8CAAADABDgAgAAmQUAMOECAgAAAAHiAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIfwCAQDPBAAh_wICAM4EACGAAyAA3QQAIYUDAQDPBAAhhgMCAM4EACGHAwEAzwQAIYgDAQDPBAAhAgAAAAUAIBIAAMYHACACAAAAxAcAIBIAAMUHACAP3gIAAMMHADDfAgAAxAcAEOACAADDBwAw4QICAM4EACHiAgIAzgQAIeMCAQDPBAAh5gJAANAEACHnAkAA0AQAIfwCAQDPBAAh_wICAM4EACGAAyAA3QQAIYUDAQDPBAAhhgMCAM4EACGHAwEAzwQAIYgDAQDPBAAhD94CAADDBwAw3wIAAMQHABDgAgAAwwcAMOECAgDOBAAh4gICAM4EACHjAgEAzwQAIeYCQADQBAAh5wJAANAEACH8AgEAzwQAIf8CAgDOBAAhgAMgAN0EACGFAwEAzwQAIYYDAgDOBAAhhwMBAM8EACGIAwEAzwQAIQvhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfwCAQCgBQAh_wICAKMFACGAAyAAoQUAIYUDAQCgBQAhhgMCAKMFACGHAwEAoAUAIYgDAQCgBQAhDAUAANMFACDhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfwCAQCgBQAh_wICAKMFACGAAyAAoQUAIYUDAQCgBQAhhgMCAKMFACGHAwEAoAUAIYgDAQCgBQAhDAUAAOEFACDhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQQXAAC8BwAw7QMAAL0HADDvAwAAvwcAIPMDAADABwAwBBcAALMHADDtAwAAtAcAMO8DAAC2BwAg8wMAANgFADAEFwAApwcAMO0DAACoBwAw7wMAAKoHACDzAwAAqwcAMAQXAACbBwAw7QMAAJwHADDvAwAAngcAIPMDAACfBwAwAAAAAAH5AgEAAAABBQcAAMwHACAIAADNBwAgCwAAzgcAIAwAAM8HACD2AwAA0AcAIAH5AgEAAAABAwMAANEHACAKAADVBwAg9gMAANYHACAB-QIBAAAAAQAB-QIBAAAAAQMDAADRBwAgBQAAzQcAIPYDAADZBwAgAfkCAQAAAAEB-QIBAAAAAQvhAgIAAAAB4wIBAAAAAeYCQAAAAAHnAkAAAAAB_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQfhAgIAAAAB5gJAAAAAAfwCAQAAAAGBAwIAAAABggMBAAAAAYMDAgAAAAGEAwEAAAABB-ECAgAAAAHkAgEAAAAB5gJAAAAAAecCQAAAAAH7AgEAAAAB_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_AIBAAAAAf8CAgAAAAGAAyAAAAABhQMBAAAAAYYDAgAAAAGHAwEAAAABiAMBAAAAAQIAAAAFACAXAAD-BwAgAwAAABoAIBcAAPwHACAYAACCCAAgCwAAABoAIAcAAJcHACALAACZBwAgDAAAmgcAIBIAAIIIACDhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIegDAQCgBQAh6QMBAKAFACEJBwAAlwcAIAsAAJkHACAMAACaBwAg4QICAKMFACHjAgEAoAUAIeYCQACiBQAh5wJAAKIFACHoAwEAoAUAIekDAQCgBQAhAwAAAAMAIBcAAP4HACAYAACFCAAgDwAAAAMAIAMAANIFACASAACFCAAg4QICAKMFACHiAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIfwCAQCgBQAh_wICAKMFACGAAyAAoQUAIYUDAQCgBQAhhgMCAKMFACGHAwEAoAUAIYgDAQCgBQAhDQMAANIFACDhAgIAowUAIeICAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAh_AIBAKAFACH_AgIAowUAIYADIAChBQAhhQMBAKAFACGGAwIAowUAIYcDAQCgBQAhiAMBAKAFACEJBwAAyAcAIAgAAMkHACAMAADLBwAg4QICAAAAAeMCAQAAAAHmAkAAAAAB5wJAAAAAAegDAQAAAAHpAwEAAAABAgAAAAEAIBcAAIYIACAI4QICAAAAAeYCQAAAAAHnAkAAAAAB-wIBAAAAAfwCAQAAAAH9AiAAAAAB_gJAAAAAAf8CAgAAAAEDAAAAGgAgFwAAhggAIBgAAIsIACALAAAAGgAgBwAAlwcAIAgAAJgHACAMAACaBwAgEgAAiwgAIOECAgCjBQAh4wIBAKAFACHmAkAAogUAIecCQACiBQAh6AMBAKAFACHpAwEAoAUAIQkHAACXBwAgCAAAmAcAIAwAAJoHACDhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIegDAQCgBQAh6QMBAKAFACEJAwAAwgUAIOECAgAAAAHiAgIAAAAB5AIBAAAAAeYCQAAAAAHnAkAAAAAB-wIBAAAAAfwCAQAAAAGAAyAAAAABAgAAAA8AIBcAAIwIACADAAAADQAgFwAAjAgAIBgAAJAIACALAAAADQAgAwAAtAUAIBIAAJAIACDhAgIAowUAIeICAgCjBQAh5AIBAKAFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACH8AgEAoAUAIYADIAChBQAhCQMAALQFACDhAgIAowUAIeICAgCjBQAh5AIBAKAFACHmAkAAogUAIecCQACiBQAh-wIBAKAFACH8AgEAoAUAIYADIAChBQAhCQcAAMgHACAIAADJBwAgCwAAygcAIOECAgAAAAHjAgEAAAAB5gJAAAAAAecCQAAAAAHoAwEAAAAB6QMBAAAAAQIAAAABACAXAACRCAAgAwAAABoAIBcAAJEIACAYAACVCAAgCwAAABoAIAcAAJcHACAIAACYBwAgCwAAmQcAIBIAAJUIACDhAgIAowUAIeMCAQCgBQAh5gJAAKIFACHnAkAAogUAIegDAQCgBQAh6QMBAKAFACEJBwAAlwcAIAgAAJgHACALAACZBwAg4QICAKMFACHjAgEAoAUAIeYCQACiBQAh5wJAAKIFACHoAwEAoAUAIekDAQCgBQAhBQYACQcGAggMAwsQBQwZCAMDAAEFCgMGAAQCAwABBAACAQULAAMDAAEGAAcKFAYBCQAFAQoVAAEDGwEEBxwACB0ACx4ADB8AAAUGAAwdAA0eAA4fAA8gABAAAAAAAAUGAAwdAA0eAA4fAA8gABAABQYAFB0AFR4AFh8AFyAAGAAAAAAABQYAFB0AFR4AFh8AFyAAGAAFBgAcHQAdHgAeHwAfIAAgAAAAAAAFBgAcHQAdHgAeHwAfIAAgAgYAJEBnIwE_ACIBQGgABQYAJh0AJx4AKB8AKSAAKgAAAAAABQYAJh0AJx4AKB8AKSAAKgUGAC0dAC4eAC8fADAgADEAAAAAAAUGAC0dAC4eAC8fADAgADEABQYANR0ANh4ANx8AOCAAOQAAAAAABQYANR0ANh4ANx8AOCAAOQAFBgA9HQA-HgA_HwBAIABBAAAAAAAFBgA9HQA-HgA_HwBAIABBAAUGAEUdAEYeAEcfAEggAEkAAAAAAAUGAEUdAEYeAEcfAEggAEkABQYATR0ATh4ATx8AUCAAUQAAAAAABQYATR0ATh4ATx8AUCAAUQAFBgBVHQBWHgBXHwBYIABZAAAAAAAFBgBVHQBWHgBXHwBYIABZAAUGAF0dAF4eAF8fAGAgAGEAAAAAAAUGAF0dAF4eAF8fAGAgAGEABQYAZR0AZh4AZx8AaCAAaQAAAAAABQYAZR0AZh4AZx8AaCAAaQAFBgBtHQBuHgBvHwBwIABxAAAAAAAFBgBtHQBuHgBvHwBwIABxAAUGAHUdAHYeAHcfAHggAHkAAAAAAAUGAHUdAHYeAHcfAHggAHkCBgCAAd8B5gJ8BAYAf9sBAHvdAeoCfd4B7gJ-AdwBAHwB3AEAfALdAe8CAN4B8AIAAd8B8QIABQYAggEdAIMBHgCEAR8AhQEgAIYBAAAAAAAFBgCCAR0AgwEeAIQBHwCFASAAhgEFBgCJAR0AigEeAIsBHwCMASAAjQEAAAAAAAUGAIkBHQCKAR4AiwEfAIwBIACNAQUGAJABHQCRAR4AkgEfAJMBIACUAQAAAAAABQYAkAEdAJEBHgCSAR8AkwEgAJQBBQYAlwEdAJgBHgCZAR8AmgEgAJsBAAAAAAAFBgCXAR0AmAEeAJkBHwCaASAAmwEFBgCeAR0AnwEeAKABHwChASAAogEAAAAAAAUGAJ4BHQCfAR4AoAEfAKEBIACiAQUGAKUBHQCmAR4ApwEfAKgBIACpAQAAAAAABQYApQEdAKYBHgCnAR8AqAEgAKkBBQYArAEdAK0BHgCuAR8ArwEgALABAAAAAAAFBgCsAR0ArQEeAK4BHwCvASAAsAEFBgCzAR0AtAEeALUBHwC2ASAAtwEAAAAAAAUGALMBHQC0AR4AtQEfALYBIAC3AQUGALoBHQC7AR4AvAEfAL0BIAC-AQAAAAAABQYAugEdALsBHgC8AR8AvQEgAL4BDQIBDiABDyIBECMBESQBEyYBFCgKFSoBFiwKGS0BGi4BGy8KITILIjMRIzUSJDYSJTkSJjoSJzsSKD0SKT8KKkESK0MKLEQSLUUSLkYKL0kTMEoZMUwaMk0aM1AaNFEaNVIaNlQaN1YKOFgaOVoKOlsaO1waPF0KPWAbPmEhQWMiQmkiQ2wiRG0iRW4iRnAiR3IKSHQiSXYKSnciS3giTHkKTXwlTn0rT34jUH8jUYABI1KBASNTggEjVIQBI1WGAQpWiAEjV4oBCliLASNZjAEjWo0BCluQASxckQEyXZMBM16UATNflwEzYJgBM2GZATNimwEzY50BCmSfATNloQEKZqIBM2ejATNopAEKaacBNGqoATprqgE7bKsBO22uATturwE7b7ABO3CyATtxtAEKcrYBO3O4AQp0uQE7dboBO3a7AQp3vgE8eL8BQnnBAUN6wgFDe8UBQ3zGAUN9xwFDfskBQ3_LAQqAAc0BQ4EBzwEKggHQAUODAdEBQ4QB0gEKhQHVAUSGAdYBSocB2AFLiAHZAUuJAdwBS4oB3QFLiwHeAUuMAeABS40B4gEKjgHkAUuPAeYBCpAB5wFLkQHoAUuSAekBCpMB7AFMlAHtAVKVAe8BU5YB8AFTlwHzAVOYAfQBU5kB9QFTmgH3AVObAfkBCpwB-wFTnQH9AQqeAf4BU58B_wFToAGAAgqhAYMCVKIBhAJaowGGAlukAYcCW6UBigJbpgGLAlunAYwCW6gBjgJbqQGQAgqqAZICW6sBlAIKrAGVAlutAZYCW64BlwIKrwGaAlywAZsCYrEBnQJjsgGeAmOzAaECY7QBogJjtQGjAmO2AaUCY7cBpwIKuAGpAmO5AasCCroBrAJjuwGtAmO8Aa4CCr0BsQJkvgGyAmq_AbQCa8ABtQJrwQG4AmvCAbkCa8MBugJrxAG8AmvFAb4CCsYBwAJrxwHCAgrIAcMCa8kBxAJrygHFAgrLAcgCbMwByQJyzQHLAnPOAcwCc88BzwJz0AHQAnPRAdECc9IB0wJz0wHVAgrUAdcCc9UB2QIK1gHaAnPXAdsCc9gB3AIK2QHfAnTaAeACeuAB4gJ74QHyAnviAfUCe-MB9gJ75AH3AnvlAfkCe-YB-wIK5wH9AnvoAf8CCukBgAN76gGBA3vrAYIDCuwBhQOBAe0BhgOHAe4BhwN87wGIA3zwAYkDfPEBigN88gGLA3zzAY0DfPQBjwMK9QGRA3z2AZMDCvcBlAN8-AGVA3z5AZYDCvoBmQOIAfsBmgOOAfwBmwN9_QGcA33-AZ0Dff8BngN9gAKfA32BAqEDfYICowMKgwKlA32EAqcDCoUCqAN9hgKpA32HAqoDCogCrQOPAYkCrgOVAYoCrwN-iwKwA36MArEDfo0CsgN-jgKzA36PArUDfpACtwMKkQK5A36SArsDCpMCvAN-lAK9A36VAr4DCpYCwQOWAZcCwgOcAZgCwwMCmQLEAwKaAsUDApsCxgMCnALHAwKdAskDAp4CywMKnwLNAwKgAs8DCqEC0AMCogLRAwKjAtIDCqQC1QOdAaUC1gOjAaYC1wMDpwLYAwOoAtkDA6kC2gMDqgLbAwOrAt0DA6wC3wMKrQLhAwOuAuMDCq8C5AMDsALlAwOxAuYDCrIC6QOkAbMC6gOqAbQC6wMFtQLsAwW2Au0DBbcC7gMFuALvAwW5AvEDBboC8wMKuwL1AwW8AvcDCr0C-AMFvgL5AwW_AvoDCsAC_QOrAcEC_gOxAcIC_wMGwwKABAbEAoEEBsUCggQGxgKDBAbHAoUEBsgChwQKyQKJBAbKAosECssCjAQGzAKNBAbNAo4ECs4CkQSyAc8CkgS4AdACkwQI0QKUBAjSApUECNMClgQI1AKXBAjVApkECNYCmwQK1wKdBAjYAp8ECtkCoAQI2gKhBAjbAqIECtwCpQS5Ad0CpgS_AQ" + strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"habit\",\"records\",\"_count\",\"habits\",\"checkIns\",\"list\",\"items\",\"checkLists\",\"templates\",\"owner\",\"project\",\"members\",\"column\",\"parent\",\"children\",\"assignee\",\"creator\",\"task\",\"tags\",\"tasks\",\"columns\",\"ownedProjects\",\"projectMembers\",\"assignedTasks\",\"createdTasks\",\"taskMembers\",\"User.findUnique\",\"User.findUniqueOrThrow\",\"User.findFirst\",\"User.findFirstOrThrow\",\"User.findMany\",\"data\",\"User.createOne\",\"User.createMany\",\"User.createManyAndReturn\",\"User.updateOne\",\"User.updateMany\",\"User.updateManyAndReturn\",\"create\",\"update\",\"User.upsertOne\",\"User.deleteOne\",\"User.deleteMany\",\"having\",\"_avg\",\"_sum\",\"_min\",\"_max\",\"User.groupBy\",\"User.aggregate\",\"Article.findUnique\",\"Article.findUniqueOrThrow\",\"Article.findFirst\",\"Article.findFirstOrThrow\",\"Article.findMany\",\"Article.createOne\",\"Article.createMany\",\"Article.createManyAndReturn\",\"Article.updateOne\",\"Article.updateMany\",\"Article.updateManyAndReturn\",\"Article.upsertOne\",\"Article.deleteOne\",\"Article.deleteMany\",\"Article.groupBy\",\"Article.aggregate\",\"Strategy.findUnique\",\"Strategy.findUniqueOrThrow\",\"Strategy.findFirst\",\"Strategy.findFirstOrThrow\",\"Strategy.findMany\",\"Strategy.createOne\",\"Strategy.createMany\",\"Strategy.createManyAndReturn\",\"Strategy.updateOne\",\"Strategy.updateMany\",\"Strategy.updateManyAndReturn\",\"Strategy.upsertOne\",\"Strategy.deleteOne\",\"Strategy.deleteMany\",\"Strategy.groupBy\",\"Strategy.aggregate\",\"indicator\",\"points\",\"Indicator.findUnique\",\"Indicator.findUniqueOrThrow\",\"Indicator.findFirst\",\"Indicator.findFirstOrThrow\",\"Indicator.findMany\",\"Indicator.createOne\",\"Indicator.createMany\",\"Indicator.createManyAndReturn\",\"Indicator.updateOne\",\"Indicator.updateMany\",\"Indicator.updateManyAndReturn\",\"Indicator.upsertOne\",\"Indicator.deleteOne\",\"Indicator.deleteMany\",\"Indicator.groupBy\",\"Indicator.aggregate\",\"IndicatorPoint.findUnique\",\"IndicatorPoint.findUniqueOrThrow\",\"IndicatorPoint.findFirst\",\"IndicatorPoint.findFirstOrThrow\",\"IndicatorPoint.findMany\",\"IndicatorPoint.createOne\",\"IndicatorPoint.createMany\",\"IndicatorPoint.createManyAndReturn\",\"IndicatorPoint.updateOne\",\"IndicatorPoint.updateMany\",\"IndicatorPoint.updateManyAndReturn\",\"IndicatorPoint.upsertOne\",\"IndicatorPoint.deleteOne\",\"IndicatorPoint.deleteMany\",\"IndicatorPoint.groupBy\",\"IndicatorPoint.aggregate\",\"News.findUnique\",\"News.findUniqueOrThrow\",\"News.findFirst\",\"News.findFirstOrThrow\",\"News.findMany\",\"News.createOne\",\"News.createMany\",\"News.createManyAndReturn\",\"News.updateOne\",\"News.updateMany\",\"News.updateManyAndReturn\",\"News.upsertOne\",\"News.deleteOne\",\"News.deleteMany\",\"News.groupBy\",\"News.aggregate\",\"Alert.findUnique\",\"Alert.findUniqueOrThrow\",\"Alert.findFirst\",\"Alert.findFirstOrThrow\",\"Alert.findMany\",\"Alert.createOne\",\"Alert.createMany\",\"Alert.createManyAndReturn\",\"Alert.updateOne\",\"Alert.updateMany\",\"Alert.updateManyAndReturn\",\"Alert.upsertOne\",\"Alert.deleteOne\",\"Alert.deleteMany\",\"Alert.groupBy\",\"Alert.aggregate\",\"ServerNode.findUnique\",\"ServerNode.findUniqueOrThrow\",\"ServerNode.findFirst\",\"ServerNode.findFirstOrThrow\",\"ServerNode.findMany\",\"ServerNode.createOne\",\"ServerNode.createMany\",\"ServerNode.createManyAndReturn\",\"ServerNode.updateOne\",\"ServerNode.updateMany\",\"ServerNode.updateManyAndReturn\",\"ServerNode.upsertOne\",\"ServerNode.deleteOne\",\"ServerNode.deleteMany\",\"ServerNode.groupBy\",\"ServerNode.aggregate\",\"ServerNodeHistory.findUnique\",\"ServerNodeHistory.findUniqueOrThrow\",\"ServerNodeHistory.findFirst\",\"ServerNodeHistory.findFirstOrThrow\",\"ServerNodeHistory.findMany\",\"ServerNodeHistory.createOne\",\"ServerNodeHistory.createMany\",\"ServerNodeHistory.createManyAndReturn\",\"ServerNodeHistory.updateOne\",\"ServerNodeHistory.updateMany\",\"ServerNodeHistory.updateManyAndReturn\",\"ServerNodeHistory.upsertOne\",\"ServerNodeHistory.deleteOne\",\"ServerNodeHistory.deleteMany\",\"ServerNodeHistory.groupBy\",\"ServerNodeHistory.aggregate\",\"ServiceCheck.findUnique\",\"ServiceCheck.findUniqueOrThrow\",\"ServiceCheck.findFirst\",\"ServiceCheck.findFirstOrThrow\",\"ServiceCheck.findMany\",\"ServiceCheck.createOne\",\"ServiceCheck.createMany\",\"ServiceCheck.createManyAndReturn\",\"ServiceCheck.updateOne\",\"ServiceCheck.updateMany\",\"ServiceCheck.updateManyAndReturn\",\"ServiceCheck.upsertOne\",\"ServiceCheck.deleteOne\",\"ServiceCheck.deleteMany\",\"ServiceCheck.groupBy\",\"ServiceCheck.aggregate\",\"Econ_SowInventory.findUnique\",\"Econ_SowInventory.findUniqueOrThrow\",\"Econ_SowInventory.findFirst\",\"Econ_SowInventory.findFirstOrThrow\",\"Econ_SowInventory.findMany\",\"Econ_SowInventory.createOne\",\"Econ_SowInventory.createMany\",\"Econ_SowInventory.createManyAndReturn\",\"Econ_SowInventory.updateOne\",\"Econ_SowInventory.updateMany\",\"Econ_SowInventory.updateManyAndReturn\",\"Econ_SowInventory.upsertOne\",\"Econ_SowInventory.deleteOne\",\"Econ_SowInventory.deleteMany\",\"Econ_SowInventory.groupBy\",\"Econ_SowInventory.aggregate\",\"ScraperCache.findUnique\",\"ScraperCache.findUniqueOrThrow\",\"ScraperCache.findFirst\",\"ScraperCache.findFirstOrThrow\",\"ScraperCache.findMany\",\"ScraperCache.createOne\",\"ScraperCache.createMany\",\"ScraperCache.createManyAndReturn\",\"ScraperCache.updateOne\",\"ScraperCache.updateMany\",\"ScraperCache.updateManyAndReturn\",\"ScraperCache.upsertOne\",\"ScraperCache.deleteOne\",\"ScraperCache.deleteMany\",\"ScraperCache.groupBy\",\"ScraperCache.aggregate\",\"OilPriceHistory.findUnique\",\"OilPriceHistory.findUniqueOrThrow\",\"OilPriceHistory.findFirst\",\"OilPriceHistory.findFirstOrThrow\",\"OilPriceHistory.findMany\",\"OilPriceHistory.createOne\",\"OilPriceHistory.createMany\",\"OilPriceHistory.createManyAndReturn\",\"OilPriceHistory.updateOne\",\"OilPriceHistory.updateMany\",\"OilPriceHistory.updateManyAndReturn\",\"OilPriceHistory.upsertOne\",\"OilPriceHistory.deleteOne\",\"OilPriceHistory.deleteMany\",\"OilPriceHistory.groupBy\",\"OilPriceHistory.aggregate\",\"MihomeAccount.findUnique\",\"MihomeAccount.findUniqueOrThrow\",\"MihomeAccount.findFirst\",\"MihomeAccount.findFirstOrThrow\",\"MihomeAccount.findMany\",\"MihomeAccount.createOne\",\"MihomeAccount.createMany\",\"MihomeAccount.createManyAndReturn\",\"MihomeAccount.updateOne\",\"MihomeAccount.updateMany\",\"MihomeAccount.updateManyAndReturn\",\"MihomeAccount.upsertOne\",\"MihomeAccount.deleteOne\",\"MihomeAccount.deleteMany\",\"MihomeAccount.groupBy\",\"MihomeAccount.aggregate\",\"home\",\"device\",\"samples\",\"hours\",\"devices\",\"MihomeHome.findUnique\",\"MihomeHome.findUniqueOrThrow\",\"MihomeHome.findFirst\",\"MihomeHome.findFirstOrThrow\",\"MihomeHome.findMany\",\"MihomeHome.createOne\",\"MihomeHome.createMany\",\"MihomeHome.createManyAndReturn\",\"MihomeHome.updateOne\",\"MihomeHome.updateMany\",\"MihomeHome.updateManyAndReturn\",\"MihomeHome.upsertOne\",\"MihomeHome.deleteOne\",\"MihomeHome.deleteMany\",\"MihomeHome.groupBy\",\"MihomeHome.aggregate\",\"MihomeDevice.findUnique\",\"MihomeDevice.findUniqueOrThrow\",\"MihomeDevice.findFirst\",\"MihomeDevice.findFirstOrThrow\",\"MihomeDevice.findMany\",\"MihomeDevice.createOne\",\"MihomeDevice.createMany\",\"MihomeDevice.createManyAndReturn\",\"MihomeDevice.updateOne\",\"MihomeDevice.updateMany\",\"MihomeDevice.updateManyAndReturn\",\"MihomeDevice.upsertOne\",\"MihomeDevice.deleteOne\",\"MihomeDevice.deleteMany\",\"MihomeDevice.groupBy\",\"MihomeDevice.aggregate\",\"MihomeEnvSample.findUnique\",\"MihomeEnvSample.findUniqueOrThrow\",\"MihomeEnvSample.findFirst\",\"MihomeEnvSample.findFirstOrThrow\",\"MihomeEnvSample.findMany\",\"MihomeEnvSample.createOne\",\"MihomeEnvSample.createMany\",\"MihomeEnvSample.createManyAndReturn\",\"MihomeEnvSample.updateOne\",\"MihomeEnvSample.updateMany\",\"MihomeEnvSample.updateManyAndReturn\",\"MihomeEnvSample.upsertOne\",\"MihomeEnvSample.deleteOne\",\"MihomeEnvSample.deleteMany\",\"MihomeEnvSample.groupBy\",\"MihomeEnvSample.aggregate\",\"MihomeEnvHour.findUnique\",\"MihomeEnvHour.findUniqueOrThrow\",\"MihomeEnvHour.findFirst\",\"MihomeEnvHour.findFirstOrThrow\",\"MihomeEnvHour.findMany\",\"MihomeEnvHour.createOne\",\"MihomeEnvHour.createMany\",\"MihomeEnvHour.createManyAndReturn\",\"MihomeEnvHour.updateOne\",\"MihomeEnvHour.updateMany\",\"MihomeEnvHour.updateManyAndReturn\",\"MihomeEnvHour.upsertOne\",\"MihomeEnvHour.deleteOne\",\"MihomeEnvHour.deleteMany\",\"MihomeEnvHour.groupBy\",\"MihomeEnvHour.aggregate\",\"Habit.findUnique\",\"Habit.findUniqueOrThrow\",\"Habit.findFirst\",\"Habit.findFirstOrThrow\",\"Habit.findMany\",\"Habit.createOne\",\"Habit.createMany\",\"Habit.createManyAndReturn\",\"Habit.updateOne\",\"Habit.updateMany\",\"Habit.updateManyAndReturn\",\"Habit.upsertOne\",\"Habit.deleteOne\",\"Habit.deleteMany\",\"Habit.groupBy\",\"Habit.aggregate\",\"CheckIn.findUnique\",\"CheckIn.findUniqueOrThrow\",\"CheckIn.findFirst\",\"CheckIn.findFirstOrThrow\",\"CheckIn.findMany\",\"CheckIn.createOne\",\"CheckIn.createMany\",\"CheckIn.createManyAndReturn\",\"CheckIn.updateOne\",\"CheckIn.updateMany\",\"CheckIn.updateManyAndReturn\",\"CheckIn.upsertOne\",\"CheckIn.deleteOne\",\"CheckIn.deleteMany\",\"CheckIn.groupBy\",\"CheckIn.aggregate\",\"CheckList.findUnique\",\"CheckList.findUniqueOrThrow\",\"CheckList.findFirst\",\"CheckList.findFirstOrThrow\",\"CheckList.findMany\",\"CheckList.createOne\",\"CheckList.createMany\",\"CheckList.createManyAndReturn\",\"CheckList.updateOne\",\"CheckList.updateMany\",\"CheckList.updateManyAndReturn\",\"CheckList.upsertOne\",\"CheckList.deleteOne\",\"CheckList.deleteMany\",\"CheckList.groupBy\",\"CheckList.aggregate\",\"CheckListItem.findUnique\",\"CheckListItem.findUniqueOrThrow\",\"CheckListItem.findFirst\",\"CheckListItem.findFirstOrThrow\",\"CheckListItem.findMany\",\"CheckListItem.createOne\",\"CheckListItem.createMany\",\"CheckListItem.createManyAndReturn\",\"CheckListItem.updateOne\",\"CheckListItem.updateMany\",\"CheckListItem.updateManyAndReturn\",\"CheckListItem.upsertOne\",\"CheckListItem.deleteOne\",\"CheckListItem.deleteMany\",\"CheckListItem.groupBy\",\"CheckListItem.aggregate\",\"CheckListTemplate.findUnique\",\"CheckListTemplate.findUniqueOrThrow\",\"CheckListTemplate.findFirst\",\"CheckListTemplate.findFirstOrThrow\",\"CheckListTemplate.findMany\",\"CheckListTemplate.createOne\",\"CheckListTemplate.createMany\",\"CheckListTemplate.createManyAndReturn\",\"CheckListTemplate.updateOne\",\"CheckListTemplate.updateMany\",\"CheckListTemplate.updateManyAndReturn\",\"CheckListTemplate.upsertOne\",\"CheckListTemplate.deleteOne\",\"CheckListTemplate.deleteMany\",\"CheckListTemplate.groupBy\",\"CheckListTemplate.aggregate\",\"Project.findUnique\",\"Project.findUniqueOrThrow\",\"Project.findFirst\",\"Project.findFirstOrThrow\",\"Project.findMany\",\"Project.createOne\",\"Project.createMany\",\"Project.createManyAndReturn\",\"Project.updateOne\",\"Project.updateMany\",\"Project.updateManyAndReturn\",\"Project.upsertOne\",\"Project.deleteOne\",\"Project.deleteMany\",\"Project.groupBy\",\"Project.aggregate\",\"ProjectMember.findUnique\",\"ProjectMember.findUniqueOrThrow\",\"ProjectMember.findFirst\",\"ProjectMember.findFirstOrThrow\",\"ProjectMember.findMany\",\"ProjectMember.createOne\",\"ProjectMember.createMany\",\"ProjectMember.createManyAndReturn\",\"ProjectMember.updateOne\",\"ProjectMember.updateMany\",\"ProjectMember.updateManyAndReturn\",\"ProjectMember.upsertOne\",\"ProjectMember.deleteOne\",\"ProjectMember.deleteMany\",\"ProjectMember.groupBy\",\"ProjectMember.aggregate\",\"BoardColumn.findUnique\",\"BoardColumn.findUniqueOrThrow\",\"BoardColumn.findFirst\",\"BoardColumn.findFirstOrThrow\",\"BoardColumn.findMany\",\"BoardColumn.createOne\",\"BoardColumn.createMany\",\"BoardColumn.createManyAndReturn\",\"BoardColumn.updateOne\",\"BoardColumn.updateMany\",\"BoardColumn.updateManyAndReturn\",\"BoardColumn.upsertOne\",\"BoardColumn.deleteOne\",\"BoardColumn.deleteMany\",\"BoardColumn.groupBy\",\"BoardColumn.aggregate\",\"Task.findUnique\",\"Task.findUniqueOrThrow\",\"Task.findFirst\",\"Task.findFirstOrThrow\",\"Task.findMany\",\"Task.createOne\",\"Task.createMany\",\"Task.createManyAndReturn\",\"Task.updateOne\",\"Task.updateMany\",\"Task.updateManyAndReturn\",\"Task.upsertOne\",\"Task.deleteOne\",\"Task.deleteMany\",\"Task.groupBy\",\"Task.aggregate\",\"TaskMember.findUnique\",\"TaskMember.findUniqueOrThrow\",\"TaskMember.findFirst\",\"TaskMember.findFirstOrThrow\",\"TaskMember.findMany\",\"TaskMember.createOne\",\"TaskMember.createMany\",\"TaskMember.createManyAndReturn\",\"TaskMember.updateOne\",\"TaskMember.updateMany\",\"TaskMember.updateManyAndReturn\",\"TaskMember.upsertOne\",\"TaskMember.deleteOne\",\"TaskMember.deleteMany\",\"TaskMember.groupBy\",\"TaskMember.aggregate\",\"TaskTag.findUnique\",\"TaskTag.findUniqueOrThrow\",\"TaskTag.findFirst\",\"TaskTag.findFirstOrThrow\",\"TaskTag.findMany\",\"TaskTag.createOne\",\"TaskTag.createMany\",\"TaskTag.createManyAndReturn\",\"TaskTag.updateOne\",\"TaskTag.updateMany\",\"TaskTag.updateManyAndReturn\",\"TaskTag.upsertOne\",\"TaskTag.deleteOne\",\"TaskTag.deleteMany\",\"TaskTag.groupBy\",\"TaskTag.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"uuid\",\"taskId\",\"name\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"userId\",\"projectId\",\"columnId\",\"parentId\",\"title\",\"description\",\"kind\",\"markDate\",\"status\",\"doneAt\",\"assigneeId\",\"creatorId\",\"extras\",\"sortOrder\",\"createdAt\",\"updatedAt\",\"number\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"boundStatus\",\"retention\",\"permission\",\"code\",\"ownerId\",\"isPersonal\",\"archived\",\"notes\",\"taskKinds\",\"icon\",\"scene\",\"builtin\",\"listId\",\"note\",\"done\",\"habitId\",\"date\",\"seq\",\"source\",\"period\",\"target\",\"color\",\"deviceId\",\"hour\",\"temperatureAvg\",\"humidityAvg\",\"raw\",\"temperature\",\"humidity\",\"temperatureMin\",\"temperatureMax\",\"humidityMin\",\"humidityMax\",\"origin\",\"sampledAt\",\"did\",\"homeId\",\"model\",\"alias\",\"tempSiid\",\"tempPiid\",\"humSiid\",\"humPiid\",\"battSiid\",\"battPiid\",\"battery\",\"batteryAt\",\"enabled\",\"lastSyncAt\",\"every\",\"some\",\"none\",\"deviceId_hour\",\"deviceId_date\",\"key\",\"lastError\",\"province\",\"fuel\",\"price\",\"date_province_fuel\",\"scraperName\",\"lastDataHash\",\"lastUpdateAt\",\"metadata\",\"month\",\"inventory\",\"url\",\"latencyMs\",\"message\",\"lastCheckAt\",\"cpu\",\"ram\",\"load\",\"disk\",\"netIn\",\"netOut\",\"process\",\"connections\",\"uuid_period\",\"cpuName\",\"os\",\"region\",\"memTotal\",\"diskTotal\",\"cpuCores\",\"cpuUsage\",\"ramUsed\",\"swapUsed\",\"load1\",\"load5\",\"load15\",\"diskUsed\",\"uptime\",\"recordedAt\",\"indicatorName\",\"valueA\",\"valueB\",\"sourceA\",\"sourceB\",\"diff\",\"diffRatio\",\"summary\",\"content\",\"publishedAt\",\"impactRank\",\"title_publishedAt\",\"indicatorId\",\"value\",\"groupName\",\"unit\",\"frequency\",\"hidden\",\"indicatorId_period\",\"slug\",\"email\",\"password\",\"taskId_userId\",\"projectId_number\",\"projectId_name\",\"projectId_userId\",\"habitId_date_seq\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"), + graph: "mgysAtADEgcAAIoHACAIAACLBwAgCwAAjAcAIAwAAI0HACAZAACOBwAgGgAAhwcAIBsAAP4GACAcAAD-BgAgHQAAgAcAIP0DAACJBwAw_gMAABoAEP8DAACJBwAwgAQCAAAAAYMEAQC5BgAhnQRAALoGACGeBEAAugYAIZgFAQAAAAGZBQEAuQYAIQEAAAABACARAwAA-AYAIAUAAIsHACD9AwAAlwcAMP4DAAADABD_AwAAlwcAMIAEAgC4BgAhgwQBALkGACGPBAIAuAYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIawEIADHBgAhrwQBALkGACGzBAEAuQYAIbkEAQC5BgAhugQCALgGACG7BAEAuQYAIQIDAACPCwAgBQAAhwsAIBEDAAD4BgAgBQAAiwcAIP0DAACXBwAw_gMAAAMAEP8DAACXBwAwgAQCAAAAAYMEAQC5BgAhjwQCALgGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGsBCAAxwYAIa8EAQC5BgAhswQBALkGACG5BAEAuQYAIboEAgC4BgAhuwQBALkGACEDAAAAAwAgAQAABAAwAgAABQAgDQMAAPgGACAEAACWBwAg_QMAAJUHADD-AwAABwAQ_wMAAJUHADCABAIAuAYAIY8EAgC4BgAhnQRAALoGACGzBAEAuQYAIbUEAgC4BgAhtgQBALkGACG3BAIAuAYAIbgEAQC5BgAhAgMAAI8LACAEAACWCwAgDgMAAPgGACAEAACWBwAg_QMAAJUHADD-AwAABwAQ_wMAAJUHADCABAIAAAABjwQCALgGACGdBEAAugYAIbMEAQC5BgAhtQQCALgGACG2BAEAuQYAIbcEAgC4BgAhuAQBALkGACGeBQAAlAcAIAMAAAAHACABAAAIADACAAAJACABAAAABwAgAwAAAAcAIAEAAAgAMAIAAAkAIA0DAAD4BgAgCgAAkwcAIP0DAACSBwAw_gMAAA0AEP8DAACSBwAwgAQCALgGACGPBAIAuAYAIZMEAQC5BgAhnQRAALoGACGeBEAAugYAIawEIADHBgAhsAQBALkGACGzBAEAuQYAIQIDAACPCwAgCgAAlQsAIA0DAAD4BgAgCgAAkwcAIP0DAACSBwAw_gMAAA0AEP8DAACSBwAwgAQCAAAAAY8EAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhrAQgAMcGACGwBAEAuQYAIbMEAQC5BgAhAwAAAA0AIAEAAA4AMAIAAA8AIA0JAACRBwAg_QMAAJAHADD-AwAAEQAQ_wMAAJAHADCABAIAuAYAIZMEAQC5BgAhmARAAMMGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGyBAIAuAYAIbMEAQC5BgAhtAQgAMcGACECCQAAlAsAIJgEAACqBwAgDQkAAJEHACD9AwAAkAcAMP4DAAARABD_AwAAkAcAMIAEAgAAAAGTBAEAuQYAIZgEQADDBgAhnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhsgQCALgGACGzBAEAuQYAIbQEIADHBgAhAwAAABEAIAEAABIAMAIAABMAIAEAAAARACAMAwAA_wYAIAoAAPAGACD9AwAAjwcAMP4DAAAWABD_AwAAjwcAMIAEAgC4BgAhgwQBALkGACGPBAIAxgYAIZ0EQAC6BgAhngRAALoGACGwBAEAuQYAIbEEIADHBgAhAgMAAI8LACCPBAAAqgcAIAwDAAD_BgAgCgAA8AYAIP0DAACPBwAw_gMAABYAEP8DAACPBwAwgAQCAAAAAYMEAQC5BgAhjwQCAMYGACGdBEAAugYAIZ4EQAC6BgAhsAQBALkGACGxBCAAxwYAIQMAAAAWACABAAAXADACAAAYACASBwAAigcAIAgAAIsHACALAACMBwAgDAAAjQcAIBkAAI4HACAaAACHBwAgGwAA_gYAIBwAAP4GACAdAACABwAg_QMAAIkHADD-AwAAGgAQ_wMAAIkHADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACGeBEAAugYAIZgFAQC5BgAhmQUBALkGACEBAAAAGgAgEw0AAPgGACAPAACHBwAgFwAA_gYAIBgAAIgHACD9AwAAhgcAMP4DAAAcABD_AwAAhgcAMIAEAgC4BgAhgQQBALkGACGDBAEAuQYAIZ0EQAC6BgAhngRAALoGACGpBAEAuQYAIaoEAgC4BgAhqwQgAMcGACGsBCAAxwYAIa0EAADwBgAgrgQAAL8GACCvBAEAxQYAIQYNAACPCwAgDwAAiwsAIBcAAIwLACAYAACTCwAgrgQAAKoHACCvBAAAqgcAIBMNAAD4BgAgDwAAhwcAIBcAAP4GACAYAACIBwAg_QMAAIYHADD-AwAAHAAQ_wMAAIYHADCABAIAAAABgQQBAAAAAYMEAQC5BgAhnQRAALoGACGeBEAAugYAIakEAQAAAAGqBAIAuAYAIasEIADHBgAhrAQgAMcGACGtBAAA8AYAIK4EAAC_BgAgrwQBAMUGACEDAAAAHAAgAQAAHQAwAgAAHgAgCwMAAPgGACAOAAD7BgAg_QMAAIUHADD-AwAAIAAQ_wMAAIUHADCABAIAuAYAIYEEAQC5BgAhjwQCALgGACGQBAIAuAYAIZ0EQAC6BgAhqAQBALkGACECAwAAjwsAIA4AAJALACAMAwAA-AYAIA4AAPsGACD9AwAAhQcAMP4DAAAgABD_AwAAhQcAMIAEAgAAAAGBBAEAAAABjwQCALgGACGQBAIAuAYAIZ0EQAC6BgAhqAQBALkGACGdBQAAhAcAIAMAAAAgACABAAAhADACAAAiACAODgAA-wYAIBcAAP4GACD9AwAAgwcAMP4DAAAkABD_AwAAgwcAMIAEAgC4BgAhgQQBALkGACGDBAEAuQYAIZAEAgC4BgAhnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhpgQBAMUGACGnBAEAuQYAIQMOAACQCwAgFwAAjAsAIKYEAACqBwAgDw4AAPsGACAXAAD-BgAg_QMAAIMHADD-AwAAJAAQ_wMAAIMHADCABAIAAAABgQQBAAAAAYMEAQC5BgAhkAQCALgGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGmBAEAxQYAIacEAQC5BgAhnAUAAIIHACADAAAAJAAgAQAAJQAwAgAAJgAgHQ4AAPsGACAPAACABwAgEAAA_AYAIBEAAP0GACASAAD-BgAgEwAA_wYAIBQAAPgGACAWAACBBwAg_QMAAPoGADD-AwAAKAAQ_wMAAPoGADCABAIAuAYAIYEEAQC5BgAhkAQCALgGACGRBAIAuAYAIZIEAgDGBgAhkwQBALkGACGUBAEAuQYAIZUEAQDFBgAhlgRAAMMGACGXBAEAuQYAIZgEQADDBgAhmQQCAMYGACGaBAIAuAYAIZsEAADwBgAgnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhnwQCAMYGACEODgAAkAsAIA8AAI0LACAQAACRCwAgEQAAjgsAIBIAAIwLACATAACPCwAgFAAAjwsAIBYAAJILACCSBAAAqgcAIJUEAACqBwAglgQAAKoHACCYBAAAqgcAIJkEAACqBwAgnwQAAKoHACAeDgAA-wYAIA8AAIAHACAQAAD8BgAgEQAA_QYAIBIAAP4GACATAAD_BgAgFAAA-AYAIBYAAIEHACD9AwAA-gYAMP4DAAAoABD_AwAA-gYAMIAEAgAAAAGBBAEAAAABkAQCALgGACGRBAIAuAYAIZIEAgDGBgAhkwQBALkGACGUBAEAuQYAIZUEAQDFBgAhlgRAAMMGACGXBAEAuQYAIZgEQADDBgAhmQQCAMYGACGaBAIAuAYAIZsEAADwBgAgnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhnwQCAMYGACGbBQAA-QYAIAMAAAAoACABAAApADACAAAqACABAAAAKAAgAwAAACgAIAEAACkAMAIAACoAIAEAAAAaACAJAwAA-AYAIBUAAPUGACD9AwAA9wYAMP4DAAAvABD_AwAA9wYAMIAEAgC4BgAhgQQBALkGACGCBAIAuAYAIY8EAgC4BgAhAgMAAI8LACAVAACOCwAgCgMAAPgGACAVAAD1BgAg_QMAAPcGADD-AwAALwAQ_wMAAPcGADCABAIAAAABgQQBAAAAAYIEAgC4BgAhjwQCALgGACGaBQAA9gYAIAMAAAAvACABAAAwADACAAAxACAIFQAA9QYAIP0DAAD0BgAw_gMAADMAEP8DAAD0BgAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhgwQBALkGACEBFQAAjgsAIAgVAAD1BgAg_QMAAPQGADD-AwAAMwAQ_wMAAPQGADCABAIAAAABgQQBAAAAAYIEAgC4BgAhgwQBALkGACEDAAAAMwAgAQAANAAwAgAANQAgAQAAACgAIAEAAAAvACABAAAAMwAgAQAAACgAIAMAAAAoACABAAApADACAAAqACABAAAAIAAgAQAAACQAIAEAAAAoACADAAAAIAAgAQAAIQAwAgAAIgAgAwAAACgAIAEAACkAMAIAACoAIAMAAAAoACABAAApADACAAAqACADAAAALwAgAQAAMAAwAgAAMQAgAQAAAAMAIAEAAAAHACABAAAADQAgAQAAABYAIAEAAAAcACABAAAAIAAgAQAAACgAIAEAAAAoACABAAAALwAgAQAAAAEAIAkHAACGCwAgCAAAhwsAIAsAAIgLACAMAACJCwAgGQAAigsAIBoAAIsLACAbAACMCwAgHAAAjAsAIB0AAI0LACADAAAAGgAgAQAATQAwAgAAAQAgAwAAABoAIAEAAE0AMAIAAAEAIAMAAAAaACABAABNADACAAABACAPBwAA_QoAIAgAAP4KACALAAD_CgAgDAAAgAsAIBkAAIELACAaAACCCwAgGwAAgwsAIBwAAIQLACAdAACFCwAggAQCAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAZgFAQAAAAGZBQEAAAABASMAAFEAIAaABAIAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABmAUBAAAAAZkFAQAAAAEBIwAAUwAwASMAAFMAMA8HAACXCgAgCAAAmAoAIAsAAJkKACAMAACaCgAgGQAAmwoAIBoAAJwKACAbAACdCgAgHAAAngoAIB0AAJ8KACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACECAAAAAQAgIwAAVgAgBoAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQIAAAAaACAjAABYACACAAAAGgAgIwAAWAAgAwAAAAEAICoAAFEAICsAAFYAIAEAAAABACABAAAAGgAgBQYAAJIKACAwAACTCgAgMQAAlgoAIDIAAJUKACAzAACUCgAgCf0DAADzBgAw_gMAAF8AEP8DAADzBgAwgAQCAIwGACGDBAEAjQYAIZ0EQACZBgAhngRAAJkGACGYBQEAjQYAIZkFAQCNBgAhAwAAABoAIAEAAF4AMC8AAF8AIAMAAAAaACABAABNADACAAABACAK_QMAAPIGADD-AwAAZQAQ_wMAAPIGADCABAIAAAABkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhtgQBALkGACGMBQEAuQYAIZcFAQAAAAEBAAAAYgAgAQAAAGIAIAr9AwAA8gYAMP4DAABlABD_AwAA8gYAMIAEAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhtgQBALkGACGMBQEAuQYAIZcFAQC5BgAhAAMAAABlACABAABmADACAABiACADAAAAZQAgAQAAZgAwAgAAYgAgAwAAAGUAIAEAAGYAMAIAAGIAIAeABAIAAAABkwQBAAAAAZ0EQAAAAAGeBEAAAAABtgQBAAAAAYwFAQAAAAGXBQEAAAABASMAAGoAIAeABAIAAAABkwQBAAAAAZ0EQAAAAAGeBEAAAAABtgQBAAAAAYwFAQAAAAGXBQEAAAABASMAAGwAMAEjAABsADAHgAQCAJ4HACGTBAEAnQcAIZ0EQACyBwAhngRAALIHACG2BAEAnQcAIYwFAQCdBwAhlwUBAJ0HACECAAAAYgAgIwAAbwAgB4AEAgCeBwAhkwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhtgQBAJ0HACGMBQEAnQcAIZcFAQCdBwAhAgAAAGUAICMAAHEAIAIAAABlACAjAABxACADAAAAYgAgKgAAagAgKwAAbwAgAQAAAGIAIAEAAABlACAFBgAAjQoAIDAAAI4KACAxAACRCgAgMgAAkAoAIDMAAI8KACAK_QMAAPEGADD-AwAAeAAQ_wMAAPEGADCABAIAjAYAIZMEAQCNBgAhnQRAAJkGACGeBEAAmQYAIbYEAQCNBgAhjAUBAI0GACGXBQEAjQYAIQMAAABlACABAAB3ADAvAAB4ACADAAAAZQAgAQAAZgAwAgAAYgAgCSMAAPAGACD9AwAA7wYAMP4DAAB-ABD_AwAA7wYAMIAEAgAAAAGDBAEAuQYAIZQEAQC5BgAhnQRAALoGACGeBEAAugYAIQEAAAB7ACABAAAAewAgCSMAAPAGACD9AwAA7wYAMP4DAAB-ABD_AwAA7wYAMIAEAgC4BgAhgwQBALkGACGUBAEAuQYAIZ0EQAC6BgAhngRAALoGACEAAwAAAH4AIAEAAH8AMAIAAHsAIAMAAAB-ACABAAB_ADACAAB7ACADAAAAfgAgAQAAfwAwAgAAewAgBiOAAAAAAYAEAgAAAAGDBAEAAAABlAQBAAAAAZ0EQAAAAAGeBEAAAAABASMAAIMBACAGI4AAAAABgAQCAAAAAYMEAQAAAAGUBAEAAAABnQRAAAAAAZ4EQAAAAAEBIwAAhQEAMAEjAACFAQAwBiOAAAAAAYAEAgCeBwAhgwQBAJ0HACGUBAEAnQcAIZ0EQACyBwAhngRAALIHACECAAAAewAgIwAAiAEAIAYjgAAAAAGABAIAngcAIYMEAQCdBwAhlAQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhAgAAAH4AICMAAIoBACACAAAAfgAgIwAAigEAIAMAAAB7ACAqAACDAQAgKwAAiAEAIAEAAAB7ACABAAAAfgAgBQYAAIgKACAwAACJCgAgMQAAjAoAIDIAAIsKACAzAACKCgAgCSMAAJgGACD9AwAA7gYAMP4DAACRAQAQ_wMAAO4GADCABAIAjAYAIYMEAQCNBgAhlAQBAI0GACGdBEAAmQYAIZ4EQACZBgAhAwAAAH4AIAEAAJABADAvAACRAQAgAwAAAH4AIAEAAH8AMAIAAHsAIA5XAADqBgAg_QMAAOkGADD-AwAAnAEAEP8DAADpBgAwgAQCAAAAAYMEAQAAAAGTBAEAuQYAIZ0EQAC6BgAhngRAALoGACG4BAEAuQYAIZIFAQC5BgAhkwUBALkGACGUBQEAuQYAIZUFIADHBgAhAQAAAJQBACAKVgAA7QYAIP0DAADsBgAw_gMAAJYBABD_AwAA7AYAMIAEAgC4BgAhnQRAALoGACGeBEAAugYAIbkEAQC5BgAhkAUCALgGACGRBQgA0QYAIQFWAACHCgAgC1YAAO0GACD9AwAA7AYAMP4DAACWAQAQ_wMAAOwGADCABAIAAAABnQRAALoGACGeBEAAugYAIbkEAQC5BgAhkAUCALgGACGRBQgA0QYAIZYFAADrBgAgAwAAAJYBACABAACXAQAwAgAAmAEAIAEAAACWAQAgAQAAAJQBACAOVwAA6gYAIP0DAADpBgAw_gMAAJwBABD_AwAA6QYAMIAEAgC4BgAhgwQBALkGACGTBAEAuQYAIZ0EQAC6BgAhngRAALoGACG4BAEAuQYAIZIFAQC5BgAhkwUBALkGACGUBQEAuQYAIZUFIADHBgAhAVcAAIYKACADAAAAnAEAIAEAAJ0BADACAACUAQAgAwAAAJwBACABAACdAQAwAgAAlAEAIAMAAACcAQAgAQAAnQEAMAIAAJQBACALVwAAhQoAIIAEAgAAAAGDBAEAAAABkwQBAAAAAZ0EQAAAAAGeBEAAAAABuAQBAAAAAZIFAQAAAAGTBQEAAAABlAUBAAAAAZUFIAAAAAEBIwAAoQEAIAqABAIAAAABgwQBAAAAAZMEAQAAAAGdBEAAAAABngRAAAAAAbgEAQAAAAGSBQEAAAABkwUBAAAAAZQFAQAAAAGVBSAAAAABASMAAKMBADABIwAAowEAMAtXAAD4CQAggAQCAJ4HACGDBAEAnQcAIZMEAQCdBwAhnQRAALIHACGeBEAAsgcAIbgEAQCdBwAhkgUBAJ0HACGTBQEAnQcAIZQFAQCdBwAhlQUgAIgIACECAAAAlAEAICMAAKYBACAKgAQCAJ4HACGDBAEAnQcAIZMEAQCdBwAhnQRAALIHACGeBEAAsgcAIbgEAQCdBwAhkgUBAJ0HACGTBQEAnQcAIZQFAQCdBwAhlQUgAIgIACECAAAAnAEAICMAAKgBACACAAAAnAEAICMAAKgBACADAAAAlAEAICoAAKEBACArAACmAQAgAQAAAJQBACABAAAAnAEAIAUGAADzCQAgMAAA9AkAIDEAAPcJACAyAAD2CQAgMwAA9QkAIA39AwAA6AYAMP4DAACvAQAQ_wMAAOgGADCABAIAjAYAIYMEAQCNBgAhkwQBAI0GACGdBEAAmQYAIZ4EQACZBgAhuAQBAI0GACGSBQEAjQYAIZMFAQCNBgAhlAUBAI0GACGVBSAApwYAIQMAAACcAQAgAQAArgEAMC8AAK8BACADAAAAnAEAIAEAAJ0BADACAACUAQAgAQAAAJgBACABAAAAmAEAIAMAAACWAQAgAQAAlwEAMAIAAJgBACADAAAAlgEAIAEAAJcBADACAACYAQAgAwAAAJYBACABAACXAQAwAgAAmAEAIAdWAADyCQAggAQCAAAAAZ0EQAAAAAGeBEAAAAABuQQBAAAAAZAFAgAAAAGRBQgAAAABASMAALcBACAGgAQCAAAAAZ0EQAAAAAGeBEAAAAABuQQBAAAAAZAFAgAAAAGRBQgAAAABASMAALkBADABIwAAuQEAMAdWAADxCQAggAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhuQQBAJ0HACGQBQIAngcAIZEFCADHCQAhAgAAAJgBACAjAAC8AQAgBoAEAgCeBwAhnQRAALIHACGeBEAAsgcAIbkEAQCdBwAhkAUCAJ4HACGRBQgAxwkAIQIAAACWAQAgIwAAvgEAIAIAAACWAQAgIwAAvgEAIAMAAACYAQAgKgAAtwEAICsAALwBACABAAAAmAEAIAEAAACWAQAgBQYAAOwJACAwAADtCQAgMQAA8AkAIDIAAO8JACAzAADuCQAgCf0DAADnBgAw_gMAAMUBABD_AwAA5wYAMIAEAgCMBgAhnQRAAJkGACGeBEAAmQYAIbkEAQCNBgAhkAUCAIwGACGRBQgAzgYAIQMAAACWAQAgAQAAxAEAMC8AAMUBACADAAAAlgEAIAEAAJcBADACAACYAQAgDf0DAADlBgAw_gMAAMsBABD_AwAA5QYAMIAEAgAAAAGTBAEAuQYAIZ0EQAC6BgAhuAQBALkGACHoBAEAuQYAIYsFAQC5BgAhjAUBAMUGACGNBUAAugYAIY4FAgC4BgAhjwUAAOYGACABAAAAyAEAIAEAAADIAQAgDP0DAADlBgAw_gMAAMsBABD_AwAA5QYAMIAEAgC4BgAhkwQBALkGACGdBEAAugYAIbgEAQC5BgAh6AQBALkGACGLBQEAuQYAIYwFAQDFBgAhjQVAALoGACGOBQIAuAYAIQGMBQAAqgcAIAMAAADLAQAgAQAAzAEAMAIAAMgBACADAAAAywEAIAEAAMwBADACAADIAQAgAwAAAMsBACABAADMAQAwAgAAyAEAIAmABAIAAAABkwQBAAAAAZ0EQAAAAAG4BAEAAAAB6AQBAAAAAYsFAQAAAAGMBQEAAAABjQVAAAAAAY4FAgAAAAEBIwAA0AEAIAmABAIAAAABkwQBAAAAAZ0EQAAAAAG4BAEAAAAB6AQBAAAAAYsFAQAAAAGMBQEAAAABjQVAAAAAAY4FAgAAAAEBIwAA0gEAMAEjAADSAQAwCYAEAgCeBwAhkwQBAJ0HACGdBEAAsgcAIbgEAQCdBwAh6AQBAJ0HACGLBQEAnQcAIYwFAQCwBwAhjQVAALIHACGOBQIAngcAIQIAAADIAQAgIwAA1QEAIAmABAIAngcAIZMEAQCdBwAhnQRAALIHACG4BAEAnQcAIegEAQCdBwAhiwUBAJ0HACGMBQEAsAcAIY0FQACyBwAhjgUCAJ4HACECAAAAywEAICMAANcBACACAAAAywEAICMAANcBACADAAAAyAEAICoAANABACArAADVAQAgAQAAAMgBACABAAAAywEAIAYGAADnCQAgMAAA6AkAIDEAAOsJACAyAADqCQAgMwAA6QkAIIwFAACqBwAgDP0DAADkBgAw_gMAAN4BABD_AwAA5AYAMIAEAgCMBgAhkwQBAI0GACGdBEAAmQYAIbgEAQCNBgAh6AQBAI0GACGLBQEAjQYAIYwFAQCWBgAhjQVAAJkGACGOBQIAjAYAIQMAAADLAQAgAQAA3QEAMC8AAN4BACADAAAAywEAIAEAAMwBADACAADIAQAgDf0DAADjBgAw_gMAAOQBABD_AwAA4wYAMIAEAgAAAAGdBEAAugYAIbkEAQC5BgAhhAUBALkGACGFBQgA0QYAIYYFCADRBgAhhwUBALkGACGIBQEAuQYAIYkFCADRBgAhigUIANEGACEBAAAA4QEAIAEAAADhAQAgDf0DAADjBgAw_gMAAOQBABD_AwAA4wYAMIAEAgC4BgAhnQRAALoGACG5BAEAuQYAIYQFAQC5BgAhhQUIANEGACGGBQgA0QYAIYcFAQC5BgAhiAUBALkGACGJBQgA0QYAIYoFCADRBgAhAAMAAADkAQAgAQAA5QEAMAIAAOEBACADAAAA5AEAIAEAAOUBADACAADhAQAgAwAAAOQBACABAADlAQAwAgAA4QEAIAqABAIAAAABnQRAAAAAAbkEAQAAAAGEBQEAAAABhQUIAAAAAYYFCAAAAAGHBQEAAAABiAUBAAAAAYkFCAAAAAGKBQgAAAABASMAAOkBACAKgAQCAAAAAZ0EQAAAAAG5BAEAAAABhAUBAAAAAYUFCAAAAAGGBQgAAAABhwUBAAAAAYgFAQAAAAGJBQgAAAABigUIAAAAAQEjAADrAQAwASMAAOsBADAKgAQCAJ4HACGdBEAAsgcAIbkEAQCdBwAhhAUBAJ0HACGFBQgAxwkAIYYFCADHCQAhhwUBAJ0HACGIBQEAnQcAIYkFCADHCQAhigUIAMcJACECAAAA4QEAICMAAO4BACAKgAQCAJ4HACGdBEAAsgcAIbkEAQCdBwAhhAUBAJ0HACGFBQgAxwkAIYYFCADHCQAhhwUBAJ0HACGIBQEAnQcAIYkFCADHCQAhigUIAMcJACECAAAA5AEAICMAAPABACACAAAA5AEAICMAAPABACADAAAA4QEAICoAAOkBACArAADuAQAgAQAAAOEBACABAAAA5AEAIAUGAADiCQAgMAAA4wkAIDEAAOYJACAyAADlCQAgMwAA5AkAIA39AwAA4gYAMP4DAAD3AQAQ_wMAAOIGADCABAIAjAYAIZ0EQACZBgAhuQQBAI0GACGEBQEAjQYAIYUFCADOBgAhhgUIAM4GACGHBQEAjQYAIYgFAQCNBgAhiQUIAM4GACGKBQgAzgYAIQMAAADkAQAgAQAA9gEAMC8AAPcBACADAAAA5AEAIAEAAOUBADACAADhAQAgHP0DAADhBgAw_gMAAP0BABD_AwAA4QYAMIAEAgAAAAGBBAEAAAABgwQBALkGACGXBAEAuQYAIZ0EQAC6BgAhngRAALoGACHwBAQA3gYAIfEEBADeBgAh8gQCALgGACHzBAIAuAYAIfUEAQC5BgAh9gQBALkGACH3BAEAuQYAIfgEBADeBgAh-QQEAN4GACH6BAIAuAYAIfsECADRBgAh_AQEAN4GACH9BAQA3gYAIf4ECADRBgAh_wQIANEGACGABQgA0QYAIYEFBADeBgAhggUEAN4GACGDBUAAugYAIQEAAAD6AQAgAQAAAPoBACAc_QMAAOEGADD-AwAA_QEAEP8DAADhBgAwgAQCALgGACGBBAEAuQYAIYMEAQC5BgAhlwQBALkGACGdBEAAugYAIZ4EQAC6BgAh8AQEAN4GACHxBAQA3gYAIfIEAgC4BgAh8wQCALgGACH1BAEAuQYAIfYEAQC5BgAh9wQBALkGACH4BAQA3gYAIfkEBADeBgAh-gQCALgGACH7BAgA0QYAIfwEBADeBgAh_QQEAN4GACH-BAgA0QYAIf8ECADRBgAhgAUIANEGACGBBQQA3gYAIYIFBADeBgAhgwVAALoGACEAAwAAAP0BACABAAD-AQAwAgAA-gEAIAMAAAD9AQAgAQAA_gEAMAIAAPoBACADAAAA_QEAIAEAAP4BADACAAD6AQAgGYAEAgAAAAGBBAEAAAABgwQBAAAAAZcEAQAAAAGdBEAAAAABngRAAAAAAfAEBAAAAAHxBAQAAAAB8gQCAAAAAfMEAgAAAAH1BAEAAAAB9gQBAAAAAfcEAQAAAAH4BAQAAAAB-QQEAAAAAfoEAgAAAAH7BAgAAAAB_AQEAAAAAf0EBAAAAAH-BAgAAAAB_wQIAAAAAYAFCAAAAAGBBQQAAAABggUEAAAAAYMFQAAAAAEBIwAAggIAIBmABAIAAAABgQQBAAAAAYMEAQAAAAGXBAEAAAABnQRAAAAAAZ4EQAAAAAHwBAQAAAAB8QQEAAAAAfIEAgAAAAHzBAIAAAAB9QQBAAAAAfYEAQAAAAH3BAEAAAAB-AQEAAAAAfkEBAAAAAH6BAIAAAAB-wQIAAAAAfwEBAAAAAH9BAQAAAAB_gQIAAAAAf8ECAAAAAGABQgAAAABgQUEAAAAAYIFBAAAAAGDBUAAAAABASMAAIQCADABIwAAhAIAMBmABAIAngcAIYEEAQCdBwAhgwQBAJ0HACGXBAEAnQcAIZ0EQACyBwAhngRAALIHACHwBAQA3AkAIfEEBADcCQAh8gQCAJ4HACHzBAIAngcAIfUEAQCdBwAh9gQBAJ0HACH3BAEAnQcAIfgEBADcCQAh-QQEANwJACH6BAIAngcAIfsECADHCQAh_AQEANwJACH9BAQA3AkAIf4ECADHCQAh_wQIAMcJACGABQgAxwkAIYEFBADcCQAhggUEANwJACGDBUAAsgcAIQIAAAD6AQAgIwAAhwIAIBmABAIAngcAIYEEAQCdBwAhgwQBAJ0HACGXBAEAnQcAIZ0EQACyBwAhngRAALIHACHwBAQA3AkAIfEEBADcCQAh8gQCAJ4HACHzBAIAngcAIfUEAQCdBwAh9gQBAJ0HACH3BAEAnQcAIfgEBADcCQAh-QQEANwJACH6BAIAngcAIfsECADHCQAh_AQEANwJACH9BAQA3AkAIf4ECADHCQAh_wQIAMcJACGABQgAxwkAIYEFBADcCQAhggUEANwJACGDBUAAsgcAIQIAAAD9AQAgIwAAiQIAIAIAAAD9AQAgIwAAiQIAIAMAAAD6AQAgKgAAggIAICsAAIcCACABAAAA-gEAIAEAAAD9AQAgBQYAAN0JACAwAADeCQAgMQAA4QkAIDIAAOAJACAzAADfCQAgHP0DAADgBgAw_gMAAJACABD_AwAA4AYAMIAEAgCMBgAhgQQBAI0GACGDBAEAjQYAIZcEAQCNBgAhnQRAAJkGACGeBEAAmQYAIfAEBADaBgAh8QQEANoGACHyBAIAjAYAIfMEAgCMBgAh9QQBAI0GACH2BAEAjQYAIfcEAQCNBgAh-AQEANoGACH5BAQA2gYAIfoEAgCMBgAh-wQIAM4GACH8BAQA2gYAIf0EBADaBgAh_gQIAM4GACH_BAgAzgYAIYAFCADOBgAhgQUEANoGACGCBQQA2gYAIYMFQACZBgAhAwAAAP0BACABAACPAgAwLwAAkAIAIAMAAAD9AQAgAQAA_gEAMAIAAPoBACAQ_QMAAN0GADD-AwAAlgIAEP8DAADdBgAwgAQCAAAAAYEEAQC5BgAhnQRAALoGACG5BEAAugYAIewECADRBgAh7QQEAN4GACHuBAgA0QYAIe8EBADeBgAh8AQEAN4GACHxBAQA3gYAIfIEAgC4BgAh8wQCALgGACH0BAAA3wYAIAEAAACTAgAgAQAAAJMCACAP_QMAAN0GADD-AwAAlgIAEP8DAADdBgAwgAQCALgGACGBBAEAuQYAIZ0EQAC6BgAhuQRAALoGACHsBAgA0QYAIe0EBADeBgAh7gQIANEGACHvBAQA3gYAIfAEBADeBgAh8QQEAN4GACHyBAIAuAYAIfMEAgC4BgAhAAMAAACWAgAgAQAAlwIAMAIAAJMCACADAAAAlgIAIAEAAJcCADACAACTAgAgAwAAAJYCACABAACXAgAwAgAAkwIAIAyABAIAAAABgQQBAAAAAZ0EQAAAAAG5BEAAAAAB7AQIAAAAAe0EBAAAAAHuBAgAAAAB7wQEAAAAAfAEBAAAAAHxBAQAAAAB8gQCAAAAAfMEAgAAAAEBIwAAmwIAIAyABAIAAAABgQQBAAAAAZ0EQAAAAAG5BEAAAAAB7AQIAAAAAe0EBAAAAAHuBAgAAAAB7wQEAAAAAfAEBAAAAAHxBAQAAAAB8gQCAAAAAfMEAgAAAAEBIwAAnQIAMAEjAACdAgAwDIAEAgCeBwAhgQQBAJ0HACGdBEAAsgcAIbkEQACyBwAh7AQIAMcJACHtBAQA3AkAIe4ECADHCQAh7wQEANwJACHwBAQA3AkAIfEEBADcCQAh8gQCAJ4HACHzBAIAngcAIQIAAACTAgAgIwAAoAIAIAyABAIAngcAIYEEAQCdBwAhnQRAALIHACG5BEAAsgcAIewECADHCQAh7QQEANwJACHuBAgAxwkAIe8EBADcCQAh8AQEANwJACHxBAQA3AkAIfIEAgCeBwAh8wQCAJ4HACECAAAAlgIAICMAAKICACACAAAAlgIAICMAAKICACADAAAAkwIAICoAAJsCACArAACgAgAgAQAAAJMCACABAAAAlgIAIAUGAADXCQAgMAAA2AkAIDEAANsJACAyAADaCQAgMwAA2QkAIA_9AwAA2QYAMP4DAACpAgAQ_wMAANkGADCABAIAjAYAIYEEAQCNBgAhnQRAAJkGACG5BEAAmQYAIewECADOBgAh7QQEANoGACHuBAgAzgYAIe8EBADaBgAh8AQEANoGACHxBAQA2gYAIfIEAgCMBgAh8wQCAIwGACEDAAAAlgIAIAEAAKgCADAvAACpAgAgAwAAAJYCACABAACXAgAwAgAAkwIAIAz9AwAA2AYAMP4DAACvAgAQ_wMAANgGADCABAIAAAABgwQBAAAAAZcEAQC5BgAhnQRAALoGACGeBEAAugYAIegEAQC5BgAh6QQCALgGACHqBAEAuQYAIesEQAC6BgAhAQAAAKwCACABAAAArAIAIAz9AwAA2AYAMP4DAACvAgAQ_wMAANgGADCABAIAuAYAIYMEAQC5BgAhlwQBALkGACGdBEAAugYAIZ4EQAC6BgAh6AQBALkGACHpBAIAuAYAIeoEAQC5BgAh6wRAALoGACEAAwAAAK8CACABAACwAgAwAgAArAIAIAMAAACvAgAgAQAAsAIAMAIAAKwCACADAAAArwIAIAEAALACADACAACsAgAgCYAEAgAAAAGDBAEAAAABlwQBAAAAAZ0EQAAAAAGeBEAAAAAB6AQBAAAAAekEAgAAAAHqBAEAAAAB6wRAAAAAAQEjAAC0AgAgCYAEAgAAAAGDBAEAAAABlwQBAAAAAZ0EQAAAAAGeBEAAAAAB6AQBAAAAAekEAgAAAAHqBAEAAAAB6wRAAAAAAQEjAAC2AgAwASMAALYCADAJgAQCAJ4HACGDBAEAnQcAIZcEAQCdBwAhnQRAALIHACGeBEAAsgcAIegEAQCdBwAh6QQCAJ4HACHqBAEAnQcAIesEQACyBwAhAgAAAKwCACAjAAC5AgAgCYAEAgCeBwAhgwQBAJ0HACGXBAEAnQcAIZ0EQACyBwAhngRAALIHACHoBAEAnQcAIekEAgCeBwAh6gQBAJ0HACHrBEAAsgcAIQIAAACvAgAgIwAAuwIAIAIAAACvAgAgIwAAuwIAIAMAAACsAgAgKgAAtAIAICsAALkCACABAAAArAIAIAEAAACvAgAgBQYAANIJACAwAADTCQAgMQAA1gkAIDIAANUJACAzAADUCQAgDP0DAADXBgAw_gMAAMICABD_AwAA1wYAMIAEAgCMBgAhgwQBAI0GACGXBAEAjQYAIZ0EQACZBgAhngRAAJkGACHoBAEAjQYAIekEAgCMBgAh6gQBAI0GACHrBEAAmQYAIQMAAACvAgAgAQAAwQIAMC8AAMICACADAAAArwIAIAEAALACADACAACsAgAgCP0DAADWBgAw_gMAAMgCABD_AwAA1gYAMIAEAgAAAAGdBEAAugYAIZ4EQAC6BgAh5gQBAAAAAecEAgC4BgAhAQAAAMUCACABAAAAxQIAIAj9AwAA1gYAMP4DAADIAgAQ_wMAANYGADCABAIAuAYAIZ0EQAC6BgAhngRAALoGACHmBAEAuQYAIecEAgC4BgAhAAMAAADIAgAgAQAAyQIAMAIAAMUCACADAAAAyAIAIAEAAMkCADACAADFAgAgAwAAAMgCACABAADJAgAwAgAAxQIAIAWABAIAAAABnQRAAAAAAZ4EQAAAAAHmBAEAAAAB5wQCAAAAAQEjAADNAgAgBYAEAgAAAAGdBEAAAAABngRAAAAAAeYEAQAAAAHnBAIAAAABASMAAM8CADABIwAAzwIAMAWABAIAngcAIZ0EQACyBwAhngRAALIHACHmBAEAnQcAIecEAgCeBwAhAgAAAMUCACAjAADSAgAgBYAEAgCeBwAhnQRAALIHACGeBEAAsgcAIeYEAQCdBwAh5wQCAJ4HACECAAAAyAIAICMAANQCACACAAAAyAIAICMAANQCACADAAAAxQIAICoAAM0CACArAADSAgAgAQAAAMUCACABAAAAyAIAIAUGAADNCQAgMAAAzgkAIDEAANEJACAyAADQCQAgMwAAzwkAIAj9AwAA1QYAMP4DAADbAgAQ_wMAANUGADCABAIAjAYAIZ0EQACZBgAhngRAAJkGACHmBAEAjQYAIecEAgCMBgAhAwAAAMgCACABAADaAgAwLwAA2wIAIAMAAADIAgAgAQAAyQIAMAIAAMUCACAK_QMAANQGADD-AwAA4QIAEP8DAADUBgAwgAQCAAAAAZ0EQAC6BgAhngRAALoGACHiBAEAAAAB4wQBAMUGACHkBEAAugYAIeUEAAC_BgAgAQAAAN4CACABAAAA3gIAIAr9AwAA1AYAMP4DAADhAgAQ_wMAANQGADCABAIAuAYAIZ0EQAC6BgAhngRAALoGACHiBAEAuQYAIeMEAQDFBgAh5ARAALoGACHlBAAAvwYAIALjBAAAqgcAIOUEAACqBwAgAwAAAOECACABAADiAgAwAgAA3gIAIAMAAADhAgAgAQAA4gIAMAIAAN4CACADAAAA4QIAIAEAAOICADACAADeAgAgB4AEAgAAAAGdBEAAAAABngRAAAAAAeIEAQAAAAHjBAEAAAAB5ARAAAAAAeUEgAAAAAEBIwAA5gIAIAeABAIAAAABnQRAAAAAAZ4EQAAAAAHiBAEAAAAB4wQBAAAAAeQEQAAAAAHlBIAAAAABASMAAOgCADABIwAA6AIAMAeABAIAngcAIZ0EQACyBwAhngRAALIHACHiBAEAnQcAIeMEAQCwBwAh5ARAALIHACHlBIAAAAABAgAAAN4CACAjAADrAgAgB4AEAgCeBwAhnQRAALIHACGeBEAAsgcAIeIEAQCdBwAh4wQBALAHACHkBEAAsgcAIeUEgAAAAAECAAAA4QIAICMAAO0CACACAAAA4QIAICMAAO0CACADAAAA3gIAICoAAOYCACArAADrAgAgAQAAAN4CACABAAAA4QIAIAcGAADICQAgMAAAyQkAIDEAAMwJACAyAADLCQAgMwAAygkAIOMEAACqBwAg5QQAAKoHACAK_QMAANMGADD-AwAA9AIAEP8DAADTBgAwgAQCAIwGACGdBEAAmQYAIZ4EQACZBgAh4gQBAI0GACHjBAEAlgYAIeQEQACZBgAh5QQAAKgGACADAAAA4QIAIAEAAPMCADAvAAD0AgAgAwAAAOECACABAADiAgAwAgAA3gIAIAv9AwAA0AYAMP4DAAD6AgAQ_wMAANAGADCABAIAAAABnQRAALoGACG2BEAAugYAIbgEAQC5BgAh3gQBALkGACHfBAEAuQYAIeAECADRBgAh4QQAANIGACABAAAA9wIAIAEAAAD3AgAgCv0DAADQBgAw_gMAAPoCABD_AwAA0AYAMIAEAgC4BgAhnQRAALoGACG2BEAAugYAIbgEAQC5BgAh3gQBALkGACHfBAEAuQYAIeAECADRBgAhAAMAAAD6AgAgAQAA-wIAMAIAAPcCACADAAAA-gIAIAEAAPsCADACAAD3AgAgAwAAAPoCACABAAD7AgAwAgAA9wIAIAeABAIAAAABnQRAAAAAAbYEQAAAAAG4BAEAAAAB3gQBAAAAAd8EAQAAAAHgBAgAAAABASMAAP8CACAHgAQCAAAAAZ0EQAAAAAG2BEAAAAABuAQBAAAAAd4EAQAAAAHfBAEAAAAB4AQIAAAAAQEjAACBAwAwASMAAIEDADAHgAQCAJ4HACGdBEAAsgcAIbYEQACyBwAhuAQBAJ0HACHeBAEAnQcAId8EAQCdBwAh4AQIAMcJACECAAAA9wIAICMAAIQDACAHgAQCAJ4HACGdBEAAsgcAIbYEQACyBwAhuAQBAJ0HACHeBAEAnQcAId8EAQCdBwAh4AQIAMcJACECAAAA-gIAICMAAIYDACACAAAA-gIAICMAAIYDACADAAAA9wIAICoAAP8CACArAACEAwAgAQAAAPcCACABAAAA-gIAIAUGAADCCQAgMAAAwwkAIDEAAMYJACAyAADFCQAgMwAAxAkAIAr9AwAAzQYAMP4DAACNAwAQ_wMAAM0GADCABAIAjAYAIZ0EQACZBgAhtgRAAJkGACG4BAEAjQYAId4EAQCNBgAh3wQBAI0GACHgBAgAzgYAIQMAAAD6AgAgAQAAjAMAMC8AAI0DACADAAAA-gIAIAEAAPsCADACAAD3AgAgCf0DAADMBgAw_gMAAJMDABD_AwAAzAYAMIAEAgAAAAGPBAEAuQYAIZcEAQC5BgAhngRAALoGACHcBAEAAAAB3QQBALkGACEBAAAAkAMAIAEAAACQAwAgCf0DAADMBgAw_gMAAJMDABD_AwAAzAYAMIAEAgC4BgAhjwQBALkGACGXBAEAuQYAIZ4EQAC6BgAh3AQBALkGACHdBAEAuQYAIQADAAAAkwMAIAEAAJQDADACAACQAwAgAwAAAJMDACABAACUAwAwAgAAkAMAIAMAAACTAwAgAQAAlAMAMAIAAJADACAGgAQCAAAAAY8EAQAAAAGXBAEAAAABngRAAAAAAdwEAQAAAAHdBAEAAAABASMAAJgDACAGgAQCAAAAAY8EAQAAAAGXBAEAAAABngRAAAAAAdwEAQAAAAHdBAEAAAABASMAAJoDADABIwAAmgMAMAaABAIAngcAIY8EAQCdBwAhlwQBAJ0HACGeBEAAsgcAIdwEAQCdBwAh3QQBAJ0HACECAAAAkAMAICMAAJ0DACAGgAQCAJ4HACGPBAEAnQcAIZcEAQCdBwAhngRAALIHACHcBAEAnQcAId0EAQCdBwAhAgAAAJMDACAjAACfAwAgAgAAAJMDACAjAACfAwAgAwAAAJADACAqAACYAwAgKwAAnQMAIAEAAACQAwAgAQAAAJMDACAFBgAAvQkAIDAAAL4JACAxAADBCQAgMgAAwAkAIDMAAL8JACAJ_QMAAMsGADD-AwAApgMAEP8DAADLBgAwgAQCAIwGACGPBAEAjQYAIZcEAQCNBgAhngRAAJkGACHcBAEAjQYAId0EAQCNBgAhAwAAAJMDACABAAClAwAwLwAApgMAIAMAAACTAwAgAQAAlAMAMAIAAJADACAIjAIAALsGACD9AwAAtwYAMP4DAAC7AwAQ_wMAALcGADCABAIAAAABgwQBALkGACGdBEAAugYAIcoEAQAAAAEBAAAAqQMAIBeIAgAAyAYAIIoCAADJBgAgiwIAAMoGACD9AwAAxAYAMP4DAACrAwAQ_wMAAMQGADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACHJBAEAuQYAIcoEAQC5BgAhywQBALkGACHMBAEAxQYAIc0EAgC4BgAhzgQCALgGACHPBAIAuAYAIdAEAgC4BgAh0QQCALgGACHSBAIAuAYAIdMEAgDGBgAh1ARAAMMGACHVBCAAxwYAIdYEQADDBgAhB4gCAAC6CQAgigIAALsJACCLAgAAvAkAIMwEAACqBwAg0wQAAKoHACDUBAAAqgcAINYEAACqBwAgF4gCAADIBgAgigIAAMkGACCLAgAAygYAIP0DAADEBgAw_gMAAKsDABD_AwAAxAYAMIAEAgAAAAGDBAEAuQYAIZ0EQAC6BgAhyQQBAAAAAcoEAQC5BgAhywQBALkGACHMBAEAxQYAIc0EAgC4BgAhzgQCALgGACHPBAIAuAYAIdAEAgC4BgAh0QQCALgGACHSBAIAuAYAIdMEAgDGBgAh1ARAAMMGACHVBCAAxwYAIdYEQADDBgAhAwAAAKsDACABAACsAwAwAgAArQMAIBOJAgAAwAYAIP0DAADCBgAw_gMAAK8DABD_AwAAwgYAMIAEAgC4BgAhnQRAALoGACG2BEAAugYAIbwEAgC4BgAhvgQIAL4GACG_BAgAvgYAIcAEAAC_BgAgwQQIAL4GACHCBAgAvgYAIcMECAC-BgAhxAQIAL4GACHFBAgAvgYAIcYECAC-BgAhxwQBALkGACHIBEAAwwYAIQuJAgAAuQkAIL4EAACqBwAgvwQAAKoHACDABAAAqgcAIMEEAACqBwAgwgQAAKoHACDDBAAAqgcAIMQEAACqBwAgxQQAAKoHACDGBAAAqgcAIMgEAACqBwAgFIkCAADABgAg_QMAAMIGADD-AwAArwMAEP8DAADCBgAwgAQCAAAAAZ0EQAC6BgAhtgRAALoGACG8BAIAuAYAIb4ECAC-BgAhvwQIAL4GACHABAAAvwYAIMEECAC-BgAhwgQIAL4GACHDBAgAvgYAIcQECAC-BgAhxQQIAL4GACHGBAgAvgYAIccEAQC5BgAhyARAAMMGACHbBAAAwQYAIAMAAACvAwAgAQAAsAMAMAIAALEDACALiQIAAMAGACD9AwAAvQYAMP4DAACzAwAQ_wMAAL0GADCABAIAuAYAIZ0EQAC6BgAhvAQCALgGACG9BEAAugYAIb4ECAC-BgAhvwQIAL4GACHABAAAvwYAIASJAgAAuQkAIL4EAACqBwAgvwQAAKoHACDABAAAqgcAIAyJAgAAwAYAIP0DAAC9BgAw_gMAALMDABD_AwAAvQYAMIAEAgAAAAGdBEAAugYAIbwEAgC4BgAhvQRAALoGACG-BAgAvgYAIb8ECAC-BgAhwAQAAL8GACDaBAAAvAYAIAMAAACzAwAgAQAAtAMAMAIAALUDACABAAAArwMAIAEAAACzAwAgAQAAAKsDACABAAAAqQMAIAiMAgAAuwYAIP0DAAC3BgAw_gMAALsDABD_AwAAtwYAMIAEAgC4BgAhgwQBALkGACGdBEAAugYAIcoEAQC5BgAhAYwCAAC4CQAgAwAAALsDACABAAC8AwAwAgAAqQMAIAMAAAC7AwAgAQAAvAMAMAIAAKkDACADAAAAuwMAIAEAALwDADACAACpAwAgBYwCAAC3CQAggAQCAAAAAYMEAQAAAAGdBEAAAAABygQBAAAAAQEjAADAAwAgBIAEAgAAAAGDBAEAAAABnQRAAAAAAcoEAQAAAAEBIwAAwgMAMAEjAADCAwAwBYwCAACqCQAggAQCAJ4HACGDBAEAnQcAIZ0EQACyBwAhygQBAJ0HACECAAAAqQMAICMAAMUDACAEgAQCAJ4HACGDBAEAnQcAIZ0EQACyBwAhygQBAJ0HACECAAAAuwMAICMAAMcDACACAAAAuwMAICMAAMcDACADAAAAqQMAICoAAMADACArAADFAwAgAQAAAKkDACABAAAAuwMAIAUGAAClCQAgMAAApgkAIDEAAKkJACAyAACoCQAgMwAApwkAIAf9AwAAtgYAMP4DAADOAwAQ_wMAALYGADCABAIAjAYAIYMEAQCNBgAhnQRAAJkGACHKBAEAjQYAIQMAAAC7AwAgAQAAzQMAMC8AAM4DACADAAAAuwMAIAEAALwDADACAACpAwAgAQAAAK0DACABAAAArQMAIAMAAACrAwAgAQAArAMAMAIAAK0DACADAAAAqwMAIAEAAKwDADACAACtAwAgAwAAAKsDACABAACsAwAwAgAArQMAIBSIAgAAogkAIIoCAACjCQAgiwIAAKQJACCABAIAAAABgwQBAAAAAZ0EQAAAAAHJBAEAAAABygQBAAAAAcsEAQAAAAHMBAEAAAABzQQCAAAAAc4EAgAAAAHPBAIAAAAB0AQCAAAAAdEEAgAAAAHSBAIAAAAB0wQCAAAAAdQEQAAAAAHVBCAAAAAB1gRAAAAAAQEjAADWAwAgEYAEAgAAAAGDBAEAAAABnQRAAAAAAckEAQAAAAHKBAEAAAABywQBAAAAAcwEAQAAAAHNBAIAAAABzgQCAAAAAc8EAgAAAAHQBAIAAAAB0QQCAAAAAdIEAgAAAAHTBAIAAAAB1ARAAAAAAdUEIAAAAAHWBEAAAAABASMAANgDADABIwAA2AMAMBSIAgAAhwkAIIoCAACICQAgiwIAAIkJACCABAIAngcAIYMEAQCdBwAhnQRAALIHACHJBAEAnQcAIcoEAQCdBwAhywQBAJ0HACHMBAEAsAcAIc0EAgCeBwAhzgQCAJ4HACHPBAIAngcAIdAEAgCeBwAh0QQCAJ4HACHSBAIAngcAIdMEAgCzBwAh1ARAALEHACHVBCAAiAgAIdYEQACxBwAhAgAAAK0DACAjAADbAwAgEYAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIckEAQCdBwAhygQBAJ0HACHLBAEAnQcAIcwEAQCwBwAhzQQCAJ4HACHOBAIAngcAIc8EAgCeBwAh0AQCAJ4HACHRBAIAngcAIdIEAgCeBwAh0wQCALMHACHUBEAAsQcAIdUEIACICAAh1gRAALEHACECAAAAqwMAICMAAN0DACACAAAAqwMAICMAAN0DACADAAAArQMAICoAANYDACArAADbAwAgAQAAAK0DACABAAAAqwMAIAkGAACCCQAgMAAAgwkAIDEAAIYJACAyAACFCQAgMwAAhAkAIMwEAACqBwAg0wQAAKoHACDUBAAAqgcAINYEAACqBwAgFP0DAAC1BgAw_gMAAOQDABD_AwAAtQYAMIAEAgCMBgAhgwQBAI0GACGdBEAAmQYAIckEAQCNBgAhygQBAI0GACHLBAEAjQYAIcwEAQCWBgAhzQQCAIwGACHOBAIAjAYAIc8EAgCMBgAh0AQCAIwGACHRBAIAjAYAIdIEAgCMBgAh0wQCAJUGACHUBEAAlwYAIdUEIACnBgAh1gRAAJcGACEDAAAAqwMAIAEAAOMDADAvAADkAwAgAwAAAKsDACABAACsAwAwAgAArQMAIAEAAACxAwAgAQAAALEDACADAAAArwMAIAEAALADADACAACxAwAgAwAAAK8DACABAACwAwAwAgAAsQMAIAMAAACvAwAgAQAAsAMAMAIAALEDACAQiQIAAIEJACCABAIAAAABnQRAAAAAAbYEQAAAAAG8BAIAAAABvgQIAAAAAb8ECAAAAAHABIAAAAABwQQIAAAAAcIECAAAAAHDBAgAAAABxAQIAAAAAcUECAAAAAHGBAgAAAABxwQBAAAAAcgEQAAAAAEBIwAA7AMAIA-ABAIAAAABnQRAAAAAAbYEQAAAAAG8BAIAAAABvgQIAAAAAb8ECAAAAAHABIAAAAABwQQIAAAAAcIECAAAAAHDBAgAAAABxAQIAAAAAcUECAAAAAHGBAgAAAABxwQBAAAAAcgEQAAAAAEBIwAA7gMAMAEjAADuAwAwEIkCAACACQAggAQCAJ4HACGdBEAAsgcAIbYEQACyBwAhvAQCAJ4HACG-BAgA-AgAIb8ECAD4CAAhwASAAAAAAcEECAD4CAAhwgQIAPgIACHDBAgA-AgAIcQECAD4CAAhxQQIAPgIACHGBAgA-AgAIccEAQCdBwAhyARAALEHACECAAAAsQMAICMAAPEDACAPgAQCAJ4HACGdBEAAsgcAIbYEQACyBwAhvAQCAJ4HACG-BAgA-AgAIb8ECAD4CAAhwASAAAAAAcEECAD4CAAhwgQIAPgIACHDBAgA-AgAIcQECAD4CAAhxQQIAPgIACHGBAgA-AgAIccEAQCdBwAhyARAALEHACECAAAArwMAICMAAPMDACACAAAArwMAICMAAPMDACADAAAAsQMAICoAAOwDACArAADxAwAgAQAAALEDACABAAAArwMAIA8GAAD7CAAgMAAA_AgAIDEAAP8IACAyAAD-CAAgMwAA_QgAIL4EAACqBwAgvwQAAKoHACDABAAAqgcAIMEEAACqBwAgwgQAAKoHACDDBAAAqgcAIMQEAACqBwAgxQQAAKoHACDGBAAAqgcAIMgEAACqBwAgEv0DAAC0BgAw_gMAAPoDABD_AwAAtAYAMIAEAgCMBgAhnQRAAJkGACG2BEAAmQYAIbwEAgCMBgAhvgQIALIGACG_BAgAsgYAIcAEAACoBgAgwQQIALIGACHCBAgAsgYAIcMECACyBgAhxAQIALIGACHFBAgAsgYAIcYECACyBgAhxwQBAI0GACHIBEAAlwYAIQMAAACvAwAgAQAA-QMAMC8AAPoDACADAAAArwMAIAEAALADADACAACxAwAgAQAAALUDACABAAAAtQMAIAMAAACzAwAgAQAAtAMAMAIAALUDACADAAAAswMAIAEAALQDADACAAC1AwAgAwAAALMDACABAAC0AwAwAgAAtQMAIAiJAgAA-ggAIIAEAgAAAAGdBEAAAAABvAQCAAAAAb0EQAAAAAG-BAgAAAABvwQIAAAAAcAEgAAAAAEBIwAAggQAIAeABAIAAAABnQRAAAAAAbwEAgAAAAG9BEAAAAABvgQIAAAAAb8ECAAAAAHABIAAAAABASMAAIQEADABIwAAhAQAMAiJAgAA-QgAIIAEAgCeBwAhnQRAALIHACG8BAIAngcAIb0EQACyBwAhvgQIAPgIACG_BAgA-AgAIcAEgAAAAAECAAAAtQMAICMAAIcEACAHgAQCAJ4HACGdBEAAsgcAIbwEAgCeBwAhvQRAALIHACG-BAgA-AgAIb8ECAD4CAAhwASAAAAAAQIAAACzAwAgIwAAiQQAIAIAAACzAwAgIwAAiQQAIAMAAAC1AwAgKgAAggQAICsAAIcEACABAAAAtQMAIAEAAACzAwAgCAYAAPMIACAwAAD0CAAgMQAA9wgAIDIAAPYIACAzAAD1CAAgvgQAAKoHACC_BAAAqgcAIMAEAACqBwAgCv0DAACxBgAw_gMAAJAEABD_AwAAsQYAMIAEAgCMBgAhnQRAAJkGACG8BAIAjAYAIb0EQACZBgAhvgQIALIGACG_BAgAsgYAIcAEAACoBgAgAwAAALMDACABAACPBAAwLwAAkAQAIAMAAACzAwAgAQAAtAMAMAIAALUDACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA4DAADxCAAgBQAA8ggAIIAEAgAAAAGDBAEAAAABjwQCAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAawEIAAAAAGvBAEAAAABswQBAAAAAbkEAQAAAAG6BAIAAAABuwQBAAAAAQEjAACYBAAgDIAEAgAAAAGDBAEAAAABjwQCAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAawEIAAAAAGvBAEAAAABswQBAAAAAbkEAQAAAAG6BAIAAAABuwQBAAAAAQEjAACaBAAwASMAAJoEADAOAwAA4wgAIAUAAOQIACCABAIAngcAIYMEAQCdBwAhjwQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGsBCAAiAgAIa8EAQCdBwAhswQBAJ0HACG5BAEAnQcAIboEAgCeBwAhuwQBAJ0HACECAAAABQAgIwAAnQQAIAyABAIAngcAIYMEAQCdBwAhjwQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGsBCAAiAgAIa8EAQCdBwAhswQBAJ0HACG5BAEAnQcAIboEAgCeBwAhuwQBAJ0HACECAAAAAwAgIwAAnwQAIAIAAAADACAjAACfBAAgAwAAAAUAICoAAJgEACArAACdBAAgAQAAAAUAIAEAAAADACAFBgAA3ggAIDAAAN8IACAxAADiCAAgMgAA4QgAIDMAAOAIACAP_QMAALAGADD-AwAApgQAEP8DAACwBgAwgAQCAIwGACGDBAEAjQYAIY8EAgCMBgAhnAQCAIwGACGdBEAAmQYAIZ4EQACZBgAhrAQgAKcGACGvBAEAjQYAIbMEAQCNBgAhuQQBAI0GACG6BAIAjAYAIbsEAQCNBgAhAwAAAAMAIAEAAKUEADAvAACmBAAgAwAAAAMAIAEAAAQAMAIAAAUAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgCgMAAN0IACAEAADcCAAggAQCAAAAAY8EAgAAAAGdBEAAAAABswQBAAAAAbUEAgAAAAG2BAEAAAABtwQCAAAAAbgEAQAAAAEBIwAArgQAIAiABAIAAAABjwQCAAAAAZ0EQAAAAAGzBAEAAAABtQQCAAAAAbYEAQAAAAG3BAIAAAABuAQBAAAAAQEjAACwBAAwASMAALAEADAKAwAA2wgAIAQAANoIACCABAIAngcAIY8EAgCeBwAhnQRAALIHACGzBAEAnQcAIbUEAgCeBwAhtgQBAJ0HACG3BAIAngcAIbgEAQCdBwAhAgAAAAkAICMAALMEACAIgAQCAJ4HACGPBAIAngcAIZ0EQACyBwAhswQBAJ0HACG1BAIAngcAIbYEAQCdBwAhtwQCAJ4HACG4BAEAnQcAIQIAAAAHACAjAAC1BAAgAgAAAAcAICMAALUEACADAAAACQAgKgAArgQAICsAALMEACABAAAACQAgAQAAAAcAIAUGAADVCAAgMAAA1ggAIDEAANkIACAyAADYCAAgMwAA1wgAIAv9AwAArwYAMP4DAAC8BAAQ_wMAAK8GADCABAIAjAYAIY8EAgCMBgAhnQRAAJkGACGzBAEAjQYAIbUEAgCMBgAhtgQBAI0GACG3BAIAjAYAIbgEAQCNBgAhAwAAAAcAIAEAALsEADAvAAC8BAAgAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAAPACABAAAADwAgAwAAAA0AIAEAAA4AMAIAAA8AIAMAAAANACABAAAOADACAAAPACADAAAADQAgAQAADgAwAgAADwAgCgMAANMIACAKAADUCAAggAQCAAAAAY8EAgAAAAGTBAEAAAABnQRAAAAAAZ4EQAAAAAGsBCAAAAABsAQBAAAAAbMEAQAAAAEBIwAAxAQAIAiABAIAAAABjwQCAAAAAZMEAQAAAAGdBEAAAAABngRAAAAAAawEIAAAAAGwBAEAAAABswQBAAAAAQEjAADGBAAwASMAAMYEADAKAwAAxQgAIAoAAMYIACCABAIAngcAIY8EAgCeBwAhkwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhrAQgAIgIACGwBAEAnQcAIbMEAQCdBwAhAgAAAA8AICMAAMkEACAIgAQCAJ4HACGPBAIAngcAIZMEAQCdBwAhnQRAALIHACGeBEAAsgcAIawEIACICAAhsAQBAJ0HACGzBAEAnQcAIQIAAAANACAjAADLBAAgAgAAAA0AICMAAMsEACADAAAADwAgKgAAxAQAICsAAMkEACABAAAADwAgAQAAAA0AIAUGAADACAAgMAAAwQgAIDEAAMQIACAyAADDCAAgMwAAwggAIAv9AwAArgYAMP4DAADSBAAQ_wMAAK4GADCABAIAjAYAIY8EAgCMBgAhkwQBAI0GACGdBEAAmQYAIZ4EQACZBgAhrAQgAKcGACGwBAEAjQYAIbMEAQCNBgAhAwAAAA0AIAEAANEEADAvAADSBAAgAwAAAA0AIAEAAA4AMAIAAA8AIAEAAAATACABAAAAEwAgAwAAABEAIAEAABIAMAIAABMAIAMAAAARACABAAASADACAAATACADAAAAEQAgAQAAEgAwAgAAEwAgCgkAAL8IACCABAIAAAABkwQBAAAAAZgEQAAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGyBAIAAAABswQBAAAAAbQEIAAAAAEBIwAA2gQAIAmABAIAAAABkwQBAAAAAZgEQAAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGyBAIAAAABswQBAAAAAbQEIAAAAAEBIwAA3AQAMAEjAADcBAAwCgkAAL4IACCABAIAngcAIZMEAQCdBwAhmARAALEHACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGyBAIAngcAIbMEAQCdBwAhtAQgAIgIACECAAAAEwAgIwAA3wQAIAmABAIAngcAIZMEAQCdBwAhmARAALEHACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGyBAIAngcAIbMEAQCdBwAhtAQgAIgIACECAAAAEQAgIwAA4QQAIAIAAAARACAjAADhBAAgAwAAABMAICoAANoEACArAADfBAAgAQAAABMAIAEAAAARACAGBgAAuQgAIDAAALoIACAxAAC9CAAgMgAAvAgAIDMAALsIACCYBAAAqgcAIAz9AwAArQYAMP4DAADoBAAQ_wMAAK0GADCABAIAjAYAIZMEAQCNBgAhmARAAJcGACGcBAIAjAYAIZ0EQACZBgAhngRAAJkGACGyBAIAjAYAIbMEAQCNBgAhtAQgAKcGACEDAAAAEQAgAQAA5wQAMC8AAOgEACADAAAAEQAgAQAAEgAwAgAAEwAgAQAAABgAIAEAAAAYACADAAAAFgAgAQAAFwAwAgAAGAAgAwAAABYAIAEAABcAMAIAABgAIAMAAAAWACABAAAXADACAAAYACAJAwAAuAgAIAqAAAAAAYAEAgAAAAGDBAEAAAABjwQCAAAAAZ0EQAAAAAGeBEAAAAABsAQBAAAAAbEEIAAAAAEBIwAA8AQAIAgKgAAAAAGABAIAAAABgwQBAAAAAY8EAgAAAAGdBEAAAAABngRAAAAAAbAEAQAAAAGxBCAAAAABASMAAPIEADABIwAA8gQAMAEAAAAaACAJAwAAtwgAIAqAAAAAAYAEAgCeBwAhgwQBAJ0HACGPBAIAswcAIZ0EQACyBwAhngRAALIHACGwBAEAnQcAIbEEIACICAAhAgAAABgAICMAAPYEACAICoAAAAABgAQCAJ4HACGDBAEAnQcAIY8EAgCzBwAhnQRAALIHACGeBEAAsgcAIbAEAQCdBwAhsQQgAIgIACECAAAAFgAgIwAA-AQAIAIAAAAWACAjAAD4BAAgAQAAABoAIAMAAAAYACAqAADwBAAgKwAA9gQAIAEAAAAYACABAAAAFgAgBgYAALIIACAwAACzCAAgMQAAtggAIDIAALUIACAzAAC0CAAgjwQAAKoHACALCgAAmAYAIP0DAACsBgAw_gMAAIAFABD_AwAArAYAMIAEAgCMBgAhgwQBAI0GACGPBAIAlQYAIZ0EQACZBgAhngRAAJkGACGwBAEAjQYAIbEEIACnBgAhAwAAABYAIAEAAP8EADAvAACABQAgAwAAABYAIAEAABcAMAIAABgAIAEAAAAeACABAAAAHgAgAwAAABwAIAEAAB0AMAIAAB4AIAMAAAAcACABAAAdADACAAAeACADAAAAHAAgAQAAHQAwAgAAHgAgEA0AAK4IACAPAACvCAAgFwAAsQgAIBgAALAIACCABAIAAAABgQQBAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAakEAQAAAAGqBAIAAAABqwQgAAAAAawEIAAAAAGtBIAAAAABrgSAAAAAAa8EAQAAAAEBIwAAiAUAIAyABAIAAAABgQQBAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAakEAQAAAAGqBAIAAAABqwQgAAAAAawEIAAAAAGtBIAAAAABrgSAAAAAAa8EAQAAAAEBIwAAigUAMAEjAACKBQAwEA0AAIkIACAPAACKCAAgFwAAjAgAIBgAAIsIACCABAIAngcAIYEEAQCdBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhqQQBAJ0HACGqBAIAngcAIasEIACICAAhrAQgAIgIACGtBIAAAAABrgSAAAAAAa8EAQCwBwAhAgAAAB4AICMAAI0FACAMgAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIakEAQCdBwAhqgQCAJ4HACGrBCAAiAgAIawEIACICAAhrQSAAAAAAa4EgAAAAAGvBAEAsAcAIQIAAAAcACAjAACPBQAgAgAAABwAICMAAI8FACADAAAAHgAgKgAAiAUAICsAAI0FACABAAAAHgAgAQAAABwAIAcGAACDCAAgMAAAhAgAIDEAAIcIACAyAACGCAAgMwAAhQgAIK4EAACqBwAgrwQAAKoHACAP_QMAAKYGADD-AwAAlgUAEP8DAACmBgAwgAQCAIwGACGBBAEAjQYAIYMEAQCNBgAhnQRAAJkGACGeBEAAmQYAIakEAQCNBgAhqgQCAIwGACGrBCAApwYAIawEIACnBgAhrQQAAJgGACCuBAAAqAYAIK8EAQCWBgAhAwAAABwAIAEAAJUFADAvAACWBQAgAwAAABwAIAEAAB0AMAIAAB4AIAEAAAAiACABAAAAIgAgAwAAACAAIAEAACEAMAIAACIAIAMAAAAgACABAAAhADACAAAiACADAAAAIAAgAQAAIQAwAgAAIgAgCAMAAIIIACAOAACBCAAggAQCAAAAAYEEAQAAAAGPBAIAAAABkAQCAAAAAZ0EQAAAAAGoBAEAAAABASMAAJ4FACAGgAQCAAAAAYEEAQAAAAGPBAIAAAABkAQCAAAAAZ0EQAAAAAGoBAEAAAABASMAAKAFADABIwAAoAUAMAgDAACACAAgDgAA_wcAIIAEAgCeBwAhgQQBAJ0HACGPBAIAngcAIZAEAgCeBwAhnQRAALIHACGoBAEAnQcAIQIAAAAiACAjAACjBQAgBoAEAgCeBwAhgQQBAJ0HACGPBAIAngcAIZAEAgCeBwAhnQRAALIHACGoBAEAnQcAIQIAAAAgACAjAAClBQAgAgAAACAAICMAAKUFACADAAAAIgAgKgAAngUAICsAAKMFACABAAAAIgAgAQAAACAAIAUGAAD6BwAgMAAA-wcAIDEAAP4HACAyAAD9BwAgMwAA_AcAIAn9AwAApQYAMP4DAACsBQAQ_wMAAKUGADCABAIAjAYAIYEEAQCNBgAhjwQCAIwGACGQBAIAjAYAIZ0EQACZBgAhqAQBAI0GACEDAAAAIAAgAQAAqwUAMC8AAKwFACADAAAAIAAgAQAAIQAwAgAAIgAgAQAAACYAIAEAAAAmACADAAAAJAAgAQAAJQAwAgAAJgAgAwAAACQAIAEAACUAMAIAACYAIAMAAAAkACABAAAlADACAAAmACALDgAA-AcAIBcAAPkHACCABAIAAAABgQQBAAAAAYMEAQAAAAGQBAIAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABpgQBAAAAAacEAQAAAAEBIwAAtAUAIAmABAIAAAABgQQBAAAAAYMEAQAAAAGQBAIAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABpgQBAAAAAacEAQAAAAEBIwAAtgUAMAEjAAC2BQAwCw4AAO0HACAXAADuBwAggAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhkAQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGmBAEAsAcAIacEAQCdBwAhAgAAACYAICMAALkFACAJgAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhkAQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGmBAEAsAcAIacEAQCdBwAhAgAAACQAICMAALsFACACAAAAJAAgIwAAuwUAIAMAAAAmACAqAAC0BQAgKwAAuQUAIAEAAAAmACABAAAAJAAgBgYAAOgHACAwAADpBwAgMQAA7AcAIDIAAOsHACAzAADqBwAgpgQAAKoHACAM_QMAAKQGADD-AwAAwgUAEP8DAACkBgAwgAQCAIwGACGBBAEAjQYAIYMEAQCNBgAhkAQCAIwGACGcBAIAjAYAIZ0EQACZBgAhngRAAJkGACGmBAEAlgYAIacEAQCNBgAhAwAAACQAIAEAAMEFADAvAADCBQAgAwAAACQAIAEAACUAMAIAACYAIAEAAAAqACABAAAAKgAgAwAAACgAIAEAACkAMAIAACoAIAMAAAAoACABAAApADACAAAqACADAAAAKAAgAQAAKQAwAgAAKgAgGg4AAOAHACAPAADlBwAgEAAA4QcAIBEAAOcHACASAADiBwAgEwAA4wcAIBQAAOQHACAWAADmBwAggAQCAAAAAYEEAQAAAAGQBAIAAAABkQQCAAAAAZIEAgAAAAGTBAEAAAABlAQBAAAAAZUEAQAAAAGWBEAAAAABlwQBAAAAAZgEQAAAAAGZBAIAAAABmgQCAAAAAZsEgAAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGfBAIAAAABASMAAMoFACASgAQCAAAAAYEEAQAAAAGQBAIAAAABkQQCAAAAAZIEAgAAAAGTBAEAAAABlAQBAAAAAZUEAQAAAAGWBEAAAAABlwQBAAAAAZgEQAAAAAGZBAIAAAABmgQCAAAAAZsEgAAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGfBAIAAAABASMAAMwFADABIwAAzAUAMAEAAAAoACABAAAAGgAgGg4AALQHACAPAAC6BwAgEAAAtQcAIBEAALYHACASAAC3BwAgEwAAuAcAIBQAALkHACAWAAC7BwAggAQCAJ4HACGBBAEAnQcAIZAEAgCeBwAhkQQCAJ4HACGSBAIAswcAIZMEAQCdBwAhlAQBAJ0HACGVBAEAsAcAIZYEQACxBwAhlwQBAJ0HACGYBEAAsQcAIZkEAgCzBwAhmgQCAJ4HACGbBIAAAAABnAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhnwQCALMHACECAAAAKgAgIwAA0QUAIBKABAIAngcAIYEEAQCdBwAhkAQCAJ4HACGRBAIAngcAIZIEAgCzBwAhkwQBAJ0HACGUBAEAnQcAIZUEAQCwBwAhlgRAALEHACGXBAEAnQcAIZgEQACxBwAhmQQCALMHACGaBAIAngcAIZsEgAAAAAGcBAIAngcAIZ0EQACyBwAhngRAALIHACGfBAIAswcAIQIAAAAoACAjAADTBQAgAgAAACgAICMAANMFACABAAAAKAAgAQAAABoAIAMAAAAqACAqAADKBQAgKwAA0QUAIAEAAAAqACABAAAAKAAgCwYAAKsHACAwAACsBwAgMQAArwcAIDIAAK4HACAzAACtBwAgkgQAAKoHACCVBAAAqgcAIJYEAACqBwAgmAQAAKoHACCZBAAAqgcAIJ8EAACqBwAgFf0DAACUBgAw_gMAANwFABD_AwAAlAYAMIAEAgCMBgAhgQQBAI0GACGQBAIAjAYAIZEEAgCMBgAhkgQCAJUGACGTBAEAjQYAIZQEAQCNBgAhlQQBAJYGACGWBEAAlwYAIZcEAQCNBgAhmARAAJcGACGZBAIAlQYAIZoEAgCMBgAhmwQAAJgGACCcBAIAjAYAIZ0EQACZBgAhngRAAJkGACGfBAIAlQYAIQMAAAAoACABAADbBQAwLwAA3AUAIAMAAAAoACABAAApADACAAAqACABAAAAMQAgAQAAADEAIAMAAAAvACABAAAwADACAAAxACADAAAALwAgAQAAMAAwAgAAMQAgAwAAAC8AIAEAADAAMAIAADEAIAYDAACpBwAgFQAAqAcAIIAEAgAAAAGBBAEAAAABggQCAAAAAY8EAgAAAAEBIwAA5AUAIASABAIAAAABgQQBAAAAAYIEAgAAAAGPBAIAAAABASMAAOYFADABIwAA5gUAMAYDAACnBwAgFQAApgcAIIAEAgCeBwAhgQQBAJ0HACGCBAIAngcAIY8EAgCeBwAhAgAAADEAICMAAOkFACAEgAQCAJ4HACGBBAEAnQcAIYIEAgCeBwAhjwQCAJ4HACECAAAALwAgIwAA6wUAIAIAAAAvACAjAADrBQAgAwAAADEAICoAAOQFACArAADpBQAgAQAAADEAIAEAAAAvACAFBgAAoQcAIDAAAKIHACAxAAClBwAgMgAApAcAIDMAAKMHACAH_QMAAJMGADD-AwAA8gUAEP8DAACTBgAwgAQCAIwGACGBBAEAjQYAIYIEAgCMBgAhjwQCAIwGACEDAAAALwAgAQAA8QUAMC8AAPIFACADAAAALwAgAQAAMAAwAgAAMQAgAQAAADUAIAEAAAA1ACADAAAAMwAgAQAANAAwAgAANQAgAwAAADMAIAEAADQAMAIAADUAIAMAAAAzACABAAA0ADACAAA1ACAFFQAAoAcAIIAEAgAAAAGBBAEAAAABggQCAAAAAYMEAQAAAAEBIwAA-gUAIASABAIAAAABgQQBAAAAAYIEAgAAAAGDBAEAAAABASMAAPwFADABIwAA_AUAMAUVAACfBwAggAQCAJ4HACGBBAEAnQcAIYIEAgCeBwAhgwQBAJ0HACECAAAANQAgIwAA_wUAIASABAIAngcAIYEEAQCdBwAhggQCAJ4HACGDBAEAnQcAIQIAAAAzACAjAACBBgAgAgAAADMAICMAAIEGACADAAAANQAgKgAA-gUAICsAAP8FACABAAAANQAgAQAAADMAIAUGAACYBwAgMAAAmQcAIDEAAJwHACAyAACbBwAgMwAAmgcAIAf9AwAAiwYAMP4DAACIBgAQ_wMAAIsGADCABAIAjAYAIYEEAQCNBgAhggQCAIwGACGDBAEAjQYAIQMAAAAzACABAACHBgAwLwAAiAYAIAMAAAAzACABAAA0ADACAAA1ACAH_QMAAIsGADD-AwAAiAYAEP8DAACLBgAwgAQCAIwGACGBBAEAjQYAIYIEAgCMBgAhgwQBAI0GACENBgAAjwYAIDAAAJIGACAxAACPBgAgMgAAjwYAIDMAAI8GACCEBAIAAAABhQQCAAAABIYEAgAAAASHBAIAAAABiAQCAAAAAYkEAgAAAAGKBAIAAAABjgQCAJEGACEOBgAAjwYAIDIAAJAGACAzAACQBgAghAQBAAAAAYUEAQAAAASGBAEAAAAEhwQBAAAAAYgEAQAAAAGJBAEAAAABigQBAAAAAYsEAQAAAAGMBAEAAAABjQQBAAAAAY4EAQCOBgAhDgYAAI8GACAyAACQBgAgMwAAkAYAIIQEAQAAAAGFBAEAAAAEhgQBAAAABIcEAQAAAAGIBAEAAAABiQQBAAAAAYoEAQAAAAGLBAEAAAABjAQBAAAAAY0EAQAAAAGOBAEAjgYAIQiEBAIAAAABhQQCAAAABIYEAgAAAASHBAIAAAABiAQCAAAAAYkEAgAAAAGKBAIAAAABjgQCAI8GACELhAQBAAAAAYUEAQAAAASGBAEAAAAEhwQBAAAAAYgEAQAAAAGJBAEAAAABigQBAAAAAYsEAQAAAAGMBAEAAAABjQQBAAAAAY4EAQCQBgAhDQYAAI8GACAwAACSBgAgMQAAjwYAIDIAAI8GACAzAACPBgAghAQCAAAAAYUEAgAAAASGBAIAAAAEhwQCAAAAAYgEAgAAAAGJBAIAAAABigQCAAAAAY4EAgCRBgAhCIQECAAAAAGFBAgAAAAEhgQIAAAABIcECAAAAAGIBAgAAAABiQQIAAAAAYoECAAAAAGOBAgAkgYAIQf9AwAAkwYAMP4DAADyBQAQ_wMAAJMGADCABAIAjAYAIYEEAQCNBgAhggQCAIwGACGPBAIAjAYAIRX9AwAAlAYAMP4DAADcBQAQ_wMAAJQGADCABAIAjAYAIYEEAQCNBgAhkAQCAIwGACGRBAIAjAYAIZIEAgCVBgAhkwQBAI0GACGUBAEAjQYAIZUEAQCWBgAhlgRAAJcGACGXBAEAjQYAIZgEQACXBgAhmQQCAJUGACGaBAIAjAYAIZsEAACYBgAgnAQCAIwGACGdBEAAmQYAIZ4EQACZBgAhnwQCAJUGACENBgAAngYAIDAAAKMGACAxAACeBgAgMgAAngYAIDMAAJ4GACCEBAIAAAABhQQCAAAABYYEAgAAAAWHBAIAAAABiAQCAAAAAYkEAgAAAAGKBAIAAAABjgQCAKIGACEOBgAAngYAIDIAAKEGACAzAAChBgAghAQBAAAAAYUEAQAAAAWGBAEAAAAFhwQBAAAAAYgEAQAAAAGJBAEAAAABigQBAAAAAYsEAQAAAAGMBAEAAAABjQQBAAAAAY4EAQCgBgAhCwYAAJ4GACAyAACfBgAgMwAAnwYAIIQEQAAAAAGFBEAAAAAFhgRAAAAABYcEQAAAAAGIBEAAAAABiQRAAAAAAYoEQAAAAAGOBEAAnQYAIQ8GAACPBgAgMgAAnAYAIDMAAJwGACCEBIAAAAABhwSAAAAAAYgEgAAAAAGJBIAAAAABigSAAAAAAY4EgAAAAAGgBAEAAAABoQQBAAAAAaIEAQAAAAGjBIAAAAABpASAAAAAAaUEgAAAAAELBgAAjwYAIDIAAJsGACAzAACbBgAghARAAAAAAYUEQAAAAASGBEAAAAAEhwRAAAAAAYgEQAAAAAGJBEAAAAABigRAAAAAAY4EQACaBgAhCwYAAI8GACAyAACbBgAgMwAAmwYAIIQEQAAAAAGFBEAAAAAEhgRAAAAABIcEQAAAAAGIBEAAAAABiQRAAAAAAYoEQAAAAAGOBEAAmgYAIQiEBEAAAAABhQRAAAAABIYEQAAAAASHBEAAAAABiARAAAAAAYkEQAAAAAGKBEAAAAABjgRAAJsGACEMhASAAAAAAYcEgAAAAAGIBIAAAAABiQSAAAAAAYoEgAAAAAGOBIAAAAABoAQBAAAAAaEEAQAAAAGiBAEAAAABowSAAAAAAaQEgAAAAAGlBIAAAAABCwYAAJ4GACAyAACfBgAgMwAAnwYAIIQEQAAAAAGFBEAAAAAFhgRAAAAABYcEQAAAAAGIBEAAAAABiQRAAAAAAYoEQAAAAAGOBEAAnQYAIQiEBAIAAAABhQQCAAAABYYEAgAAAAWHBAIAAAABiAQCAAAAAYkEAgAAAAGKBAIAAAABjgQCAJ4GACEIhARAAAAAAYUEQAAAAAWGBEAAAAAFhwRAAAAAAYgEQAAAAAGJBEAAAAABigRAAAAAAY4EQACfBgAhDgYAAJ4GACAyAAChBgAgMwAAoQYAIIQEAQAAAAGFBAEAAAAFhgQBAAAABYcEAQAAAAGIBAEAAAABiQQBAAAAAYoEAQAAAAGLBAEAAAABjAQBAAAAAY0EAQAAAAGOBAEAoAYAIQuEBAEAAAABhQQBAAAABYYEAQAAAAWHBAEAAAABiAQBAAAAAYkEAQAAAAGKBAEAAAABiwQBAAAAAYwEAQAAAAGNBAEAAAABjgQBAKEGACENBgAAngYAIDAAAKMGACAxAACeBgAgMgAAngYAIDMAAJ4GACCEBAIAAAABhQQCAAAABYYEAgAAAAWHBAIAAAABiAQCAAAAAYkEAgAAAAGKBAIAAAABjgQCAKIGACEIhAQIAAAAAYUECAAAAAWGBAgAAAAFhwQIAAAAAYgECAAAAAGJBAgAAAABigQIAAAAAY4ECACjBgAhDP0DAACkBgAw_gMAAMIFABD_AwAApAYAMIAEAgCMBgAhgQQBAI0GACGDBAEAjQYAIZAEAgCMBgAhnAQCAIwGACGdBEAAmQYAIZ4EQACZBgAhpgQBAJYGACGnBAEAjQYAIQn9AwAApQYAMP4DAACsBQAQ_wMAAKUGADCABAIAjAYAIYEEAQCNBgAhjwQCAIwGACGQBAIAjAYAIZ0EQACZBgAhqAQBAI0GACEP_QMAAKYGADD-AwAAlgUAEP8DAACmBgAwgAQCAIwGACGBBAEAjQYAIYMEAQCNBgAhnQRAAJkGACGeBEAAmQYAIakEAQCNBgAhqgQCAIwGACGrBCAApwYAIawEIACnBgAhrQQAAJgGACCuBAAAqAYAIK8EAQCWBgAhBQYAAI8GACAyAACrBgAgMwAAqwYAIIQEIAAAAAGOBCAAqgYAIQ8GAACeBgAgMgAAqQYAIDMAAKkGACCEBIAAAAABhwSAAAAAAYgEgAAAAAGJBIAAAAABigSAAAAAAY4EgAAAAAGgBAEAAAABoQQBAAAAAaIEAQAAAAGjBIAAAAABpASAAAAAAaUEgAAAAAEMhASAAAAAAYcEgAAAAAGIBIAAAAABiQSAAAAAAYoEgAAAAAGOBIAAAAABoAQBAAAAAaEEAQAAAAGiBAEAAAABowSAAAAAAaQEgAAAAAGlBIAAAAABBQYAAI8GACAyAACrBgAgMwAAqwYAIIQEIAAAAAGOBCAAqgYAIQKEBCAAAAABjgQgAKsGACELCgAAmAYAIP0DAACsBgAw_gMAAIAFABD_AwAArAYAMIAEAgCMBgAhgwQBAI0GACGPBAIAlQYAIZ0EQACZBgAhngRAAJkGACGwBAEAjQYAIbEEIACnBgAhDP0DAACtBgAw_gMAAOgEABD_AwAArQYAMIAEAgCMBgAhkwQBAI0GACGYBEAAlwYAIZwEAgCMBgAhnQRAAJkGACGeBEAAmQYAIbIEAgCMBgAhswQBAI0GACG0BCAApwYAIQv9AwAArgYAMP4DAADSBAAQ_wMAAK4GADCABAIAjAYAIY8EAgCMBgAhkwQBAI0GACGdBEAAmQYAIZ4EQACZBgAhrAQgAKcGACGwBAEAjQYAIbMEAQCNBgAhC_0DAACvBgAw_gMAALwEABD_AwAArwYAMIAEAgCMBgAhjwQCAIwGACGdBEAAmQYAIbMEAQCNBgAhtQQCAIwGACG2BAEAjQYAIbcEAgCMBgAhuAQBAI0GACEP_QMAALAGADD-AwAApgQAEP8DAACwBgAwgAQCAIwGACGDBAEAjQYAIY8EAgCMBgAhnAQCAIwGACGdBEAAmQYAIZ4EQACZBgAhrAQgAKcGACGvBAEAjQYAIbMEAQCNBgAhuQQBAI0GACG6BAIAjAYAIbsEAQCNBgAhCv0DAACxBgAw_gMAAJAEABD_AwAAsQYAMIAEAgCMBgAhnQRAAJkGACG8BAIAjAYAIb0EQACZBgAhvgQIALIGACG_BAgAsgYAIcAEAACoBgAgDQYAAJ4GACAwAACjBgAgMQAAowYAIDIAAKMGACAzAACjBgAghAQIAAAAAYUECAAAAAWGBAgAAAAFhwQIAAAAAYgECAAAAAGJBAgAAAABigQIAAAAAY4ECACzBgAhDQYAAJ4GACAwAACjBgAgMQAAowYAIDIAAKMGACAzAACjBgAghAQIAAAAAYUECAAAAAWGBAgAAAAFhwQIAAAAAYgECAAAAAGJBAgAAAABigQIAAAAAY4ECACzBgAhEv0DAAC0BgAw_gMAAPoDABD_AwAAtAYAMIAEAgCMBgAhnQRAAJkGACG2BEAAmQYAIbwEAgCMBgAhvgQIALIGACG_BAgAsgYAIcAEAACoBgAgwQQIALIGACHCBAgAsgYAIcMECACyBgAhxAQIALIGACHFBAgAsgYAIcYECACyBgAhxwQBAI0GACHIBEAAlwYAIRT9AwAAtQYAMP4DAADkAwAQ_wMAALUGADCABAIAjAYAIYMEAQCNBgAhnQRAAJkGACHJBAEAjQYAIcoEAQCNBgAhywQBAI0GACHMBAEAlgYAIc0EAgCMBgAhzgQCAIwGACHPBAIAjAYAIdAEAgCMBgAh0QQCAIwGACHSBAIAjAYAIdMEAgCVBgAh1ARAAJcGACHVBCAApwYAIdYEQACXBgAhB_0DAAC2BgAw_gMAAM4DABD_AwAAtgYAMIAEAgCMBgAhgwQBAI0GACGdBEAAmQYAIcoEAQCNBgAhCIwCAAC7BgAg_QMAALcGADD-AwAAuwMAEP8DAAC3BgAwgAQCALgGACGDBAEAuQYAIZ0EQAC6BgAhygQBALkGACEIhAQCAAAAAYUEAgAAAASGBAIAAAAEhwQCAAAAAYgEAgAAAAGJBAIAAAABigQCAAAAAY4EAgCPBgAhC4QEAQAAAAGFBAEAAAAEhgQBAAAABIcEAQAAAAGIBAEAAAABiQQBAAAAAYoEAQAAAAGLBAEAAAABjAQBAAAAAY0EAQAAAAGOBAEAkAYAIQiEBEAAAAABhQRAAAAABIYEQAAAAASHBEAAAAABiARAAAAAAYkEQAAAAAGKBEAAAAABjgRAAJsGACED1wQAAKsDACDYBAAAqwMAINkEAACrAwAgArwEAgAAAAG9BEAAAAABC4kCAADABgAg_QMAAL0GADD-AwAAswMAEP8DAAC9BgAwgAQCALgGACGdBEAAugYAIbwEAgC4BgAhvQRAALoGACG-BAgAvgYAIb8ECAC-BgAhwAQAAL8GACAIhAQIAAAAAYUECAAAAAWGBAgAAAAFhwQIAAAAAYgECAAAAAGJBAgAAAABigQIAAAAAY4ECACjBgAhDIQEgAAAAAGHBIAAAAABiASAAAAAAYkEgAAAAAGKBIAAAAABjgSAAAAAAaAEAQAAAAGhBAEAAAABogQBAAAAAaMEgAAAAAGkBIAAAAABpQSAAAAAARmIAgAAyAYAIIoCAADJBgAgiwIAAMoGACD9AwAAxAYAMP4DAACrAwAQ_wMAAMQGADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACHJBAEAuQYAIcoEAQC5BgAhywQBALkGACHMBAEAxQYAIc0EAgC4BgAhzgQCALgGACHPBAIAuAYAIdAEAgC4BgAh0QQCALgGACHSBAIAuAYAIdMEAgDGBgAh1ARAAMMGACHVBCAAxwYAIdYEQADDBgAhnwUAAKsDACCgBQAAqwMAIAK2BEAAAAABvAQCAAAAAROJAgAAwAYAIP0DAADCBgAw_gMAAK8DABD_AwAAwgYAMIAEAgC4BgAhnQRAALoGACG2BEAAugYAIbwEAgC4BgAhvgQIAL4GACG_BAgAvgYAIcAEAAC_BgAgwQQIAL4GACHCBAgAvgYAIcMECAC-BgAhxAQIAL4GACHFBAgAvgYAIcYECAC-BgAhxwQBALkGACHIBEAAwwYAIQiEBEAAAAABhQRAAAAABYYEQAAAAAWHBEAAAAABiARAAAAAAYkEQAAAAAGKBEAAAAABjgRAAJ8GACEXiAIAAMgGACCKAgAAyQYAIIsCAADKBgAg_QMAAMQGADD-AwAAqwMAEP8DAADEBgAwgAQCALgGACGDBAEAuQYAIZ0EQAC6BgAhyQQBALkGACHKBAEAuQYAIcsEAQC5BgAhzAQBAMUGACHNBAIAuAYAIc4EAgC4BgAhzwQCALgGACHQBAIAuAYAIdEEAgC4BgAh0gQCALgGACHTBAIAxgYAIdQEQADDBgAh1QQgAMcGACHWBEAAwwYAIQuEBAEAAAABhQQBAAAABYYEAQAAAAWHBAEAAAABiAQBAAAAAYkEAQAAAAGKBAEAAAABiwQBAAAAAYwEAQAAAAGNBAEAAAABjgQBAKEGACEIhAQCAAAAAYUEAgAAAAWGBAIAAAAFhwQCAAAAAYgEAgAAAAGJBAIAAAABigQCAAAAAY4EAgCeBgAhAoQEIAAAAAGOBCAAqwYAIQqMAgAAuwYAIP0DAAC3BgAw_gMAALsDABD_AwAAtwYAMIAEAgC4BgAhgwQBALkGACGdBEAAugYAIcoEAQC5BgAhnwUAALsDACCgBQAAuwMAIAPXBAAArwMAINgEAACvAwAg2QQAAK8DACAD1wQAALMDACDYBAAAswMAINkEAACzAwAgCf0DAADLBgAw_gMAAKYDABD_AwAAywYAMIAEAgCMBgAhjwQBAI0GACGXBAEAjQYAIZ4EQACZBgAh3AQBAI0GACHdBAEAjQYAIQn9AwAAzAYAMP4DAACTAwAQ_wMAAMwGADCABAIAuAYAIY8EAQC5BgAhlwQBALkGACGeBEAAugYAIdwEAQC5BgAh3QQBALkGACEK_QMAAM0GADD-AwAAjQMAEP8DAADNBgAwgAQCAIwGACGdBEAAmQYAIbYEQACZBgAhuAQBAI0GACHeBAEAjQYAId8EAQCNBgAh4AQIAM4GACENBgAAjwYAIDAAAJIGACAxAACSBgAgMgAAkgYAIDMAAJIGACCEBAgAAAABhQQIAAAABIYECAAAAASHBAgAAAABiAQIAAAAAYkECAAAAAGKBAgAAAABjgQIAM8GACENBgAAjwYAIDAAAJIGACAxAACSBgAgMgAAkgYAIDMAAJIGACCEBAgAAAABhQQIAAAABIYECAAAAASHBAgAAAABiAQIAAAAAYkECAAAAAGKBAgAAAABjgQIAM8GACEK_QMAANAGADD-AwAA-gIAEP8DAADQBgAwgAQCALgGACGdBEAAugYAIbYEQAC6BgAhuAQBALkGACHeBAEAuQYAId8EAQC5BgAh4AQIANEGACEIhAQIAAAAAYUECAAAAASGBAgAAAAEhwQIAAAAAYgECAAAAAGJBAgAAAABigQIAAAAAY4ECACSBgAhA7YEQAAAAAHeBAEAAAAB3wQBAAAAAQr9AwAA0wYAMP4DAAD0AgAQ_wMAANMGADCABAIAjAYAIZ0EQACZBgAhngRAAJkGACHiBAEAjQYAIeMEAQCWBgAh5ARAAJkGACHlBAAAqAYAIAr9AwAA1AYAMP4DAADhAgAQ_wMAANQGADCABAIAuAYAIZ0EQAC6BgAhngRAALoGACHiBAEAuQYAIeMEAQDFBgAh5ARAALoGACHlBAAAvwYAIAj9AwAA1QYAMP4DAADbAgAQ_wMAANUGADCABAIAjAYAIZ0EQACZBgAhngRAAJkGACHmBAEAjQYAIecEAgCMBgAhCP0DAADWBgAw_gMAAMgCABD_AwAA1gYAMIAEAgC4BgAhnQRAALoGACGeBEAAugYAIeYEAQC5BgAh5wQCALgGACEM_QMAANcGADD-AwAAwgIAEP8DAADXBgAwgAQCAIwGACGDBAEAjQYAIZcEAQCNBgAhnQRAAJkGACGeBEAAmQYAIegEAQCNBgAh6QQCAIwGACHqBAEAjQYAIesEQACZBgAhDP0DAADYBgAw_gMAAK8CABD_AwAA2AYAMIAEAgC4BgAhgwQBALkGACGXBAEAuQYAIZ0EQAC6BgAhngRAALoGACHoBAEAuQYAIekEAgC4BgAh6gQBALkGACHrBEAAugYAIQ_9AwAA2QYAMP4DAACpAgAQ_wMAANkGADCABAIAjAYAIYEEAQCNBgAhnQRAAJkGACG5BEAAmQYAIewECADOBgAh7QQEANoGACHuBAgAzgYAIe8EBADaBgAh8AQEANoGACHxBAQA2gYAIfIEAgCMBgAh8wQCAIwGACENBgAAjwYAIDAAAJIGACAxAADcBgAgMgAA3AYAIDMAANwGACCEBAQAAAABhQQEAAAABIYEBAAAAASHBAQAAAABiAQEAAAAAYkEBAAAAAGKBAQAAAABjgQEANsGACENBgAAjwYAIDAAAJIGACAxAADcBgAgMgAA3AYAIDMAANwGACCEBAQAAAABhQQEAAAABIYEBAAAAASHBAQAAAABiAQEAAAAAYkEBAAAAAGKBAQAAAABjgQEANsGACEIhAQEAAAAAYUEBAAAAASGBAQAAAAEhwQEAAAAAYgEBAAAAAGJBAQAAAABigQEAAAAAY4EBADcBgAhD_0DAADdBgAw_gMAAJYCABD_AwAA3QYAMIAEAgC4BgAhgQQBALkGACGdBEAAugYAIbkEQAC6BgAh7AQIANEGACHtBAQA3gYAIe4ECADRBgAh7wQEAN4GACHwBAQA3gYAIfEEBADeBgAh8gQCALgGACHzBAIAuAYAIQiEBAQAAAABhQQEAAAABIYEBAAAAASHBAQAAAABiAQEAAAAAYkEBAAAAAGKBAQAAAABjgQEANwGACECgQQBAAAAAbkEQAAAAAEc_QMAAOAGADD-AwAAkAIAEP8DAADgBgAwgAQCAIwGACGBBAEAjQYAIYMEAQCNBgAhlwQBAI0GACGdBEAAmQYAIZ4EQACZBgAh8AQEANoGACHxBAQA2gYAIfIEAgCMBgAh8wQCAIwGACH1BAEAjQYAIfYEAQCNBgAh9wQBAI0GACH4BAQA2gYAIfkEBADaBgAh-gQCAIwGACH7BAgAzgYAIfwEBADaBgAh_QQEANoGACH-BAgAzgYAIf8ECADOBgAhgAUIAM4GACGBBQQA2gYAIYIFBADaBgAhgwVAAJkGACEc_QMAAOEGADD-AwAA_QEAEP8DAADhBgAwgAQCALgGACGBBAEAuQYAIYMEAQC5BgAhlwQBALkGACGdBEAAugYAIZ4EQAC6BgAh8AQEAN4GACHxBAQA3gYAIfIEAgC4BgAh8wQCALgGACH1BAEAuQYAIfYEAQC5BgAh9wQBALkGACH4BAQA3gYAIfkEBADeBgAh-gQCALgGACH7BAgA0QYAIfwEBADeBgAh_QQEAN4GACH-BAgA0QYAIf8ECADRBgAhgAUIANEGACGBBQQA3gYAIYIFBADeBgAhgwVAALoGACEN_QMAAOIGADD-AwAA9wEAEP8DAADiBgAwgAQCAIwGACGdBEAAmQYAIbkEAQCNBgAhhAUBAI0GACGFBQgAzgYAIYYFCADOBgAhhwUBAI0GACGIBQEAjQYAIYkFCADOBgAhigUIAM4GACEN_QMAAOMGADD-AwAA5AEAEP8DAADjBgAwgAQCALgGACGdBEAAugYAIbkEAQC5BgAhhAUBALkGACGFBQgA0QYAIYYFCADRBgAhhwUBALkGACGIBQEAuQYAIYkFCADRBgAhigUIANEGACEM_QMAAOQGADD-AwAA3gEAEP8DAADkBgAwgAQCAIwGACGTBAEAjQYAIZ0EQACZBgAhuAQBAI0GACHoBAEAjQYAIYsFAQCNBgAhjAUBAJYGACGNBUAAmQYAIY4FAgCMBgAhDP0DAADlBgAw_gMAAMsBABD_AwAA5QYAMIAEAgC4BgAhkwQBALkGACGdBEAAugYAIbgEAQC5BgAh6AQBALkGACGLBQEAuQYAIYwFAQDFBgAhjQVAALoGACGOBQIAuAYAIQKTBAEAAAABjQVAAAAAAQn9AwAA5wYAMP4DAADFAQAQ_wMAAOcGADCABAIAjAYAIZ0EQACZBgAhngRAAJkGACG5BAEAjQYAIZAFAgCMBgAhkQUIAM4GACEN_QMAAOgGADD-AwAArwEAEP8DAADoBgAwgAQCAIwGACGDBAEAjQYAIZMEAQCNBgAhnQRAAJkGACGeBEAAmQYAIbgEAQCNBgAhkgUBAI0GACGTBQEAjQYAIZQFAQCNBgAhlQUgAKcGACEOVwAA6gYAIP0DAADpBgAw_gMAAJwBABD_AwAA6QYAMIAEAgC4BgAhgwQBALkGACGTBAEAuQYAIZ0EQAC6BgAhngRAALoGACG4BAEAuQYAIZIFAQC5BgAhkwUBALkGACGUBQEAuQYAIZUFIADHBgAhA9cEAACWAQAg2AQAAJYBACDZBAAAlgEAIAK5BAEAAAABkAUCAAAAAQpWAADtBgAg_QMAAOwGADD-AwAAlgEAEP8DAADsBgAwgAQCALgGACGdBEAAugYAIZ4EQAC6BgAhuQQBALkGACGQBQIAuAYAIZEFCADRBgAhEFcAAOoGACD9AwAA6QYAMP4DAACcAQAQ_wMAAOkGADCABAIAuAYAIYMEAQC5BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhuAQBALkGACGSBQEAuQYAIZMFAQC5BgAhlAUBALkGACGVBSAAxwYAIZ8FAACcAQAgoAUAAJwBACAJIwAAmAYAIP0DAADuBgAw_gMAAJEBABD_AwAA7gYAMIAEAgCMBgAhgwQBAI0GACGUBAEAjQYAIZ0EQACZBgAhngRAAJkGACEJIwAA8AYAIP0DAADvBgAw_gMAAH4AEP8DAADvBgAwgAQCALgGACGDBAEAuQYAIZQEAQC5BgAhnQRAALoGACGeBEAAugYAIQyEBIAAAAABhwSAAAAAAYgEgAAAAAGJBIAAAAABigSAAAAAAY4EgAAAAAGgBAEAAAABoQQBAAAAAaIEAQAAAAGjBIAAAAABpASAAAAAAaUEgAAAAAEK_QMAAPEGADD-AwAAeAAQ_wMAAPEGADCABAIAjAYAIZMEAQCNBgAhnQRAAJkGACGeBEAAmQYAIbYEAQCNBgAhjAUBAI0GACGXBQEAjQYAIQr9AwAA8gYAMP4DAABlABD_AwAA8gYAMIAEAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhtgQBALkGACGMBQEAuQYAIZcFAQC5BgAhCf0DAADzBgAw_gMAAF8AEP8DAADzBgAwgAQCAIwGACGDBAEAjQYAIZ0EQACZBgAhngRAAJkGACGYBQEAjQYAIZkFAQCNBgAhCBUAAPUGACD9AwAA9AYAMP4DAAAzABD_AwAA9AYAMIAEAgC4BgAhgQQBALkGACGCBAIAuAYAIYMEAQC5BgAhHw4AAPsGACAPAACABwAgEAAA_AYAIBEAAP0GACASAAD-BgAgEwAA_wYAIBQAAPgGACAWAACBBwAg_QMAAPoGADD-AwAAKAAQ_wMAAPoGADCABAIAuAYAIYEEAQC5BgAhkAQCALgGACGRBAIAuAYAIZIEAgDGBgAhkwQBALkGACGUBAEAuQYAIZUEAQDFBgAhlgRAAMMGACGXBAEAuQYAIZgEQADDBgAhmQQCAMYGACGaBAIAuAYAIZsEAADwBgAgnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhnwQCAMYGACGfBQAAKAAgoAUAACgAIAKCBAIAAAABjwQCAAAAAQkDAAD4BgAgFQAA9QYAIP0DAAD3BgAw_gMAAC8AEP8DAAD3BgAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhjwQCALgGACEUBwAAigcAIAgAAIsHACALAACMBwAgDAAAjQcAIBkAAI4HACAaAACHBwAgGwAA_gYAIBwAAP4GACAdAACABwAg_QMAAIkHADD-AwAAGgAQ_wMAAIkHADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACGeBEAAugYAIZgFAQC5BgAhmQUBALkGACGfBQAAGgAgoAUAABoAIAKQBAIAAAABnwQCAAAAAR0OAAD7BgAgDwAAgAcAIBAAAPwGACARAAD9BgAgEgAA_gYAIBMAAP8GACAUAAD4BgAgFgAAgQcAIP0DAAD6BgAw_gMAACgAEP8DAAD6BgAwgAQCALgGACGBBAEAuQYAIZAEAgC4BgAhkQQCALgGACGSBAIAxgYAIZMEAQC5BgAhlAQBALkGACGVBAEAxQYAIZYEQADDBgAhlwQBALkGACGYBEAAwwYAIZkEAgDGBgAhmgQCALgGACGbBAAA8AYAIJwEAgC4BgAhnQRAALoGACGeBEAAugYAIZ8EAgDGBgAhFQ0AAPgGACAPAACHBwAgFwAA_gYAIBgAAIgHACD9AwAAhgcAMP4DAAAcABD_AwAAhgcAMIAEAgC4BgAhgQQBALkGACGDBAEAuQYAIZ0EQAC6BgAhngRAALoGACGpBAEAuQYAIaoEAgC4BgAhqwQgAMcGACGsBCAAxwYAIa0EAADwBgAgrgQAAL8GACCvBAEAxQYAIZ8FAAAcACCgBQAAHAAgEA4AAPsGACAXAAD-BgAg_QMAAIMHADD-AwAAJAAQ_wMAAIMHADCABAIAuAYAIYEEAQC5BgAhgwQBALkGACGQBAIAuAYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIaYEAQDFBgAhpwQBALkGACGfBQAAJAAgoAUAACQAIB8OAAD7BgAgDwAAgAcAIBAAAPwGACARAAD9BgAgEgAA_gYAIBMAAP8GACAUAAD4BgAgFgAAgQcAIP0DAAD6BgAw_gMAACgAEP8DAAD6BgAwgAQCALgGACGBBAEAuQYAIZAEAgC4BgAhkQQCALgGACGSBAIAxgYAIZMEAQC5BgAhlAQBALkGACGVBAEAxQYAIZYEQADDBgAhlwQBALkGACGYBEAAwwYAIZkEAgDGBgAhmgQCALgGACGbBAAA8AYAIJwEAgC4BgAhnQRAALoGACGeBEAAugYAIZ8EAgDGBgAhnwUAACgAIKAFAAAoACAD1wQAACgAINgEAAAoACDZBAAAKAAgFAcAAIoHACAIAACLBwAgCwAAjAcAIAwAAI0HACAZAACOBwAgGgAAhwcAIBsAAP4GACAcAAD-BgAgHQAAgAcAIP0DAACJBwAw_gMAABoAEP8DAACJBwAwgAQCALgGACGDBAEAuQYAIZ0EQAC6BgAhngRAALoGACGYBQEAuQYAIZkFAQC5BgAhnwUAABoAIKAFAAAaACAD1wQAAC8AINgEAAAvACDZBAAALwAgA9cEAAAzACDYBAAAMwAg2QQAADMAIAKDBAEAAAABkAQCAAAAAQ4OAAD7BgAgFwAA_gYAIP0DAACDBwAw_gMAACQAEP8DAACDBwAwgAQCALgGACGBBAEAuQYAIYMEAQC5BgAhkAQCALgGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGmBAEAxQYAIacEAQC5BgAhAo8EAgAAAAGQBAIAAAABCwMAAPgGACAOAAD7BgAg_QMAAIUHADD-AwAAIAAQ_wMAAIUHADCABAIAuAYAIYEEAQC5BgAhjwQCALgGACGQBAIAuAYAIZ0EQAC6BgAhqAQBALkGACETDQAA-AYAIA8AAIcHACAXAAD-BgAgGAAAiAcAIP0DAACGBwAw_gMAABwAEP8DAACGBwAwgAQCALgGACGBBAEAuQYAIYMEAQC5BgAhnQRAALoGACGeBEAAugYAIakEAQC5BgAhqgQCALgGACGrBCAAxwYAIawEIADHBgAhrQQAAPAGACCuBAAAvwYAIK8EAQDFBgAhA9cEAAAgACDYBAAAIAAg2QQAACAAIAPXBAAAJAAg2AQAACQAINkEAAAkACASBwAAigcAIAgAAIsHACALAACMBwAgDAAAjQcAIBkAAI4HACAaAACHBwAgGwAA_gYAIBwAAP4GACAdAACABwAg_QMAAIkHADD-AwAAGgAQ_wMAAIkHADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACGeBEAAugYAIZgFAQC5BgAhmQUBALkGACED1wQAAAMAINgEAAADACDZBAAAAwAgA9cEAAAHACDYBAAABwAg2QQAAAcAIAPXBAAADQAg2AQAAA0AINkEAAANACAD1wQAABYAINgEAAAWACDZBAAAFgAgA9cEAAAcACDYBAAAHAAg2QQAABwAIAwDAAD_BgAgCgAA8AYAIP0DAACPBwAw_gMAABYAEP8DAACPBwAwgAQCALgGACGDBAEAuQYAIY8EAgDGBgAhnQRAALoGACGeBEAAugYAIbAEAQC5BgAhsQQgAMcGACENCQAAkQcAIP0DAACQBwAw_gMAABEAEP8DAACQBwAwgAQCALgGACGTBAEAuQYAIZgEQADDBgAhnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhsgQCALgGACGzBAEAuQYAIbQEIADHBgAhDwMAAPgGACAKAACTBwAg_QMAAJIHADD-AwAADQAQ_wMAAJIHADCABAIAuAYAIY8EAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhrAQgAMcGACGwBAEAuQYAIbMEAQC5BgAhnwUAAA0AIKAFAAANACANAwAA-AYAIAoAAJMHACD9AwAAkgcAMP4DAAANABD_AwAAkgcAMIAEAgC4BgAhjwQCALgGACGTBAEAuQYAIZ0EQAC6BgAhngRAALoGACGsBCAAxwYAIbAEAQC5BgAhswQBALkGACED1wQAABEAINgEAAARACDZBAAAEQAgA7UEAgAAAAG2BAEAAAABtwQCAAAAAQ0DAAD4BgAgBAAAlgcAIP0DAACVBwAw_gMAAAcAEP8DAACVBwAwgAQCALgGACGPBAIAuAYAIZ0EQAC6BgAhswQBALkGACG1BAIAuAYAIbYEAQC5BgAhtwQCALgGACG4BAEAuQYAIRMDAAD4BgAgBQAAiwcAIP0DAACXBwAw_gMAAAMAEP8DAACXBwAwgAQCALgGACGDBAEAuQYAIY8EAgC4BgAhnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhrAQgAMcGACGvBAEAuQYAIbMEAQC5BgAhuQQBALkGACG6BAIAuAYAIbsEAQC5BgAhnwUAAAMAIKAFAAADACARAwAA-AYAIAUAAIsHACD9AwAAlwcAMP4DAAADABD_AwAAlwcAMIAEAgC4BgAhgwQBALkGACGPBAIAuAYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIawEIADHBgAhrwQBALkGACGzBAEAuQYAIbkEAQC5BgAhugQCALgGACG7BAEAuQYAIQAAAAAAAaQFAQAAAAEFpAUCAAAAAaoFAgAAAAGrBQIAAAABrAUCAAAAAa0FAgAAAAEFKgAAlgwAICsAAJkMACChBQAAlwwAIKIFAACYDAAgpwUAACoAIAMqAACWDAAgoQUAAJcMACCnBQAAKgAgAAAAAAAFKgAAjgwAICsAAJQMACChBQAAjwwAIKIFAACTDAAgpwUAACoAIAUqAACMDAAgKwAAkQwAIKEFAACNDAAgogUAAJAMACCnBQAAAQAgAyoAAI4MACChBQAAjwwAIKcFAAAqACADKgAAjAwAIKEFAACNDAAgpwUAAAEAIAAAAAAAAAGkBQEAAAABAaQFQAAAAAEBpAVAAAAAAQWkBQIAAAABqgUCAAAAAasFAgAAAAGsBQIAAAABrQUCAAAAAQUqAAD4CwAgKwAAigwAIKEFAAD5CwAgogUAAIkMACCnBQAAHgAgBSoAAPYLACArAACHDAAgoQUAAPcLACCiBQAAhgwAIKcFAAAmACAHKgAA8AsAICsAAIQMACChBQAA8QsAIKIFAACDDAAgpQUAACgAIKYFAAAoACCnBQAAKgAgCyoAANQHADArAADZBwAwoQUAANUHADCiBQAA1gcAMKMFAADXBwAgpAUAANgHADClBQAA2AcAMKYFAADYBwAwpwUAANgHADCoBQAA2gcAMKkFAADbBwAwByoAAPQLACArAACBDAAgoQUAAPULACCiBQAAgAwAIKUFAAAaACCmBQAAGgAgpwUAAAEAIAUqAADyCwAgKwAA_gsAIKEFAADzCwAgogUAAP0LACCnBQAAAQAgCyoAAMgHADArAADNBwAwoQUAAMkHADCiBQAAygcAMKMFAADLBwAgpAUAAMwHADClBQAAzAcAMKYFAADMBwAwpwUAAMwHADCoBQAAzgcAMKkFAADPBwAwCyoAALwHADArAADBBwAwoQUAAL0HADCiBQAAvgcAMKMFAAC_BwAgpAUAAMAHADClBQAAwAcAMKYFAADABwAwpwUAAMAHADCoBQAAwgcAMKkFAADDBwAwA4AEAgAAAAGBBAEAAAABgwQBAAAAAQIAAAA1ACAqAADHBwAgAwAAADUAICoAAMcHACArAADGBwAgASMAAPwLADAIFQAA9QYAIP0DAAD0BgAw_gMAADMAEP8DAAD0BgAwgAQCAAAAAYEEAQAAAAGCBAIAuAYAIYMEAQC5BgAhAgAAADUAICMAAMYHACACAAAAxAcAICMAAMUHACAH_QMAAMMHADD-AwAAxAcAEP8DAADDBwAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhgwQBALkGACEH_QMAAMMHADD-AwAAxAcAEP8DAADDBwAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhgwQBALkGACEDgAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhA4AEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIQOABAIAAAABgQQBAAAAAYMEAQAAAAEEAwAAqQcAIIAEAgAAAAGBBAEAAAABjwQCAAAAAQIAAAAxACAqAADTBwAgAwAAADEAICoAANMHACArAADSBwAgASMAAPsLADAKAwAA-AYAIBUAAPUGACD9AwAA9wYAMP4DAAAvABD_AwAA9wYAMIAEAgAAAAGBBAEAAAABggQCALgGACGPBAIAuAYAIZoFAAD2BgAgAgAAADEAICMAANIHACACAAAA0AcAICMAANEHACAH_QMAAM8HADD-AwAA0AcAEP8DAADPBwAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhjwQCALgGACEH_QMAAM8HADD-AwAA0AcAEP8DAADPBwAwgAQCALgGACGBBAEAuQYAIYIEAgC4BgAhjwQCALgGACEDgAQCAJ4HACGBBAEAnQcAIY8EAgCeBwAhBAMAAKcHACCABAIAngcAIYEEAQCdBwAhjwQCAJ4HACEEAwAAqQcAIIAEAgAAAAGBBAEAAAABjwQCAAAAARgOAADgBwAgDwAA5QcAIBAAAOEHACASAADiBwAgEwAA4wcAIBQAAOQHACAWAADmBwAggAQCAAAAAYEEAQAAAAGQBAIAAAABkQQCAAAAAZMEAQAAAAGUBAEAAAABlQQBAAAAAZYEQAAAAAGXBAEAAAABmARAAAAAAZkEAgAAAAGaBAIAAAABmwSAAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAZ8EAgAAAAECAAAAKgAgKgAA3wcAIAMAAAAqACAqAADfBwAgKwAA3gcAIAEjAAD6CwAwHg4AAPsGACAPAACABwAgEAAA_AYAIBEAAP0GACASAAD-BgAgEwAA_wYAIBQAAPgGACAWAACBBwAg_QMAAPoGADD-AwAAKAAQ_wMAAPoGADCABAIAAAABgQQBAAAAAZAEAgC4BgAhkQQCALgGACGSBAIAxgYAIZMEAQC5BgAhlAQBALkGACGVBAEAxQYAIZYEQADDBgAhlwQBALkGACGYBEAAwwYAIZkEAgDGBgAhmgQCALgGACGbBAAA8AYAIJwEAgC4BgAhnQRAALoGACGeBEAAugYAIZ8EAgDGBgAhmwUAAPkGACACAAAAKgAgIwAA3gcAIAIAAADcBwAgIwAA3QcAIBX9AwAA2wcAMP4DAADcBwAQ_wMAANsHADCABAIAuAYAIYEEAQC5BgAhkAQCALgGACGRBAIAuAYAIZIEAgDGBgAhkwQBALkGACGUBAEAuQYAIZUEAQDFBgAhlgRAAMMGACGXBAEAuQYAIZgEQADDBgAhmQQCAMYGACGaBAIAuAYAIZsEAADwBgAgnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhnwQCAMYGACEV_QMAANsHADD-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-wYAIBcAAP4GACD9AwAAgwcAMP4DAAAkABD_AwAAgwcAMIAEAgAAAAGBBAEAAAABgwQBALkGACGQBAIAuAYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIaYEAQDFBgAhpwQBALkGACGcBQAAggcAIAIAAAAmACAjAACgCAAgAgAAAJ4IACAjAACfCAAgDP0DAACdCAAw_gMAAJ4IABD_AwAAnQgAMIAEAgC4BgAhgQQBALkGACGDBAEAuQYAIZAEAgC4BgAhnAQCALgGACGdBEAAugYAIZ4EQAC6BgAhpgQBAMUGACGnBAEAuQYAIQz9AwAAnQgAMP4DAACeCAAQ_wMAAJ0IADCABAIAuAYAIYEEAQC5BgAhgwQBALkGACGQBAIAuAYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIaYEAQDFBgAhpwQBALkGACEIgAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhnAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhpgQBALAHACGnBAEAnQcAIQkXAADuBwAggAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhnAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhpgQBALAHACGnBAEAnQcAIQkXAAD5BwAggAQCAAAAAYEEAQAAAAGDBAEAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABpgQBAAAAAacEAQAAAAEGAwAAgggAIIAEAgAAAAGBBAEAAAABjwQCAAAAAZ0EQAAAAAGoBAEAAAABAgAAACIAICoAAK0IACADAAAAIgAgKgAArQgAICsAAKwIACABIwAA2gsAMAwDAAD4BgAgDgAA-wYAIP0DAACFBwAw_gMAACAAEP8DAACFBwAwgAQCAAAAAYEEAQAAAAGPBAIAuAYAIZAEAgC4BgAhnQRAALoGACGoBAEAuQYAIZ0FAACEBwAgAgAAACIAICMAAKwIACACAAAAqggAICMAAKsIACAJ_QMAAKkIADD-AwAAqggAEP8DAACpCAAwgAQCALgGACGBBAEAuQYAIY8EAgC4BgAhkAQCALgGACGdBEAAugYAIagEAQC5BgAhCf0DAACpCAAw_gMAAKoIABD_AwAAqQgAMIAEAgC4BgAhgQQBALkGACGPBAIAuAYAIZAEAgC4BgAhnQRAALoGACGoBAEAuQYAIQWABAIAngcAIYEEAQCdBwAhjwQCAJ4HACGdBEAAsgcAIagEAQCdBwAhBgMAAIAIACCABAIAngcAIYEEAQCdBwAhjwQCAJ4HACGdBEAAsgcAIagEAQCdBwAhBgMAAIIIACCABAIAAAABgQQBAAAAAY8EAgAAAAGdBEAAAAABqAQBAAAAAQMqAADYCwAgoQUAANkLACCnBQAAAQAgBCoAAKIIADChBQAAowgAMKMFAAClCAAgpwUAAKYIADAEKgAAlggAMKEFAACXCAAwowUAAJkIACCnBQAAmggAMAQqAACNCAAwoQUAAI4IADCjBQAAkAgAIKcFAADYBwAwAAAAAAAHKgAA0wsAICsAANYLACChBQAA1AsAIKIFAADVCwAgpQUAABoAIKYFAAAaACCnBQAAAQAgAyoAANMLACChBQAA1AsAIKcFAAABACAAAAAAAAUqAADOCwAgKwAA0QsAIKEFAADPCwAgogUAANALACCnBQAADwAgAyoAAM4LACChBQAAzwsAIKcFAAAPACAAAAAAAAUqAADICwAgKwAAzAsAIKEFAADJCwAgogUAAMsLACCnBQAAAQAgCyoAAMcIADArAADMCAAwoQUAAMgIADCiBQAAyQgAMKMFAADKCAAgpAUAAMsIADClBQAAywgAMKYFAADLCAAwpwUAAMsIADCoBQAAzQgAMKkFAADOCAAwCIAEAgAAAAGTBAEAAAABmARAAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAbMEAQAAAAG0BCAAAAABAgAAABMAICoAANIIACADAAAAEwAgKgAA0ggAICsAANEIACABIwAAygsAMA0JAACRBwAg_QMAAJAHADD-AwAAEQAQ_wMAAJAHADCABAIAAAABkwQBALkGACGYBEAAwwYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIbIEAgC4BgAhswQBALkGACG0BCAAxwYAIQIAAAATACAjAADRCAAgAgAAAM8IACAjAADQCAAgDP0DAADOCAAw_gMAAM8IABD_AwAAzggAMIAEAgC4BgAhkwQBALkGACGYBEAAwwYAIZwEAgC4BgAhnQRAALoGACGeBEAAugYAIbIEAgC4BgAhswQBALkGACG0BCAAxwYAIQz9AwAAzggAMP4DAADPCAAQ_wMAAM4IADCABAIAuAYAIZMEAQC5BgAhmARAAMMGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGyBAIAuAYAIbMEAQC5BgAhtAQgAMcGACEIgAQCAJ4HACGTBAEAnQcAIZgEQACxBwAhnAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhswQBAJ0HACG0BCAAiAgAIQiABAIAngcAIZMEAQCdBwAhmARAALEHACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGzBAEAnQcAIbQEIACICAAhCIAEAgAAAAGTBAEAAAABmARAAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAbMEAQAAAAG0BCAAAAABAyoAAMgLACChBQAAyQsAIKcFAAABACAEKgAAxwgAMKEFAADICAAwowUAAMoIACCnBQAAywgAMAAAAAAABSoAAMALACArAADGCwAgoQUAAMELACCiBQAAxQsAIKcFAAAFACAFKgAAvgsAICsAAMMLACChBQAAvwsAIKIFAADCCwAgpwUAAAEAIAMqAADACwAgoQUAAMELACCnBQAABQAgAyoAAL4LACChBQAAvwsAIKcFAAABACAAAAAAAAUqAAC4CwAgKwAAvAsAIKEFAAC5CwAgogUAALsLACCnBQAAAQAgCyoAAOUIADArAADqCAAwoQUAAOYIADCiBQAA5wgAMKMFAADoCAAgpAUAAOkIADClBQAA6QgAMKYFAADpCAAwpwUAAOkIADCoBQAA6wgAMKkFAADsCAAwCAMAAN0IACCABAIAAAABjwQCAAAAAZ0EQAAAAAGzBAEAAAABtgQBAAAAAbcEAgAAAAG4BAEAAAABAgAAAAkAICoAAPAIACADAAAACQAgKgAA8AgAICsAAO8IACABIwAAugsAMA4DAAD4BgAgBAAAlgcAIP0DAACVBwAw_gMAAAcAEP8DAACVBwAwgAQCAAAAAY8EAgC4BgAhnQRAALoGACGzBAEAuQYAIbUEAgC4BgAhtgQBALkGACG3BAIAuAYAIbgEAQC5BgAhngUAAJQHACACAAAACQAgIwAA7wgAIAIAAADtCAAgIwAA7ggAIAv9AwAA7AgAMP4DAADtCAAQ_wMAAOwIADCABAIAuAYAIY8EAgC4BgAhnQRAALoGACGzBAEAuQYAIbUEAgC4BgAhtgQBALkGACG3BAIAuAYAIbgEAQC5BgAhC_0DAADsCAAw_gMAAO0IABD_AwAA7AgAMIAEAgC4BgAhjwQCALgGACGdBEAAugYAIbMEAQC5BgAhtQQCALgGACG2BAEAuQYAIbcEAgC4BgAhuAQBALkGACEHgAQCAJ4HACGPBAIAngcAIZ0EQACyBwAhswQBAJ0HACG2BAEAnQcAIbcEAgCeBwAhuAQBAJ0HACEIAwAA2wgAIIAEAgCeBwAhjwQCAJ4HACGdBEAAsgcAIbMEAQCdBwAhtgQBAJ0HACG3BAIAngcAIbgEAQCdBwAhCAMAAN0IACCABAIAAAABjwQCAAAAAZ0EQAAAAAGzBAEAAAABtgQBAAAAAbcEAgAAAAG4BAEAAAABAyoAALgLACChBQAAuQsAIKcFAAABACAEKgAA5QgAMKEFAADmCAAwowUAAOgIACCnBQAA6QgAMAAAAAAABaQFCAAAAAGqBQgAAAABqwUIAAAAAawFCAAAAAGtBQgAAAABBSoAALMLACArAAC2CwAgoQUAALQLACCiBQAAtQsAIKcFAACtAwAgAyoAALMLACChBQAAtAsAIKcFAACtAwAgAAAAAAAFKgAArgsAICsAALELACChBQAArwsAIKIFAACwCwAgpwUAAK0DACADKgAArgsAIKEFAACvCwAgpwUAAK0DACAAAAAAAAUqAACnCwAgKwAArAsAIKEFAACoCwAgogUAAKsLACCnBQAAqQMAIAsqAACWCQAwKwAAmwkAMKEFAACXCQAwogUAAJgJADCjBQAAmQkAIKQFAACaCQAwpQUAAJoJADCmBQAAmgkAMKcFAACaCQAwqAUAAJwJADCpBQAAnQkAMAsqAACKCQAwKwAAjwkAMKEFAACLCQAwogUAAIwJADCjBQAAjQkAIKQFAACOCQAwpQUAAI4JADCmBQAAjgkAMKcFAACOCQAwqAUAAJAJADCpBQAAkQkAMAaABAIAAAABnQRAAAAAAb0EQAAAAAG-BAgAAAABvwQIAAAAAcAEgAAAAAECAAAAtQMAICoAAJUJACADAAAAtQMAICoAAJUJACArAACUCQAgASMAAKoLADAMiQIAAMAGACD9AwAAvQYAMP4DAACzAwAQ_wMAAL0GADCABAIAAAABnQRAALoGACG8BAIAuAYAIb0EQAC6BgAhvgQIAL4GACG_BAgAvgYAIcAEAAC_BgAg2gQAALwGACACAAAAtQMAICMAAJQJACACAAAAkgkAICMAAJMJACAK_QMAAJEJADD-AwAAkgkAEP8DAACRCQAwgAQCALgGACGdBEAAugYAIbwEAgC4BgAhvQRAALoGACG-BAgAvgYAIb8ECAC-BgAhwAQAAL8GACAK_QMAAJEJADD-AwAAkgkAEP8DAACRCQAwgAQCALgGACGdBEAAugYAIbwEAgC4BgAhvQRAALoGACG-BAgAvgYAIb8ECAC-BgAhwAQAAL8GACAGgAQCAJ4HACGdBEAAsgcAIb0EQACyBwAhvgQIAPgIACG_BAgA-AgAIcAEgAAAAAEGgAQCAJ4HACGdBEAAsgcAIb0EQACyBwAhvgQIAPgIACG_BAgA-AgAIcAEgAAAAAEGgAQCAAAAAZ0EQAAAAAG9BEAAAAABvgQIAAAAAb8ECAAAAAHABIAAAAABDoAEAgAAAAGdBEAAAAABtgRAAAAAAb4ECAAAAAG_BAgAAAABwASAAAAAAcEECAAAAAHCBAgAAAABwwQIAAAAAcQECAAAAAHFBAgAAAABxgQIAAAAAccEAQAAAAHIBEAAAAABAgAAALEDACAqAAChCQAgAwAAALEDACAqAAChCQAgKwAAoAkAIAEjAACpCwAwFIkCAADABgAg_QMAAMIGADD-AwAArwMAEP8DAADCBgAwgAQCAAAAAZ0EQAC6BgAhtgRAALoGACG8BAIAuAYAIb4ECAC-BgAhvwQIAL4GACHABAAAvwYAIMEECAC-BgAhwgQIAL4GACHDBAgAvgYAIcQECAC-BgAhxQQIAL4GACHGBAgAvgYAIccEAQC5BgAhyARAAMMGACHbBAAAwQYAIAIAAACxAwAgIwAAoAkAIAIAAACeCQAgIwAAnwkAIBL9AwAAnQkAMP4DAACeCQAQ_wMAAJ0JADCABAIAuAYAIZ0EQAC6BgAhtgRAALoGACG8BAIAuAYAIb4ECAC-BgAhvwQIAL4GACHABAAAvwYAIMEECAC-BgAhwgQIAL4GACHDBAgAvgYAIcQECAC-BgAhxQQIAL4GACHGBAgAvgYAIccEAQC5BgAhyARAAMMGACES_QMAAJ0JADD-AwAAngkAEP8DAACdCQAwgAQCALgGACGdBEAAugYAIbYEQAC6BgAhvAQCALgGACG-BAgAvgYAIb8ECAC-BgAhwAQAAL8GACDBBAgAvgYAIcIECAC-BgAhwwQIAL4GACHEBAgAvgYAIcUECAC-BgAhxgQIAL4GACHHBAEAuQYAIcgEQADDBgAhDoAEAgCeBwAhnQRAALIHACG2BEAAsgcAIb4ECAD4CAAhvwQIAPgIACHABIAAAAABwQQIAPgIACHCBAgA-AgAIcMECAD4CAAhxAQIAPgIACHFBAgA-AgAIcYECAD4CAAhxwQBAJ0HACHIBEAAsQcAIQ6ABAIAngcAIZ0EQACyBwAhtgRAALIHACG-BAgA-AgAIb8ECAD4CAAhwASAAAAAAcEECAD4CAAhwgQIAPgIACHDBAgA-AgAIcQECAD4CAAhxQQIAPgIACHGBAgA-AgAIccEAQCdBwAhyARAALEHACEOgAQCAAAAAZ0EQAAAAAG2BEAAAAABvgQIAAAAAb8ECAAAAAHABIAAAAABwQQIAAAAAcIECAAAAAHDBAgAAAABxAQIAAAAAcUECAAAAAHGBAgAAAABxwQBAAAAAcgEQAAAAAEDKgAApwsAIKEFAACoCwAgpwUAAKkDACAEKgAAlgkAMKEFAACXCQAwowUAAJkJACCnBQAAmgkAMAQqAACKCQAwoQUAAIsJADCjBQAAjQkAIKcFAACOCQAwAAAAAAALKgAAqwkAMCsAALAJADChBQAArAkAMKIFAACtCQAwowUAAK4JACCkBQAArwkAMKUFAACvCQAwpgUAAK8JADCnBQAArwkAMKgFAACxCQAwqQUAALIJADASigIAAKMJACCLAgAApAkAIIAEAgAAAAGDBAEAAAABnQRAAAAAAckEAQAAAAHLBAEAAAABzAQBAAAAAc0EAgAAAAHOBAIAAAABzwQCAAAAAdAEAgAAAAHRBAIAAAAB0gQCAAAAAdMEAgAAAAHUBEAAAAAB1QQgAAAAAdYEQAAAAAECAAAArQMAICoAALYJACADAAAArQMAICoAALYJACArAAC1CQAgASMAAKYLADAXiAIAAMgGACCKAgAAyQYAIIsCAADKBgAg_QMAAMQGADD-AwAAqwMAEP8DAADEBgAwgAQCAAAAAYMEAQC5BgAhnQRAALoGACHJBAEAAAABygQBALkGACHLBAEAuQYAIcwEAQDFBgAhzQQCALgGACHOBAIAuAYAIc8EAgC4BgAh0AQCALgGACHRBAIAuAYAIdIEAgC4BgAh0wQCAMYGACHUBEAAwwYAIdUEIADHBgAh1gRAAMMGACECAAAArQMAICMAALUJACACAAAAswkAICMAALQJACAU_QMAALIJADD-AwAAswkAEP8DAACyCQAwgAQCALgGACGDBAEAuQYAIZ0EQAC6BgAhyQQBALkGACHKBAEAuQYAIcsEAQC5BgAhzAQBAMUGACHNBAIAuAYAIc4EAgC4BgAhzwQCALgGACHQBAIAuAYAIdEEAgC4BgAh0gQCALgGACHTBAIAxgYAIdQEQADDBgAh1QQgAMcGACHWBEAAwwYAIRT9AwAAsgkAMP4DAACzCQAQ_wMAALIJADCABAIAuAYAIYMEAQC5BgAhnQRAALoGACHJBAEAuQYAIcoEAQC5BgAhywQBALkGACHMBAEAxQYAIc0EAgC4BgAhzgQCALgGACHPBAIAuAYAIdAEAgC4BgAh0QQCALgGACHSBAIAuAYAIdMEAgDGBgAh1ARAAMMGACHVBCAAxwYAIdYEQADDBgAhEIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIckEAQCdBwAhywQBAJ0HACHMBAEAsAcAIc0EAgCeBwAhzgQCAJ4HACHPBAIAngcAIdAEAgCeBwAh0QQCAJ4HACHSBAIAngcAIdMEAgCzBwAh1ARAALEHACHVBCAAiAgAIdYEQACxBwAhEooCAACICQAgiwIAAIkJACCABAIAngcAIYMEAQCdBwAhnQRAALIHACHJBAEAnQcAIcsEAQCdBwAhzAQBALAHACHNBAIAngcAIc4EAgCeBwAhzwQCAJ4HACHQBAIAngcAIdEEAgCeBwAh0gQCAJ4HACHTBAIAswcAIdQEQACxBwAh1QQgAIgIACHWBEAAsQcAIRKKAgAAowkAIIsCAACkCQAggAQCAAAAAYMEAQAAAAGdBEAAAAAByQQBAAAAAcsEAQAAAAHMBAEAAAABzQQCAAAAAc4EAgAAAAHPBAIAAAAB0AQCAAAAAdEEAgAAAAHSBAIAAAAB0wQCAAAAAdQEQAAAAAHVBCAAAAAB1gRAAAAAAQQqAACrCQAwoQUAAKwJADCjBQAArgkAIKcFAACvCQAwAAeIAgAAugkAIIoCAAC7CQAgiwIAALwJACDMBAAAqgcAINMEAACqBwAg1AQAAKoHACDWBAAAqgcAIAGMAgAAuAkAIAAAAAAAAAAAAAAAAAWkBQgAAAABqgUIAAAAAasFCAAAAAGsBQgAAAABrQUIAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAABaQFBAAAAAGqBQQAAAABqwUEAAAAAawFBAAAAAGtBQQAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAFKgAAoQsAICsAAKQLACChBQAAogsAIKIFAACjCwAgpwUAAJQBACADKgAAoQsAIKEFAACiCwAgpwUAAJQBACAAAAAAAAsqAAD5CQAwKwAA_gkAMKEFAAD6CQAwogUAAPsJADCjBQAA_AkAIKQFAAD9CQAwpQUAAP0JADCmBQAA_QkAMKcFAAD9CQAwqAUAAP8JADCpBQAAgAoAMAWABAIAAAABnQRAAAAAAZ4EQAAAAAG5BAEAAAABkQUIAAAAAQIAAACYAQAgKgAAhAoAIAMAAACYAQAgKgAAhAoAICsAAIMKACABIwAAoAsAMAtWAADtBgAg_QMAAOwGADD-AwAAlgEAEP8DAADsBgAwgAQCAAAAAZ0EQAC6BgAhngRAALoGACG5BAEAuQYAIZAFAgC4BgAhkQUIANEGACGWBQAA6wYAIAIAAACYAQAgIwAAgwoAIAIAAACBCgAgIwAAggoAIAn9AwAAgAoAMP4DAACBCgAQ_wMAAIAKADCABAIAuAYAIZ0EQAC6BgAhngRAALoGACG5BAEAuQYAIZAFAgC4BgAhkQUIANEGACEJ_QMAAIAKADD-AwAAgQoAEP8DAACACgAwgAQCALgGACGdBEAAugYAIZ4EQAC6BgAhuQQBALkGACGQBQIAuAYAIZEFCADRBgAhBYAEAgCeBwAhnQRAALIHACGeBEAAsgcAIbkEAQCdBwAhkQUIAMcJACEFgAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhuQQBAJ0HACGRBQgAxwkAIQWABAIAAAABnQRAAAAAAZ4EQAAAAAG5BAEAAAABkQUIAAAAAQQqAAD5CQAwoQUAAPoJADCjBQAA_AkAIKcFAAD9CQAwAAFXAACGCgAgAAAAAAAAAAAAAAAAAAAACyoAAPEKADArAAD2CgAwoQUAAPIKADCiBQAA8woAMKMFAAD0CgAgpAUAAPUKADClBQAA9QoAMKYFAAD1CgAwpwUAAPUKADCoBQAA9woAMKkFAAD4CgAwCyoAAOgKADArAADsCgAwoQUAAOkKADCiBQAA6goAMKMFAADrCgAgpAUAAOkIADClBQAA6QgAMKYFAADpCAAwpwUAAOkIADCoBQAA7QoAMKkFAADsCAAwCyoAANwKADArAADhCgAwoQUAAN0KADCiBQAA3goAMKMFAADfCgAgpAUAAOAKADClBQAA4AoAMKYFAADgCgAwpwUAAOAKADCoBQAA4goAMKkFAADjCgAwCyoAANAKADArAADVCgAwoQUAANEKADCiBQAA0goAMKMFAADTCgAgpAUAANQKADClBQAA1AoAMKYFAADUCgAwpwUAANQKADCoBQAA1goAMKkFAADXCgAwCyoAAMQKADArAADJCgAwoQUAAMUKADCiBQAAxgoAMKMFAADHCgAgpAUAAMgKADClBQAAyAoAMKYFAADICgAwpwUAAMgKADCoBQAAygoAMKkFAADLCgAwCyoAALsKADArAAC_CgAwoQUAALwKADCiBQAAvQoAMKMFAAC-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_wcAIIAEAgCeBwAhgQQBAJ0HACGQBAIAngcAIZ0EQACyBwAhqAQBAJ0HACEGDgAAgQgAIIAEAgAAAAGBBAEAAAABkAQCAAAAAZ0EQAAAAAGoBAEAAAABDg8AAK8IACAXAACxCAAgGAAAsAgAIIAEAgAAAAGBBAEAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABqQQBAAAAAasEIAAAAAGsBCAAAAABrQSAAAAAAa4EgAAAAAGvBAEAAAABAgAAAB4AICoAAM8KACADAAAAHgAgKgAAzwoAICsAAM4KACABIwAAmwsAMBMNAAD4BgAgDwAAhwcAIBcAAP4GACAYAACIBwAg_QMAAIYHADD-AwAAHAAQ_wMAAIYHADCABAIAAAABgQQBAAAAAYMEAQC5BgAhnQRAALoGACGeBEAAugYAIakEAQAAAAGqBAIAuAYAIasEIADHBgAhrAQgAMcGACGtBAAA8AYAIK4EAAC_BgAgrwQBAMUGACECAAAAHgAgIwAAzgoAIAIAAADMCgAgIwAAzQoAIA_9AwAAywoAMP4DAADMCgAQ_wMAAMsKADCABAIAuAYAIYEEAQC5BgAhgwQBALkGACGdBEAAugYAIZ4EQAC6BgAhqQQBALkGACGqBAIAuAYAIasEIADHBgAhrAQgAMcGACGtBAAA8AYAIK4EAAC_BgAgrwQBAMUGACEP_QMAAMsKADD-AwAAzAoAEP8DAADLCgAwgAQCALgGACGBBAEAuQYAIYMEAQC5BgAhnQRAALoGACGeBEAAugYAIakEAQC5BgAhqgQCALgGACGrBCAAxwYAIawEIADHBgAhrQQAAPAGACCuBAAAvwYAIK8EAQDFBgAhC4AEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGpBAEAnQcAIasEIACICAAhrAQgAIgIACGtBIAAAAABrgSAAAAAAa8EAQCwBwAhDg8AAIoIACAXAACMCAAgGAAAiwgAIIAEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGpBAEAnQcAIasEIACICAAhrAQgAIgIACGtBIAAAAABrgSAAAAAAa8EAQCwBwAhDg8AAK8IACAXAACxCAAgGAAAsAgAIIAEAgAAAAGBBAEAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABqQQBAAAAAasEIAAAAAGsBCAAAAABrQSAAAAAAa4EgAAAAAGvBAEAAAABBwqAAAAAAYAEAgAAAAGDBAEAAAABnQRAAAAAAZ4EQAAAAAGwBAEAAAABsQQgAAAAAQIAAAAYACAqAADbCgAgAwAAABgAICoAANsKACArAADaCgAgASMAAJoLADAMAwAA_wYAIAoAAPAGACD9AwAAjwcAMP4DAAAWABD_AwAAjwcAMIAEAgAAAAGDBAEAuQYAIY8EAgDGBgAhnQRAALoGACGeBEAAugYAIbAEAQC5BgAhsQQgAMcGACECAAAAGAAgIwAA2goAIAIAAADYCgAgIwAA2QoAIAsKAADwBgAg_QMAANcKADD-AwAA2AoAEP8DAADXCgAwgAQCALgGACGDBAEAuQYAIY8EAgDGBgAhnQRAALoGACGeBEAAugYAIbAEAQC5BgAhsQQgAMcGACELCgAA8AYAIP0DAADXCgAw_gMAANgKABD_AwAA1woAMIAEAgC4BgAhgwQBALkGACGPBAIAxgYAIZ0EQAC6BgAhngRAALoGACGwBAEAuQYAIbEEIADHBgAhBwqAAAAAAYAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhsAQBAJ0HACGxBCAAiAgAIQcKgAAAAAGABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIbAEAQCdBwAhsQQgAIgIACEHCoAAAAABgAQCAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAbAEAQAAAAGxBCAAAAABCAoAANQIACCABAIAAAABkwQBAAAAAZ0EQAAAAAGeBEAAAAABrAQgAAAAAbAEAQAAAAGzBAEAAAABAgAAAA8AICoAAOcKACADAAAADwAgKgAA5woAICsAAOYKACABIwAAmQsAMA0DAAD4BgAgCgAAkwcAIP0DAACSBwAw_gMAAA0AEP8DAACSBwAwgAQCAAAAAY8EAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhrAQgAMcGACGwBAEAuQYAIbMEAQC5BgAhAgAAAA8AICMAAOYKACACAAAA5AoAICMAAOUKACAL_QMAAOMKADD-AwAA5AoAEP8DAADjCgAwgAQCALgGACGPBAIAuAYAIZMEAQC5BgAhnQRAALoGACGeBEAAugYAIawEIADHBgAhsAQBALkGACGzBAEAuQYAIQv9AwAA4woAMP4DAADkCgAQ_wMAAOMKADCABAIAuAYAIY8EAgC4BgAhkwQBALkGACGdBEAAugYAIZ4EQAC6BgAhrAQgAMcGACGwBAEAuQYAIbMEAQC5BgAhB4AEAgCeBwAhkwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhrAQgAIgIACGwBAEAnQcAIbMEAQCdBwAhCAoAAMYIACCABAIAngcAIZMEAQCdBwAhnQRAALIHACGeBEAAsgcAIawEIACICAAhsAQBAJ0HACGzBAEAnQcAIQgKAADUCAAggAQCAAAAAZMEAQAAAAGdBEAAAAABngRAAAAAAawEIAAAAAGwBAEAAAABswQBAAAAAQgEAADcCAAggAQCAAAAAZ0EQAAAAAGzBAEAAAABtQQCAAAAAbYEAQAAAAG3BAIAAAABuAQBAAAAAQIAAAAJACAqAADwCgAgAwAAAAkAICoAAPAKACArAADvCgAgASMAAJgLADACAAAACQAgIwAA7woAIAIAAADtCAAgIwAA7goAIAeABAIAngcAIZ0EQACyBwAhswQBAJ0HACG1BAIAngcAIbYEAQCdBwAhtwQCAJ4HACG4BAEAnQcAIQgEAADaCAAggAQCAJ4HACGdBEAAsgcAIbMEAQCdBwAhtQQCAJ4HACG2BAEAnQcAIbcEAgCeBwAhuAQBAJ0HACEIBAAA3AgAIIAEAgAAAAGdBEAAAAABswQBAAAAAbUEAgAAAAG2BAEAAAABtwQCAAAAAbgEAQAAAAEMBQAA8ggAIIAEAgAAAAGDBAEAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABrAQgAAAAAa8EAQAAAAGzBAEAAAABuQQBAAAAAboEAgAAAAG7BAEAAAABAgAAAAUAICoAAPwKACADAAAABQAgKgAA_AoAICsAAPsKACABIwAAlwsAMBEDAAD4BgAgBQAAiwcAIP0DAACXBwAw_gMAAAMAEP8DAACXBwAwgAQCAAAAAYMEAQC5BgAhjwQCALgGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGsBCAAxwYAIa8EAQC5BgAhswQBALkGACG5BAEAuQYAIboEAgC4BgAhuwQBALkGACECAAAABQAgIwAA-woAIAIAAAD5CgAgIwAA-goAIA_9AwAA-AoAMP4DAAD5CgAQ_wMAAPgKADCABAIAuAYAIYMEAQC5BgAhjwQCALgGACGcBAIAuAYAIZ0EQAC6BgAhngRAALoGACGsBCAAxwYAIa8EAQC5BgAhswQBALkGACG5BAEAuQYAIboEAgC4BgAhuwQBALkGACEP_QMAAPgKADD-AwAA-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_goAIAsAAP8KACAMAACACwAgGQAAgQsAIBoAAIILACAbAACDCwAgHAAAhAsAIB0AAIULACCABAIAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABmAUBAAAAAZkFAQAAAAECAAAAAQAgKgAAuAsAIAeABAIAAAABjwQCAAAAAZ0EQAAAAAGzBAEAAAABtgQBAAAAAbcEAgAAAAG4BAEAAAABAwAAABoAICoAALgLACArAAC9CwAgEAAAABoAIAgAAJgKACALAACZCgAgDAAAmgoAIBkAAJsKACAaAACcCgAgGwAAnQoAIBwAAJ4KACAdAACfCgAgIwAAvQsAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQ4IAACYCgAgCwAAmQoAIAwAAJoKACAZAACbCgAgGgAAnAoAIBsAAJ0KACAcAACeCgAgHQAAnwoAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQ4HAAD9CgAgCwAA_woAIAwAAIALACAZAACBCwAgGgAAggsAIBsAAIMLACAcAACECwAgHQAAhQsAIIAEAgAAAAGDBAEAAAABnQRAAAAAAZ4EQAAAAAGYBQEAAAABmQUBAAAAAQIAAAABACAqAAC-CwAgDQMAAPEIACCABAIAAAABgwQBAAAAAY8EAgAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGsBCAAAAABrwQBAAAAAbMEAQAAAAG5BAEAAAABugQCAAAAAbsEAQAAAAECAAAABQAgKgAAwAsAIAMAAAAaACAqAAC-CwAgKwAAxAsAIBAAAAAaACAHAACXCgAgCwAAmQoAIAwAAJoKACAZAACbCgAgGgAAnAoAIBsAAJ0KACAcAACeCgAgHQAAnwoAICMAAMQLACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAAlwoAIAsAAJkKACAMAACaCgAgGQAAmwoAIBoAAJwKACAbAACdCgAgHAAAngoAIB0AAJ8KACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEDAAAAAwAgKgAAwAsAICsAAMcLACAPAAAAAwAgAwAA4wgAICMAAMcLACCABAIAngcAIYMEAQCdBwAhjwQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGsBCAAiAgAIa8EAQCdBwAhswQBAJ0HACG5BAEAnQcAIboEAgCeBwAhuwQBAJ0HACENAwAA4wgAIIAEAgCeBwAhgwQBAJ0HACGPBAIAngcAIZwEAgCeBwAhnQRAALIHACGeBEAAsgcAIawEIACICAAhrwQBAJ0HACGzBAEAnQcAIbkEAQCdBwAhugQCAJ4HACG7BAEAnQcAIQ4HAAD9CgAgCAAA_goAIAwAAIALACAZAACBCwAgGgAAggsAIBsAAIMLACAcAACECwAgHQAAhQsAIIAEAgAAAAGDBAEAAAABnQRAAAAAAZ4EQAAAAAGYBQEAAAABmQUBAAAAAQIAAAABACAqAADICwAgCIAEAgAAAAGTBAEAAAABmARAAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAbMEAQAAAAG0BCAAAAABAwAAABoAICoAAMgLACArAADNCwAgEAAAABoAIAcAAJcKACAIAACYCgAgDAAAmgoAIBkAAJsKACAaAACcCgAgGwAAnQoAIBwAAJ4KACAdAACfCgAgIwAAzQsAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQ4HAACXCgAgCAAAmAoAIAwAAJoKACAZAACbCgAgGgAAnAoAIBsAAJ0KACAcAACeCgAgHQAAnwoAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQkDAADTCAAggAQCAAAAAY8EAgAAAAGTBAEAAAABnQRAAAAAAZ4EQAAAAAGsBCAAAAABsAQBAAAAAbMEAQAAAAECAAAADwAgKgAAzgsAIAMAAAANACAqAADOCwAgKwAA0gsAIAsAAAANACADAADFCAAgIwAA0gsAIIAEAgCeBwAhjwQCAJ4HACGTBAEAnQcAIZ0EQACyBwAhngRAALIHACGsBCAAiAgAIbAEAQCdBwAhswQBAJ0HACEJAwAAxQgAIIAEAgCeBwAhjwQCAJ4HACGTBAEAnQcAIZ0EQACyBwAhngRAALIHACGsBCAAiAgAIbAEAQCdBwAhswQBAJ0HACEOBwAA_QoAIAgAAP4KACALAAD_CgAgGQAAgQsAIBoAAIILACAbAACDCwAgHAAAhAsAIB0AAIULACCABAIAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABmAUBAAAAAZkFAQAAAAECAAAAAQAgKgAA0wsAIAMAAAAaACAqAADTCwAgKwAA1wsAIBAAAAAaACAHAACXCgAgCAAAmAoAIAsAAJkKACAZAACbCgAgGgAAnAoAIBsAAJ0KACAcAACeCgAgHQAAnwoAICMAANcLACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAAlwoAIAgAAJgKACALAACZCgAgGQAAmwoAIBoAAJwKACAbAACdCgAgHAAAngoAIB0AAJ8KACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAA_QoAIAgAAP4KACALAAD_CgAgDAAAgAsAIBoAAIILACAbAACDCwAgHAAAhAsAIB0AAIULACCABAIAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABmAUBAAAAAZkFAQAAAAECAAAAAQAgKgAA2AsAIAWABAIAAAABgQQBAAAAAY8EAgAAAAGdBEAAAAABqAQBAAAAAQiABAIAAAABgQQBAAAAAYMEAQAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGmBAEAAAABpwQBAAAAARGABAIAAAABgQQBAAAAAZEEAgAAAAGSBAIAAAABkwQBAAAAAZQEAQAAAAGVBAEAAAABlgRAAAAAAZcEAQAAAAGYBEAAAAABmQQCAAAAAZoEAgAAAAGbBIAAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABnwQCAAAAAQMAAAAaACAqAADYCwAgKwAA3wsAIBAAAAAaACAHAACXCgAgCAAAmAoAIAsAAJkKACAMAACaCgAgGgAAnAoAIBsAAJ0KACAcAACeCgAgHQAAnwoAICMAAN8LACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAAlwoAIAgAAJgKACALAACZCgAgDAAAmgoAIBoAAJwKACAbAACdCgAgHAAAngoAIB0AAJ8KACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAA_QoAIAgAAP4KACALAAD_CgAgDAAAgAsAIBkAAIELACAbAACDCwAgHAAAhAsAIB0AAIULACCABAIAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABmAUBAAAAAZkFAQAAAAECAAAAAQAgKgAA4AsAIA8NAACuCAAgFwAAsQgAIBgAALAIACCABAIAAAABgQQBAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAakEAQAAAAGqBAIAAAABqwQgAAAAAawEIAAAAAGtBIAAAAABrgSAAAAAAa8EAQAAAAECAAAAHgAgKgAA4gsAIAMAAAAaACAqAADgCwAgKwAA5gsAIBAAAAAaACAHAACXCgAgCAAAmAoAIAsAAJkKACAMAACaCgAgGQAAmwoAIBsAAJ0KACAcAACeCgAgHQAAnwoAICMAAOYLACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEOBwAAlwoAIAgAAJgKACALAACZCgAgDAAAmgoAIBkAAJsKACAbAACdCgAgHAAAngoAIB0AAJ8KACCABAIAngcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIZgFAQCdBwAhmQUBAJ0HACEDAAAAHAAgKgAA4gsAICsAAOkLACARAAAAHAAgDQAAiQgAIBcAAIwIACAYAACLCAAgIwAA6QsAIIAEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGpBAEAnQcAIaoEAgCeBwAhqwQgAIgIACGsBCAAiAgAIa0EgAAAAAGuBIAAAAABrwQBALAHACEPDQAAiQgAIBcAAIwIACAYAACLCAAggAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIakEAQCdBwAhqgQCAJ4HACGrBCAAiAgAIawEIACICAAhrQSAAAAAAa4EgAAAAAGvBAEAsAcAIQ8NAACuCAAgDwAArwgAIBcAALEIACCABAIAAAABgQQBAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAakEAQAAAAGqBAIAAAABqwQgAAAAAawEIAAAAAGtBIAAAAABrgSAAAAAAa8EAQAAAAECAAAAHgAgKgAA6gsAIBGABAIAAAABgQQBAAAAAZAEAgAAAAGSBAIAAAABkwQBAAAAAZQEAQAAAAGVBAEAAAABlgRAAAAAAZcEAQAAAAGYBEAAAAABmQQCAAAAAZoEAgAAAAGbBIAAAAABnAQCAAAAAZ0EQAAAAAGeBEAAAAABnwQCAAAAAQMAAAAcACAqAADqCwAgKwAA7wsAIBEAAAAcACANAACJCAAgDwAAiggAIBcAAIwIACAjAADvCwAggAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhnQRAALIHACGeBEAAsgcAIakEAQCdBwAhqgQCAJ4HACGrBCAAiAgAIawEIACICAAhrQSAAAAAAa4EgAAAAAGvBAEAsAcAIQ8NAACJCAAgDwAAiggAIBcAAIwIACCABAIAngcAIYEEAQCdBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhqQQBAJ0HACGqBAIAngcAIasEIACICAAhrAQgAIgIACGtBIAAAAABrgSAAAAAAa8EAQCwBwAhGQ4AAOAHACAPAADlBwAgEAAA4QcAIBEAAOcHACATAADjBwAgFAAA5AcAIBYAAOYHACCABAIAAAABgQQBAAAAAZAEAgAAAAGRBAIAAAABkgQCAAAAAZMEAQAAAAGUBAEAAAABlQQBAAAAAZYEQAAAAAGXBAEAAAABmARAAAAAAZkEAgAAAAGaBAIAAAABmwSAAAAAAZwEAgAAAAGdBEAAAAABngRAAAAAAZ8EAgAAAAECAAAAKgAgKgAA8AsAIA4HAAD9CgAgCAAA_goAIAsAAP8KACAMAACACwAgGQAAgQsAIBoAAIILACAbAACDCwAgHQAAhQsAIIAEAgAAAAGDBAEAAAABnQRAAAAAAZ4EQAAAAAGYBQEAAAABmQUBAAAAAQIAAAABACAqAADyCwAgDgcAAP0KACAIAAD-CgAgCwAA_woAIAwAAIALACAZAACBCwAgGgAAggsAIBwAAIQLACAdAACFCwAggAQCAAAAAYMEAQAAAAGdBEAAAAABngRAAAAAAZgFAQAAAAGZBQEAAAABAgAAAAEAICoAAPQLACAKDgAA-AcAIIAEAgAAAAGBBAEAAAABgwQBAAAAAZAEAgAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGmBAEAAAABpwQBAAAAAQIAAAAmACAqAAD2CwAgDw0AAK4IACAPAACvCAAgGAAAsAgAIIAEAgAAAAGBBAEAAAABgwQBAAAAAZ0EQAAAAAGeBEAAAAABqQQBAAAAAaoEAgAAAAGrBCAAAAABrAQgAAAAAa0EgAAAAAGuBIAAAAABrwQBAAAAAQIAAAAeACAqAAD4CwAgEYAEAgAAAAGBBAEAAAABkAQCAAAAAZEEAgAAAAGTBAEAAAABlAQBAAAAAZUEAQAAAAGWBEAAAAABlwQBAAAAAZgEQAAAAAGZBAIAAAABmgQCAAAAAZsEgAAAAAGcBAIAAAABnQRAAAAAAZ4EQAAAAAGfBAIAAAABA4AEAgAAAAGBBAEAAAABjwQCAAAAAQOABAIAAAABgQQBAAAAAYMEAQAAAAEDAAAAGgAgKgAA8gsAICsAAP8LACAQAAAAGgAgBwAAlwoAIAgAAJgKACALAACZCgAgDAAAmgoAIBkAAJsKACAaAACcCgAgGwAAnQoAIB0AAJ8KACAjAAD_CwAggAQCAJ4HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGYBQEAnQcAIZkFAQCdBwAhDgcAAJcKACAIAACYCgAgCwAAmQoAIAwAAJoKACAZAACbCgAgGgAAnAoAIBsAAJ0KACAdAACfCgAggAQCAJ4HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGYBQEAnQcAIZkFAQCdBwAhAwAAABoAICoAAPQLACArAACCDAAgEAAAABoAIAcAAJcKACAIAACYCgAgCwAAmQoAIAwAAJoKACAZAACbCgAgGgAAnAoAIBwAAJ4KACAdAACfCgAgIwAAggwAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQ4HAACXCgAgCAAAmAoAIAsAAJkKACAMAACaCgAgGQAAmwoAIBoAAJwKACAcAACeCgAgHQAAnwoAIIAEAgCeBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhmAUBAJ0HACGZBQEAnQcAIQMAAAAoACAqAADwCwAgKwAAhQwAIBsAAAAoACAOAAC0BwAgDwAAugcAIBAAALUHACARAAC2BwAgEwAAuAcAIBQAALkHACAWAAC7BwAgIwAAhQwAIIAEAgCeBwAhgQQBAJ0HACGQBAIAngcAIZEEAgCeBwAhkgQCALMHACGTBAEAnQcAIZQEAQCdBwAhlQQBALAHACGWBEAAsQcAIZcEAQCdBwAhmARAALEHACGZBAIAswcAIZoEAgCeBwAhmwSAAAAAAZwEAgCeBwAhnQRAALIHACGeBEAAsgcAIZ8EAgCzBwAhGQ4AALQHACAPAAC6BwAgEAAAtQcAIBEAALYHACATAAC4BwAgFAAAuQcAIBYAALsHACCABAIAngcAIYEEAQCdBwAhkAQCAJ4HACGRBAIAngcAIZIEAgCzBwAhkwQBAJ0HACGUBAEAnQcAIZUEAQCwBwAhlgRAALEHACGXBAEAnQcAIZgEQACxBwAhmQQCALMHACGaBAIAngcAIZsEgAAAAAGcBAIAngcAIZ0EQACyBwAhngRAALIHACGfBAIAswcAIQMAAAAkACAqAAD2CwAgKwAAiAwAIAwAAAAkACAOAADtBwAgIwAAiAwAIIAEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIZAEAgCeBwAhnAQCAJ4HACGdBEAAsgcAIZ4EQACyBwAhpgQBALAHACGnBAEAnQcAIQoOAADtBwAggAQCAJ4HACGBBAEAnQcAIYMEAQCdBwAhkAQCAJ4HACGcBAIAngcAIZ0EQACyBwAhngRAALIHACGmBAEAsAcAIacEAQCdBwAhAwAAABwAICoAAPgLACArAACLDAAgEQAAABwAIA0AAIkIACAPAACKCAAgGAAAiwgAICMAAIsMACCABAIAngcAIYEEAQCdBwAhgwQBAJ0HACGdBEAAsgcAIZ4EQACyBwAhqQQBAJ0HACGqBAIAngcAIasEIACICAAhrAQgAIgIACGtBIAAAAABrgSAAAAAAa8EAQCwBwAhDw0AAIkIACAPAACKCAAgGAAAiwgAIIAEAgCeBwAhgQQBAJ0HACGDBAEAnQcAIZ0EQACyBwAhngRAALIHACGpBAEAnQcAIaoEAgCeBwAhqwQgAIgIACGsBCAAiAgAIa0EgAAAAAGuBIAAAAABrwQBALAHACEOBwAA_QoAIAgAAP4KACALAAD_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-MgB_MwCAAQAAAAAABQYAfDAAfTEAfjIAfzMAgAEAAAAFBgCGATAAhwExAIgBMgCJATMAigEAAAAAAAUGAIYBMACHATEAiAEyAIkBMwCKAQAAAAUGAJABMACRATEAkgEyAJMBMwCUAQAAAAAABQYAkAEwAJEBMQCSATIAkwEzAJQBAAAABQYAmgEwAJsBMQCcATIAnQEzAJ4BAAAAAAAFBgCaATAAmwExAJwBMgCdATMAngECBgClAYwCrgOhAQQGAKQBiAIAoAGKArIDogGLArYDowEBiQIAoQEBiQIAoQECigK3AwCLArgDAAGMArkDAAAABQYAqQEwAKoBMQCrATIArAEzAK0BAAAAAAAFBgCpATAAqgExAKsBMgCsATMArQEBiAIAoAEBiAIAoAEFBgCyATAAswExALQBMgC1ATMAtgEAAAAAAAUGALIBMACzATEAtAEyALUBMwC2AQGJAgChAQGJAgChAQUGALsBMAC8ATEAvQEyAL4BMwC_AQAAAAAABQYAuwEwALwBMQC9ATIAvgEzAL8BAYkCAKEBAYkCAKEBBQYAxAEwAMUBMQDGATIAxwEzAMgBAAAAAAAFBgDEATAAxQExAMYBMgDHATMAyAEBAwABAQMAAQUGAM0BMADOATEAzwEyANABMwDRAQAAAAAABQYAzQEwAM4BMQDPATIA0AEzANEBAgMAAQQAAgIDAAEEAAIFBgDWATAA1wExANgBMgDZATMA2gEAAAAAAAUGANYBMADXATEA2AEyANkBMwDaAQEDAAEBAwABBQYA3wEwAOABMQDhATIA4gEzAOMBAAAAAAAFBgDfATAA4AExAOEBMgDiATMA4wEBCQAFAQkABQUGAOgBMADpATEA6gEyAOsBMwDsAQAAAAAABQYA6AEwAOkBMQDqATIA6wEzAOwBAQP1BAEBA_sEAQUGAPEBMADyATEA8wEyAPQBMwD1AQAAAAAABQYA8QEwAPIBMQDzATIA9AEzAPUBAQ0AAQENAAEFBgD6ATAA-wExAPwBMgD9ATMA_gEAAAAAAAUGAPoBMAD7ATEA_AEyAP0BMwD-AQIDAAEOAAkCAwABDgAJBQYAgwIwAIQCMQCFAjIAhgIzAIcCAAAAAAAFBgCDAjAAhAIxAIUCMgCGAjMAhwIBDgAJAQ4ACQUGAIwCMACNAjEAjgIyAI8CMwCQAgAAAAAABQYAjAIwAI0CMQCOAjIAjwIzAJACBQ4ACRAACxHPBQwT0AUBFAABBQ4ACRAACxHWBQwT1wUBFAABBQYAlQIwAJYCMQCXAjIAmAIzAJkCAAAAAAAFBgCVAjAAlgIxAJcCMgCYAjMAmQICAwABFQAMAgMAARUADAUGAJ4CMACfAjEAoAIyAKECMwCiAgAAAAAABQYAngIwAJ8CMQCgAjIAoQIzAKICARUADAEVAAwFBgCnAjAAqAIxAKkCMgCqAjMAqwIAAAAAAAUGAKcCMACoAjEAqQIyAKoCMwCrAh4CAR9MASBOASFPASJQASRSASVUEyZVFCdXAShZEylaFSxbAS1cAS5dEzRgFjVhHDZjHTdkHThnHTloHTppHTtrHTxtEz1uHj5wHT9yE0BzH0F0HUJ1HUN2E0R5IEV6JkZ8J0d9J0iAASdJgQEnSoIBJ0uEASdMhgETTYcBKE6JASdPiwETUIwBKVGNASdSjgEnU48BE1SSASpVkwEwWJUBMVmbATFangExW58BMVygATFdogExXqQBE1-lATRgpwExYakBE2KqATVjqwExZKwBMWWtARNmsAE2Z7EBPGiyATJpswEyarQBMmu1ATJstgEybbgBMm66ARNvuwE9cL0BMnG_ARNywAE-c8EBMnTCATJ1wwETdsYBP3fHAUV4yQFGecoBRnrNAUZ7zgFGfM8BRn3RAUZ-0wETf9QBR4AB1gFGgQHYAROCAdkBSIMB2gFGhAHbAUaFAdwBE4YB3wFJhwHgAU-IAeIBUIkB4wFQigHmAVCLAecBUIwB6AFQjQHqAVCOAewBE48B7QFRkAHvAVCRAfEBE5IB8gFSkwHzAVCUAfQBUJUB9QETlgH4AVOXAfkBWZgB-wFamQH8AVqaAf8BWpsBgAJanAGBAlqdAYMCWp4BhQITnwGGAlugAYgCWqEBigITogGLAlyjAYwCWqQBjQJapQGOAhOmAZECXacBkgJjqAGUAmSpAZUCZKoBmAJkqwGZAmSsAZoCZK0BnAJkrgGeAhOvAZ8CZbABoQJksQGjAhOyAaQCZrMBpQJktAGmAmS1AacCE7YBqgJntwGrAm24Aa0CbrkBrgJuugGxAm67AbICbrwBswJuvQG1Am6-AbcCE78BuAJvwAG6Am7BAbwCE8IBvQJwwwG-Am7EAb8CbsUBwAITxgHDAnHHAcQCd8gBxgJ4yQHHAnjKAcoCeMsBywJ4zAHMAnjNAc4CeM4B0AITzwHRAnnQAdMCeNEB1QIT0gHWAnrTAdcCeNQB2AJ41QHZAhPWAdwCe9cB3QKBAdgB3wKCAdkB4AKCAdoB4wKCAdsB5AKCAdwB5QKCAd0B5wKCAd4B6QIT3wHqAoMB4AHsAoIB4QHuAhPiAe8ChAHjAfACggHkAfECggHlAfICE-YB9QKFAecB9gKLAegB-AKMAekB-QKMAeoB_AKMAesB_QKMAewB_gKMAe0BgAOMAe4BggMT7wGDA40B8AGFA4wB8QGHAxPyAYgDjgHzAYkDjAH0AYoDjAH1AYsDE_YBjgOPAfcBjwOVAfgBkQOWAfkBkgOWAfoBlQOWAfsBlgOWAfwBlwOWAf0BmQOWAf4BmwMT_wGcA5cBgAKeA5YBgQKgAxOCAqEDmAGDAqIDlgGEAqMDlgGFAqQDE4YCpwOZAYcCqAOfAY0CqgOgAY4CugOgAY8CvQOgAZACvgOgAZECvwOgAZICwQOgAZMCwwMTlALEA6YBlQLGA6ABlgLIAxOXAskDpwGYAsoDoAGZAssDoAGaAswDE5sCzwOoAZwC0AOuAZ0C0QOhAZ4C0gOhAZ8C0wOhAaAC1AOhAaEC1QOhAaIC1wOhAaMC2QMTpALaA68BpQLcA6EBpgLeAxOnAt8DsAGoAuADoQGpAuEDoQGqAuIDE6sC5QOxAawC5gO3Aa0C5wOiAa4C6AOiAa8C6QOiAbAC6gOiAbEC6wOiAbIC7QOiAbMC7wMTtALwA7gBtQLyA6IBtgL0AxO3AvUDuQG4AvYDogG5AvcDogG6AvgDE7sC-wO6AbwC_APAAb0C_QOjAb4C_gOjAb8C_wOjAcACgASjAcECgQSjAcICgwSjAcMChQQTxAKGBMEBxQKIBKMBxgKKBBPHAosEwgHIAowEowHJAo0EowHKAo4EE8sCkQTDAcwCkgTJAc0CkwQCzgKUBALPApUEAtAClgQC0QKXBALSApkEAtMCmwQT1AKcBMoB1QKeBALWAqAEE9cCoQTLAdgCogQC2QKjBALaAqQEE9sCpwTMAdwCqATSAd0CqQQD3gKqBAPfAqsEA-ACrAQD4QKtBAPiAq8EA-MCsQQT5AKyBNMB5QK0BAPmArYEE-cCtwTUAegCuAQD6QK5BAPqAroEE-sCvQTVAewCvgTbAe0CvwQF7gLABAXvAsEEBfACwgQF8QLDBAXyAsUEBfMCxwQT9ALIBNwB9QLKBAX2AswEE_cCzQTdAfgCzgQF-QLPBAX6AtAEE_sC0wTeAfwC1ATkAf0C1QQG_gLWBAb_AtcEBoAD2AQGgQPZBAaCA9sEBoMD3QQThAPeBOUBhQPgBAaGA-IEE4cD4wTmAYgD5AQGiQPlBAaKA-YEE4sD6QTnAYwD6gTtAY0D6wQIjgPsBAiPA-0ECJAD7gQIkQPvBAiSA_EECJMD8wQTlAP0BO4BlQP3BAiWA_kEE5cD-gTvAZgD_AQImQP9BAiaA_4EE5sDgQXwAZwDggX2AZ0DgwUJngOEBQmfA4UFCaADhgUJoQOHBQmiA4kFCaMDiwUTpAOMBfcBpQOOBQmmA5AFE6cDkQX4AagDkgUJqQOTBQmqA5QFE6sDlwX5AawDmAX_Aa0DmQUKrgOaBQqvA5sFCrADnAUKsQOdBQqyA58FCrMDoQUTtAOiBYACtQOkBQq2A6YFE7cDpwWBArgDqAUKuQOpBQq6A6oFE7sDrQWCArwDrgWIAr0DrwULvgOwBQu_A7EFC8ADsgULwQOzBQvCA7UFC8MDtwUTxAO4BYkCxQO6BQvGA7wFE8cDvQWKAsgDvgULyQO_BQvKA8AFE8sDwwWLAswDxAWRAs0DxQUMzgPGBQzPA8cFDNADyAUM0QPJBQzSA8sFDNMDzQUT1APOBZIC1QPSBQzWA9QFE9cD1QWTAtgD2AUM2QPZBQzaA9oFE9sD3QWUAtwD3gWaAt0D3wUN3gPgBQ3fA-EFDeAD4gUN4QPjBQ3iA-UFDeMD5wUT5APoBZsC5QPqBQ3mA-wFE-cD7QWcAugD7gUN6QPvBQ3qA_AFE-sD8wWdAuwD9AWjAu0D9QUO7gP2BQ7vA_cFDvAD-AUO8QP5BQ7yA_sFDvMD_QUT9AP-BaQC9QOABg72A4IGE_cDgwalAvgDhAYO-QOFBg76A4YGE_sDiQamAvwDigasAg" } async function decodeBase64AsWasm(wasmBase64: string): Promise { @@ -45,10 +45,10 @@ async function decodeBase64AsWasm(wasmBase64: string): Promise await import("@prisma/client/runtime/query_compiler_fast_bg.mysql.mjs"), + getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.mjs"), getQueryCompilerWasmModule: async () => { - const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.mysql.wasm-base64.mjs") + const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.mjs") return await decodeBase64AsWasm(wasm) }, @@ -417,6 +417,66 @@ export interface PrismaClient< * ``` */ get checkListTemplate(): Prisma.CheckListTemplateDelegate; + + /** + * `prisma.project`: Exposes CRUD operations for the **Project** model. + * Example usage: + * ```ts + * // Fetch zero or more Projects + * const projects = await prisma.project.findMany() + * ``` + */ + get project(): Prisma.ProjectDelegate; + + /** + * `prisma.projectMember`: Exposes CRUD operations for the **ProjectMember** model. + * Example usage: + * ```ts + * // Fetch zero or more ProjectMembers + * const projectMembers = await prisma.projectMember.findMany() + * ``` + */ + get projectMember(): Prisma.ProjectMemberDelegate; + + /** + * `prisma.boardColumn`: Exposes CRUD operations for the **BoardColumn** model. + * Example usage: + * ```ts + * // Fetch zero or more BoardColumns + * const boardColumns = await prisma.boardColumn.findMany() + * ``` + */ + get boardColumn(): Prisma.BoardColumnDelegate; + + /** + * `prisma.task`: Exposes CRUD operations for the **Task** model. + * Example usage: + * ```ts + * // Fetch zero or more Tasks + * const tasks = await prisma.task.findMany() + * ``` + */ + get task(): Prisma.TaskDelegate; + + /** + * `prisma.taskMember`: Exposes CRUD operations for the **TaskMember** model. + * Example usage: + * ```ts + * // Fetch zero or more TaskMembers + * const taskMembers = await prisma.taskMember.findMany() + * ``` + */ + get taskMember(): Prisma.TaskMemberDelegate; + + /** + * `prisma.taskTag`: Exposes CRUD operations for the **TaskTag** model. + * Example usage: + * ```ts + * // Fetch zero or more TaskTags + * const taskTags = await prisma.taskTag.findMany() + * ``` + */ + get taskTag(): Prisma.TaskTagDelegate; } export function getPrismaClientClass(): PrismaClientConstructor { diff --git a/generated/prisma/internal/prismaNamespace.ts b/generated/prisma/internal/prismaNamespace.ts index 26ef65d..40ce664 100644 --- a/generated/prisma/internal/prismaNamespace.ts +++ b/generated/prisma/internal/prismaNamespace.ts @@ -406,7 +406,13 @@ export const ModelName = { CheckIn: 'CheckIn', CheckList: 'CheckList', CheckListItem: 'CheckListItem', - CheckListTemplate: 'CheckListTemplate' + CheckListTemplate: 'CheckListTemplate', + Project: 'Project', + ProjectMember: 'ProjectMember', + BoardColumn: 'BoardColumn', + Task: 'Task', + TaskMember: 'TaskMember', + TaskTag: 'TaskTag' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -422,7 +428,7 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.UserCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.UserDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -474,6 +484,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.UserUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -524,6 +538,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.ArticleCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.ArticleDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -540,6 +558,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.ArticleUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.ArticleUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -590,6 +612,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.StrategyCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.StrategyDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -606,6 +632,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.StrategyUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.StrategyUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -656,6 +686,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.IndicatorCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.IndicatorDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -672,6 +706,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.IndicatorUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.IndicatorUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -722,6 +760,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.IndicatorPointCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.IndicatorPointDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -738,6 +780,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.IndicatorPointUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.IndicatorPointUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -788,6 +834,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.NewsCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.NewsDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -804,6 +854,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.NewsUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.NewsUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -854,6 +908,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.AlertCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.AlertDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -870,6 +928,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.AlertUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.AlertUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -920,6 +982,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.ServerNodeCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.ServerNodeDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -936,6 +1002,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.ServerNodeUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.ServerNodeUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -986,6 +1056,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.ServerNodeHistoryCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.ServerNodeHistoryDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1002,6 +1076,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.ServerNodeHistoryUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.ServerNodeHistoryUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1052,6 +1130,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.ServiceCheckCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.ServiceCheckDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1068,6 +1150,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.ServiceCheckUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.ServiceCheckUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1118,6 +1204,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.Econ_SowInventoryCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.Econ_SowInventoryDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1134,6 +1224,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.Econ_SowInventoryUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.Econ_SowInventoryUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1184,6 +1278,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.ScraperCacheCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.ScraperCacheDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1200,6 +1298,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.ScraperCacheUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.ScraperCacheUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1250,6 +1352,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.OilPriceHistoryCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.OilPriceHistoryDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1266,6 +1372,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.OilPriceHistoryUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.OilPriceHistoryUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1316,6 +1426,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.MihomeAccountCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.MihomeAccountDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1332,6 +1446,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.MihomeAccountUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.MihomeAccountUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1382,6 +1500,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.MihomeHomeCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.MihomeHomeDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1398,6 +1520,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.MihomeHomeUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.MihomeHomeUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1448,6 +1574,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.MihomeDeviceCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.MihomeDeviceDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1464,6 +1594,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.MihomeDeviceUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.MihomeDeviceUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1514,6 +1648,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.MihomeEnvSampleCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.MihomeEnvSampleDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1530,6 +1668,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.MihomeEnvSampleUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.MihomeEnvSampleUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1580,6 +1722,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.MihomeEnvHourCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.MihomeEnvHourDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1596,6 +1742,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.MihomeEnvHourUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.MihomeEnvHourUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1646,6 +1796,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.HabitCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.HabitDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1662,6 +1816,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.HabitUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.HabitUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1712,6 +1870,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.CheckInCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.CheckInDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1728,6 +1890,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.CheckInUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.CheckInUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1778,6 +1944,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.CheckListCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.CheckListDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1794,6 +1964,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.CheckListUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.CheckListUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1844,6 +2018,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.CheckListItemCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.CheckListItemDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1860,6 +2038,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.CheckListItemUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.CheckListItemUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1910,6 +2092,10 @@ export type TypeMap result: BatchPayload } + createManyAndReturn: { + args: Prisma.CheckListTemplateCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } delete: { args: Prisma.CheckListTemplateDeleteArgs result: runtime.Types.Utils.PayloadToResult @@ -1926,6 +2112,10 @@ export type TypeMap result: BatchPayload } + updateManyAndReturn: { + args: Prisma.CheckListTemplateUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } upsert: { args: Prisma.CheckListTemplateUpsertArgs result: runtime.Types.Utils.PayloadToResult @@ -1944,6 +2134,450 @@ export type TypeMap + fields: Prisma.ProjectFieldRefs + operations: { + findUnique: { + args: Prisma.ProjectFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ProjectFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.ProjectFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ProjectFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.ProjectFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.ProjectCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.ProjectCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ProjectCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.ProjectDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.ProjectUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ProjectDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ProjectUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ProjectUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ProjectUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ProjectAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.ProjectGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.ProjectCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + ProjectMember: { + payload: Prisma.$ProjectMemberPayload + fields: Prisma.ProjectMemberFieldRefs + operations: { + findUnique: { + args: Prisma.ProjectMemberFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ProjectMemberFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.ProjectMemberFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ProjectMemberFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.ProjectMemberFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.ProjectMemberCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.ProjectMemberCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ProjectMemberCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.ProjectMemberDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.ProjectMemberUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ProjectMemberDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ProjectMemberUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ProjectMemberUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ProjectMemberUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.ProjectMemberAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.ProjectMemberGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.ProjectMemberCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + BoardColumn: { + payload: Prisma.$BoardColumnPayload + fields: Prisma.BoardColumnFieldRefs + operations: { + findUnique: { + args: Prisma.BoardColumnFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.BoardColumnFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.BoardColumnFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.BoardColumnFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.BoardColumnFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.BoardColumnCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.BoardColumnCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.BoardColumnCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.BoardColumnDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.BoardColumnUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.BoardColumnDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.BoardColumnUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.BoardColumnUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.BoardColumnUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.BoardColumnAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.BoardColumnGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.BoardColumnCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + Task: { + payload: Prisma.$TaskPayload + fields: Prisma.TaskFieldRefs + operations: { + findUnique: { + args: Prisma.TaskFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TaskFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TaskFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TaskFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TaskFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TaskCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TaskCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TaskCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TaskDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TaskUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TaskDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TaskUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TaskUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TaskUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TaskAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TaskGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TaskCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + TaskMember: { + payload: Prisma.$TaskMemberPayload + fields: Prisma.TaskMemberFieldRefs + operations: { + findUnique: { + args: Prisma.TaskMemberFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TaskMemberFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TaskMemberFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TaskMemberFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TaskMemberFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TaskMemberCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TaskMemberCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TaskMemberCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TaskMemberDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TaskMemberUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TaskMemberDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TaskMemberUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TaskMemberUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TaskMemberUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TaskMemberAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TaskMemberGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TaskMemberCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } + TaskTag: { + payload: Prisma.$TaskTagPayload + fields: Prisma.TaskTagFieldRefs + operations: { + findUnique: { + args: Prisma.TaskTagFindUniqueArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TaskTagFindUniqueOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findFirst: { + args: Prisma.TaskTagFindFirstArgs + result: runtime.Types.Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TaskTagFindFirstOrThrowArgs + result: runtime.Types.Utils.PayloadToResult + } + findMany: { + args: Prisma.TaskTagFindManyArgs + result: runtime.Types.Utils.PayloadToResult[] + } + create: { + args: Prisma.TaskTagCreateArgs + result: runtime.Types.Utils.PayloadToResult + } + createMany: { + args: Prisma.TaskTagCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TaskTagCreateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + delete: { + args: Prisma.TaskTagDeleteArgs + result: runtime.Types.Utils.PayloadToResult + } + update: { + args: Prisma.TaskTagUpdateArgs + result: runtime.Types.Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TaskTagDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TaskTagUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TaskTagUpdateManyAndReturnArgs + result: runtime.Types.Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TaskTagUpsertArgs + result: runtime.Types.Utils.PayloadToResult + } + aggregate: { + args: Prisma.TaskTagAggregateArgs + result: runtime.Types.Utils.Optional + } + groupBy: { + args: Prisma.TaskTagGroupByArgs + result: runtime.Types.Utils.Optional[] + } + count: { + args: Prisma.TaskTagCountArgs + result: runtime.Types.Utils.Optional | number + } + } + } } } & { other: { @@ -2334,6 +2968,95 @@ export const CheckListTemplateScalarFieldEnum = { export type CheckListTemplateScalarFieldEnum = (typeof CheckListTemplateScalarFieldEnum)[keyof typeof CheckListTemplateScalarFieldEnum] +export const ProjectScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + code: 'code', + name: 'name', + ownerId: 'ownerId', + isPersonal: 'isPersonal', + archived: 'archived', + notes: 'notes', + taskKinds: 'taskKinds', + icon: 'icon', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type ProjectScalarFieldEnum = (typeof ProjectScalarFieldEnum)[keyof typeof ProjectScalarFieldEnum] + + +export const ProjectMemberScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + userId: 'userId', + permission: 'permission', + createdAt: 'createdAt' +} as const + +export type ProjectMemberScalarFieldEnum = (typeof ProjectMemberScalarFieldEnum)[keyof typeof ProjectMemberScalarFieldEnum] + + +export const BoardColumnScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + name: 'name', + sortOrder: 'sortOrder', + boundStatus: 'boundStatus', + retention: 'retention', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type BoardColumnScalarFieldEnum = (typeof BoardColumnScalarFieldEnum)[keyof typeof BoardColumnScalarFieldEnum] + + +export const TaskScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + columnId: 'columnId', + parentId: 'parentId', + title: 'title', + description: 'description', + kind: 'kind', + markDate: 'markDate', + status: 'status', + doneAt: 'doneAt', + assigneeId: 'assigneeId', + creatorId: 'creatorId', + extras: 'extras', + sortOrder: 'sortOrder', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + number: 'number' +} as const + +export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum] + + +export const TaskMemberScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + taskId: 'taskId', + userId: 'userId' +} as const + +export type TaskMemberScalarFieldEnum = (typeof TaskMemberScalarFieldEnum)[keyof typeof TaskMemberScalarFieldEnum] + + +export const TaskTagScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + taskId: 'taskId', + name: 'name' +} as const + +export type TaskTagScalarFieldEnum = (typeof TaskTagScalarFieldEnum)[keyof typeof TaskTagScalarFieldEnum] + + export const SortOrder = { asc: 'asc', desc: 'desc' @@ -2357,23 +3080,12 @@ export const NullableJsonNullValueInput = { export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] -export const UserOrderByRelevanceFieldEnum = { - name: 'name', - email: 'email', - password: 'password' +export const QueryMode = { + default: 'default', + insensitive: 'insensitive' } as const -export type UserOrderByRelevanceFieldEnum = (typeof UserOrderByRelevanceFieldEnum)[keyof typeof UserOrderByRelevanceFieldEnum] - - -export const ArticleOrderByRelevanceFieldEnum = { - title: 'title', - slug: 'slug', - content: 'content', - date: 'date' -} as const - -export type ArticleOrderByRelevanceFieldEnum = (typeof ArticleOrderByRelevanceFieldEnum)[keyof typeof ArticleOrderByRelevanceFieldEnum] +export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const JsonNullValueFilter = { @@ -2385,41 +3097,6 @@ export const 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 = { first: 'first', last: 'last' @@ -2428,161 +3105,6 @@ export const 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] - - /** * Field references @@ -2596,6 +3118,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' */ @@ -2603,6 +3132,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' */ @@ -2610,6 +3146,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' */ @@ -2638,12 +3181,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' */ 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 */ @@ -2762,6 +3319,12 @@ export type GlobalOmitConfig = { checkList?: Prisma.CheckListOmit checkListItem?: Prisma.CheckListItemOmit checkListTemplate?: Prisma.CheckListTemplateOmit + project?: Prisma.ProjectOmit + projectMember?: Prisma.ProjectMemberOmit + boardColumn?: Prisma.BoardColumnOmit + task?: Prisma.TaskOmit + taskMember?: Prisma.TaskMemberOmit + taskTag?: Prisma.TaskTagOmit } /* Types for Logging */ diff --git a/generated/prisma/internal/prismaNamespaceBrowser.ts b/generated/prisma/internal/prismaNamespaceBrowser.ts index 64b061e..dfa1855 100644 --- a/generated/prisma/internal/prismaNamespaceBrowser.ts +++ b/generated/prisma/internal/prismaNamespaceBrowser.ts @@ -73,7 +73,13 @@ export const ModelName = { CheckIn: 'CheckIn', CheckList: 'CheckList', CheckListItem: 'CheckListItem', - CheckListTemplate: 'CheckListTemplate' + CheckListTemplate: 'CheckListTemplate', + Project: 'Project', + ProjectMember: 'ProjectMember', + BoardColumn: 'BoardColumn', + Task: 'Task', + TaskMember: 'TaskMember', + TaskTag: 'TaskTag' } as const export type ModelName = (typeof ModelName)[keyof typeof ModelName] @@ -443,6 +449,95 @@ export const CheckListTemplateScalarFieldEnum = { export type CheckListTemplateScalarFieldEnum = (typeof CheckListTemplateScalarFieldEnum)[keyof typeof CheckListTemplateScalarFieldEnum] +export const ProjectScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + code: 'code', + name: 'name', + ownerId: 'ownerId', + isPersonal: 'isPersonal', + archived: 'archived', + notes: 'notes', + taskKinds: 'taskKinds', + icon: 'icon', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type ProjectScalarFieldEnum = (typeof ProjectScalarFieldEnum)[keyof typeof ProjectScalarFieldEnum] + + +export const ProjectMemberScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + userId: 'userId', + permission: 'permission', + createdAt: 'createdAt' +} as const + +export type ProjectMemberScalarFieldEnum = (typeof ProjectMemberScalarFieldEnum)[keyof typeof ProjectMemberScalarFieldEnum] + + +export const BoardColumnScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + name: 'name', + sortOrder: 'sortOrder', + boundStatus: 'boundStatus', + retention: 'retention', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +} as const + +export type BoardColumnScalarFieldEnum = (typeof BoardColumnScalarFieldEnum)[keyof typeof BoardColumnScalarFieldEnum] + + +export const TaskScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + projectId: 'projectId', + columnId: 'columnId', + parentId: 'parentId', + title: 'title', + description: 'description', + kind: 'kind', + markDate: 'markDate', + status: 'status', + doneAt: 'doneAt', + assigneeId: 'assigneeId', + creatorId: 'creatorId', + extras: 'extras', + sortOrder: 'sortOrder', + createdAt: 'createdAt', + updatedAt: 'updatedAt', + number: 'number' +} as const + +export type TaskScalarFieldEnum = (typeof TaskScalarFieldEnum)[keyof typeof TaskScalarFieldEnum] + + +export const TaskMemberScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + taskId: 'taskId', + userId: 'userId' +} as const + +export type TaskMemberScalarFieldEnum = (typeof TaskMemberScalarFieldEnum)[keyof typeof TaskMemberScalarFieldEnum] + + +export const TaskTagScalarFieldEnum = { + id: 'id', + uuid: 'uuid', + taskId: 'taskId', + name: 'name' +} as const + +export type TaskTagScalarFieldEnum = (typeof TaskTagScalarFieldEnum)[keyof typeof TaskTagScalarFieldEnum] + + export const SortOrder = { asc: 'asc', desc: 'desc' @@ -466,23 +561,12 @@ export const NullableJsonNullValueInput = { export type NullableJsonNullValueInput = (typeof NullableJsonNullValueInput)[keyof typeof NullableJsonNullValueInput] -export const UserOrderByRelevanceFieldEnum = { - name: 'name', - email: 'email', - password: 'password' +export const QueryMode = { + default: 'default', + insensitive: 'insensitive' } as const -export type UserOrderByRelevanceFieldEnum = (typeof UserOrderByRelevanceFieldEnum)[keyof typeof UserOrderByRelevanceFieldEnum] - - -export const ArticleOrderByRelevanceFieldEnum = { - title: 'title', - slug: 'slug', - content: 'content', - date: 'date' -} as const - -export type ArticleOrderByRelevanceFieldEnum = (typeof ArticleOrderByRelevanceFieldEnum)[keyof typeof ArticleOrderByRelevanceFieldEnum] +export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] export const JsonNullValueFilter = { @@ -494,41 +578,6 @@ export const 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 = { first: 'first', last: 'last' @@ -536,158 +585,3 @@ export const 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] - diff --git a/generated/prisma/models.ts b/generated/prisma/models.ts index 5cd3c70..cd74c6b 100644 --- a/generated/prisma/models.ts +++ b/generated/prisma/models.ts @@ -31,4 +31,10 @@ export type * from './models/CheckIn.ts' export type * from './models/CheckList.ts' export type * from './models/CheckListItem.ts' export type * from './models/CheckListTemplate.ts' +export type * from './models/Project.ts' +export type * from './models/ProjectMember.ts' +export type * from './models/BoardColumn.ts' +export type * from './models/Task.ts' +export type * from './models/TaskMember.ts' +export type * from './models/TaskTag.ts' export type * from './commonInputTypes.ts' \ No newline at end of file diff --git a/generated/prisma/models/Alert.ts b/generated/prisma/models/Alert.ts index 2d2db2a..1d44094 100644 --- a/generated/prisma/models/Alert.ts +++ b/generated/prisma/models/Alert.ts @@ -285,7 +285,6 @@ export type AlertOrderByWithRelationInput = { diff?: Prisma.SortOrder diffRatio?: Prisma.SortOrder createdAt?: Prisma.SortOrder - _relevance?: Prisma.AlertOrderByRelevanceInput } export type AlertWhereUniqueInput = Prisma.AtLeast<{ @@ -426,12 +425,6 @@ export type AlertUncheckedUpdateManyInput = { createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type AlertOrderByRelevanceInput = { - fields: Prisma.AlertOrderByRelevanceFieldEnum | Prisma.AlertOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type AlertCountOrderByAggregateInput = { id?: Prisma.SortOrder indicatorName?: Prisma.SortOrder @@ -502,7 +495,31 @@ export type AlertSelect +export type AlertSelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -650,6 +667,30 @@ export interface AlertDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Alert. * @param {AlertDeleteArgs} args - Arguments to delete one Alert. @@ -714,6 +755,36 @@ export interface AlertDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Alert. * @param {AlertUpsertArgs} args - Arguments to update or create a Alert. @@ -1125,6 +1196,25 @@ export type AlertCreateManyArgs = { + /** + * Select specific fields to fetch from the Alert + */ + select?: Prisma.AlertSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Alert + */ + omit?: Prisma.AlertOmit | null + /** + * The data used to create many Alerts. + */ + data: Prisma.AlertCreateManyInput | Prisma.AlertCreateManyInput[] + skipDuplicates?: boolean +} + /** * Alert update */ @@ -1165,6 +1255,32 @@ export type AlertUpdateManyArgs = { + /** + * Select specific fields to fetch from the Alert + */ + select?: Prisma.AlertSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Alert + */ + omit?: Prisma.AlertOmit | null + /** + * The data used to update Alerts. + */ + data: Prisma.XOR + /** + * Filter which Alerts to update + */ + where?: Prisma.AlertWhereInput + /** + * Limit how many Alerts to update. + */ + limit?: number +} + /** * Alert upsert */ diff --git a/generated/prisma/models/Article.ts b/generated/prisma/models/Article.ts index 4a9bf6d..cc533ca 100644 --- a/generated/prisma/models/Article.ts +++ b/generated/prisma/models/Article.ts @@ -242,7 +242,6 @@ export type ArticleOrderByWithRelationInput = { date?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.ArticleOrderByRelevanceInput } export type ArticleWhereUniqueInput = Prisma.AtLeast<{ @@ -353,12 +352,6 @@ export type ArticleUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type ArticleOrderByRelevanceInput = { - fields: Prisma.ArticleOrderByRelevanceFieldEnum | Prisma.ArticleOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type ArticleCountOrderByAggregateInput = { id?: Prisma.SortOrder title?: Prisma.SortOrder @@ -409,7 +402,25 @@ export type ArticleSelect +export type ArticleSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + title?: boolean + slug?: boolean + content?: boolean + date?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["article"]> +export type ArticleSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + title?: boolean + slug?: boolean + content?: boolean + date?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["article"]> export type ArticleSelectScalar = { id?: boolean @@ -551,6 +562,30 @@ export interface ArticleDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Article. * @param {ArticleDeleteArgs} args - Arguments to delete one Article. @@ -615,6 +650,36 @@ export interface ArticleDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Article. * @param {ArticleUpsertArgs} args - Arguments to update or create a Article. @@ -1023,6 +1088,25 @@ export type ArticleCreateManyArgs = { + /** + * Select specific fields to fetch from the Article + */ + select?: Prisma.ArticleSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Article + */ + omit?: Prisma.ArticleOmit | null + /** + * The data used to create many Articles. + */ + data: Prisma.ArticleCreateManyInput | Prisma.ArticleCreateManyInput[] + skipDuplicates?: boolean +} + /** * Article update */ @@ -1063,6 +1147,32 @@ export type ArticleUpdateManyArgs = { + /** + * Select specific fields to fetch from the Article + */ + select?: Prisma.ArticleSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Article + */ + omit?: Prisma.ArticleOmit | null + /** + * The data used to update Articles. + */ + data: Prisma.XOR + /** + * Filter which Articles to update + */ + where?: Prisma.ArticleWhereInput + /** + * Limit how many Articles to update. + */ + limit?: number +} + /** * Article upsert */ diff --git a/generated/prisma/models/BoardColumn.ts b/generated/prisma/models/BoardColumn.ts new file mode 100644 index 0000000..e4672cb --- /dev/null +++ b/generated/prisma/models/BoardColumn.ts @@ -0,0 +1,1693 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `BoardColumn` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model BoardColumn + * + */ +export type BoardColumnModel = runtime.Types.Result.DefaultSelection + +export type AggregateBoardColumn = { + _count: BoardColumnCountAggregateOutputType | null + _avg: BoardColumnAvgAggregateOutputType | null + _sum: BoardColumnSumAggregateOutputType | null + _min: BoardColumnMinAggregateOutputType | null + _max: BoardColumnMaxAggregateOutputType | null +} + +export type BoardColumnAvgAggregateOutputType = { + id: number | null + projectId: number | null + sortOrder: number | null +} + +export type BoardColumnSumAggregateOutputType = { + id: number | null + projectId: number | null + sortOrder: number | null +} + +export type BoardColumnMinAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + name: string | null + sortOrder: number | null + boundStatus: string | null + retention: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type BoardColumnMaxAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + name: string | null + sortOrder: number | null + boundStatus: string | null + retention: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type BoardColumnCountAggregateOutputType = { + id: number + uuid: number + projectId: number + name: number + sortOrder: number + boundStatus: number + retention: number + createdAt: number + updatedAt: number + _all: number +} + + +export type BoardColumnAvgAggregateInputType = { + id?: true + projectId?: true + sortOrder?: true +} + +export type BoardColumnSumAggregateInputType = { + id?: true + projectId?: true + sortOrder?: true +} + +export type BoardColumnMinAggregateInputType = { + id?: true + uuid?: true + projectId?: true + name?: true + sortOrder?: true + boundStatus?: true + retention?: true + createdAt?: true + updatedAt?: true +} + +export type BoardColumnMaxAggregateInputType = { + id?: true + uuid?: true + projectId?: true + name?: true + sortOrder?: true + boundStatus?: true + retention?: true + createdAt?: true + updatedAt?: true +} + +export type BoardColumnCountAggregateInputType = { + id?: true + uuid?: true + projectId?: true + name?: true + sortOrder?: true + boundStatus?: true + retention?: true + createdAt?: true + updatedAt?: true + _all?: true +} + +export type BoardColumnAggregateArgs = { + /** + * Filter which BoardColumn to aggregate. + */ + where?: Prisma.BoardColumnWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of BoardColumns to fetch. + */ + orderBy?: Prisma.BoardColumnOrderByWithRelationInput | Prisma.BoardColumnOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.BoardColumnWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` BoardColumns from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` BoardColumns. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned BoardColumns + **/ + _count?: true | BoardColumnCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: BoardColumnAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: BoardColumnSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: BoardColumnMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: BoardColumnMaxAggregateInputType +} + +export type GetBoardColumnAggregateType = { + [P in keyof T & keyof AggregateBoardColumn]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type BoardColumnGroupByArgs = { + where?: Prisma.BoardColumnWhereInput + orderBy?: Prisma.BoardColumnOrderByWithAggregationInput | Prisma.BoardColumnOrderByWithAggregationInput[] + by: Prisma.BoardColumnScalarFieldEnum[] | Prisma.BoardColumnScalarFieldEnum + having?: Prisma.BoardColumnScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: BoardColumnCountAggregateInputType | true + _avg?: BoardColumnAvgAggregateInputType + _sum?: BoardColumnSumAggregateInputType + _min?: BoardColumnMinAggregateInputType + _max?: BoardColumnMaxAggregateInputType +} + +export type BoardColumnGroupByOutputType = { + id: number + uuid: string + projectId: number + name: string + sortOrder: number + boundStatus: string | null + retention: string + createdAt: Date + updatedAt: Date + _count: BoardColumnCountAggregateOutputType | null + _avg: BoardColumnAvgAggregateOutputType | null + _sum: BoardColumnSumAggregateOutputType | null + _min: BoardColumnMinAggregateOutputType | null + _max: BoardColumnMaxAggregateOutputType | null +} + +export type GetBoardColumnGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof BoardColumnGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type BoardColumnWhereInput = { + AND?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[] + OR?: Prisma.BoardColumnWhereInput[] + NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[] + id?: Prisma.IntFilter<"BoardColumn"> | number + uuid?: Prisma.StringFilter<"BoardColumn"> | string + projectId?: Prisma.IntFilter<"BoardColumn"> | number + name?: Prisma.StringFilter<"BoardColumn"> | string + sortOrder?: Prisma.IntFilter<"BoardColumn"> | number + boundStatus?: Prisma.StringNullableFilter<"BoardColumn"> | string | null + retention?: Prisma.StringFilter<"BoardColumn"> | string + createdAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string + project?: Prisma.XOR + tasks?: Prisma.TaskListRelationFilter +} + +export type BoardColumnOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + name?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + boundStatus?: Prisma.SortOrderInput | Prisma.SortOrder + retention?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + project?: Prisma.ProjectOrderByWithRelationInput + tasks?: Prisma.TaskOrderByRelationAggregateInput +} + +export type BoardColumnWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + projectId_name?: Prisma.BoardColumnProjectIdNameCompoundUniqueInput + AND?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[] + OR?: Prisma.BoardColumnWhereInput[] + NOT?: Prisma.BoardColumnWhereInput | Prisma.BoardColumnWhereInput[] + projectId?: Prisma.IntFilter<"BoardColumn"> | number + name?: Prisma.StringFilter<"BoardColumn"> | string + sortOrder?: Prisma.IntFilter<"BoardColumn"> | number + boundStatus?: Prisma.StringNullableFilter<"BoardColumn"> | string | null + retention?: Prisma.StringFilter<"BoardColumn"> | string + createdAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string + project?: Prisma.XOR + tasks?: Prisma.TaskListRelationFilter +}, "id" | "uuid" | "projectId_name"> + +export type BoardColumnOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + name?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + boundStatus?: Prisma.SortOrderInput | Prisma.SortOrder + retention?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + _count?: Prisma.BoardColumnCountOrderByAggregateInput + _avg?: Prisma.BoardColumnAvgOrderByAggregateInput + _max?: Prisma.BoardColumnMaxOrderByAggregateInput + _min?: Prisma.BoardColumnMinOrderByAggregateInput + _sum?: Prisma.BoardColumnSumOrderByAggregateInput +} + +export type BoardColumnScalarWhereWithAggregatesInput = { + AND?: Prisma.BoardColumnScalarWhereWithAggregatesInput | Prisma.BoardColumnScalarWhereWithAggregatesInput[] + OR?: Prisma.BoardColumnScalarWhereWithAggregatesInput[] + NOT?: Prisma.BoardColumnScalarWhereWithAggregatesInput | Prisma.BoardColumnScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number + uuid?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string + projectId?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number + name?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string + sortOrder?: Prisma.IntWithAggregatesFilter<"BoardColumn"> | number + boundStatus?: Prisma.StringNullableWithAggregatesFilter<"BoardColumn"> | string | null + retention?: Prisma.StringWithAggregatesFilter<"BoardColumn"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"BoardColumn"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"BoardColumn"> | Date | string +} + +export type BoardColumnCreateInput = { + uuid: string + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string + project: Prisma.ProjectCreateNestedOneWithoutColumnsInput + tasks?: Prisma.TaskCreateNestedManyWithoutColumnInput +} + +export type BoardColumnUncheckedCreateInput = { + id?: number + uuid: string + projectId: number + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutColumnInput +} + +export type BoardColumnUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + project?: Prisma.ProjectUpdateOneRequiredWithoutColumnsNestedInput + tasks?: Prisma.TaskUpdateManyWithoutColumnNestedInput +} + +export type BoardColumnUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + tasks?: Prisma.TaskUncheckedUpdateManyWithoutColumnNestedInput +} + +export type BoardColumnCreateManyInput = { + id?: number + uuid: string + projectId: number + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type BoardColumnUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type BoardColumnUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type BoardColumnListRelationFilter = { + every?: Prisma.BoardColumnWhereInput + some?: Prisma.BoardColumnWhereInput + none?: Prisma.BoardColumnWhereInput +} + +export type BoardColumnOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type BoardColumnProjectIdNameCompoundUniqueInput = { + projectId: number + name: string +} + +export type BoardColumnCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + name?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + boundStatus?: Prisma.SortOrder + retention?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type BoardColumnAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder +} + +export type BoardColumnMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + name?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + boundStatus?: Prisma.SortOrder + retention?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type BoardColumnMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + name?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + boundStatus?: Prisma.SortOrder + retention?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type BoardColumnSumOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder +} + +export type BoardColumnScalarRelationFilter = { + is?: Prisma.BoardColumnWhereInput + isNot?: Prisma.BoardColumnWhereInput +} + +export type BoardColumnCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.BoardColumnCreateWithoutProjectInput[] | Prisma.BoardColumnUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutProjectInput | Prisma.BoardColumnCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.BoardColumnCreateManyProjectInputEnvelope + connect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] +} + +export type BoardColumnUncheckedCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.BoardColumnCreateWithoutProjectInput[] | Prisma.BoardColumnUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutProjectInput | Prisma.BoardColumnCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.BoardColumnCreateManyProjectInputEnvelope + connect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] +} + +export type BoardColumnUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.BoardColumnCreateWithoutProjectInput[] | Prisma.BoardColumnUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutProjectInput | Prisma.BoardColumnCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.BoardColumnUpsertWithWhereUniqueWithoutProjectInput | Prisma.BoardColumnUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.BoardColumnCreateManyProjectInputEnvelope + set?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + disconnect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + delete?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + connect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + update?: Prisma.BoardColumnUpdateWithWhereUniqueWithoutProjectInput | Prisma.BoardColumnUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.BoardColumnUpdateManyWithWhereWithoutProjectInput | Prisma.BoardColumnUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[] +} + +export type BoardColumnUncheckedUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.BoardColumnCreateWithoutProjectInput[] | Prisma.BoardColumnUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutProjectInput | Prisma.BoardColumnCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.BoardColumnUpsertWithWhereUniqueWithoutProjectInput | Prisma.BoardColumnUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.BoardColumnCreateManyProjectInputEnvelope + set?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + disconnect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + delete?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + connect?: Prisma.BoardColumnWhereUniqueInput | Prisma.BoardColumnWhereUniqueInput[] + update?: Prisma.BoardColumnUpdateWithWhereUniqueWithoutProjectInput | Prisma.BoardColumnUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.BoardColumnUpdateManyWithWhereWithoutProjectInput | Prisma.BoardColumnUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[] +} + +export type BoardColumnCreateNestedOneWithoutTasksInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutTasksInput + connect?: Prisma.BoardColumnWhereUniqueInput +} + +export type BoardColumnUpdateOneRequiredWithoutTasksNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.BoardColumnCreateOrConnectWithoutTasksInput + upsert?: Prisma.BoardColumnUpsertWithoutTasksInput + connect?: Prisma.BoardColumnWhereUniqueInput + update?: Prisma.XOR, Prisma.BoardColumnUncheckedUpdateWithoutTasksInput> +} + +export type BoardColumnCreateWithoutProjectInput = { + uuid: string + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string + tasks?: Prisma.TaskCreateNestedManyWithoutColumnInput +} + +export type BoardColumnUncheckedCreateWithoutProjectInput = { + id?: number + uuid: string + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutColumnInput +} + +export type BoardColumnCreateOrConnectWithoutProjectInput = { + where: Prisma.BoardColumnWhereUniqueInput + create: Prisma.XOR +} + +export type BoardColumnCreateManyProjectInputEnvelope = { + data: Prisma.BoardColumnCreateManyProjectInput | Prisma.BoardColumnCreateManyProjectInput[] + skipDuplicates?: boolean +} + +export type BoardColumnUpsertWithWhereUniqueWithoutProjectInput = { + where: Prisma.BoardColumnWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type BoardColumnUpdateWithWhereUniqueWithoutProjectInput = { + where: Prisma.BoardColumnWhereUniqueInput + data: Prisma.XOR +} + +export type BoardColumnUpdateManyWithWhereWithoutProjectInput = { + where: Prisma.BoardColumnScalarWhereInput + data: Prisma.XOR +} + +export type BoardColumnScalarWhereInput = { + AND?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[] + OR?: Prisma.BoardColumnScalarWhereInput[] + NOT?: Prisma.BoardColumnScalarWhereInput | Prisma.BoardColumnScalarWhereInput[] + id?: Prisma.IntFilter<"BoardColumn"> | number + uuid?: Prisma.StringFilter<"BoardColumn"> | string + projectId?: Prisma.IntFilter<"BoardColumn"> | number + name?: Prisma.StringFilter<"BoardColumn"> | string + sortOrder?: Prisma.IntFilter<"BoardColumn"> | number + boundStatus?: Prisma.StringNullableFilter<"BoardColumn"> | string | null + retention?: Prisma.StringFilter<"BoardColumn"> | string + createdAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"BoardColumn"> | Date | string +} + +export type BoardColumnCreateWithoutTasksInput = { + uuid: string + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string + project: Prisma.ProjectCreateNestedOneWithoutColumnsInput +} + +export type BoardColumnUncheckedCreateWithoutTasksInput = { + id?: number + uuid: string + projectId: number + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type BoardColumnCreateOrConnectWithoutTasksInput = { + where: Prisma.BoardColumnWhereUniqueInput + create: Prisma.XOR +} + +export type BoardColumnUpsertWithoutTasksInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.BoardColumnWhereInput +} + +export type BoardColumnUpdateToOneWithWhereWithoutTasksInput = { + where?: Prisma.BoardColumnWhereInput + data: Prisma.XOR +} + +export type BoardColumnUpdateWithoutTasksInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + project?: Prisma.ProjectUpdateOneRequiredWithoutColumnsNestedInput +} + +export type BoardColumnUncheckedUpdateWithoutTasksInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type BoardColumnCreateManyProjectInput = { + id?: number + uuid: string + name: string + sortOrder?: number + boundStatus?: string | null + retention?: string + createdAt?: Date | string + updatedAt?: Date | string +} + +export type BoardColumnUpdateWithoutProjectInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + tasks?: Prisma.TaskUpdateManyWithoutColumnNestedInput +} + +export type BoardColumnUncheckedUpdateWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + tasks?: Prisma.TaskUncheckedUpdateManyWithoutColumnNestedInput +} + +export type BoardColumnUncheckedUpdateManyWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + boundStatus?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + retention?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type BoardColumnCountOutputType + */ + +export type BoardColumnCountOutputType = { + tasks: number +} + +export type BoardColumnCountOutputTypeSelect = { + tasks?: boolean | BoardColumnCountOutputTypeCountTasksArgs +} + +/** + * BoardColumnCountOutputType without action + */ +export type BoardColumnCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the BoardColumnCountOutputType + */ + select?: Prisma.BoardColumnCountOutputTypeSelect | null +} + +/** + * BoardColumnCountOutputType without action + */ +export type BoardColumnCountOutputTypeCountTasksArgs = { + where?: Prisma.TaskWhereInput +} + + +export type BoardColumnSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + name?: boolean + sortOrder?: boolean + boundStatus?: boolean + retention?: boolean + createdAt?: boolean + updatedAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + tasks?: boolean | Prisma.BoardColumn$tasksArgs + _count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs +}, ExtArgs["result"]["boardColumn"]> + +export type BoardColumnSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + name?: boolean + sortOrder?: boolean + boundStatus?: boolean + retention?: boolean + createdAt?: boolean + updatedAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs +}, ExtArgs["result"]["boardColumn"]> + +export type BoardColumnSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + name?: boolean + sortOrder?: boolean + boundStatus?: boolean + retention?: boolean + createdAt?: boolean + updatedAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs +}, ExtArgs["result"]["boardColumn"]> + +export type BoardColumnSelectScalar = { + id?: boolean + uuid?: boolean + projectId?: boolean + name?: boolean + sortOrder?: boolean + boundStatus?: boolean + retention?: boolean + createdAt?: boolean + updatedAt?: boolean +} + +export type BoardColumnOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectId" | "name" | "sortOrder" | "boundStatus" | "retention" | "createdAt" | "updatedAt", ExtArgs["result"]["boardColumn"]> +export type BoardColumnInclude = { + project?: boolean | Prisma.ProjectDefaultArgs + tasks?: boolean | Prisma.BoardColumn$tasksArgs + _count?: boolean | Prisma.BoardColumnCountOutputTypeDefaultArgs +} +export type BoardColumnIncludeCreateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs +} +export type BoardColumnIncludeUpdateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs +} + +export type $BoardColumnPayload = { + name: "BoardColumn" + objects: { + project: Prisma.$ProjectPayload + tasks: Prisma.$TaskPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + projectId: number + name: string + sortOrder: number + boundStatus: string | null + retention: string + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["boardColumn"]> + composites: {} +} + +export type BoardColumnGetPayload = runtime.Types.Result.GetResult + +export type BoardColumnCountArgs = + Omit & { + select?: BoardColumnCountAggregateInputType | true + } + +export interface BoardColumnDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['BoardColumn'], meta: { name: 'BoardColumn' } } + /** + * Find zero or one BoardColumn that matches the filter. + * @param {BoardColumnFindUniqueArgs} args - Arguments to find a BoardColumn + * @example + * // Get one BoardColumn + * const boardColumn = await prisma.boardColumn.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one BoardColumn that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {BoardColumnFindUniqueOrThrowArgs} args - Arguments to find a BoardColumn + * @example + * // Get one BoardColumn + * const boardColumn = await prisma.boardColumn.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first BoardColumn that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnFindFirstArgs} args - Arguments to find a BoardColumn + * @example + * // Get one BoardColumn + * const boardColumn = await prisma.boardColumn.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first BoardColumn that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnFindFirstOrThrowArgs} args - Arguments to find a BoardColumn + * @example + * // Get one BoardColumn + * const boardColumn = await prisma.boardColumn.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more BoardColumns that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all BoardColumns + * const boardColumns = await prisma.boardColumn.findMany() + * + * // Get first 10 BoardColumns + * const boardColumns = await prisma.boardColumn.findMany({ take: 10 }) + * + * // Only select the `id` + * const boardColumnWithIdOnly = await prisma.boardColumn.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a BoardColumn. + * @param {BoardColumnCreateArgs} args - Arguments to create a BoardColumn. + * @example + * // Create one BoardColumn + * const BoardColumn = await prisma.boardColumn.create({ + * data: { + * // ... data to create a BoardColumn + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many BoardColumns. + * @param {BoardColumnCreateManyArgs} args - Arguments to create many BoardColumns. + * @example + * // Create many BoardColumns + * const boardColumn = await prisma.boardColumn.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a BoardColumn. + * @param {BoardColumnDeleteArgs} args - Arguments to delete one BoardColumn. + * @example + * // Delete one BoardColumn + * const BoardColumn = await prisma.boardColumn.delete({ + * where: { + * // ... filter to delete one BoardColumn + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one BoardColumn. + * @param {BoardColumnUpdateArgs} args - Arguments to update one BoardColumn. + * @example + * // Update one BoardColumn + * const boardColumn = await prisma.boardColumn.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more BoardColumns. + * @param {BoardColumnDeleteManyArgs} args - Arguments to filter BoardColumns to delete. + * @example + * // Delete a few BoardColumns + * const { count } = await prisma.boardColumn.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more BoardColumns. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many BoardColumns + * const boardColumn = await prisma.boardColumn.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one BoardColumn. + * @param {BoardColumnUpsertArgs} args - Arguments to update or create a BoardColumn. + * @example + * // Update or create a BoardColumn + * const boardColumn = await prisma.boardColumn.upsert({ + * create: { + * // ... data to create a BoardColumn + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the BoardColumn we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__BoardColumnClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of BoardColumns. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnCountArgs} args - Arguments to filter BoardColumns to count. + * @example + * // Count the number of BoardColumns + * const count = await prisma.boardColumn.count({ + * where: { + * // ... the filter for the BoardColumns we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a BoardColumn. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by BoardColumn. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {BoardColumnGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends BoardColumnGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: BoardColumnGroupByArgs['orderBy'] } + : { orderBy?: BoardColumnGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetBoardColumnGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the BoardColumn model + */ +readonly fields: BoardColumnFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for BoardColumn. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__BoardColumnClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + project = {}>(args?: Prisma.Subset>): Prisma.Prisma__ProjectClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + tasks = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the BoardColumn model + */ +export interface BoardColumnFieldRefs { + readonly id: Prisma.FieldRef<"BoardColumn", 'Int'> + readonly uuid: Prisma.FieldRef<"BoardColumn", 'String'> + readonly projectId: Prisma.FieldRef<"BoardColumn", 'Int'> + readonly name: Prisma.FieldRef<"BoardColumn", 'String'> + readonly sortOrder: Prisma.FieldRef<"BoardColumn", 'Int'> + readonly boundStatus: Prisma.FieldRef<"BoardColumn", 'String'> + readonly retention: Prisma.FieldRef<"BoardColumn", 'String'> + readonly createdAt: Prisma.FieldRef<"BoardColumn", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"BoardColumn", 'DateTime'> +} + + +// Custom InputTypes +/** + * BoardColumn findUnique + */ +export type BoardColumnFindUniqueArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter, which BoardColumn to fetch. + */ + where: Prisma.BoardColumnWhereUniqueInput +} + +/** + * BoardColumn findUniqueOrThrow + */ +export type BoardColumnFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter, which BoardColumn to fetch. + */ + where: Prisma.BoardColumnWhereUniqueInput +} + +/** + * BoardColumn findFirst + */ +export type BoardColumnFindFirstArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter, which BoardColumn to fetch. + */ + where?: Prisma.BoardColumnWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of BoardColumns to fetch. + */ + orderBy?: Prisma.BoardColumnOrderByWithRelationInput | Prisma.BoardColumnOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for BoardColumns. + */ + cursor?: Prisma.BoardColumnWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` BoardColumns from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` BoardColumns. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of BoardColumns. + */ + distinct?: Prisma.BoardColumnScalarFieldEnum | Prisma.BoardColumnScalarFieldEnum[] +} + +/** + * BoardColumn findFirstOrThrow + */ +export type BoardColumnFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter, which BoardColumn to fetch. + */ + where?: Prisma.BoardColumnWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of BoardColumns to fetch. + */ + orderBy?: Prisma.BoardColumnOrderByWithRelationInput | Prisma.BoardColumnOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for BoardColumns. + */ + cursor?: Prisma.BoardColumnWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` BoardColumns from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` BoardColumns. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of BoardColumns. + */ + distinct?: Prisma.BoardColumnScalarFieldEnum | Prisma.BoardColumnScalarFieldEnum[] +} + +/** + * BoardColumn findMany + */ +export type BoardColumnFindManyArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter, which BoardColumns to fetch. + */ + where?: Prisma.BoardColumnWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of BoardColumns to fetch. + */ + orderBy?: Prisma.BoardColumnOrderByWithRelationInput | Prisma.BoardColumnOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing BoardColumns. + */ + cursor?: Prisma.BoardColumnWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` BoardColumns from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` BoardColumns. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of BoardColumns. + */ + distinct?: Prisma.BoardColumnScalarFieldEnum | Prisma.BoardColumnScalarFieldEnum[] +} + +/** + * BoardColumn create + */ +export type BoardColumnCreateArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * The data needed to create a BoardColumn. + */ + data: Prisma.XOR +} + +/** + * BoardColumn createMany + */ +export type BoardColumnCreateManyArgs = { + /** + * The data used to create many BoardColumns. + */ + data: Prisma.BoardColumnCreateManyInput | Prisma.BoardColumnCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * BoardColumn createManyAndReturn + */ +export type BoardColumnCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelectCreateManyAndReturn | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | 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 | null +} + +/** + * BoardColumn update + */ +export type BoardColumnUpdateArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * The data needed to update a BoardColumn. + */ + data: Prisma.XOR + /** + * Choose, which BoardColumn to update. + */ + where: Prisma.BoardColumnWhereUniqueInput +} + +/** + * BoardColumn updateMany + */ +export type BoardColumnUpdateManyArgs = { + /** + * The data used to update BoardColumns. + */ + data: Prisma.XOR + /** + * Filter which BoardColumns to update + */ + where?: Prisma.BoardColumnWhereInput + /** + * Limit how many BoardColumns to update. + */ + limit?: number +} + +/** + * BoardColumn updateManyAndReturn + */ +export type BoardColumnUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * The data used to update BoardColumns. + */ + data: Prisma.XOR + /** + * 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 | null +} + +/** + * BoardColumn upsert + */ +export type BoardColumnUpsertArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * The filter to search for the BoardColumn to update in case it exists. + */ + where: Prisma.BoardColumnWhereUniqueInput + /** + * In case the BoardColumn found by the `where` argument doesn't exist, create a new BoardColumn with this data. + */ + create: Prisma.XOR + /** + * In case the BoardColumn was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * BoardColumn delete + */ +export type BoardColumnDeleteArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + /** + * Filter which BoardColumn to delete. + */ + where: Prisma.BoardColumnWhereUniqueInput +} + +/** + * BoardColumn deleteMany + */ +export type BoardColumnDeleteManyArgs = { + /** + * Filter which BoardColumns to delete + */ + where?: Prisma.BoardColumnWhereInput + /** + * Limit how many BoardColumns to delete. + */ + limit?: number +} + +/** + * BoardColumn.tasks + */ +export type BoardColumn$tasksArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + cursor?: Prisma.TaskWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * BoardColumn without action + */ +export type BoardColumnDefaultArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null +} diff --git a/generated/prisma/models/CheckIn.ts b/generated/prisma/models/CheckIn.ts index afe0207..9dec467 100644 --- a/generated/prisma/models/CheckIn.ts +++ b/generated/prisma/models/CheckIn.ts @@ -267,7 +267,6 @@ export type CheckInOrderByWithRelationInput = { createdAt?: Prisma.SortOrder habit?: Prisma.HabitOrderByWithRelationInput user?: Prisma.UserOrderByWithRelationInput - _relevance?: Prisma.CheckInOrderByRelevanceInput } export type CheckInWhereUniqueInput = Prisma.AtLeast<{ @@ -399,12 +398,6 @@ export type CheckInOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type CheckInOrderByRelevanceInput = { - fields: Prisma.CheckInOrderByRelevanceFieldEnum | Prisma.CheckInOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type CheckInHabitIdDateSeqCompoundUniqueInput = { habitId: number date: string @@ -739,7 +732,31 @@ export type CheckInSelect }, ExtArgs["result"]["checkIn"]> +export type CheckInSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + habitId?: boolean + userId?: boolean + date?: boolean + seq?: boolean + note?: boolean + source?: boolean + createdAt?: boolean + habit?: boolean | Prisma.HabitDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["checkIn"]> +export type CheckInSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + habitId?: boolean + userId?: boolean + date?: boolean + seq?: boolean + note?: boolean + source?: boolean + createdAt?: boolean + habit?: boolean | Prisma.HabitDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["checkIn"]> export type CheckInSelectScalar = { id?: boolean @@ -757,6 +774,14 @@ export type CheckInInclude user?: boolean | Prisma.UserDefaultArgs } +export type CheckInIncludeCreateManyAndReturn = { + habit?: boolean | Prisma.HabitDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type CheckInIncludeUpdateManyAndReturn = { + habit?: boolean | Prisma.HabitDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} export type $CheckInPayload = { name: "CheckIn" @@ -890,6 +915,30 @@ export interface CheckInDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a CheckIn. * @param {CheckInDeleteArgs} args - Arguments to delete one CheckIn. @@ -954,6 +1003,36 @@ export interface CheckInDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one CheckIn. * @param {CheckInUpsertArgs} args - Arguments to update or create a CheckIn. @@ -1389,6 +1468,29 @@ export type CheckInCreateManyArgs = { + /** + * Select specific fields to fetch from the CheckIn + */ + select?: Prisma.CheckInSelectCreateManyAndReturn | null + /** + * Omit specific fields from the CheckIn + */ + omit?: Prisma.CheckInOmit | 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 | null +} + /** * CheckIn update */ @@ -1433,6 +1535,36 @@ export type CheckInUpdateManyArgs = { + /** + * Select specific fields to fetch from the CheckIn + */ + select?: Prisma.CheckInSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the CheckIn + */ + omit?: Prisma.CheckInOmit | null + /** + * The data used to update CheckIns. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * CheckIn upsert */ diff --git a/generated/prisma/models/CheckList.ts b/generated/prisma/models/CheckList.ts index 551ee73..d3b4ea5 100644 --- a/generated/prisma/models/CheckList.ts +++ b/generated/prisma/models/CheckList.ts @@ -259,7 +259,6 @@ export type CheckListOrderByWithRelationInput = { updatedAt?: Prisma.SortOrder user?: Prisma.UserOrderByWithRelationInput items?: Prisma.CheckListItemOrderByRelationAggregateInput - _relevance?: Prisma.CheckListOrderByRelevanceInput } export type CheckListWhereUniqueInput = Prisma.AtLeast<{ @@ -395,12 +394,6 @@ export type CheckListOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type CheckListOrderByRelevanceInput = { - fields: Prisma.CheckListOrderByRelevanceFieldEnum | Prisma.CheckListOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type CheckListCountOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder @@ -710,7 +703,29 @@ export type CheckListSelect }, ExtArgs["result"]["checkList"]> +export type CheckListSelectCreateManyAndReturn = 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["result"]["checkList"]> +export type CheckListSelectUpdateManyAndReturn = 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["result"]["checkList"]> export type CheckListSelectScalar = { id?: boolean @@ -729,6 +744,12 @@ export type CheckListInclude _count?: boolean | Prisma.CheckListCountOutputTypeDefaultArgs } +export type CheckListIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type CheckListIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} export type $CheckListPayload = { name: "CheckList" @@ -862,6 +883,30 @@ export interface CheckListDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a CheckList. * @param {CheckListDeleteArgs} args - Arguments to delete one CheckList. @@ -926,6 +971,36 @@ export interface CheckListDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one CheckList. * @param {CheckListUpsertArgs} args - Arguments to update or create a CheckList. @@ -1361,6 +1436,29 @@ export type CheckListCreateManyArgs = { + /** + * Select specific fields to fetch from the CheckList + */ + select?: Prisma.CheckListSelectCreateManyAndReturn | null + /** + * Omit specific fields from the CheckList + */ + omit?: Prisma.CheckListOmit | 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 | null +} + /** * CheckList update */ @@ -1405,6 +1503,36 @@ export type CheckListUpdateManyArgs = { + /** + * Select specific fields to fetch from the CheckList + */ + select?: Prisma.CheckListSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the CheckList + */ + omit?: Prisma.CheckListOmit | null + /** + * The data used to update CheckLists. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * CheckList upsert */ diff --git a/generated/prisma/models/CheckListItem.ts b/generated/prisma/models/CheckListItem.ts index df1e459..090f49f 100644 --- a/generated/prisma/models/CheckListItem.ts +++ b/generated/prisma/models/CheckListItem.ts @@ -270,7 +270,6 @@ export type CheckListItemOrderByWithRelationInput = { createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder list?: Prisma.CheckListOrderByWithRelationInput - _relevance?: Prisma.CheckListItemOrderByRelevanceInput } export type CheckListItemWhereUniqueInput = Prisma.AtLeast<{ @@ -411,12 +410,6 @@ export type CheckListItemOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type CheckListItemOrderByRelevanceInput = { - fields: Prisma.CheckListItemOrderByRelevanceFieldEnum | Prisma.CheckListItemOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type CheckListItemCountOrderByAggregateInput = { id?: Prisma.SortOrder listId?: Prisma.SortOrder @@ -627,7 +620,31 @@ export type CheckListItemSelect }, ExtArgs["result"]["checkListItem"]> +export type CheckListItemSelectCreateManyAndReturn = 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["result"]["checkListItem"]> +export type CheckListItemSelectUpdateManyAndReturn = 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["result"]["checkListItem"]> export type CheckListItemSelectScalar = { id?: boolean @@ -645,6 +662,12 @@ export type CheckListItemOmit = { list?: boolean | Prisma.CheckListDefaultArgs } +export type CheckListItemIncludeCreateManyAndReturn = { + list?: boolean | Prisma.CheckListDefaultArgs +} +export type CheckListItemIncludeUpdateManyAndReturn = { + list?: boolean | Prisma.CheckListDefaultArgs +} export type $CheckListItemPayload = { name: "CheckListItem" @@ -778,6 +801,30 @@ export interface CheckListItemDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a CheckListItem. * @param {CheckListItemDeleteArgs} args - Arguments to delete one CheckListItem. @@ -842,6 +889,36 @@ export interface CheckListItemDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one CheckListItem. * @param {CheckListItemUpsertArgs} args - Arguments to update or create a CheckListItem. @@ -1277,6 +1354,29 @@ export type CheckListItemCreateManyArgs = { + /** + * Select specific fields to fetch from the CheckListItem + */ + select?: Prisma.CheckListItemSelectCreateManyAndReturn | null + /** + * Omit specific fields from the CheckListItem + */ + omit?: Prisma.CheckListItemOmit | 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 | null +} + /** * CheckListItem update */ @@ -1321,6 +1421,36 @@ export type CheckListItemUpdateManyArgs = { + /** + * Select specific fields to fetch from the CheckListItem + */ + select?: Prisma.CheckListItemSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the CheckListItem + */ + omit?: Prisma.CheckListItemOmit | null + /** + * The data used to update CheckListItems. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * CheckListItem upsert */ diff --git a/generated/prisma/models/CheckListTemplate.ts b/generated/prisma/models/CheckListTemplate.ts index 5f9debe..ce406ee 100644 --- a/generated/prisma/models/CheckListTemplate.ts +++ b/generated/prisma/models/CheckListTemplate.ts @@ -253,7 +253,6 @@ export type CheckListTemplateOrderByWithRelationInput = { createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder user?: Prisma.UserOrderByWithRelationInput - _relevance?: Prisma.CheckListTemplateOrderByRelevanceInput } export type CheckListTemplateWhereUniqueInput = Prisma.AtLeast<{ @@ -384,12 +383,6 @@ export type CheckListTemplateOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type CheckListTemplateOrderByRelevanceInput = { - fields: Prisma.CheckListTemplateOrderByRelevanceFieldEnum | Prisma.CheckListTemplateOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type CheckListTemplateCountOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder @@ -585,7 +578,29 @@ export type CheckListTemplateSelect }, ExtArgs["result"]["checkListTemplate"]> +export type CheckListTemplateSelectCreateManyAndReturn = 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["result"]["checkListTemplate"]> +export type CheckListTemplateSelectUpdateManyAndReturn = 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["result"]["checkListTemplate"]> export type CheckListTemplateSelectScalar = { id?: boolean @@ -602,6 +617,12 @@ export type CheckListTemplateOmit = { user?: boolean | Prisma.CheckListTemplate$userArgs } +export type CheckListTemplateIncludeCreateManyAndReturn = { + user?: boolean | Prisma.CheckListTemplate$userArgs +} +export type CheckListTemplateIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.CheckListTemplate$userArgs +} export type $CheckListTemplatePayload = { name: "CheckListTemplate" @@ -734,6 +755,30 @@ export interface CheckListTemplateDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a CheckListTemplate. * @param {CheckListTemplateDeleteArgs} args - Arguments to delete one CheckListTemplate. @@ -798,6 +843,36 @@ export interface CheckListTemplateDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one CheckListTemplate. * @param {CheckListTemplateUpsertArgs} args - Arguments to update or create a CheckListTemplate. @@ -1232,6 +1307,29 @@ export type CheckListTemplateCreateManyArgs = { + /** + * Select specific fields to fetch from the CheckListTemplate + */ + select?: Prisma.CheckListTemplateSelectCreateManyAndReturn | null + /** + * Omit specific fields from the CheckListTemplate + */ + omit?: Prisma.CheckListTemplateOmit | 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 | null +} + /** * CheckListTemplate update */ @@ -1276,6 +1374,36 @@ export type CheckListTemplateUpdateManyArgs = { + /** + * Select specific fields to fetch from the CheckListTemplate + */ + select?: Prisma.CheckListTemplateSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the CheckListTemplate + */ + omit?: Prisma.CheckListTemplateOmit | null + /** + * The data used to update CheckListTemplates. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * CheckListTemplate upsert */ diff --git a/generated/prisma/models/Econ_SowInventory.ts b/generated/prisma/models/Econ_SowInventory.ts index d1bb041..913e025 100644 --- a/generated/prisma/models/Econ_SowInventory.ts +++ b/generated/prisma/models/Econ_SowInventory.ts @@ -228,7 +228,6 @@ export type Econ_SowInventoryOrderByWithRelationInput = { inventory?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.Econ_SowInventoryOrderByRelevanceInput } export type Econ_SowInventoryWhereUniqueInput = Prisma.AtLeast<{ @@ -319,12 +318,6 @@ export type Econ_SowInventoryUncheckedUpdateManyInput = { 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 = { id?: Prisma.SortOrder month?: Prisma.SortOrder @@ -369,7 +362,21 @@ export type Econ_SowInventorySelect +export type Econ_SowInventorySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + month?: boolean + inventory?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["econ_SowInventory"]> +export type Econ_SowInventorySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + month?: boolean + inventory?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["econ_SowInventory"]> export type Econ_SowInventorySelectScalar = { id?: boolean @@ -507,6 +514,30 @@ export interface Econ_SowInventoryDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Econ_SowInventory. * @param {Econ_SowInventoryDeleteArgs} args - Arguments to delete one Econ_SowInventory. @@ -571,6 +602,36 @@ export interface Econ_SowInventoryDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Econ_SowInventory. * @param {Econ_SowInventoryUpsertArgs} args - Arguments to update or create a Econ_SowInventory. @@ -977,6 +1038,25 @@ export type Econ_SowInventoryCreateManyArgs = { + /** + * Select specific fields to fetch from the Econ_SowInventory + */ + select?: Prisma.Econ_SowInventorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the Econ_SowInventory + */ + omit?: Prisma.Econ_SowInventoryOmit | null + /** + * The data used to create many Econ_SowInventories. + */ + data: Prisma.Econ_SowInventoryCreateManyInput | Prisma.Econ_SowInventoryCreateManyInput[] + skipDuplicates?: boolean +} + /** * Econ_SowInventory update */ @@ -1017,6 +1097,32 @@ export type Econ_SowInventoryUpdateManyArgs = { + /** + * Select specific fields to fetch from the Econ_SowInventory + */ + select?: Prisma.Econ_SowInventorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Econ_SowInventory + */ + omit?: Prisma.Econ_SowInventoryOmit | null + /** + * The data used to update Econ_SowInventories. + */ + data: Prisma.XOR + /** + * Filter which Econ_SowInventories to update + */ + where?: Prisma.Econ_SowInventoryWhereInput + /** + * Limit how many Econ_SowInventories to update. + */ + limit?: number +} + /** * Econ_SowInventory upsert */ diff --git a/generated/prisma/models/Habit.ts b/generated/prisma/models/Habit.ts index 22795ad..7142af3 100644 --- a/generated/prisma/models/Habit.ts +++ b/generated/prisma/models/Habit.ts @@ -303,7 +303,6 @@ export type HabitOrderByWithRelationInput = { updatedAt?: Prisma.SortOrder user?: Prisma.UserOrderByWithRelationInput records?: Prisma.CheckInOrderByRelationAggregateInput - _relevance?: Prisma.HabitOrderByRelevanceInput } export type HabitWhereUniqueInput = Prisma.AtLeast<{ @@ -479,12 +478,6 @@ export type HabitOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type HabitOrderByRelevanceInput = { - fields: Prisma.HabitOrderByRelevanceFieldEnum | Prisma.HabitOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type HabitCountOrderByAggregateInput = { id?: Prisma.SortOrder userId?: Prisma.SortOrder @@ -858,7 +851,37 @@ export type HabitSelect }, ExtArgs["result"]["habit"]> +export type HabitSelectCreateManyAndReturn = 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["result"]["habit"]> +export type HabitSelectUpdateManyAndReturn = 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["result"]["habit"]> export type HabitSelectScalar = { id?: boolean @@ -881,6 +904,12 @@ export type HabitInclude _count?: boolean | Prisma.HabitCountOutputTypeDefaultArgs } +export type HabitIncludeCreateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} +export type HabitIncludeUpdateManyAndReturn = { + user?: boolean | Prisma.UserDefaultArgs +} export type $HabitPayload = { name: "Habit" @@ -1018,6 +1047,30 @@ export interface HabitDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Habit. * @param {HabitDeleteArgs} args - Arguments to delete one Habit. @@ -1082,6 +1135,36 @@ export interface HabitDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Habit. * @param {HabitUpsertArgs} args - Arguments to update or create a Habit. @@ -1521,6 +1604,29 @@ export type HabitCreateManyArgs = { + /** + * Select specific fields to fetch from the Habit + */ + select?: Prisma.HabitSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Habit + */ + omit?: Prisma.HabitOmit | 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 | null +} + /** * Habit update */ @@ -1565,6 +1671,36 @@ export type HabitUpdateManyArgs = { + /** + * Select specific fields to fetch from the Habit + */ + select?: Prisma.HabitSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Habit + */ + omit?: Prisma.HabitOmit | null + /** + * The data used to update Habits. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * Habit upsert */ diff --git a/generated/prisma/models/Indicator.ts b/generated/prisma/models/Indicator.ts index 07a1e90..55d4a94 100644 --- a/generated/prisma/models/Indicator.ts +++ b/generated/prisma/models/Indicator.ts @@ -271,7 +271,6 @@ export type IndicatorOrderByWithRelationInput = { createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder points?: Prisma.IndicatorPointOrderByRelationAggregateInput - _relevance?: Prisma.IndicatorOrderByRelevanceInput } export type IndicatorWhereUniqueInput = Prisma.AtLeast<{ @@ -417,12 +416,6 @@ export type IndicatorUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type IndicatorOrderByRelevanceInput = { - fields: Prisma.IndicatorOrderByRelevanceFieldEnum | Prisma.IndicatorOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type IndicatorCountOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder @@ -605,7 +598,31 @@ export type IndicatorSelect }, ExtArgs["result"]["indicator"]> +export type IndicatorSelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -625,6 +642,8 @@ export type IndicatorInclude _count?: boolean | Prisma.IndicatorCountOutputTypeDefaultArgs } +export type IndicatorIncludeCreateManyAndReturn = {} +export type IndicatorIncludeUpdateManyAndReturn = {} export type $IndicatorPayload = { name: "Indicator" @@ -759,6 +778,30 @@ export interface IndicatorDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Indicator. * @param {IndicatorDeleteArgs} args - Arguments to delete one Indicator. @@ -823,6 +866,36 @@ export interface IndicatorDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Indicator. * @param {IndicatorUpsertArgs} args - Arguments to update or create a Indicator. @@ -1259,6 +1332,25 @@ export type IndicatorCreateManyArgs = { + /** + * Select specific fields to fetch from the Indicator + */ + select?: Prisma.IndicatorSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Indicator + */ + omit?: Prisma.IndicatorOmit | null + /** + * The data used to create many Indicators. + */ + data: Prisma.IndicatorCreateManyInput | Prisma.IndicatorCreateManyInput[] + skipDuplicates?: boolean +} + /** * Indicator update */ @@ -1303,6 +1395,32 @@ export type IndicatorUpdateManyArgs = { + /** + * Select specific fields to fetch from the Indicator + */ + select?: Prisma.IndicatorSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Indicator + */ + omit?: Prisma.IndicatorOmit | null + /** + * The data used to update Indicators. + */ + data: Prisma.XOR + /** + * Filter which Indicators to update + */ + where?: Prisma.IndicatorWhereInput + /** + * Limit how many Indicators to update. + */ + limit?: number +} + /** * Indicator upsert */ diff --git a/generated/prisma/models/IndicatorPoint.ts b/generated/prisma/models/IndicatorPoint.ts index 45c9fda..c2eb452 100644 --- a/generated/prisma/models/IndicatorPoint.ts +++ b/generated/prisma/models/IndicatorPoint.ts @@ -243,7 +243,6 @@ export type IndicatorPointOrderByWithRelationInput = { createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder indicator?: Prisma.IndicatorOrderByWithRelationInput - _relevance?: Prisma.IndicatorPointOrderByRelevanceInput } export type IndicatorPointWhereUniqueInput = Prisma.AtLeast<{ @@ -355,12 +354,6 @@ export type IndicatorPointOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type IndicatorPointOrderByRelevanceInput = { - fields: Prisma.IndicatorPointOrderByRelevanceFieldEnum | Prisma.IndicatorPointOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type IndicatorPointIndicatorIdPeriodCompoundUniqueInput = { indicatorId: number period: string @@ -551,7 +544,25 @@ export type IndicatorPointSelect }, ExtArgs["result"]["indicatorPoint"]> +export type IndicatorPointSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + indicatorId?: boolean + period?: boolean + value?: boolean + createdAt?: boolean + updatedAt?: boolean + indicator?: boolean | Prisma.IndicatorDefaultArgs +}, ExtArgs["result"]["indicatorPoint"]> +export type IndicatorPointSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + indicatorId?: boolean + period?: boolean + value?: boolean + createdAt?: boolean + updatedAt?: boolean + indicator?: boolean | Prisma.IndicatorDefaultArgs +}, ExtArgs["result"]["indicatorPoint"]> export type IndicatorPointSelectScalar = { id?: boolean @@ -566,6 +577,12 @@ export type IndicatorPointOmit = { indicator?: boolean | Prisma.IndicatorDefaultArgs } +export type IndicatorPointIncludeCreateManyAndReturn = { + indicator?: boolean | Prisma.IndicatorDefaultArgs +} +export type IndicatorPointIncludeUpdateManyAndReturn = { + indicator?: boolean | Prisma.IndicatorDefaultArgs +} export type $IndicatorPointPayload = { name: "IndicatorPoint" @@ -696,6 +713,30 @@ export interface IndicatorPointDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a IndicatorPoint. * @param {IndicatorPointDeleteArgs} args - Arguments to delete one IndicatorPoint. @@ -760,6 +801,36 @@ export interface IndicatorPointDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one IndicatorPoint. * @param {IndicatorPointUpsertArgs} args - Arguments to update or create a IndicatorPoint. @@ -1192,6 +1263,29 @@ export type IndicatorPointCreateManyArgs = { + /** + * Select specific fields to fetch from the IndicatorPoint + */ + select?: Prisma.IndicatorPointSelectCreateManyAndReturn | null + /** + * Omit specific fields from the IndicatorPoint + */ + omit?: Prisma.IndicatorPointOmit | 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 | null +} + /** * IndicatorPoint update */ @@ -1236,6 +1330,36 @@ export type IndicatorPointUpdateManyArgs = { + /** + * Select specific fields to fetch from the IndicatorPoint + */ + select?: Prisma.IndicatorPointSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the IndicatorPoint + */ + omit?: Prisma.IndicatorPointOmit | null + /** + * The data used to update IndicatorPoints. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * IndicatorPoint upsert */ diff --git a/generated/prisma/models/MihomeAccount.ts b/generated/prisma/models/MihomeAccount.ts index e0452c3..8b9b3bf 100644 --- a/generated/prisma/models/MihomeAccount.ts +++ b/generated/prisma/models/MihomeAccount.ts @@ -233,7 +233,6 @@ export type MihomeAccountOrderByWithRelationInput = { status?: Prisma.SortOrder lastError?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.MihomeAccountOrderByRelevanceInput } export type MihomeAccountWhereUniqueInput = Prisma.AtLeast<{ @@ -334,12 +333,6 @@ export type MihomeAccountUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type MihomeAccountOrderByRelevanceInput = { - fields: Prisma.MihomeAccountOrderByRelevanceFieldEnum | Prisma.MihomeAccountOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type MihomeAccountCountOrderByAggregateInput = { id?: Prisma.SortOrder key?: Prisma.SortOrder @@ -386,7 +379,23 @@ export type MihomeAccountSelect +export type MihomeAccountSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + key?: boolean + userId?: boolean + status?: boolean + lastError?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["mihomeAccount"]> +export type MihomeAccountSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + key?: boolean + userId?: boolean + status?: boolean + lastError?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["mihomeAccount"]> export type MihomeAccountSelectScalar = { id?: boolean @@ -526,6 +535,30 @@ export interface MihomeAccountDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a MihomeAccount. * @param {MihomeAccountDeleteArgs} args - Arguments to delete one MihomeAccount. @@ -590,6 +623,36 @@ export interface MihomeAccountDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one MihomeAccount. * @param {MihomeAccountUpsertArgs} args - Arguments to update or create a MihomeAccount. @@ -997,6 +1060,25 @@ export type MihomeAccountCreateManyArgs = { + /** + * Select specific fields to fetch from the MihomeAccount + */ + select?: Prisma.MihomeAccountSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MihomeAccount + */ + omit?: Prisma.MihomeAccountOmit | null + /** + * The data used to create many MihomeAccounts. + */ + data: Prisma.MihomeAccountCreateManyInput | Prisma.MihomeAccountCreateManyInput[] + skipDuplicates?: boolean +} + /** * MihomeAccount update */ @@ -1037,6 +1119,32 @@ export type MihomeAccountUpdateManyArgs = { + /** + * Select specific fields to fetch from the MihomeAccount + */ + select?: Prisma.MihomeAccountSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MihomeAccount + */ + omit?: Prisma.MihomeAccountOmit | null + /** + * The data used to update MihomeAccounts. + */ + data: Prisma.XOR + /** + * Filter which MihomeAccounts to update + */ + where?: Prisma.MihomeAccountWhereInput + /** + * Limit how many MihomeAccounts to update. + */ + limit?: number +} + /** * MihomeAccount upsert */ diff --git a/generated/prisma/models/MihomeDevice.ts b/generated/prisma/models/MihomeDevice.ts index 147f96b..1bc75d8 100644 --- a/generated/prisma/models/MihomeDevice.ts +++ b/generated/prisma/models/MihomeDevice.ts @@ -366,7 +366,6 @@ export type MihomeDeviceOrderByWithRelationInput = { home?: Prisma.MihomeHomeOrderByWithRelationInput samples?: Prisma.MihomeEnvSampleOrderByRelationAggregateInput hours?: Prisma.MihomeEnvHourOrderByRelationAggregateInput - _relevance?: Prisma.MihomeDeviceOrderByRelevanceInput } export type MihomeDeviceWhereUniqueInput = Prisma.AtLeast<{ @@ -597,12 +596,6 @@ export type MihomeDeviceOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type MihomeDeviceOrderByRelevanceInput = { - fields: Prisma.MihomeDeviceOrderByRelevanceFieldEnum | Prisma.MihomeDeviceOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type MihomeDeviceCountOrderByAggregateInput = { id?: Prisma.SortOrder did?: Prisma.SortOrder @@ -1201,7 +1194,47 @@ export type MihomeDeviceSelect }, ExtArgs["result"]["mihomeDevice"]> +export type MihomeDeviceSelectCreateManyAndReturn = 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["result"]["mihomeDevice"]> +export type MihomeDeviceSelectUpdateManyAndReturn = 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["result"]["mihomeDevice"]> export type MihomeDeviceSelectScalar = { id?: boolean @@ -1230,6 +1263,12 @@ export type MihomeDeviceInclude _count?: boolean | Prisma.MihomeDeviceCountOutputTypeDefaultArgs } +export type MihomeDeviceIncludeCreateManyAndReturn = { + home?: boolean | Prisma.MihomeHomeDefaultArgs +} +export type MihomeDeviceIncludeUpdateManyAndReturn = { + home?: boolean | Prisma.MihomeHomeDefaultArgs +} export type $MihomeDevicePayload = { name: "MihomeDevice" @@ -1373,6 +1412,30 @@ export interface MihomeDeviceDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a MihomeDevice. * @param {MihomeDeviceDeleteArgs} args - Arguments to delete one MihomeDevice. @@ -1437,6 +1500,36 @@ export interface MihomeDeviceDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one MihomeDevice. * @param {MihomeDeviceUpsertArgs} args - Arguments to update or create a MihomeDevice. @@ -1882,6 +1975,29 @@ export type MihomeDeviceCreateManyArgs = { + /** + * Select specific fields to fetch from the MihomeDevice + */ + select?: Prisma.MihomeDeviceSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MihomeDevice + */ + omit?: Prisma.MihomeDeviceOmit | 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 | null +} + /** * MihomeDevice update */ @@ -1926,6 +2042,36 @@ export type MihomeDeviceUpdateManyArgs = { + /** + * Select specific fields to fetch from the MihomeDevice + */ + select?: Prisma.MihomeDeviceSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MihomeDevice + */ + omit?: Prisma.MihomeDeviceOmit | null + /** + * The data used to update MihomeDevices. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * MihomeDevice upsert */ diff --git a/generated/prisma/models/MihomeEnvHour.ts b/generated/prisma/models/MihomeEnvHour.ts index caf5ddd..d9369ad 100644 --- a/generated/prisma/models/MihomeEnvHour.ts +++ b/generated/prisma/models/MihomeEnvHour.ts @@ -566,7 +566,27 @@ export type MihomeEnvHourSelect }, ExtArgs["result"]["mihomeEnvHour"]> +export type MihomeEnvHourSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + deviceId?: boolean + hour?: boolean + temperatureAvg?: boolean + humidityAvg?: boolean + raw?: boolean + createdAt?: boolean + device?: boolean | Prisma.MihomeDeviceDefaultArgs +}, ExtArgs["result"]["mihomeEnvHour"]> +export type MihomeEnvHourSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + deviceId?: boolean + hour?: boolean + temperatureAvg?: boolean + humidityAvg?: boolean + raw?: boolean + createdAt?: boolean + device?: boolean | Prisma.MihomeDeviceDefaultArgs +}, ExtArgs["result"]["mihomeEnvHour"]> export type MihomeEnvHourSelectScalar = { id?: boolean @@ -582,6 +602,12 @@ export type MihomeEnvHourOmit = { device?: boolean | Prisma.MihomeDeviceDefaultArgs } +export type MihomeEnvHourIncludeCreateManyAndReturn = { + device?: boolean | Prisma.MihomeDeviceDefaultArgs +} +export type MihomeEnvHourIncludeUpdateManyAndReturn = { + device?: boolean | Prisma.MihomeDeviceDefaultArgs +} export type $MihomeEnvHourPayload = { name: "MihomeEnvHour" @@ -713,6 +739,30 @@ export interface MihomeEnvHourDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a MihomeEnvHour. * @param {MihomeEnvHourDeleteArgs} args - Arguments to delete one MihomeEnvHour. @@ -777,6 +827,36 @@ export interface MihomeEnvHourDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one MihomeEnvHour. * @param {MihomeEnvHourUpsertArgs} args - Arguments to update or create a MihomeEnvHour. @@ -1210,6 +1290,29 @@ export type MihomeEnvHourCreateManyArgs = { + /** + * Select specific fields to fetch from the MihomeEnvHour + */ + select?: Prisma.MihomeEnvHourSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MihomeEnvHour + */ + omit?: Prisma.MihomeEnvHourOmit | 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 | null +} + /** * MihomeEnvHour update */ @@ -1254,6 +1357,36 @@ export type MihomeEnvHourUpdateManyArgs = { + /** + * Select specific fields to fetch from the MihomeEnvHour + */ + select?: Prisma.MihomeEnvHourSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MihomeEnvHour + */ + omit?: Prisma.MihomeEnvHourOmit | null + /** + * The data used to update MihomeEnvHours. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * MihomeEnvHour upsert */ diff --git a/generated/prisma/models/MihomeEnvSample.ts b/generated/prisma/models/MihomeEnvSample.ts index 3d6f41c..84bdbb3 100644 --- a/generated/prisma/models/MihomeEnvSample.ts +++ b/generated/prisma/models/MihomeEnvSample.ts @@ -348,7 +348,6 @@ export type MihomeEnvSampleOrderByWithRelationInput = { raw?: Prisma.SortOrderInput | Prisma.SortOrder createdAt?: Prisma.SortOrder device?: Prisma.MihomeDeviceOrderByWithRelationInput - _relevance?: Prisma.MihomeEnvSampleOrderByRelevanceInput } export type MihomeEnvSampleWhereUniqueInput = Prisma.AtLeast<{ @@ -550,12 +549,6 @@ export type MihomeEnvSampleOrderByRelationAggregateInput = { _count?: Prisma.SortOrder } -export type MihomeEnvSampleOrderByRelevanceInput = { - fields: Prisma.MihomeEnvSampleOrderByRelevanceFieldEnum | Prisma.MihomeEnvSampleOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type MihomeEnvSampleDeviceIdDateCompoundUniqueInput = { deviceId: number date: Date | string @@ -857,7 +850,43 @@ export type MihomeEnvSampleSelect }, ExtArgs["result"]["mihomeEnvSample"]> +export type MihomeEnvSampleSelectCreateManyAndReturn = 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["result"]["mihomeEnvSample"]> +export type MihomeEnvSampleSelectUpdateManyAndReturn = 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["result"]["mihomeEnvSample"]> export type MihomeEnvSampleSelectScalar = { id?: boolean @@ -881,6 +910,12 @@ export type MihomeEnvSampleOmit = { device?: boolean | Prisma.MihomeDeviceDefaultArgs } +export type MihomeEnvSampleIncludeCreateManyAndReturn = { + device?: boolean | Prisma.MihomeDeviceDefaultArgs +} +export type MihomeEnvSampleIncludeUpdateManyAndReturn = { + device?: boolean | Prisma.MihomeDeviceDefaultArgs +} export type $MihomeEnvSamplePayload = { name: "MihomeEnvSample" @@ -1020,6 +1055,30 @@ export interface MihomeEnvSampleDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a MihomeEnvSample. * @param {MihomeEnvSampleDeleteArgs} args - Arguments to delete one MihomeEnvSample. @@ -1084,6 +1143,36 @@ export interface MihomeEnvSampleDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one MihomeEnvSample. * @param {MihomeEnvSampleUpsertArgs} args - Arguments to update or create a MihomeEnvSample. @@ -1525,6 +1614,29 @@ export type MihomeEnvSampleCreateManyArgs = { + /** + * Select specific fields to fetch from the MihomeEnvSample + */ + select?: Prisma.MihomeEnvSampleSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MihomeEnvSample + */ + omit?: Prisma.MihomeEnvSampleOmit | 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 | null +} + /** * MihomeEnvSample update */ @@ -1569,6 +1681,36 @@ export type MihomeEnvSampleUpdateManyArgs = { + /** + * Select specific fields to fetch from the MihomeEnvSample + */ + select?: Prisma.MihomeEnvSampleSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MihomeEnvSample + */ + omit?: Prisma.MihomeEnvSampleOmit | null + /** + * The data used to update MihomeEnvSamples. + */ + data: Prisma.XOR + /** + * 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 | null +} + /** * MihomeEnvSample upsert */ diff --git a/generated/prisma/models/MihomeHome.ts b/generated/prisma/models/MihomeHome.ts index 86b93c0..357258f 100644 --- a/generated/prisma/models/MihomeHome.ts +++ b/generated/prisma/models/MihomeHome.ts @@ -217,7 +217,6 @@ export type MihomeHomeOrderByWithRelationInput = { name?: Prisma.SortOrder createdAt?: Prisma.SortOrder devices?: Prisma.MihomeDeviceOrderByRelationAggregateInput - _relevance?: Prisma.MihomeHomeOrderByRelevanceInput } export type MihomeHomeWhereUniqueInput = Prisma.AtLeast<{ @@ -303,12 +302,6 @@ export type MihomeHomeUncheckedUpdateManyInput = { createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type MihomeHomeOrderByRelevanceInput = { - fields: Prisma.MihomeHomeOrderByRelevanceFieldEnum | Prisma.MihomeHomeOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type MihomeHomeCountOrderByAggregateInput = { id?: Prisma.SortOrder homeId?: Prisma.SortOrder @@ -439,7 +432,19 @@ export type MihomeHomeSelect }, ExtArgs["result"]["mihomeHome"]> +export type MihomeHomeSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + homeId?: boolean + name?: boolean + createdAt?: boolean +}, ExtArgs["result"]["mihomeHome"]> +export type MihomeHomeSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + homeId?: boolean + name?: boolean + createdAt?: boolean +}, ExtArgs["result"]["mihomeHome"]> export type MihomeHomeSelectScalar = { id?: boolean @@ -453,6 +458,8 @@ export type MihomeHomeInclude _count?: boolean | Prisma.MihomeHomeCountOutputTypeDefaultArgs } +export type MihomeHomeIncludeCreateManyAndReturn = {} +export type MihomeHomeIncludeUpdateManyAndReturn = {} export type $MihomeHomePayload = { name: "MihomeHome" @@ -581,6 +588,30 @@ export interface MihomeHomeDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a MihomeHome. * @param {MihomeHomeDeleteArgs} args - Arguments to delete one MihomeHome. @@ -645,6 +676,36 @@ export interface MihomeHomeDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one MihomeHome. * @param {MihomeHomeUpsertArgs} args - Arguments to update or create a MihomeHome. @@ -1075,6 +1136,25 @@ export type MihomeHomeCreateManyArgs = { + /** + * Select specific fields to fetch from the MihomeHome + */ + select?: Prisma.MihomeHomeSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MihomeHome + */ + omit?: Prisma.MihomeHomeOmit | null + /** + * The data used to create many MihomeHomes. + */ + data: Prisma.MihomeHomeCreateManyInput | Prisma.MihomeHomeCreateManyInput[] + skipDuplicates?: boolean +} + /** * MihomeHome update */ @@ -1119,6 +1199,32 @@ export type MihomeHomeUpdateManyArgs = { + /** + * Select specific fields to fetch from the MihomeHome + */ + select?: Prisma.MihomeHomeSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MihomeHome + */ + omit?: Prisma.MihomeHomeOmit | null + /** + * The data used to update MihomeHomes. + */ + data: Prisma.XOR + /** + * Filter which MihomeHomes to update + */ + where?: Prisma.MihomeHomeWhereInput + /** + * Limit how many MihomeHomes to update. + */ + limit?: number +} + /** * MihomeHome upsert */ diff --git a/generated/prisma/models/News.ts b/generated/prisma/models/News.ts index 371f28c..0e3e81e 100644 --- a/generated/prisma/models/News.ts +++ b/generated/prisma/models/News.ts @@ -264,7 +264,6 @@ export type NewsOrderByWithRelationInput = { publishedAt?: Prisma.SortOrder impactRank?: Prisma.SortOrder createdAt?: Prisma.SortOrder - _relevance?: Prisma.NewsOrderByRelevanceInput } export type NewsWhereUniqueInput = Prisma.AtLeast<{ @@ -396,12 +395,6 @@ export type NewsUncheckedUpdateManyInput = { createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type NewsOrderByRelevanceInput = { - fields: Prisma.NewsOrderByRelevanceFieldEnum | Prisma.NewsOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type NewsTitlePublishedAtCompoundUniqueInput = { title: string publishedAt: Date | string @@ -471,7 +464,29 @@ export type NewsSelect +export type NewsSelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -617,6 +632,30 @@ export interface NewsDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a News. * @param {NewsDeleteArgs} args - Arguments to delete one News. @@ -681,6 +720,36 @@ export interface NewsDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one News. * @param {NewsUpsertArgs} args - Arguments to update or create a News. @@ -1091,6 +1160,25 @@ export type NewsCreateManyArgs = { + /** + * Select specific fields to fetch from the News + */ + select?: Prisma.NewsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the News + */ + omit?: Prisma.NewsOmit | null + /** + * The data used to create many News. + */ + data: Prisma.NewsCreateManyInput | Prisma.NewsCreateManyInput[] + skipDuplicates?: boolean +} + /** * News update */ @@ -1131,6 +1219,32 @@ export type NewsUpdateManyArgs = { + /** + * Select specific fields to fetch from the News + */ + select?: Prisma.NewsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the News + */ + omit?: Prisma.NewsOmit | null + /** + * The data used to update News. + */ + data: Prisma.XOR + /** + * Filter which News to update + */ + where?: Prisma.NewsWhereInput + /** + * Limit how many News to update. + */ + limit?: number +} + /** * News upsert */ diff --git a/generated/prisma/models/OilPriceHistory.ts b/generated/prisma/models/OilPriceHistory.ts index 0a2c329..c3d2204 100644 --- a/generated/prisma/models/OilPriceHistory.ts +++ b/generated/prisma/models/OilPriceHistory.ts @@ -246,7 +246,6 @@ export type OilPriceHistoryOrderByWithRelationInput = { price?: Prisma.SortOrder source?: Prisma.SortOrder createdAt?: Prisma.SortOrder - _relevance?: Prisma.OilPriceHistoryOrderByRelevanceInput } export type OilPriceHistoryWhereUniqueInput = Prisma.AtLeast<{ @@ -358,12 +357,6 @@ export type OilPriceHistoryUncheckedUpdateManyInput = { createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type OilPriceHistoryOrderByRelevanceInput = { - fields: Prisma.OilPriceHistoryOrderByRelevanceFieldEnum | Prisma.OilPriceHistoryOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type OilPriceHistoryDateProvinceFuelCompoundUniqueInput = { date: Date | string province: string @@ -422,7 +415,25 @@ export type OilPriceHistorySelect +export type OilPriceHistorySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + date?: boolean + province?: boolean + fuel?: boolean + price?: boolean + source?: boolean + createdAt?: boolean +}, ExtArgs["result"]["oilPriceHistory"]> +export type OilPriceHistorySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + date?: boolean + province?: boolean + fuel?: boolean + price?: boolean + source?: boolean + createdAt?: boolean +}, ExtArgs["result"]["oilPriceHistory"]> export type OilPriceHistorySelectScalar = { id?: boolean @@ -564,6 +575,30 @@ export interface OilPriceHistoryDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a OilPriceHistory. * @param {OilPriceHistoryDeleteArgs} args - Arguments to delete one OilPriceHistory. @@ -628,6 +663,36 @@ export interface OilPriceHistoryDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one OilPriceHistory. * @param {OilPriceHistoryUpsertArgs} args - Arguments to update or create a OilPriceHistory. @@ -1036,6 +1101,25 @@ export type OilPriceHistoryCreateManyArgs = { + /** + * Select specific fields to fetch from the OilPriceHistory + */ + select?: Prisma.OilPriceHistorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the OilPriceHistory + */ + omit?: Prisma.OilPriceHistoryOmit | null + /** + * The data used to create many OilPriceHistories. + */ + data: Prisma.OilPriceHistoryCreateManyInput | Prisma.OilPriceHistoryCreateManyInput[] + skipDuplicates?: boolean +} + /** * OilPriceHistory update */ @@ -1076,6 +1160,32 @@ export type OilPriceHistoryUpdateManyArgs = { + /** + * Select specific fields to fetch from the OilPriceHistory + */ + select?: Prisma.OilPriceHistorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the OilPriceHistory + */ + omit?: Prisma.OilPriceHistoryOmit | null + /** + * The data used to update OilPriceHistories. + */ + data: Prisma.XOR + /** + * Filter which OilPriceHistories to update + */ + where?: Prisma.OilPriceHistoryWhereInput + /** + * Limit how many OilPriceHistories to update. + */ + limit?: number +} + /** * OilPriceHistory upsert */ diff --git a/generated/prisma/models/Project.ts b/generated/prisma/models/Project.ts new file mode 100644 index 0000000..47b775e --- /dev/null +++ b/generated/prisma/models/Project.ts @@ -0,0 +1,2082 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Project` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Project + * + */ +export type ProjectModel = runtime.Types.Result.DefaultSelection + +export type AggregateProject = { + _count: ProjectCountAggregateOutputType | null + _avg: ProjectAvgAggregateOutputType | null + _sum: ProjectSumAggregateOutputType | null + _min: ProjectMinAggregateOutputType | null + _max: ProjectMaxAggregateOutputType | null +} + +export type ProjectAvgAggregateOutputType = { + id: number | null + ownerId: number | null +} + +export type ProjectSumAggregateOutputType = { + id: number | null + ownerId: number | null +} + +export type ProjectMinAggregateOutputType = { + id: number | null + uuid: string | null + code: string | null + name: string | null + ownerId: number | null + isPersonal: boolean | null + archived: boolean | null + icon: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type ProjectMaxAggregateOutputType = { + id: number | null + uuid: string | null + code: string | null + name: string | null + ownerId: number | null + isPersonal: boolean | null + archived: boolean | null + icon: string | null + createdAt: Date | null + updatedAt: Date | null +} + +export type ProjectCountAggregateOutputType = { + id: number + uuid: number + code: number + name: number + ownerId: number + isPersonal: number + archived: number + notes: number + taskKinds: number + icon: number + createdAt: number + updatedAt: number + _all: number +} + + +export type ProjectAvgAggregateInputType = { + id?: true + ownerId?: true +} + +export type ProjectSumAggregateInputType = { + id?: true + ownerId?: true +} + +export type ProjectMinAggregateInputType = { + id?: true + uuid?: true + code?: true + name?: true + ownerId?: true + isPersonal?: true + archived?: true + icon?: true + createdAt?: true + updatedAt?: true +} + +export type ProjectMaxAggregateInputType = { + id?: true + uuid?: true + code?: true + name?: true + ownerId?: true + isPersonal?: true + archived?: true + icon?: true + createdAt?: true + updatedAt?: true +} + +export type ProjectCountAggregateInputType = { + id?: true + uuid?: true + code?: true + name?: true + ownerId?: true + isPersonal?: true + archived?: true + notes?: true + taskKinds?: true + icon?: true + createdAt?: true + updatedAt?: true + _all?: true +} + +export type ProjectAggregateArgs = { + /** + * Filter which Project to aggregate. + */ + where?: Prisma.ProjectWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Projects to fetch. + */ + orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.ProjectWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Projects from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Projects. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Projects + **/ + _count?: true | ProjectCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ProjectAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ProjectSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProjectMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProjectMaxAggregateInputType +} + +export type GetProjectAggregateType = { + [P in keyof T & keyof AggregateProject]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type ProjectGroupByArgs = { + where?: Prisma.ProjectWhereInput + orderBy?: Prisma.ProjectOrderByWithAggregationInput | Prisma.ProjectOrderByWithAggregationInput[] + by: Prisma.ProjectScalarFieldEnum[] | Prisma.ProjectScalarFieldEnum + having?: Prisma.ProjectScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProjectCountAggregateInputType | true + _avg?: ProjectAvgAggregateInputType + _sum?: ProjectSumAggregateInputType + _min?: ProjectMinAggregateInputType + _max?: ProjectMaxAggregateInputType +} + +export type ProjectGroupByOutputType = { + id: number + uuid: string + code: string + name: string + ownerId: number + isPersonal: boolean + archived: boolean + notes: runtime.JsonValue + taskKinds: runtime.JsonValue | null + icon: string | null + createdAt: Date + updatedAt: Date + _count: ProjectCountAggregateOutputType | null + _avg: ProjectAvgAggregateOutputType | null + _sum: ProjectSumAggregateOutputType | null + _min: ProjectMinAggregateOutputType | null + _max: ProjectMaxAggregateOutputType | null +} + +export type GetProjectGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ProjectGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type ProjectWhereInput = { + AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[] + OR?: Prisma.ProjectWhereInput[] + NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[] + id?: Prisma.IntFilter<"Project"> | number + uuid?: Prisma.StringFilter<"Project"> | string + code?: Prisma.StringFilter<"Project"> | string + name?: Prisma.StringFilter<"Project"> | string + ownerId?: Prisma.IntFilter<"Project"> | number + isPersonal?: Prisma.BoolFilter<"Project"> | boolean + archived?: Prisma.BoolFilter<"Project"> | boolean + notes?: Prisma.JsonFilter<"Project"> + taskKinds?: Prisma.JsonNullableFilter<"Project"> + icon?: Prisma.StringNullableFilter<"Project"> | string | null + createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string + owner?: Prisma.XOR + members?: Prisma.ProjectMemberListRelationFilter + columns?: Prisma.BoardColumnListRelationFilter + tasks?: Prisma.TaskListRelationFilter +} + +export type ProjectOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + code?: Prisma.SortOrder + name?: Prisma.SortOrder + ownerId?: Prisma.SortOrder + isPersonal?: Prisma.SortOrder + archived?: Prisma.SortOrder + notes?: Prisma.SortOrder + taskKinds?: Prisma.SortOrderInput | Prisma.SortOrder + icon?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + owner?: Prisma.UserOrderByWithRelationInput + members?: Prisma.ProjectMemberOrderByRelationAggregateInput + columns?: Prisma.BoardColumnOrderByRelationAggregateInput + tasks?: Prisma.TaskOrderByRelationAggregateInput +} + +export type ProjectWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + code?: string + AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[] + OR?: Prisma.ProjectWhereInput[] + NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[] + name?: Prisma.StringFilter<"Project"> | string + ownerId?: Prisma.IntFilter<"Project"> | number + isPersonal?: Prisma.BoolFilter<"Project"> | boolean + archived?: Prisma.BoolFilter<"Project"> | boolean + notes?: Prisma.JsonFilter<"Project"> + taskKinds?: Prisma.JsonNullableFilter<"Project"> + icon?: Prisma.StringNullableFilter<"Project"> | string | null + createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string + owner?: Prisma.XOR + members?: Prisma.ProjectMemberListRelationFilter + columns?: Prisma.BoardColumnListRelationFilter + tasks?: Prisma.TaskListRelationFilter +}, "id" | "uuid" | "code"> + +export type ProjectOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + code?: Prisma.SortOrder + name?: Prisma.SortOrder + ownerId?: Prisma.SortOrder + isPersonal?: Prisma.SortOrder + archived?: Prisma.SortOrder + notes?: Prisma.SortOrder + taskKinds?: Prisma.SortOrderInput | Prisma.SortOrder + icon?: Prisma.SortOrderInput | Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + _count?: Prisma.ProjectCountOrderByAggregateInput + _avg?: Prisma.ProjectAvgOrderByAggregateInput + _max?: Prisma.ProjectMaxOrderByAggregateInput + _min?: Prisma.ProjectMinOrderByAggregateInput + _sum?: Prisma.ProjectSumOrderByAggregateInput +} + +export type ProjectScalarWhereWithAggregatesInput = { + AND?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[] + OR?: Prisma.ProjectScalarWhereWithAggregatesInput[] + NOT?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"Project"> | number + uuid?: Prisma.StringWithAggregatesFilter<"Project"> | string + code?: Prisma.StringWithAggregatesFilter<"Project"> | string + name?: Prisma.StringWithAggregatesFilter<"Project"> | string + ownerId?: Prisma.IntWithAggregatesFilter<"Project"> | number + isPersonal?: Prisma.BoolWithAggregatesFilter<"Project"> | boolean + archived?: Prisma.BoolWithAggregatesFilter<"Project"> | boolean + notes?: Prisma.JsonWithAggregatesFilter<"Project"> + taskKinds?: Prisma.JsonNullableWithAggregatesFilter<"Project"> + icon?: Prisma.StringNullableWithAggregatesFilter<"Project"> | string | null + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Project"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Project"> | Date | string +} + +export type ProjectCreateInput = { + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + owner: Prisma.UserCreateNestedOneWithoutOwnedProjectsInput + members?: Prisma.ProjectMemberCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput +} + +export type ProjectUncheckedCreateInput = { + id?: number + uuid: string + code: string + name: string + ownerId: number + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + members?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnUncheckedCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput +} + +export type ProjectUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + owner?: Prisma.UserUpdateOneRequiredWithoutOwnedProjectsNestedInput + members?: Prisma.ProjectMemberUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + ownerId?: Prisma.IntFieldUpdateOperationsInput | number + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + members?: Prisma.ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUncheckedUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput +} + +export type ProjectCreateManyInput = { + id?: number + uuid: string + code: string + name: string + ownerId: number + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type ProjectUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + ownerId?: Prisma.IntFieldUpdateOperationsInput | number + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectListRelationFilter = { + every?: Prisma.ProjectWhereInput + some?: Prisma.ProjectWhereInput + none?: Prisma.ProjectWhereInput +} + +export type ProjectOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type ProjectCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + code?: Prisma.SortOrder + name?: Prisma.SortOrder + ownerId?: Prisma.SortOrder + isPersonal?: Prisma.SortOrder + archived?: Prisma.SortOrder + notes?: Prisma.SortOrder + taskKinds?: Prisma.SortOrder + icon?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type ProjectAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + ownerId?: Prisma.SortOrder +} + +export type ProjectMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + code?: Prisma.SortOrder + name?: Prisma.SortOrder + ownerId?: Prisma.SortOrder + isPersonal?: Prisma.SortOrder + archived?: Prisma.SortOrder + icon?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type ProjectMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + code?: Prisma.SortOrder + name?: Prisma.SortOrder + ownerId?: Prisma.SortOrder + isPersonal?: Prisma.SortOrder + archived?: Prisma.SortOrder + icon?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder +} + +export type ProjectSumOrderByAggregateInput = { + id?: Prisma.SortOrder + ownerId?: Prisma.SortOrder +} + +export type ProjectScalarRelationFilter = { + is?: Prisma.ProjectWhereInput + isNot?: Prisma.ProjectWhereInput +} + +export type ProjectCreateNestedManyWithoutOwnerInput = { + create?: Prisma.XOR | Prisma.ProjectCreateWithoutOwnerInput[] | Prisma.ProjectUncheckedCreateWithoutOwnerInput[] + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutOwnerInput | Prisma.ProjectCreateOrConnectWithoutOwnerInput[] + createMany?: Prisma.ProjectCreateManyOwnerInputEnvelope + connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] +} + +export type ProjectUncheckedCreateNestedManyWithoutOwnerInput = { + create?: Prisma.XOR | Prisma.ProjectCreateWithoutOwnerInput[] | Prisma.ProjectUncheckedCreateWithoutOwnerInput[] + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutOwnerInput | Prisma.ProjectCreateOrConnectWithoutOwnerInput[] + createMany?: Prisma.ProjectCreateManyOwnerInputEnvelope + connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] +} + +export type ProjectUpdateManyWithoutOwnerNestedInput = { + create?: Prisma.XOR | Prisma.ProjectCreateWithoutOwnerInput[] | Prisma.ProjectUncheckedCreateWithoutOwnerInput[] + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutOwnerInput | Prisma.ProjectCreateOrConnectWithoutOwnerInput[] + upsert?: Prisma.ProjectUpsertWithWhereUniqueWithoutOwnerInput | Prisma.ProjectUpsertWithWhereUniqueWithoutOwnerInput[] + createMany?: Prisma.ProjectCreateManyOwnerInputEnvelope + set?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + disconnect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + delete?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + update?: Prisma.ProjectUpdateWithWhereUniqueWithoutOwnerInput | Prisma.ProjectUpdateWithWhereUniqueWithoutOwnerInput[] + updateMany?: Prisma.ProjectUpdateManyWithWhereWithoutOwnerInput | Prisma.ProjectUpdateManyWithWhereWithoutOwnerInput[] + deleteMany?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[] +} + +export type ProjectUncheckedUpdateManyWithoutOwnerNestedInput = { + create?: Prisma.XOR | Prisma.ProjectCreateWithoutOwnerInput[] | Prisma.ProjectUncheckedCreateWithoutOwnerInput[] + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutOwnerInput | Prisma.ProjectCreateOrConnectWithoutOwnerInput[] + upsert?: Prisma.ProjectUpsertWithWhereUniqueWithoutOwnerInput | Prisma.ProjectUpsertWithWhereUniqueWithoutOwnerInput[] + createMany?: Prisma.ProjectCreateManyOwnerInputEnvelope + set?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + disconnect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + delete?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[] + update?: Prisma.ProjectUpdateWithWhereUniqueWithoutOwnerInput | Prisma.ProjectUpdateWithWhereUniqueWithoutOwnerInput[] + updateMany?: Prisma.ProjectUpdateManyWithWhereWithoutOwnerInput | Prisma.ProjectUpdateManyWithWhereWithoutOwnerInput[] + deleteMany?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[] +} + +export type ProjectCreateNestedOneWithoutMembersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutMembersInput + connect?: Prisma.ProjectWhereUniqueInput +} + +export type ProjectUpdateOneRequiredWithoutMembersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutMembersInput + upsert?: Prisma.ProjectUpsertWithoutMembersInput + connect?: Prisma.ProjectWhereUniqueInput + update?: Prisma.XOR, Prisma.ProjectUncheckedUpdateWithoutMembersInput> +} + +export type ProjectCreateNestedOneWithoutColumnsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutColumnsInput + connect?: Prisma.ProjectWhereUniqueInput +} + +export type ProjectUpdateOneRequiredWithoutColumnsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutColumnsInput + upsert?: Prisma.ProjectUpsertWithoutColumnsInput + connect?: Prisma.ProjectWhereUniqueInput + update?: Prisma.XOR, Prisma.ProjectUncheckedUpdateWithoutColumnsInput> +} + +export type ProjectCreateNestedOneWithoutTasksInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTasksInput + connect?: Prisma.ProjectWhereUniqueInput +} + +export type ProjectUpdateOneRequiredWithoutTasksNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTasksInput + upsert?: Prisma.ProjectUpsertWithoutTasksInput + connect?: Prisma.ProjectWhereUniqueInput + update?: Prisma.XOR, Prisma.ProjectUncheckedUpdateWithoutTasksInput> +} + +export type ProjectCreateWithoutOwnerInput = { + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + members?: Prisma.ProjectMemberCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput +} + +export type ProjectUncheckedCreateWithoutOwnerInput = { + id?: number + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + members?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnUncheckedCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput +} + +export type ProjectCreateOrConnectWithoutOwnerInput = { + where: Prisma.ProjectWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectCreateManyOwnerInputEnvelope = { + data: Prisma.ProjectCreateManyOwnerInput | Prisma.ProjectCreateManyOwnerInput[] + skipDuplicates?: boolean +} + +export type ProjectUpsertWithWhereUniqueWithoutOwnerInput = { + where: Prisma.ProjectWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ProjectUpdateWithWhereUniqueWithoutOwnerInput = { + where: Prisma.ProjectWhereUniqueInput + data: Prisma.XOR +} + +export type ProjectUpdateManyWithWhereWithoutOwnerInput = { + where: Prisma.ProjectScalarWhereInput + data: Prisma.XOR +} + +export type ProjectScalarWhereInput = { + AND?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[] + OR?: Prisma.ProjectScalarWhereInput[] + NOT?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[] + id?: Prisma.IntFilter<"Project"> | number + uuid?: Prisma.StringFilter<"Project"> | string + code?: Prisma.StringFilter<"Project"> | string + name?: Prisma.StringFilter<"Project"> | string + ownerId?: Prisma.IntFilter<"Project"> | number + isPersonal?: Prisma.BoolFilter<"Project"> | boolean + archived?: Prisma.BoolFilter<"Project"> | boolean + notes?: Prisma.JsonFilter<"Project"> + taskKinds?: Prisma.JsonNullableFilter<"Project"> + icon?: Prisma.StringNullableFilter<"Project"> | string | null + createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string +} + +export type ProjectCreateWithoutMembersInput = { + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + owner: Prisma.UserCreateNestedOneWithoutOwnedProjectsInput + columns?: Prisma.BoardColumnCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput +} + +export type ProjectUncheckedCreateWithoutMembersInput = { + id?: number + uuid: string + code: string + name: string + ownerId: number + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + columns?: Prisma.BoardColumnUncheckedCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput +} + +export type ProjectCreateOrConnectWithoutMembersInput = { + where: Prisma.ProjectWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectUpsertWithoutMembersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.ProjectWhereInput +} + +export type ProjectUpdateToOneWithWhereWithoutMembersInput = { + where?: Prisma.ProjectWhereInput + data: Prisma.XOR +} + +export type ProjectUpdateWithoutMembersInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + owner?: Prisma.UserUpdateOneRequiredWithoutOwnedProjectsNestedInput + columns?: Prisma.BoardColumnUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateWithoutMembersInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + ownerId?: Prisma.IntFieldUpdateOperationsInput | number + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + columns?: Prisma.BoardColumnUncheckedUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput +} + +export type ProjectCreateWithoutColumnsInput = { + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + owner: Prisma.UserCreateNestedOneWithoutOwnedProjectsInput + members?: Prisma.ProjectMemberCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput +} + +export type ProjectUncheckedCreateWithoutColumnsInput = { + id?: number + uuid: string + code: string + name: string + ownerId: number + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + members?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutProjectInput + tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput +} + +export type ProjectCreateOrConnectWithoutColumnsInput = { + where: Prisma.ProjectWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectUpsertWithoutColumnsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.ProjectWhereInput +} + +export type ProjectUpdateToOneWithWhereWithoutColumnsInput = { + where?: Prisma.ProjectWhereInput + data: Prisma.XOR +} + +export type ProjectUpdateWithoutColumnsInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + owner?: Prisma.UserUpdateOneRequiredWithoutOwnedProjectsNestedInput + members?: Prisma.ProjectMemberUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateWithoutColumnsInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + ownerId?: Prisma.IntFieldUpdateOperationsInput | number + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + members?: Prisma.ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput +} + +export type ProjectCreateWithoutTasksInput = { + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + owner: Prisma.UserCreateNestedOneWithoutOwnedProjectsInput + members?: Prisma.ProjectMemberCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnCreateNestedManyWithoutProjectInput +} + +export type ProjectUncheckedCreateWithoutTasksInput = { + id?: number + uuid: string + code: string + name: string + ownerId: number + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string + members?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutProjectInput + columns?: Prisma.BoardColumnUncheckedCreateNestedManyWithoutProjectInput +} + +export type ProjectCreateOrConnectWithoutTasksInput = { + where: Prisma.ProjectWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectUpsertWithoutTasksInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.ProjectWhereInput +} + +export type ProjectUpdateToOneWithWhereWithoutTasksInput = { + where?: Prisma.ProjectWhereInput + data: Prisma.XOR +} + +export type ProjectUpdateWithoutTasksInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + owner?: Prisma.UserUpdateOneRequiredWithoutOwnedProjectsNestedInput + members?: Prisma.ProjectMemberUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateWithoutTasksInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + ownerId?: Prisma.IntFieldUpdateOperationsInput | number + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + members?: Prisma.ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUncheckedUpdateManyWithoutProjectNestedInput +} + +export type ProjectCreateManyOwnerInput = { + id?: number + uuid: string + code: string + name: string + isPersonal?: boolean + archived?: boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: string | null + createdAt?: Date | string + updatedAt?: Date | string +} + +export type ProjectUpdateWithoutOwnerInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + members?: Prisma.ProjectMemberUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateWithoutOwnerInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + members?: Prisma.ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput + columns?: Prisma.BoardColumnUncheckedUpdateManyWithoutProjectNestedInput + tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput +} + +export type ProjectUncheckedUpdateManyWithoutOwnerInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + code?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + isPersonal?: Prisma.BoolFieldUpdateOperationsInput | boolean + archived?: Prisma.BoolFieldUpdateOperationsInput | boolean + notes?: Prisma.JsonNullValueInput | runtime.InputJsonValue + taskKinds?: Prisma.NullableJsonNullValueInput | runtime.InputJsonValue + icon?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + +/** + * Count Type ProjectCountOutputType + */ + +export type ProjectCountOutputType = { + members: number + columns: number + tasks: number +} + +export type ProjectCountOutputTypeSelect = { + members?: boolean | ProjectCountOutputTypeCountMembersArgs + columns?: boolean | ProjectCountOutputTypeCountColumnsArgs + tasks?: boolean | ProjectCountOutputTypeCountTasksArgs +} + +/** + * ProjectCountOutputType without action + */ +export type ProjectCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the ProjectCountOutputType + */ + select?: Prisma.ProjectCountOutputTypeSelect | null +} + +/** + * ProjectCountOutputType without action + */ +export type ProjectCountOutputTypeCountMembersArgs = { + where?: Prisma.ProjectMemberWhereInput +} + +/** + * ProjectCountOutputType without action + */ +export type ProjectCountOutputTypeCountColumnsArgs = { + where?: Prisma.BoardColumnWhereInput +} + +/** + * ProjectCountOutputType without action + */ +export type ProjectCountOutputTypeCountTasksArgs = { + where?: Prisma.TaskWhereInput +} + + +export type ProjectSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + code?: boolean + name?: boolean + ownerId?: boolean + isPersonal?: boolean + archived?: boolean + notes?: boolean + taskKinds?: boolean + icon?: boolean + createdAt?: boolean + updatedAt?: boolean + owner?: boolean | Prisma.UserDefaultArgs + members?: boolean | Prisma.Project$membersArgs + columns?: boolean | Prisma.Project$columnsArgs + tasks?: boolean | Prisma.Project$tasksArgs + _count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs +}, ExtArgs["result"]["project"]> + +export type ProjectSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + code?: boolean + name?: boolean + ownerId?: boolean + isPersonal?: boolean + archived?: boolean + notes?: boolean + taskKinds?: boolean + icon?: boolean + createdAt?: boolean + updatedAt?: boolean + owner?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["project"]> + +export type ProjectSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + code?: boolean + name?: boolean + ownerId?: boolean + isPersonal?: boolean + archived?: boolean + notes?: boolean + taskKinds?: boolean + icon?: boolean + createdAt?: boolean + updatedAt?: boolean + owner?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["project"]> + +export type ProjectSelectScalar = { + id?: boolean + uuid?: boolean + code?: boolean + name?: boolean + ownerId?: boolean + isPersonal?: boolean + archived?: boolean + notes?: boolean + taskKinds?: boolean + icon?: boolean + createdAt?: boolean + updatedAt?: boolean +} + +export type ProjectOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "code" | "name" | "ownerId" | "isPersonal" | "archived" | "notes" | "taskKinds" | "icon" | "createdAt" | "updatedAt", ExtArgs["result"]["project"]> +export type ProjectInclude = { + owner?: boolean | Prisma.UserDefaultArgs + members?: boolean | Prisma.Project$membersArgs + columns?: boolean | Prisma.Project$columnsArgs + tasks?: boolean | Prisma.Project$tasksArgs + _count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs +} +export type ProjectIncludeCreateManyAndReturn = { + owner?: boolean | Prisma.UserDefaultArgs +} +export type ProjectIncludeUpdateManyAndReturn = { + owner?: boolean | Prisma.UserDefaultArgs +} + +export type $ProjectPayload = { + name: "Project" + objects: { + owner: Prisma.$UserPayload + members: Prisma.$ProjectMemberPayload[] + columns: Prisma.$BoardColumnPayload[] + tasks: Prisma.$TaskPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + code: string + name: string + ownerId: number + isPersonal: boolean + archived: boolean + notes: runtime.JsonValue + taskKinds: runtime.JsonValue | null + icon: string | null + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["project"]> + composites: {} +} + +export type ProjectGetPayload = runtime.Types.Result.GetResult + +export type ProjectCountArgs = + Omit & { + select?: ProjectCountAggregateInputType | true + } + +export interface ProjectDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Project'], meta: { name: 'Project' } } + /** + * Find zero or one Project that matches the filter. + * @param {ProjectFindUniqueArgs} args - Arguments to find a Project + * @example + * // Get one Project + * const project = await prisma.project.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Project that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ProjectFindUniqueOrThrowArgs} args - Arguments to find a Project + * @example + * // Get one Project + * const project = await prisma.project.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Project that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectFindFirstArgs} args - Arguments to find a Project + * @example + * // Get one Project + * const project = await prisma.project.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Project that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectFindFirstOrThrowArgs} args - Arguments to find a Project + * @example + * // Get one Project + * const project = await prisma.project.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Projects that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Projects + * const projects = await prisma.project.findMany() + * + * // Get first 10 Projects + * const projects = await prisma.project.findMany({ take: 10 }) + * + * // Only select the `id` + * const projectWithIdOnly = await prisma.project.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Project. + * @param {ProjectCreateArgs} args - Arguments to create a Project. + * @example + * // Create one Project + * const Project = await prisma.project.create({ + * data: { + * // ... data to create a Project + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Projects. + * @param {ProjectCreateManyArgs} args - Arguments to create many Projects. + * @example + * // Create many Projects + * const project = await prisma.project.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Project. + * @param {ProjectDeleteArgs} args - Arguments to delete one Project. + * @example + * // Delete one Project + * const Project = await prisma.project.delete({ + * where: { + * // ... filter to delete one Project + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Project. + * @param {ProjectUpdateArgs} args - Arguments to update one Project. + * @example + * // Update one Project + * const project = await prisma.project.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Projects. + * @param {ProjectDeleteManyArgs} args - Arguments to filter Projects to delete. + * @example + * // Delete a few Projects + * const { count } = await prisma.project.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Projects. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Projects + * const project = await prisma.project.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Project. + * @param {ProjectUpsertArgs} args - Arguments to update or create a Project. + * @example + * // Update or create a Project + * const project = await prisma.project.upsert({ + * create: { + * // ... data to create a Project + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Project we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Projects. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectCountArgs} args - Arguments to filter Projects to count. + * @example + * // Count the number of Projects + * const count = await prisma.project.count({ + * where: { + * // ... the filter for the Projects we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Project. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Project. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ProjectGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: ProjectGroupByArgs['orderBy'] } + : { orderBy?: ProjectGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetProjectGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Project model + */ +readonly fields: ProjectFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Project. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__ProjectClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + owner = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + members = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + columns = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + tasks = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Project model + */ +export interface ProjectFieldRefs { + 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 ownerId: Prisma.FieldRef<"Project", 'Int'> + readonly isPersonal: Prisma.FieldRef<"Project", 'Boolean'> + readonly archived: Prisma.FieldRef<"Project", 'Boolean'> + readonly notes: Prisma.FieldRef<"Project", 'Json'> + readonly taskKinds: Prisma.FieldRef<"Project", 'Json'> + readonly icon: Prisma.FieldRef<"Project", 'String'> + readonly createdAt: Prisma.FieldRef<"Project", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Project", 'DateTime'> +} + + +// Custom InputTypes +/** + * Project findUnique + */ +export type ProjectFindUniqueArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter, which Project to fetch. + */ + where: Prisma.ProjectWhereUniqueInput +} + +/** + * Project findUniqueOrThrow + */ +export type ProjectFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter, which Project to fetch. + */ + where: Prisma.ProjectWhereUniqueInput +} + +/** + * Project findFirst + */ +export type ProjectFindFirstArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter, which Project to fetch. + */ + where?: Prisma.ProjectWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Projects to fetch. + */ + orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Projects. + */ + cursor?: Prisma.ProjectWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Projects from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Projects. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Projects. + */ + distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[] +} + +/** + * Project findFirstOrThrow + */ +export type ProjectFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter, which Project to fetch. + */ + where?: Prisma.ProjectWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Projects to fetch. + */ + orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Projects. + */ + cursor?: Prisma.ProjectWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Projects from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Projects. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Projects. + */ + distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[] +} + +/** + * Project findMany + */ +export type ProjectFindManyArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter, which Projects to fetch. + */ + where?: Prisma.ProjectWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Projects to fetch. + */ + orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Projects. + */ + cursor?: Prisma.ProjectWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Projects from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Projects. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Projects. + */ + distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[] +} + +/** + * Project create + */ +export type ProjectCreateArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * The data needed to create a Project. + */ + data: Prisma.XOR +} + +/** + * Project createMany + */ +export type ProjectCreateManyArgs = { + /** + * The data used to create many Projects. + */ + data: Prisma.ProjectCreateManyInput | Prisma.ProjectCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Project createManyAndReturn + */ +export type ProjectCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | 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 | null +} + +/** + * Project update + */ +export type ProjectUpdateArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * The data needed to update a Project. + */ + data: Prisma.XOR + /** + * Choose, which Project to update. + */ + where: Prisma.ProjectWhereUniqueInput +} + +/** + * Project updateMany + */ +export type ProjectUpdateManyArgs = { + /** + * The data used to update Projects. + */ + data: Prisma.XOR + /** + * Filter which Projects to update + */ + where?: Prisma.ProjectWhereInput + /** + * Limit how many Projects to update. + */ + limit?: number +} + +/** + * Project updateManyAndReturn + */ +export type ProjectUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * The data used to update Projects. + */ + data: Prisma.XOR + /** + * 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 | null +} + +/** + * Project upsert + */ +export type ProjectUpsertArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * The filter to search for the Project to update in case it exists. + */ + where: Prisma.ProjectWhereUniqueInput + /** + * In case the Project found by the `where` argument doesn't exist, create a new Project with this data. + */ + create: Prisma.XOR + /** + * In case the Project was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Project delete + */ +export type ProjectDeleteArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + /** + * Filter which Project to delete. + */ + where: Prisma.ProjectWhereUniqueInput +} + +/** + * Project deleteMany + */ +export type ProjectDeleteManyArgs = { + /** + * Filter which Projects to delete + */ + where?: Prisma.ProjectWhereInput + /** + * Limit how many Projects to delete. + */ + limit?: number +} + +/** + * Project.members + */ +export type Project$membersArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + where?: Prisma.ProjectMemberWhereInput + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + cursor?: Prisma.ProjectMemberWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ProjectMemberScalarFieldEnum | Prisma.ProjectMemberScalarFieldEnum[] +} + +/** + * Project.columns + */ +export type Project$columnsArgs = { + /** + * Select specific fields to fetch from the BoardColumn + */ + select?: Prisma.BoardColumnSelect | null + /** + * Omit specific fields from the BoardColumn + */ + omit?: Prisma.BoardColumnOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.BoardColumnInclude | null + where?: Prisma.BoardColumnWhereInput + orderBy?: Prisma.BoardColumnOrderByWithRelationInput | Prisma.BoardColumnOrderByWithRelationInput[] + cursor?: Prisma.BoardColumnWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.BoardColumnScalarFieldEnum | Prisma.BoardColumnScalarFieldEnum[] +} + +/** + * Project.tasks + */ +export type Project$tasksArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + cursor?: Prisma.TaskWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * Project without action + */ +export type ProjectDefaultArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null +} diff --git a/generated/prisma/models/ProjectMember.ts b/generated/prisma/models/ProjectMember.ts new file mode 100644 index 0000000..5717146 --- /dev/null +++ b/generated/prisma/models/ProjectMember.ts @@ -0,0 +1,1561 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `ProjectMember` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model ProjectMember + * + */ +export type ProjectMemberModel = runtime.Types.Result.DefaultSelection + +export type AggregateProjectMember = { + _count: ProjectMemberCountAggregateOutputType | null + _avg: ProjectMemberAvgAggregateOutputType | null + _sum: ProjectMemberSumAggregateOutputType | null + _min: ProjectMemberMinAggregateOutputType | null + _max: ProjectMemberMaxAggregateOutputType | null +} + +export type ProjectMemberAvgAggregateOutputType = { + id: number | null + projectId: number | null + userId: number | null +} + +export type ProjectMemberSumAggregateOutputType = { + id: number | null + projectId: number | null + userId: number | null +} + +export type ProjectMemberMinAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + userId: number | null + permission: string | null + createdAt: Date | null +} + +export type ProjectMemberMaxAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + userId: number | null + permission: string | null + createdAt: Date | null +} + +export type ProjectMemberCountAggregateOutputType = { + id: number + uuid: number + projectId: number + userId: number + permission: number + createdAt: number + _all: number +} + + +export type ProjectMemberAvgAggregateInputType = { + id?: true + projectId?: true + userId?: true +} + +export type ProjectMemberSumAggregateInputType = { + id?: true + projectId?: true + userId?: true +} + +export type ProjectMemberMinAggregateInputType = { + id?: true + uuid?: true + projectId?: true + userId?: true + permission?: true + createdAt?: true +} + +export type ProjectMemberMaxAggregateInputType = { + id?: true + uuid?: true + projectId?: true + userId?: true + permission?: true + createdAt?: true +} + +export type ProjectMemberCountAggregateInputType = { + id?: true + uuid?: true + projectId?: true + userId?: true + permission?: true + createdAt?: true + _all?: true +} + +export type ProjectMemberAggregateArgs = { + /** + * Filter which ProjectMember to aggregate. + */ + where?: Prisma.ProjectMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProjectMembers to fetch. + */ + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.ProjectMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProjectMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ProjectMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned ProjectMembers + **/ + _count?: true | ProjectMemberCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ProjectMemberAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ProjectMemberSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ProjectMemberMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ProjectMemberMaxAggregateInputType +} + +export type GetProjectMemberAggregateType = { + [P in keyof T & keyof AggregateProjectMember]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type ProjectMemberGroupByArgs = { + where?: Prisma.ProjectMemberWhereInput + orderBy?: Prisma.ProjectMemberOrderByWithAggregationInput | Prisma.ProjectMemberOrderByWithAggregationInput[] + by: Prisma.ProjectMemberScalarFieldEnum[] | Prisma.ProjectMemberScalarFieldEnum + having?: Prisma.ProjectMemberScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ProjectMemberCountAggregateInputType | true + _avg?: ProjectMemberAvgAggregateInputType + _sum?: ProjectMemberSumAggregateInputType + _min?: ProjectMemberMinAggregateInputType + _max?: ProjectMemberMaxAggregateInputType +} + +export type ProjectMemberGroupByOutputType = { + id: number + uuid: string + projectId: number + userId: number + permission: string + createdAt: Date + _count: ProjectMemberCountAggregateOutputType | null + _avg: ProjectMemberAvgAggregateOutputType | null + _sum: ProjectMemberSumAggregateOutputType | null + _min: ProjectMemberMinAggregateOutputType | null + _max: ProjectMemberMaxAggregateOutputType | null +} + +export type GetProjectMemberGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof ProjectMemberGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type ProjectMemberWhereInput = { + AND?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[] + OR?: Prisma.ProjectMemberWhereInput[] + NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[] + id?: Prisma.IntFilter<"ProjectMember"> | number + uuid?: Prisma.StringFilter<"ProjectMember"> | string + projectId?: Prisma.IntFilter<"ProjectMember"> | number + userId?: Prisma.IntFilter<"ProjectMember"> | number + permission?: Prisma.StringFilter<"ProjectMember"> | string + createdAt?: Prisma.DateTimeFilter<"ProjectMember"> | Date | string + project?: Prisma.XOR + user?: Prisma.XOR +} + +export type ProjectMemberOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder + permission?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + project?: Prisma.ProjectOrderByWithRelationInput + user?: Prisma.UserOrderByWithRelationInput +} + +export type ProjectMemberWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + projectId_userId?: Prisma.ProjectMemberProjectIdUserIdCompoundUniqueInput + AND?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[] + OR?: Prisma.ProjectMemberWhereInput[] + NOT?: Prisma.ProjectMemberWhereInput | Prisma.ProjectMemberWhereInput[] + projectId?: Prisma.IntFilter<"ProjectMember"> | number + userId?: Prisma.IntFilter<"ProjectMember"> | number + permission?: Prisma.StringFilter<"ProjectMember"> | string + createdAt?: Prisma.DateTimeFilter<"ProjectMember"> | Date | string + project?: Prisma.XOR + user?: Prisma.XOR +}, "id" | "uuid" | "projectId_userId"> + +export type ProjectMemberOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder + permission?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + _count?: Prisma.ProjectMemberCountOrderByAggregateInput + _avg?: Prisma.ProjectMemberAvgOrderByAggregateInput + _max?: Prisma.ProjectMemberMaxOrderByAggregateInput + _min?: Prisma.ProjectMemberMinOrderByAggregateInput + _sum?: Prisma.ProjectMemberSumOrderByAggregateInput +} + +export type ProjectMemberScalarWhereWithAggregatesInput = { + AND?: Prisma.ProjectMemberScalarWhereWithAggregatesInput | Prisma.ProjectMemberScalarWhereWithAggregatesInput[] + OR?: Prisma.ProjectMemberScalarWhereWithAggregatesInput[] + NOT?: Prisma.ProjectMemberScalarWhereWithAggregatesInput | Prisma.ProjectMemberScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number + uuid?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string + projectId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number + userId?: Prisma.IntWithAggregatesFilter<"ProjectMember"> | number + permission?: Prisma.StringWithAggregatesFilter<"ProjectMember"> | string + createdAt?: Prisma.DateTimeWithAggregatesFilter<"ProjectMember"> | Date | string +} + +export type ProjectMemberCreateInput = { + uuid: string + permission?: string + createdAt?: Date | string + project: Prisma.ProjectCreateNestedOneWithoutMembersInput + user: Prisma.UserCreateNestedOneWithoutProjectMembersInput +} + +export type ProjectMemberUncheckedCreateInput = { + id?: number + uuid: string + projectId: number + userId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput + user?: Prisma.UserUpdateOneRequiredWithoutProjectMembersNestedInput +} + +export type ProjectMemberUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + userId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberCreateManyInput = { + id?: number + uuid: string + projectId: number + userId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + userId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberListRelationFilter = { + every?: Prisma.ProjectMemberWhereInput + some?: Prisma.ProjectMemberWhereInput + none?: Prisma.ProjectMemberWhereInput +} + +export type ProjectMemberOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type ProjectMemberProjectIdUserIdCompoundUniqueInput = { + projectId: number + userId: number +} + +export type ProjectMemberCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder + permission?: Prisma.SortOrder + createdAt?: Prisma.SortOrder +} + +export type ProjectMemberAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type ProjectMemberMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder + permission?: Prisma.SortOrder + createdAt?: Prisma.SortOrder +} + +export type ProjectMemberMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder + permission?: Prisma.SortOrder + createdAt?: Prisma.SortOrder +} + +export type ProjectMemberSumOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type ProjectMemberCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutUserInput[] | Prisma.ProjectMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutUserInput | Prisma.ProjectMemberCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ProjectMemberCreateManyUserInputEnvelope + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] +} + +export type ProjectMemberUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutUserInput[] | Prisma.ProjectMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutUserInput | Prisma.ProjectMemberCreateOrConnectWithoutUserInput[] + createMany?: Prisma.ProjectMemberCreateManyUserInputEnvelope + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] +} + +export type ProjectMemberUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutUserInput[] | Prisma.ProjectMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutUserInput | Prisma.ProjectMemberCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ProjectMemberUpsertWithWhereUniqueWithoutUserInput | Prisma.ProjectMemberUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ProjectMemberCreateManyUserInputEnvelope + set?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + disconnect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + delete?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + update?: Prisma.ProjectMemberUpdateWithWhereUniqueWithoutUserInput | Prisma.ProjectMemberUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ProjectMemberUpdateManyWithWhereWithoutUserInput | Prisma.ProjectMemberUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] +} + +export type ProjectMemberUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutUserInput[] | Prisma.ProjectMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutUserInput | Prisma.ProjectMemberCreateOrConnectWithoutUserInput[] + upsert?: Prisma.ProjectMemberUpsertWithWhereUniqueWithoutUserInput | Prisma.ProjectMemberUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.ProjectMemberCreateManyUserInputEnvelope + set?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + disconnect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + delete?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + update?: Prisma.ProjectMemberUpdateWithWhereUniqueWithoutUserInput | Prisma.ProjectMemberUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.ProjectMemberUpdateManyWithWhereWithoutUserInput | Prisma.ProjectMemberUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] +} + +export type ProjectMemberCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutProjectInput[] | Prisma.ProjectMemberUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutProjectInput | Prisma.ProjectMemberCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.ProjectMemberCreateManyProjectInputEnvelope + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] +} + +export type ProjectMemberUncheckedCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutProjectInput[] | Prisma.ProjectMemberUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutProjectInput | Prisma.ProjectMemberCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.ProjectMemberCreateManyProjectInputEnvelope + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] +} + +export type ProjectMemberUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutProjectInput[] | Prisma.ProjectMemberUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutProjectInput | Prisma.ProjectMemberCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.ProjectMemberUpsertWithWhereUniqueWithoutProjectInput | Prisma.ProjectMemberUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.ProjectMemberCreateManyProjectInputEnvelope + set?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + disconnect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + delete?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + update?: Prisma.ProjectMemberUpdateWithWhereUniqueWithoutProjectInput | Prisma.ProjectMemberUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.ProjectMemberUpdateManyWithWhereWithoutProjectInput | Prisma.ProjectMemberUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] +} + +export type ProjectMemberUncheckedUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.ProjectMemberCreateWithoutProjectInput[] | Prisma.ProjectMemberUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.ProjectMemberCreateOrConnectWithoutProjectInput | Prisma.ProjectMemberCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.ProjectMemberUpsertWithWhereUniqueWithoutProjectInput | Prisma.ProjectMemberUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.ProjectMemberCreateManyProjectInputEnvelope + set?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + disconnect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + delete?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + connect?: Prisma.ProjectMemberWhereUniqueInput | Prisma.ProjectMemberWhereUniqueInput[] + update?: Prisma.ProjectMemberUpdateWithWhereUniqueWithoutProjectInput | Prisma.ProjectMemberUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.ProjectMemberUpdateManyWithWhereWithoutProjectInput | Prisma.ProjectMemberUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] +} + +export type ProjectMemberCreateWithoutUserInput = { + uuid: string + permission?: string + createdAt?: Date | string + project: Prisma.ProjectCreateNestedOneWithoutMembersInput +} + +export type ProjectMemberUncheckedCreateWithoutUserInput = { + id?: number + uuid: string + projectId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberCreateOrConnectWithoutUserInput = { + where: Prisma.ProjectMemberWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectMemberCreateManyUserInputEnvelope = { + data: Prisma.ProjectMemberCreateManyUserInput | Prisma.ProjectMemberCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type ProjectMemberUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.ProjectMemberWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ProjectMemberUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.ProjectMemberWhereUniqueInput + data: Prisma.XOR +} + +export type ProjectMemberUpdateManyWithWhereWithoutUserInput = { + where: Prisma.ProjectMemberScalarWhereInput + data: Prisma.XOR +} + +export type ProjectMemberScalarWhereInput = { + AND?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] + OR?: Prisma.ProjectMemberScalarWhereInput[] + NOT?: Prisma.ProjectMemberScalarWhereInput | Prisma.ProjectMemberScalarWhereInput[] + id?: Prisma.IntFilter<"ProjectMember"> | number + uuid?: Prisma.StringFilter<"ProjectMember"> | string + projectId?: Prisma.IntFilter<"ProjectMember"> | number + userId?: Prisma.IntFilter<"ProjectMember"> | number + permission?: Prisma.StringFilter<"ProjectMember"> | string + createdAt?: Prisma.DateTimeFilter<"ProjectMember"> | Date | string +} + +export type ProjectMemberCreateWithoutProjectInput = { + uuid: string + permission?: string + createdAt?: Date | string + user: Prisma.UserCreateNestedOneWithoutProjectMembersInput +} + +export type ProjectMemberUncheckedCreateWithoutProjectInput = { + id?: number + uuid: string + userId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberCreateOrConnectWithoutProjectInput = { + where: Prisma.ProjectMemberWhereUniqueInput + create: Prisma.XOR +} + +export type ProjectMemberCreateManyProjectInputEnvelope = { + data: Prisma.ProjectMemberCreateManyProjectInput | Prisma.ProjectMemberCreateManyProjectInput[] + skipDuplicates?: boolean +} + +export type ProjectMemberUpsertWithWhereUniqueWithoutProjectInput = { + where: Prisma.ProjectMemberWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type ProjectMemberUpdateWithWhereUniqueWithoutProjectInput = { + where: Prisma.ProjectMemberWhereUniqueInput + data: Prisma.XOR +} + +export type ProjectMemberUpdateManyWithWhereWithoutProjectInput = { + where: Prisma.ProjectMemberScalarWhereInput + data: Prisma.XOR +} + +export type ProjectMemberCreateManyUserInput = { + id?: number + uuid: string + projectId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberUpdateWithoutUserInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + project?: Prisma.ProjectUpdateOneRequiredWithoutMembersNestedInput +} + +export type ProjectMemberUncheckedUpdateWithoutUserInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberCreateManyProjectInput = { + id?: number + uuid: string + userId: number + permission?: string + createdAt?: Date | string +} + +export type ProjectMemberUpdateWithoutProjectInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + user?: Prisma.UserUpdateOneRequiredWithoutProjectMembersNestedInput +} + +export type ProjectMemberUncheckedUpdateWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + +export type ProjectMemberUncheckedUpdateManyWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.IntFieldUpdateOperationsInput | number + permission?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string +} + + + +export type ProjectMemberSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + userId?: boolean + permission?: boolean + createdAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["projectMember"]> + +export type ProjectMemberSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + userId?: boolean + permission?: boolean + createdAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["projectMember"]> + +export type ProjectMemberSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + userId?: boolean + permission?: boolean + createdAt?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["projectMember"]> + +export type ProjectMemberSelectScalar = { + id?: boolean + uuid?: boolean + projectId?: boolean + userId?: boolean + permission?: boolean + createdAt?: boolean +} + +export type ProjectMemberOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectId" | "userId" | "permission" | "createdAt", ExtArgs["result"]["projectMember"]> +export type ProjectMemberInclude = { + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type ProjectMemberIncludeCreateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type ProjectMemberIncludeUpdateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} + +export type $ProjectMemberPayload = { + name: "ProjectMember" + objects: { + project: Prisma.$ProjectPayload + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + projectId: number + userId: number + permission: string + createdAt: Date + }, ExtArgs["result"]["projectMember"]> + composites: {} +} + +export type ProjectMemberGetPayload = runtime.Types.Result.GetResult + +export type ProjectMemberCountArgs = + Omit & { + select?: ProjectMemberCountAggregateInputType | true + } + +export interface ProjectMemberDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['ProjectMember'], meta: { name: 'ProjectMember' } } + /** + * Find zero or one ProjectMember that matches the filter. + * @param {ProjectMemberFindUniqueArgs} args - Arguments to find a ProjectMember + * @example + * // Get one ProjectMember + * const projectMember = await prisma.projectMember.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one ProjectMember that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ProjectMemberFindUniqueOrThrowArgs} args - Arguments to find a ProjectMember + * @example + * // Get one ProjectMember + * const projectMember = await prisma.projectMember.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ProjectMember that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberFindFirstArgs} args - Arguments to find a ProjectMember + * @example + * // Get one ProjectMember + * const projectMember = await prisma.projectMember.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ProjectMember that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberFindFirstOrThrowArgs} args - Arguments to find a ProjectMember + * @example + * // Get one ProjectMember + * const projectMember = await prisma.projectMember.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more ProjectMembers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all ProjectMembers + * const projectMembers = await prisma.projectMember.findMany() + * + * // Get first 10 ProjectMembers + * const projectMembers = await prisma.projectMember.findMany({ take: 10 }) + * + * // Only select the `id` + * const projectMemberWithIdOnly = await prisma.projectMember.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a ProjectMember. + * @param {ProjectMemberCreateArgs} args - Arguments to create a ProjectMember. + * @example + * // Create one ProjectMember + * const ProjectMember = await prisma.projectMember.create({ + * data: { + * // ... data to create a ProjectMember + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many ProjectMembers. + * @param {ProjectMemberCreateManyArgs} args - Arguments to create many ProjectMembers. + * @example + * // Create many ProjectMembers + * const projectMember = await prisma.projectMember.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a ProjectMember. + * @param {ProjectMemberDeleteArgs} args - Arguments to delete one ProjectMember. + * @example + * // Delete one ProjectMember + * const ProjectMember = await prisma.projectMember.delete({ + * where: { + * // ... filter to delete one ProjectMember + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one ProjectMember. + * @param {ProjectMemberUpdateArgs} args - Arguments to update one ProjectMember. + * @example + * // Update one ProjectMember + * const projectMember = await prisma.projectMember.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more ProjectMembers. + * @param {ProjectMemberDeleteManyArgs} args - Arguments to filter ProjectMembers to delete. + * @example + * // Delete a few ProjectMembers + * const { count } = await prisma.projectMember.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more ProjectMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many ProjectMembers + * const projectMember = await prisma.projectMember.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one ProjectMember. + * @param {ProjectMemberUpsertArgs} args - Arguments to update or create a ProjectMember. + * @example + * // Update or create a ProjectMember + * const projectMember = await prisma.projectMember.upsert({ + * create: { + * // ... data to create a ProjectMember + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the ProjectMember we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__ProjectMemberClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of ProjectMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberCountArgs} args - Arguments to filter ProjectMembers to count. + * @example + * // Count the number of ProjectMembers + * const count = await prisma.projectMember.count({ + * where: { + * // ... the filter for the ProjectMembers we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a ProjectMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by ProjectMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ProjectMemberGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ProjectMemberGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: ProjectMemberGroupByArgs['orderBy'] } + : { orderBy?: ProjectMemberGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetProjectMemberGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the ProjectMember model + */ +readonly fields: ProjectMemberFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for ProjectMember. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__ProjectMemberClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + project = {}>(args?: Prisma.Subset>): Prisma.Prisma__ProjectClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the ProjectMember model + */ +export interface ProjectMemberFieldRefs { + readonly id: Prisma.FieldRef<"ProjectMember", 'Int'> + readonly uuid: Prisma.FieldRef<"ProjectMember", 'String'> + readonly projectId: Prisma.FieldRef<"ProjectMember", 'Int'> + readonly userId: Prisma.FieldRef<"ProjectMember", 'Int'> + readonly permission: Prisma.FieldRef<"ProjectMember", 'String'> + readonly createdAt: Prisma.FieldRef<"ProjectMember", 'DateTime'> +} + + +// Custom InputTypes +/** + * ProjectMember findUnique + */ +export type ProjectMemberFindUniqueArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter, which ProjectMember to fetch. + */ + where: Prisma.ProjectMemberWhereUniqueInput +} + +/** + * ProjectMember findUniqueOrThrow + */ +export type ProjectMemberFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter, which ProjectMember to fetch. + */ + where: Prisma.ProjectMemberWhereUniqueInput +} + +/** + * ProjectMember findFirst + */ +export type ProjectMemberFindFirstArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter, which ProjectMember to fetch. + */ + where?: Prisma.ProjectMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProjectMembers to fetch. + */ + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ProjectMembers. + */ + cursor?: Prisma.ProjectMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProjectMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ProjectMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ProjectMembers. + */ + distinct?: Prisma.ProjectMemberScalarFieldEnum | Prisma.ProjectMemberScalarFieldEnum[] +} + +/** + * ProjectMember findFirstOrThrow + */ +export type ProjectMemberFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter, which ProjectMember to fetch. + */ + where?: Prisma.ProjectMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProjectMembers to fetch. + */ + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ProjectMembers. + */ + cursor?: Prisma.ProjectMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProjectMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ProjectMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ProjectMembers. + */ + distinct?: Prisma.ProjectMemberScalarFieldEnum | Prisma.ProjectMemberScalarFieldEnum[] +} + +/** + * ProjectMember findMany + */ +export type ProjectMemberFindManyArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter, which ProjectMembers to fetch. + */ + where?: Prisma.ProjectMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ProjectMembers to fetch. + */ + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing ProjectMembers. + */ + cursor?: Prisma.ProjectMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ProjectMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ProjectMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ProjectMembers. + */ + distinct?: Prisma.ProjectMemberScalarFieldEnum | Prisma.ProjectMemberScalarFieldEnum[] +} + +/** + * ProjectMember create + */ +export type ProjectMemberCreateArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * The data needed to create a ProjectMember. + */ + data: Prisma.XOR +} + +/** + * ProjectMember createMany + */ +export type ProjectMemberCreateManyArgs = { + /** + * The data used to create many ProjectMembers. + */ + data: Prisma.ProjectMemberCreateManyInput | Prisma.ProjectMemberCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * ProjectMember createManyAndReturn + */ +export type ProjectMemberCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | 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 | null +} + +/** + * ProjectMember update + */ +export type ProjectMemberUpdateArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * The data needed to update a ProjectMember. + */ + data: Prisma.XOR + /** + * Choose, which ProjectMember to update. + */ + where: Prisma.ProjectMemberWhereUniqueInput +} + +/** + * ProjectMember updateMany + */ +export type ProjectMemberUpdateManyArgs = { + /** + * The data used to update ProjectMembers. + */ + data: Prisma.XOR + /** + * Filter which ProjectMembers to update + */ + where?: Prisma.ProjectMemberWhereInput + /** + * Limit how many ProjectMembers to update. + */ + limit?: number +} + +/** + * ProjectMember updateManyAndReturn + */ +export type ProjectMemberUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * The data used to update ProjectMembers. + */ + data: Prisma.XOR + /** + * 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 | null +} + +/** + * ProjectMember upsert + */ +export type ProjectMemberUpsertArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * The filter to search for the ProjectMember to update in case it exists. + */ + where: Prisma.ProjectMemberWhereUniqueInput + /** + * In case the ProjectMember found by the `where` argument doesn't exist, create a new ProjectMember with this data. + */ + create: Prisma.XOR + /** + * In case the ProjectMember was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * ProjectMember delete + */ +export type ProjectMemberDeleteArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + /** + * Filter which ProjectMember to delete. + */ + where: Prisma.ProjectMemberWhereUniqueInput +} + +/** + * ProjectMember deleteMany + */ +export type ProjectMemberDeleteManyArgs = { + /** + * Filter which ProjectMembers to delete + */ + where?: Prisma.ProjectMemberWhereInput + /** + * Limit how many ProjectMembers to delete. + */ + limit?: number +} + +/** + * ProjectMember without action + */ +export type ProjectMemberDefaultArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null +} diff --git a/generated/prisma/models/ScraperCache.ts b/generated/prisma/models/ScraperCache.ts index 3affd10..6bf0eec 100644 --- a/generated/prisma/models/ScraperCache.ts +++ b/generated/prisma/models/ScraperCache.ts @@ -238,7 +238,6 @@ export type ScraperCacheOrderByWithRelationInput = { metadata?: Prisma.SortOrderInput | Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.ScraperCacheOrderByRelevanceInput } export type ScraperCacheWhereUniqueInput = Prisma.AtLeast<{ @@ -349,12 +348,6 @@ export type ScraperCacheUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type ScraperCacheOrderByRelevanceInput = { - fields: Prisma.ScraperCacheOrderByRelevanceFieldEnum | Prisma.ScraperCacheOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type ScraperCacheCountOrderByAggregateInput = { id?: Prisma.SortOrder scraperName?: Prisma.SortOrder @@ -403,7 +396,25 @@ export type ScraperCacheSelect +export type ScraperCacheSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + scraperName?: boolean + lastDataHash?: boolean + lastUpdateAt?: boolean + metadata?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["scraperCache"]> +export type ScraperCacheSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + scraperName?: boolean + lastDataHash?: boolean + lastUpdateAt?: boolean + metadata?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["scraperCache"]> export type ScraperCacheSelectScalar = { id?: boolean @@ -545,6 +556,30 @@ export interface ScraperCacheDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a ScraperCache. * @param {ScraperCacheDeleteArgs} args - Arguments to delete one ScraperCache. @@ -609,6 +644,36 @@ export interface ScraperCacheDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one ScraperCache. * @param {ScraperCacheUpsertArgs} args - Arguments to update or create a ScraperCache. @@ -1017,6 +1082,25 @@ export type ScraperCacheCreateManyArgs = { + /** + * Select specific fields to fetch from the ScraperCache + */ + select?: Prisma.ScraperCacheSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ScraperCache + */ + omit?: Prisma.ScraperCacheOmit | null + /** + * The data used to create many ScraperCaches. + */ + data: Prisma.ScraperCacheCreateManyInput | Prisma.ScraperCacheCreateManyInput[] + skipDuplicates?: boolean +} + /** * ScraperCache update */ @@ -1057,6 +1141,32 @@ export type ScraperCacheUpdateManyArgs = { + /** + * Select specific fields to fetch from the ScraperCache + */ + select?: Prisma.ScraperCacheSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ScraperCache + */ + omit?: Prisma.ScraperCacheOmit | null + /** + * The data used to update ScraperCaches. + */ + data: Prisma.XOR + /** + * Filter which ScraperCaches to update + */ + where?: Prisma.ScraperCacheWhereInput + /** + * Limit how many ScraperCaches to update. + */ + limit?: number +} + /** * ScraperCache upsert */ diff --git a/generated/prisma/models/ServerNode.ts b/generated/prisma/models/ServerNode.ts index 78ad387..65e59e5 100644 --- a/generated/prisma/models/ServerNode.ts +++ b/generated/prisma/models/ServerNode.ts @@ -464,7 +464,6 @@ export type ServerNodeOrderByWithRelationInput = { recordedAt?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.ServerNodeOrderByRelevanceInput } export type ServerNodeWhereUniqueInput = Prisma.AtLeast<{ @@ -755,12 +754,6 @@ export type ServerNodeUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type ServerNodeOrderByRelevanceInput = { - fields: Prisma.ServerNodeOrderByRelevanceFieldEnum | Prisma.ServerNodeOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type ServerNodeCountOrderByAggregateInput = { id?: Prisma.SortOrder uuid?: Prisma.SortOrder @@ -921,7 +914,61 @@ export type ServerNodeSelect +export type ServerNodeSelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -1099,6 +1146,30 @@ export interface ServerNodeDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a ServerNode. * @param {ServerNodeDeleteArgs} args - Arguments to delete one ServerNode. @@ -1163,6 +1234,36 @@ export interface ServerNodeDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one ServerNode. * @param {ServerNodeUpsertArgs} args - Arguments to update or create a ServerNode. @@ -1589,6 +1690,25 @@ export type ServerNodeCreateManyArgs = { + /** + * Select specific fields to fetch from the ServerNode + */ + select?: Prisma.ServerNodeSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ServerNode + */ + omit?: Prisma.ServerNodeOmit | null + /** + * The data used to create many ServerNodes. + */ + data: Prisma.ServerNodeCreateManyInput | Prisma.ServerNodeCreateManyInput[] + skipDuplicates?: boolean +} + /** * ServerNode update */ @@ -1629,6 +1749,32 @@ export type ServerNodeUpdateManyArgs = { + /** + * Select specific fields to fetch from the ServerNode + */ + select?: Prisma.ServerNodeSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ServerNode + */ + omit?: Prisma.ServerNodeOmit | null + /** + * The data used to update ServerNodes. + */ + data: Prisma.XOR + /** + * Filter which ServerNodes to update + */ + where?: Prisma.ServerNodeWhereInput + /** + * Limit how many ServerNodes to update. + */ + limit?: number +} + /** * ServerNode upsert */ diff --git a/generated/prisma/models/ServerNodeHistory.ts b/generated/prisma/models/ServerNodeHistory.ts index 23cb1dc..433dd75 100644 --- a/generated/prisma/models/ServerNodeHistory.ts +++ b/generated/prisma/models/ServerNodeHistory.ts @@ -319,7 +319,6 @@ export type ServerNodeHistoryOrderByWithRelationInput = { process?: Prisma.SortOrder connections?: Prisma.SortOrder createdAt?: Prisma.SortOrder - _relevance?: Prisma.ServerNodeHistoryOrderByRelevanceInput } export type ServerNodeHistoryWhereUniqueInput = Prisma.AtLeast<{ @@ -481,12 +480,6 @@ export type ServerNodeHistoryUncheckedUpdateManyInput = { createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type ServerNodeHistoryOrderByRelevanceInput = { - fields: Prisma.ServerNodeHistoryOrderByRelevanceFieldEnum | Prisma.ServerNodeHistoryOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type ServerNodeHistoryUuidPeriodCompoundUniqueInput = { uuid: string period: Date | string @@ -578,7 +571,35 @@ export type ServerNodeHistorySelect +export type ServerNodeHistorySelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -730,6 +751,30 @@ export interface ServerNodeHistoryDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a ServerNodeHistory. * @param {ServerNodeHistoryDeleteArgs} args - Arguments to delete one ServerNodeHistory. @@ -794,6 +839,36 @@ export interface ServerNodeHistoryDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one ServerNodeHistory. * @param {ServerNodeHistoryUpsertArgs} args - Arguments to update or create a ServerNodeHistory. @@ -1207,6 +1282,25 @@ export type ServerNodeHistoryCreateManyArgs = { + /** + * Select specific fields to fetch from the ServerNodeHistory + */ + select?: Prisma.ServerNodeHistorySelectCreateManyAndReturn | null + /** + * Omit specific fields from the ServerNodeHistory + */ + omit?: Prisma.ServerNodeHistoryOmit | null + /** + * The data used to create many ServerNodeHistories. + */ + data: Prisma.ServerNodeHistoryCreateManyInput | Prisma.ServerNodeHistoryCreateManyInput[] + skipDuplicates?: boolean +} + /** * ServerNodeHistory update */ @@ -1247,6 +1341,32 @@ export type ServerNodeHistoryUpdateManyArgs = { + /** + * Select specific fields to fetch from the ServerNodeHistory + */ + select?: Prisma.ServerNodeHistorySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ServerNodeHistory + */ + omit?: Prisma.ServerNodeHistoryOmit | null + /** + * The data used to update ServerNodeHistories. + */ + data: Prisma.XOR + /** + * Filter which ServerNodeHistories to update + */ + where?: Prisma.ServerNodeHistoryWhereInput + /** + * Limit how many ServerNodeHistories to update. + */ + limit?: number +} + /** * ServerNodeHistory upsert */ diff --git a/generated/prisma/models/ServiceCheck.ts b/generated/prisma/models/ServiceCheck.ts index 2dcc2eb..9723311 100644 --- a/generated/prisma/models/ServiceCheck.ts +++ b/generated/prisma/models/ServiceCheck.ts @@ -264,7 +264,6 @@ export type ServiceCheckOrderByWithRelationInput = { lastCheckAt?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.ServiceCheckOrderByRelevanceInput } export type ServiceCheckWhereUniqueInput = Prisma.AtLeast<{ @@ -395,12 +394,6 @@ export type ServiceCheckUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type ServiceCheckOrderByRelevanceInput = { - fields: Prisma.ServiceCheckOrderByRelevanceFieldEnum | Prisma.ServiceCheckOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type ServiceCheckCountOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder @@ -461,7 +454,29 @@ export type ServiceCheckSelect +export type ServiceCheckSelectCreateManyAndReturn = 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 = 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 = { id?: boolean @@ -607,6 +622,30 @@ export interface ServiceCheckDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a ServiceCheck. * @param {ServiceCheckDeleteArgs} args - Arguments to delete one ServiceCheck. @@ -671,6 +710,36 @@ export interface ServiceCheckDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one ServiceCheck. * @param {ServiceCheckUpsertArgs} args - Arguments to update or create a ServiceCheck. @@ -1081,6 +1150,25 @@ export type ServiceCheckCreateManyArgs = { + /** + * Select specific fields to fetch from the ServiceCheck + */ + select?: Prisma.ServiceCheckSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ServiceCheck + */ + omit?: Prisma.ServiceCheckOmit | null + /** + * The data used to create many ServiceChecks. + */ + data: Prisma.ServiceCheckCreateManyInput | Prisma.ServiceCheckCreateManyInput[] + skipDuplicates?: boolean +} + /** * ServiceCheck update */ @@ -1121,6 +1209,32 @@ export type ServiceCheckUpdateManyArgs = { + /** + * Select specific fields to fetch from the ServiceCheck + */ + select?: Prisma.ServiceCheckSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ServiceCheck + */ + omit?: Prisma.ServiceCheckOmit | null + /** + * The data used to update ServiceChecks. + */ + data: Prisma.XOR + /** + * Filter which ServiceChecks to update + */ + where?: Prisma.ServiceCheckWhereInput + /** + * Limit how many ServiceChecks to update. + */ + limit?: number +} + /** * ServiceCheck upsert */ diff --git a/generated/prisma/models/Strategy.ts b/generated/prisma/models/Strategy.ts index b08f5ab..36383c5 100644 --- a/generated/prisma/models/Strategy.ts +++ b/generated/prisma/models/Strategy.ts @@ -229,7 +229,6 @@ export type StrategyOrderByWithRelationInput = { data?: Prisma.SortOrder createdAt?: Prisma.SortOrder updatedAt?: Prisma.SortOrder - _relevance?: Prisma.StrategyOrderByRelevanceInput } export type StrategyWhereUniqueInput = Prisma.AtLeast<{ @@ -330,12 +329,6 @@ export type StrategyUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type StrategyOrderByRelevanceInput = { - fields: Prisma.StrategyOrderByRelevanceFieldEnum | Prisma.StrategyOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type StrategyCountOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder @@ -380,7 +373,23 @@ export type StrategySelect +export type StrategySelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + data?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["strategy"]> +export type StrategySelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + description?: boolean + data?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["strategy"]> export type StrategySelectScalar = { id?: boolean @@ -520,6 +529,30 @@ export interface StrategyDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a Strategy. * @param {StrategyDeleteArgs} args - Arguments to delete one Strategy. @@ -584,6 +617,36 @@ export interface StrategyDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one Strategy. * @param {StrategyUpsertArgs} args - Arguments to update or create a Strategy. @@ -991,6 +1054,25 @@ export type StrategyCreateManyArgs = { + /** + * Select specific fields to fetch from the Strategy + */ + select?: Prisma.StrategySelectCreateManyAndReturn | null + /** + * Omit specific fields from the Strategy + */ + omit?: Prisma.StrategyOmit | null + /** + * The data used to create many Strategies. + */ + data: Prisma.StrategyCreateManyInput | Prisma.StrategyCreateManyInput[] + skipDuplicates?: boolean +} + /** * Strategy update */ @@ -1031,6 +1113,32 @@ export type StrategyUpdateManyArgs = { + /** + * Select specific fields to fetch from the Strategy + */ + select?: Prisma.StrategySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Strategy + */ + omit?: Prisma.StrategyOmit | null + /** + * The data used to update Strategies. + */ + data: Prisma.XOR + /** + * Filter which Strategies to update + */ + where?: Prisma.StrategyWhereInput + /** + * Limit how many Strategies to update. + */ + limit?: number +} + /** * Strategy upsert */ diff --git a/generated/prisma/models/Task.ts b/generated/prisma/models/Task.ts new file mode 100644 index 0000000..ebea5ea --- /dev/null +++ b/generated/prisma/models/Task.ts @@ -0,0 +1,3289 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `Task` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model Task + * + */ +export type TaskModel = runtime.Types.Result.DefaultSelection + +export type AggregateTask = { + _count: TaskCountAggregateOutputType | null + _avg: TaskAvgAggregateOutputType | null + _sum: TaskSumAggregateOutputType | null + _min: TaskMinAggregateOutputType | null + _max: TaskMaxAggregateOutputType | null +} + +export type TaskAvgAggregateOutputType = { + id: number | null + projectId: number | null + columnId: number | null + parentId: number | null + assigneeId: number | null + creatorId: number | null + sortOrder: number | null + number: number | null +} + +export type TaskSumAggregateOutputType = { + id: number | null + projectId: number | null + columnId: number | null + parentId: number | null + assigneeId: number | null + creatorId: number | null + sortOrder: number | null + number: number | null +} + +export type TaskMinAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + columnId: number | null + parentId: number | null + title: string | null + description: string | null + kind: string | null + markDate: Date | null + status: string | null + doneAt: Date | null + assigneeId: number | null + creatorId: number | null + sortOrder: number | null + createdAt: Date | null + updatedAt: Date | null + number: number | null +} + +export type TaskMaxAggregateOutputType = { + id: number | null + uuid: string | null + projectId: number | null + columnId: number | null + parentId: number | null + title: string | null + description: string | null + kind: string | null + markDate: Date | null + status: string | null + doneAt: Date | null + assigneeId: number | null + creatorId: number | null + sortOrder: number | null + createdAt: Date | null + updatedAt: Date | null + number: number | null +} + +export type TaskCountAggregateOutputType = { + id: number + uuid: number + projectId: number + columnId: number + parentId: number + title: number + description: number + kind: number + markDate: number + status: number + doneAt: number + assigneeId: number + creatorId: number + extras: number + sortOrder: number + createdAt: number + updatedAt: number + number: number + _all: number +} + + +export type TaskAvgAggregateInputType = { + id?: true + projectId?: true + columnId?: true + parentId?: true + assigneeId?: true + creatorId?: true + sortOrder?: true + number?: true +} + +export type TaskSumAggregateInputType = { + id?: true + projectId?: true + columnId?: true + parentId?: true + assigneeId?: true + creatorId?: true + sortOrder?: true + number?: true +} + +export type TaskMinAggregateInputType = { + id?: true + uuid?: true + projectId?: true + columnId?: true + parentId?: true + title?: true + description?: true + kind?: true + markDate?: true + status?: true + doneAt?: true + assigneeId?: true + creatorId?: true + sortOrder?: true + createdAt?: true + updatedAt?: true + number?: true +} + +export type TaskMaxAggregateInputType = { + id?: true + uuid?: true + projectId?: true + columnId?: true + parentId?: true + title?: true + description?: true + kind?: true + markDate?: true + status?: true + doneAt?: true + assigneeId?: true + creatorId?: true + sortOrder?: true + createdAt?: true + updatedAt?: true + number?: true +} + +export type TaskCountAggregateInputType = { + id?: true + uuid?: true + projectId?: true + columnId?: true + parentId?: true + title?: true + description?: true + kind?: true + markDate?: true + status?: true + doneAt?: true + assigneeId?: true + creatorId?: true + extras?: true + sortOrder?: true + createdAt?: true + updatedAt?: true + number?: true + _all?: true +} + +export type TaskAggregateArgs = { + /** + * Filter which Task to aggregate. + */ + where?: Prisma.TaskWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tasks to fetch. + */ + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TaskWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tasks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Tasks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Tasks + **/ + _count?: true | TaskCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: TaskAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: TaskSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TaskMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TaskMaxAggregateInputType +} + +export type GetTaskAggregateType = { + [P in keyof T & keyof AggregateTask]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TaskGroupByArgs = { + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithAggregationInput | Prisma.TaskOrderByWithAggregationInput[] + by: Prisma.TaskScalarFieldEnum[] | Prisma.TaskScalarFieldEnum + having?: Prisma.TaskScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TaskCountAggregateInputType | true + _avg?: TaskAvgAggregateInputType + _sum?: TaskSumAggregateInputType + _min?: TaskMinAggregateInputType + _max?: TaskMaxAggregateInputType +} + +export type TaskGroupByOutputType = { + id: number + uuid: string + projectId: number + columnId: number + parentId: number | null + title: string + description: string + kind: string | null + markDate: Date | null + status: string + doneAt: Date | null + assigneeId: number | null + creatorId: number + extras: runtime.JsonValue + sortOrder: number + createdAt: Date + updatedAt: Date + number: number | null + _count: TaskCountAggregateOutputType | null + _avg: TaskAvgAggregateOutputType | null + _sum: TaskSumAggregateOutputType | null + _min: TaskMinAggregateOutputType | null + _max: TaskMaxAggregateOutputType | null +} + +export type GetTaskGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TaskGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TaskWhereInput = { + AND?: Prisma.TaskWhereInput | Prisma.TaskWhereInput[] + OR?: Prisma.TaskWhereInput[] + NOT?: Prisma.TaskWhereInput | Prisma.TaskWhereInput[] + id?: Prisma.IntFilter<"Task"> | number + uuid?: Prisma.StringFilter<"Task"> | string + projectId?: Prisma.IntFilter<"Task"> | number + columnId?: Prisma.IntFilter<"Task"> | number + parentId?: Prisma.IntNullableFilter<"Task"> | number | null + title?: Prisma.StringFilter<"Task"> | string + description?: Prisma.StringFilter<"Task"> | string + kind?: Prisma.StringNullableFilter<"Task"> | string | null + markDate?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + status?: Prisma.StringFilter<"Task"> | string + doneAt?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + assigneeId?: Prisma.IntNullableFilter<"Task"> | number | null + creatorId?: Prisma.IntFilter<"Task"> | number + extras?: Prisma.JsonFilter<"Task"> + sortOrder?: Prisma.IntFilter<"Task"> | number + createdAt?: Prisma.DateTimeFilter<"Task"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Task"> | Date | string + number?: Prisma.IntNullableFilter<"Task"> | number | null + project?: Prisma.XOR + column?: Prisma.XOR + parent?: Prisma.XOR | null + children?: Prisma.TaskListRelationFilter + assignee?: Prisma.XOR | null + creator?: Prisma.XOR + members?: Prisma.TaskMemberListRelationFilter + tags?: Prisma.TaskTagListRelationFilter +} + +export type TaskOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrderInput | Prisma.SortOrder + title?: Prisma.SortOrder + description?: Prisma.SortOrder + kind?: Prisma.SortOrderInput | Prisma.SortOrder + markDate?: Prisma.SortOrderInput | Prisma.SortOrder + status?: Prisma.SortOrder + doneAt?: Prisma.SortOrderInput | Prisma.SortOrder + assigneeId?: Prisma.SortOrderInput | Prisma.SortOrder + creatorId?: Prisma.SortOrder + extras?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + number?: Prisma.SortOrderInput | Prisma.SortOrder + project?: Prisma.ProjectOrderByWithRelationInput + column?: Prisma.BoardColumnOrderByWithRelationInput + parent?: Prisma.TaskOrderByWithRelationInput + children?: Prisma.TaskOrderByRelationAggregateInput + assignee?: Prisma.UserOrderByWithRelationInput + creator?: Prisma.UserOrderByWithRelationInput + members?: Prisma.TaskMemberOrderByRelationAggregateInput + tags?: Prisma.TaskTagOrderByRelationAggregateInput +} + +export type TaskWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + projectId_number?: Prisma.TaskProjectIdNumberCompoundUniqueInput + AND?: Prisma.TaskWhereInput | Prisma.TaskWhereInput[] + OR?: Prisma.TaskWhereInput[] + NOT?: Prisma.TaskWhereInput | Prisma.TaskWhereInput[] + projectId?: Prisma.IntFilter<"Task"> | number + columnId?: Prisma.IntFilter<"Task"> | number + parentId?: Prisma.IntNullableFilter<"Task"> | number | null + title?: Prisma.StringFilter<"Task"> | string + description?: Prisma.StringFilter<"Task"> | string + kind?: Prisma.StringNullableFilter<"Task"> | string | null + markDate?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + status?: Prisma.StringFilter<"Task"> | string + doneAt?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + assigneeId?: Prisma.IntNullableFilter<"Task"> | number | null + creatorId?: Prisma.IntFilter<"Task"> | number + extras?: Prisma.JsonFilter<"Task"> + sortOrder?: Prisma.IntFilter<"Task"> | number + createdAt?: Prisma.DateTimeFilter<"Task"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Task"> | Date | string + number?: Prisma.IntNullableFilter<"Task"> | number | null + project?: Prisma.XOR + column?: Prisma.XOR + parent?: Prisma.XOR | null + children?: Prisma.TaskListRelationFilter + assignee?: Prisma.XOR | null + creator?: Prisma.XOR + members?: Prisma.TaskMemberListRelationFilter + tags?: Prisma.TaskTagListRelationFilter +}, "id" | "uuid" | "projectId_number"> + +export type TaskOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrderInput | Prisma.SortOrder + title?: Prisma.SortOrder + description?: Prisma.SortOrder + kind?: Prisma.SortOrderInput | Prisma.SortOrder + markDate?: Prisma.SortOrderInput | Prisma.SortOrder + status?: Prisma.SortOrder + doneAt?: Prisma.SortOrderInput | Prisma.SortOrder + assigneeId?: Prisma.SortOrderInput | Prisma.SortOrder + creatorId?: Prisma.SortOrder + extras?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + number?: Prisma.SortOrderInput | Prisma.SortOrder + _count?: Prisma.TaskCountOrderByAggregateInput + _avg?: Prisma.TaskAvgOrderByAggregateInput + _max?: Prisma.TaskMaxOrderByAggregateInput + _min?: Prisma.TaskMinOrderByAggregateInput + _sum?: Prisma.TaskSumOrderByAggregateInput +} + +export type TaskScalarWhereWithAggregatesInput = { + AND?: Prisma.TaskScalarWhereWithAggregatesInput | Prisma.TaskScalarWhereWithAggregatesInput[] + OR?: Prisma.TaskScalarWhereWithAggregatesInput[] + NOT?: Prisma.TaskScalarWhereWithAggregatesInput | Prisma.TaskScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"Task"> | number + uuid?: Prisma.StringWithAggregatesFilter<"Task"> | string + projectId?: Prisma.IntWithAggregatesFilter<"Task"> | number + columnId?: Prisma.IntWithAggregatesFilter<"Task"> | number + parentId?: Prisma.IntNullableWithAggregatesFilter<"Task"> | number | null + title?: Prisma.StringWithAggregatesFilter<"Task"> | string + description?: Prisma.StringWithAggregatesFilter<"Task"> | string + kind?: Prisma.StringNullableWithAggregatesFilter<"Task"> | string | null + markDate?: Prisma.DateTimeNullableWithAggregatesFilter<"Task"> | Date | string | null + status?: Prisma.StringWithAggregatesFilter<"Task"> | string + doneAt?: Prisma.DateTimeNullableWithAggregatesFilter<"Task"> | Date | string | null + assigneeId?: Prisma.IntNullableWithAggregatesFilter<"Task"> | number | null + creatorId?: Prisma.IntWithAggregatesFilter<"Task"> | number + extras?: Prisma.JsonWithAggregatesFilter<"Task"> + sortOrder?: Prisma.IntWithAggregatesFilter<"Task"> | number + createdAt?: Prisma.DateTimeWithAggregatesFilter<"Task"> | Date | string + updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Task"> | Date | string + number?: Prisma.IntNullableWithAggregatesFilter<"Task"> | number | null +} + +export type TaskCreateInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskCreateManyInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskListRelationFilter = { + every?: Prisma.TaskWhereInput + some?: Prisma.TaskWhereInput + none?: Prisma.TaskWhereInput +} + +export type TaskOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TaskNullableScalarRelationFilter = { + is?: Prisma.TaskWhereInput | null + isNot?: Prisma.TaskWhereInput | null +} + +export type TaskProjectIdNumberCompoundUniqueInput = { + projectId: number + number: number +} + +export type TaskCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrder + title?: Prisma.SortOrder + description?: Prisma.SortOrder + kind?: Prisma.SortOrder + markDate?: Prisma.SortOrder + status?: Prisma.SortOrder + doneAt?: Prisma.SortOrder + assigneeId?: Prisma.SortOrder + creatorId?: Prisma.SortOrder + extras?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + number?: Prisma.SortOrder +} + +export type TaskAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrder + assigneeId?: Prisma.SortOrder + creatorId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + number?: Prisma.SortOrder +} + +export type TaskMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrder + title?: Prisma.SortOrder + description?: Prisma.SortOrder + kind?: Prisma.SortOrder + markDate?: Prisma.SortOrder + status?: Prisma.SortOrder + doneAt?: Prisma.SortOrder + assigneeId?: Prisma.SortOrder + creatorId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + number?: Prisma.SortOrder +} + +export type TaskMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrder + title?: Prisma.SortOrder + description?: Prisma.SortOrder + kind?: Prisma.SortOrder + markDate?: Prisma.SortOrder + status?: Prisma.SortOrder + doneAt?: Prisma.SortOrder + assigneeId?: Prisma.SortOrder + creatorId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + createdAt?: Prisma.SortOrder + updatedAt?: Prisma.SortOrder + number?: Prisma.SortOrder +} + +export type TaskSumOrderByAggregateInput = { + id?: Prisma.SortOrder + projectId?: Prisma.SortOrder + columnId?: Prisma.SortOrder + parentId?: Prisma.SortOrder + assigneeId?: Prisma.SortOrder + creatorId?: Prisma.SortOrder + sortOrder?: Prisma.SortOrder + number?: Prisma.SortOrder +} + +export type TaskScalarRelationFilter = { + is?: Prisma.TaskWhereInput + isNot?: Prisma.TaskWhereInput +} + +export type TaskCreateNestedManyWithoutAssigneeInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutAssigneeInput[] | Prisma.TaskUncheckedCreateWithoutAssigneeInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutAssigneeInput | Prisma.TaskCreateOrConnectWithoutAssigneeInput[] + createMany?: Prisma.TaskCreateManyAssigneeInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskCreateNestedManyWithoutCreatorInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutCreatorInput[] | Prisma.TaskUncheckedCreateWithoutCreatorInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutCreatorInput | Prisma.TaskCreateOrConnectWithoutCreatorInput[] + createMany?: Prisma.TaskCreateManyCreatorInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUncheckedCreateNestedManyWithoutAssigneeInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutAssigneeInput[] | Prisma.TaskUncheckedCreateWithoutAssigneeInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutAssigneeInput | Prisma.TaskCreateOrConnectWithoutAssigneeInput[] + createMany?: Prisma.TaskCreateManyAssigneeInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUncheckedCreateNestedManyWithoutCreatorInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutCreatorInput[] | Prisma.TaskUncheckedCreateWithoutCreatorInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutCreatorInput | Prisma.TaskCreateOrConnectWithoutCreatorInput[] + createMany?: Prisma.TaskCreateManyCreatorInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUpdateManyWithoutAssigneeNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutAssigneeInput[] | Prisma.TaskUncheckedCreateWithoutAssigneeInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutAssigneeInput | Prisma.TaskCreateOrConnectWithoutAssigneeInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutAssigneeInput | Prisma.TaskUpsertWithWhereUniqueWithoutAssigneeInput[] + createMany?: Prisma.TaskCreateManyAssigneeInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutAssigneeInput | Prisma.TaskUpdateWithWhereUniqueWithoutAssigneeInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutAssigneeInput | Prisma.TaskUpdateManyWithWhereWithoutAssigneeInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUpdateManyWithoutCreatorNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutCreatorInput[] | Prisma.TaskUncheckedCreateWithoutCreatorInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutCreatorInput | Prisma.TaskCreateOrConnectWithoutCreatorInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutCreatorInput | Prisma.TaskUpsertWithWhereUniqueWithoutCreatorInput[] + createMany?: Prisma.TaskCreateManyCreatorInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutCreatorInput | Prisma.TaskUpdateWithWhereUniqueWithoutCreatorInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutCreatorInput | Prisma.TaskUpdateManyWithWhereWithoutCreatorInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUncheckedUpdateManyWithoutAssigneeNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutAssigneeInput[] | Prisma.TaskUncheckedCreateWithoutAssigneeInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutAssigneeInput | Prisma.TaskCreateOrConnectWithoutAssigneeInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutAssigneeInput | Prisma.TaskUpsertWithWhereUniqueWithoutAssigneeInput[] + createMany?: Prisma.TaskCreateManyAssigneeInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutAssigneeInput | Prisma.TaskUpdateWithWhereUniqueWithoutAssigneeInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutAssigneeInput | Prisma.TaskUpdateManyWithWhereWithoutAssigneeInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUncheckedUpdateManyWithoutCreatorNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutCreatorInput[] | Prisma.TaskUncheckedCreateWithoutCreatorInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutCreatorInput | Prisma.TaskCreateOrConnectWithoutCreatorInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutCreatorInput | Prisma.TaskUpsertWithWhereUniqueWithoutCreatorInput[] + createMany?: Prisma.TaskCreateManyCreatorInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutCreatorInput | Prisma.TaskUpdateWithWhereUniqueWithoutCreatorInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutCreatorInput | Prisma.TaskUpdateManyWithWhereWithoutCreatorInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutProjectInput[] | Prisma.TaskUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutProjectInput | Prisma.TaskCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.TaskCreateManyProjectInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUncheckedCreateNestedManyWithoutProjectInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutProjectInput[] | Prisma.TaskUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutProjectInput | Prisma.TaskCreateOrConnectWithoutProjectInput[] + createMany?: Prisma.TaskCreateManyProjectInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutProjectInput[] | Prisma.TaskUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutProjectInput | Prisma.TaskCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutProjectInput | Prisma.TaskUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.TaskCreateManyProjectInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutProjectInput | Prisma.TaskUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutProjectInput | Prisma.TaskUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUncheckedUpdateManyWithoutProjectNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutProjectInput[] | Prisma.TaskUncheckedCreateWithoutProjectInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutProjectInput | Prisma.TaskCreateOrConnectWithoutProjectInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutProjectInput | Prisma.TaskUpsertWithWhereUniqueWithoutProjectInput[] + createMany?: Prisma.TaskCreateManyProjectInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutProjectInput | Prisma.TaskUpdateWithWhereUniqueWithoutProjectInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutProjectInput | Prisma.TaskUpdateManyWithWhereWithoutProjectInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskCreateNestedManyWithoutColumnInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutColumnInput[] | Prisma.TaskUncheckedCreateWithoutColumnInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutColumnInput | Prisma.TaskCreateOrConnectWithoutColumnInput[] + createMany?: Prisma.TaskCreateManyColumnInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUncheckedCreateNestedManyWithoutColumnInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutColumnInput[] | Prisma.TaskUncheckedCreateWithoutColumnInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutColumnInput | Prisma.TaskCreateOrConnectWithoutColumnInput[] + createMany?: Prisma.TaskCreateManyColumnInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUpdateManyWithoutColumnNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutColumnInput[] | Prisma.TaskUncheckedCreateWithoutColumnInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutColumnInput | Prisma.TaskCreateOrConnectWithoutColumnInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutColumnInput | Prisma.TaskUpsertWithWhereUniqueWithoutColumnInput[] + createMany?: Prisma.TaskCreateManyColumnInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutColumnInput | Prisma.TaskUpdateWithWhereUniqueWithoutColumnInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutColumnInput | Prisma.TaskUpdateManyWithWhereWithoutColumnInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUncheckedUpdateManyWithoutColumnNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutColumnInput[] | Prisma.TaskUncheckedCreateWithoutColumnInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutColumnInput | Prisma.TaskCreateOrConnectWithoutColumnInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutColumnInput | Prisma.TaskUpsertWithWhereUniqueWithoutColumnInput[] + createMany?: Prisma.TaskCreateManyColumnInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutColumnInput | Prisma.TaskUpdateWithWhereUniqueWithoutColumnInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutColumnInput | Prisma.TaskUpdateManyWithWhereWithoutColumnInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskCreateNestedOneWithoutChildrenInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutChildrenInput + connect?: Prisma.TaskWhereUniqueInput +} + +export type TaskCreateNestedManyWithoutParentInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutParentInput[] | Prisma.TaskUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutParentInput | Prisma.TaskCreateOrConnectWithoutParentInput[] + createMany?: Prisma.TaskCreateManyParentInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUncheckedCreateNestedManyWithoutParentInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutParentInput[] | Prisma.TaskUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutParentInput | Prisma.TaskCreateOrConnectWithoutParentInput[] + createMany?: Prisma.TaskCreateManyParentInputEnvelope + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] +} + +export type TaskUpdateOneWithoutChildrenNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutChildrenInput + upsert?: Prisma.TaskUpsertWithoutChildrenInput + disconnect?: Prisma.TaskWhereInput | boolean + delete?: Prisma.TaskWhereInput | boolean + connect?: Prisma.TaskWhereUniqueInput + update?: Prisma.XOR, Prisma.TaskUncheckedUpdateWithoutChildrenInput> +} + +export type TaskUpdateManyWithoutParentNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutParentInput[] | Prisma.TaskUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutParentInput | Prisma.TaskCreateOrConnectWithoutParentInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutParentInput | Prisma.TaskUpsertWithWhereUniqueWithoutParentInput[] + createMany?: Prisma.TaskCreateManyParentInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutParentInput | Prisma.TaskUpdateWithWhereUniqueWithoutParentInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutParentInput | Prisma.TaskUpdateManyWithWhereWithoutParentInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskUncheckedUpdateManyWithoutParentNestedInput = { + create?: Prisma.XOR | Prisma.TaskCreateWithoutParentInput[] | Prisma.TaskUncheckedCreateWithoutParentInput[] + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutParentInput | Prisma.TaskCreateOrConnectWithoutParentInput[] + upsert?: Prisma.TaskUpsertWithWhereUniqueWithoutParentInput | Prisma.TaskUpsertWithWhereUniqueWithoutParentInput[] + createMany?: Prisma.TaskCreateManyParentInputEnvelope + set?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + disconnect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + delete?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + connect?: Prisma.TaskWhereUniqueInput | Prisma.TaskWhereUniqueInput[] + update?: Prisma.TaskUpdateWithWhereUniqueWithoutParentInput | Prisma.TaskUpdateWithWhereUniqueWithoutParentInput[] + updateMany?: Prisma.TaskUpdateManyWithWhereWithoutParentInput | Prisma.TaskUpdateManyWithWhereWithoutParentInput[] + deleteMany?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] +} + +export type TaskCreateNestedOneWithoutMembersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutMembersInput + connect?: Prisma.TaskWhereUniqueInput +} + +export type TaskUpdateOneRequiredWithoutMembersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutMembersInput + upsert?: Prisma.TaskUpsertWithoutMembersInput + connect?: Prisma.TaskWhereUniqueInput + update?: Prisma.XOR, Prisma.TaskUncheckedUpdateWithoutMembersInput> +} + +export type TaskCreateNestedOneWithoutTagsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutTagsInput + connect?: Prisma.TaskWhereUniqueInput +} + +export type TaskUpdateOneRequiredWithoutTagsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.TaskCreateOrConnectWithoutTagsInput + upsert?: Prisma.TaskUpsertWithoutTagsInput + connect?: Prisma.TaskWhereUniqueInput + update?: Prisma.XOR, Prisma.TaskUncheckedUpdateWithoutTagsInput> +} + +export type TaskCreateWithoutAssigneeInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutAssigneeInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutAssigneeInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateManyAssigneeInputEnvelope = { + data: Prisma.TaskCreateManyAssigneeInput | Prisma.TaskCreateManyAssigneeInput[] + skipDuplicates?: boolean +} + +export type TaskCreateWithoutCreatorInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutCreatorInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutCreatorInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateManyCreatorInputEnvelope = { + data: Prisma.TaskCreateManyCreatorInput | Prisma.TaskCreateManyCreatorInput[] + skipDuplicates?: boolean +} + +export type TaskUpsertWithWhereUniqueWithoutAssigneeInput = { + where: Prisma.TaskWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskUpdateWithWhereUniqueWithoutAssigneeInput = { + where: Prisma.TaskWhereUniqueInput + data: Prisma.XOR +} + +export type TaskUpdateManyWithWhereWithoutAssigneeInput = { + where: Prisma.TaskScalarWhereInput + data: Prisma.XOR +} + +export type TaskScalarWhereInput = { + AND?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] + OR?: Prisma.TaskScalarWhereInput[] + NOT?: Prisma.TaskScalarWhereInput | Prisma.TaskScalarWhereInput[] + id?: Prisma.IntFilter<"Task"> | number + uuid?: Prisma.StringFilter<"Task"> | string + projectId?: Prisma.IntFilter<"Task"> | number + columnId?: Prisma.IntFilter<"Task"> | number + parentId?: Prisma.IntNullableFilter<"Task"> | number | null + title?: Prisma.StringFilter<"Task"> | string + description?: Prisma.StringFilter<"Task"> | string + kind?: Prisma.StringNullableFilter<"Task"> | string | null + markDate?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + status?: Prisma.StringFilter<"Task"> | string + doneAt?: Prisma.DateTimeNullableFilter<"Task"> | Date | string | null + assigneeId?: Prisma.IntNullableFilter<"Task"> | number | null + creatorId?: Prisma.IntFilter<"Task"> | number + extras?: Prisma.JsonFilter<"Task"> + sortOrder?: Prisma.IntFilter<"Task"> | number + createdAt?: Prisma.DateTimeFilter<"Task"> | Date | string + updatedAt?: Prisma.DateTimeFilter<"Task"> | Date | string + number?: Prisma.IntNullableFilter<"Task"> | number | null +} + +export type TaskUpsertWithWhereUniqueWithoutCreatorInput = { + where: Prisma.TaskWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskUpdateWithWhereUniqueWithoutCreatorInput = { + where: Prisma.TaskWhereUniqueInput + data: Prisma.XOR +} + +export type TaskUpdateManyWithWhereWithoutCreatorInput = { + where: Prisma.TaskScalarWhereInput + data: Prisma.XOR +} + +export type TaskCreateWithoutProjectInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutProjectInput = { + id?: number + uuid: string + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutProjectInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateManyProjectInputEnvelope = { + data: Prisma.TaskCreateManyProjectInput | Prisma.TaskCreateManyProjectInput[] + skipDuplicates?: boolean +} + +export type TaskUpsertWithWhereUniqueWithoutProjectInput = { + where: Prisma.TaskWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskUpdateWithWhereUniqueWithoutProjectInput = { + where: Prisma.TaskWhereUniqueInput + data: Prisma.XOR +} + +export type TaskUpdateManyWithWhereWithoutProjectInput = { + where: Prisma.TaskScalarWhereInput + data: Prisma.XOR +} + +export type TaskCreateWithoutColumnInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutColumnInput = { + id?: number + uuid: string + projectId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutColumnInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateManyColumnInputEnvelope = { + data: Prisma.TaskCreateManyColumnInput | Prisma.TaskCreateManyColumnInput[] + skipDuplicates?: boolean +} + +export type TaskUpsertWithWhereUniqueWithoutColumnInput = { + where: Prisma.TaskWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskUpdateWithWhereUniqueWithoutColumnInput = { + where: Prisma.TaskWhereUniqueInput + data: Prisma.XOR +} + +export type TaskUpdateManyWithWhereWithoutColumnInput = { + where: Prisma.TaskScalarWhereInput + data: Prisma.XOR +} + +export type TaskCreateWithoutChildrenInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutChildrenInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutChildrenInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateWithoutParentInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutParentInput = { + id?: number + uuid: string + projectId: number + columnId: number + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutParentInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskCreateManyParentInputEnvelope = { + data: Prisma.TaskCreateManyParentInput | Prisma.TaskCreateManyParentInput[] + skipDuplicates?: boolean +} + +export type TaskUpsertWithoutChildrenInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TaskWhereInput +} + +export type TaskUpdateToOneWithWhereWithoutChildrenInput = { + where?: Prisma.TaskWhereInput + data: Prisma.XOR +} + +export type TaskUpdateWithoutChildrenInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutChildrenInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUpsertWithWhereUniqueWithoutParentInput = { + where: Prisma.TaskWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskUpdateWithWhereUniqueWithoutParentInput = { + where: Prisma.TaskWhereUniqueInput + data: Prisma.XOR +} + +export type TaskUpdateManyWithWhereWithoutParentInput = { + where: Prisma.TaskScalarWhereInput + data: Prisma.XOR +} + +export type TaskCreateWithoutMembersInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + tags?: Prisma.TaskTagCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutMembersInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + tags?: Prisma.TaskTagUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutMembersInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskUpsertWithoutMembersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TaskWhereInput +} + +export type TaskUpdateToOneWithWhereWithoutMembersInput = { + where?: Prisma.TaskWhereInput + data: Prisma.XOR +} + +export type TaskUpdateWithoutMembersInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutMembersInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskCreateWithoutTagsInput = { + uuid: string + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + project: Prisma.ProjectCreateNestedOneWithoutTasksInput + column: Prisma.BoardColumnCreateNestedOneWithoutTasksInput + parent?: Prisma.TaskCreateNestedOneWithoutChildrenInput + children?: Prisma.TaskCreateNestedManyWithoutParentInput + assignee?: Prisma.UserCreateNestedOneWithoutAssignedTasksInput + creator: Prisma.UserCreateNestedOneWithoutCreatedTasksInput + members?: Prisma.TaskMemberCreateNestedManyWithoutTaskInput +} + +export type TaskUncheckedCreateWithoutTagsInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null + children?: Prisma.TaskUncheckedCreateNestedManyWithoutParentInput + members?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutTaskInput +} + +export type TaskCreateOrConnectWithoutTagsInput = { + where: Prisma.TaskWhereUniqueInput + create: Prisma.XOR +} + +export type TaskUpsertWithoutTagsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.TaskWhereInput +} + +export type TaskUpdateToOneWithWhereWithoutTagsInput = { + where?: Prisma.TaskWhereInput + data: Prisma.XOR +} + +export type TaskUpdateWithoutTagsInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutTagsInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskCreateManyAssigneeInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskCreateManyCreatorInput = { + id?: number + uuid: string + projectId: number + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskUpdateWithoutAssigneeInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutAssigneeInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateManyWithoutAssigneeInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskUpdateWithoutCreatorInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutCreatorInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateManyWithoutCreatorInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskCreateManyProjectInput = { + id?: number + uuid: string + columnId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskUpdateWithoutProjectInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateManyWithoutProjectInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + columnId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskCreateManyColumnInput = { + id?: number + uuid: string + projectId: number + parentId?: number | null + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskUpdateWithoutColumnInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + parent?: Prisma.TaskUpdateOneWithoutChildrenNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutColumnInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateManyWithoutColumnInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + parentId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + +export type TaskCreateManyParentInput = { + id?: number + uuid: string + projectId: number + columnId: number + title: string + description?: string + kind?: string | null + markDate?: Date | string | null + status?: string + doneAt?: Date | string | null + assigneeId?: number | null + creatorId: number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: number + createdAt?: Date | string + updatedAt?: Date | string + number?: number | null +} + +export type TaskUpdateWithoutParentInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + project?: Prisma.ProjectUpdateOneRequiredWithoutTasksNestedInput + column?: Prisma.BoardColumnUpdateOneRequiredWithoutTasksNestedInput + children?: Prisma.TaskUpdateManyWithoutParentNestedInput + assignee?: Prisma.UserUpdateOneWithoutAssignedTasksNestedInput + creator?: Prisma.UserUpdateOneRequiredWithoutCreatedTasksNestedInput + members?: Prisma.TaskMemberUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateWithoutParentInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + children?: Prisma.TaskUncheckedUpdateManyWithoutParentNestedInput + members?: Prisma.TaskMemberUncheckedUpdateManyWithoutTaskNestedInput + tags?: Prisma.TaskTagUncheckedUpdateManyWithoutTaskNestedInput +} + +export type TaskUncheckedUpdateManyWithoutParentInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + projectId?: Prisma.IntFieldUpdateOperationsInput | number + columnId?: Prisma.IntFieldUpdateOperationsInput | number + title?: Prisma.StringFieldUpdateOperationsInput | string + description?: Prisma.StringFieldUpdateOperationsInput | string + kind?: Prisma.NullableStringFieldUpdateOperationsInput | string | null + markDate?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + status?: Prisma.StringFieldUpdateOperationsInput | string + doneAt?: Prisma.NullableDateTimeFieldUpdateOperationsInput | Date | string | null + assigneeId?: Prisma.NullableIntFieldUpdateOperationsInput | number | null + creatorId?: Prisma.IntFieldUpdateOperationsInput | number + extras?: Prisma.JsonNullValueInput | runtime.InputJsonValue + sortOrder?: Prisma.IntFieldUpdateOperationsInput | number + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + number?: Prisma.NullableIntFieldUpdateOperationsInput | number | null +} + + +/** + * Count Type TaskCountOutputType + */ + +export type TaskCountOutputType = { + children: number + members: number + tags: number +} + +export type TaskCountOutputTypeSelect = { + children?: boolean | TaskCountOutputTypeCountChildrenArgs + members?: boolean | TaskCountOutputTypeCountMembersArgs + tags?: boolean | TaskCountOutputTypeCountTagsArgs +} + +/** + * TaskCountOutputType without action + */ +export type TaskCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the TaskCountOutputType + */ + select?: Prisma.TaskCountOutputTypeSelect | null +} + +/** + * TaskCountOutputType without action + */ +export type TaskCountOutputTypeCountChildrenArgs = { + where?: Prisma.TaskWhereInput +} + +/** + * TaskCountOutputType without action + */ +export type TaskCountOutputTypeCountMembersArgs = { + where?: Prisma.TaskMemberWhereInput +} + +/** + * TaskCountOutputType without action + */ +export type TaskCountOutputTypeCountTagsArgs = { + where?: Prisma.TaskTagWhereInput +} + + +export type TaskSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + columnId?: boolean + parentId?: boolean + title?: boolean + description?: boolean + kind?: boolean + markDate?: boolean + status?: boolean + doneAt?: boolean + assigneeId?: boolean + creatorId?: boolean + extras?: boolean + sortOrder?: boolean + createdAt?: boolean + updatedAt?: boolean + number?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + children?: boolean | Prisma.Task$childrenArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs + members?: boolean | Prisma.Task$membersArgs + tags?: boolean | Prisma.Task$tagsArgs + _count?: boolean | Prisma.TaskCountOutputTypeDefaultArgs +}, ExtArgs["result"]["task"]> + +export type TaskSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + columnId?: boolean + parentId?: boolean + title?: boolean + description?: boolean + kind?: boolean + markDate?: boolean + status?: boolean + doneAt?: boolean + assigneeId?: boolean + creatorId?: boolean + extras?: boolean + sortOrder?: boolean + createdAt?: boolean + updatedAt?: boolean + number?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["task"]> + +export type TaskSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + projectId?: boolean + columnId?: boolean + parentId?: boolean + title?: boolean + description?: boolean + kind?: boolean + markDate?: boolean + status?: boolean + doneAt?: boolean + assigneeId?: boolean + creatorId?: boolean + extras?: boolean + sortOrder?: boolean + createdAt?: boolean + updatedAt?: boolean + number?: boolean + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["task"]> + +export type TaskSelectScalar = { + id?: boolean + uuid?: boolean + projectId?: boolean + columnId?: boolean + parentId?: boolean + title?: boolean + description?: boolean + kind?: boolean + markDate?: boolean + status?: boolean + doneAt?: boolean + assigneeId?: boolean + creatorId?: boolean + extras?: boolean + sortOrder?: boolean + createdAt?: boolean + updatedAt?: boolean + number?: boolean +} + +export type TaskOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "projectId" | "columnId" | "parentId" | "title" | "description" | "kind" | "markDate" | "status" | "doneAt" | "assigneeId" | "creatorId" | "extras" | "sortOrder" | "createdAt" | "updatedAt" | "number", ExtArgs["result"]["task"]> +export type TaskInclude = { + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + children?: boolean | Prisma.Task$childrenArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs + members?: boolean | Prisma.Task$membersArgs + tags?: boolean | Prisma.Task$tagsArgs + _count?: boolean | Prisma.TaskCountOutputTypeDefaultArgs +} +export type TaskIncludeCreateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs +} +export type TaskIncludeUpdateManyAndReturn = { + project?: boolean | Prisma.ProjectDefaultArgs + column?: boolean | Prisma.BoardColumnDefaultArgs + parent?: boolean | Prisma.Task$parentArgs + assignee?: boolean | Prisma.Task$assigneeArgs + creator?: boolean | Prisma.UserDefaultArgs +} + +export type $TaskPayload = { + name: "Task" + objects: { + project: Prisma.$ProjectPayload + column: Prisma.$BoardColumnPayload + parent: Prisma.$TaskPayload | null + children: Prisma.$TaskPayload[] + assignee: Prisma.$UserPayload | null + creator: Prisma.$UserPayload + members: Prisma.$TaskMemberPayload[] + tags: Prisma.$TaskTagPayload[] + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + projectId: number + columnId: number + parentId: number | null + title: string + description: string + kind: string | null + markDate: Date | null + status: string + doneAt: Date | null + assigneeId: number | null + creatorId: number + extras: runtime.JsonValue + sortOrder: number + createdAt: Date + updatedAt: Date + number: number | null + }, ExtArgs["result"]["task"]> + composites: {} +} + +export type TaskGetPayload = runtime.Types.Result.GetResult + +export type TaskCountArgs = + Omit & { + select?: TaskCountAggregateInputType | true + } + +export interface TaskDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Task'], meta: { name: 'Task' } } + /** + * Find zero or one Task that matches the filter. + * @param {TaskFindUniqueArgs} args - Arguments to find a Task + * @example + * // Get one Task + * const task = await prisma.task.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Task that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TaskFindUniqueOrThrowArgs} args - Arguments to find a Task + * @example + * // Get one Task + * const task = await prisma.task.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Task that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskFindFirstArgs} args - Arguments to find a Task + * @example + * // Get one Task + * const task = await prisma.task.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Task that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskFindFirstOrThrowArgs} args - Arguments to find a Task + * @example + * // Get one Task + * const task = await prisma.task.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Tasks that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Tasks + * const tasks = await prisma.task.findMany() + * + * // Get first 10 Tasks + * const tasks = await prisma.task.findMany({ take: 10 }) + * + * // Only select the `id` + * const taskWithIdOnly = await prisma.task.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Task. + * @param {TaskCreateArgs} args - Arguments to create a Task. + * @example + * // Create one Task + * const Task = await prisma.task.create({ + * data: { + * // ... data to create a Task + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Tasks. + * @param {TaskCreateManyArgs} args - Arguments to create many Tasks. + * @example + * // Create many Tasks + * const task = await prisma.task.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Tasks and returns the data saved in the database. + * @param {TaskCreateManyAndReturnArgs} args - Arguments to create many Tasks. + * @example + * // Create many Tasks + * const task = await prisma.task.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Tasks and only return the `id` + * const taskWithIdOnly = await prisma.task.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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Task. + * @param {TaskDeleteArgs} args - Arguments to delete one Task. + * @example + * // Delete one Task + * const Task = await prisma.task.delete({ + * where: { + * // ... filter to delete one Task + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Task. + * @param {TaskUpdateArgs} args - Arguments to update one Task. + * @example + * // Update one Task + * const task = await prisma.task.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Tasks. + * @param {TaskDeleteManyArgs} args - Arguments to filter Tasks to delete. + * @example + * // Delete a few Tasks + * const { count } = await prisma.task.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Tasks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Tasks + * const task = await prisma.task.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Tasks and returns the data updated in the database. + * @param {TaskUpdateManyAndReturnArgs} args - Arguments to update many Tasks. + * @example + * // Update many Tasks + * const task = await prisma.task.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Tasks and only return the `id` + * const taskWithIdOnly = await prisma.task.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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Task. + * @param {TaskUpsertArgs} args - Arguments to update or create a Task. + * @example + * // Update or create a Task + * const task = await prisma.task.upsert({ + * create: { + * // ... data to create a Task + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Task we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TaskClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Tasks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskCountArgs} args - Arguments to filter Tasks to count. + * @example + * // Count the number of Tasks + * const count = await prisma.task.count({ + * where: { + * // ... the filter for the Tasks we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Task. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by Task. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends TaskGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TaskGroupByArgs['orderBy'] } + : { orderBy?: TaskGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTaskGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the Task model + */ +readonly fields: TaskFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for Task. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__TaskClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + project = {}>(args?: Prisma.Subset>): Prisma.Prisma__ProjectClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + column = {}>(args?: Prisma.Subset>): Prisma.Prisma__BoardColumnClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + parent = {}>(args?: Prisma.Subset>): Prisma.Prisma__TaskClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + children = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + assignee = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + creator = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + members = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + tags = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the Task model + */ +export interface TaskFieldRefs { + readonly id: Prisma.FieldRef<"Task", 'Int'> + readonly uuid: Prisma.FieldRef<"Task", 'String'> + readonly projectId: Prisma.FieldRef<"Task", 'Int'> + readonly columnId: Prisma.FieldRef<"Task", 'Int'> + readonly parentId: Prisma.FieldRef<"Task", 'Int'> + readonly title: Prisma.FieldRef<"Task", 'String'> + readonly description: Prisma.FieldRef<"Task", 'String'> + readonly kind: Prisma.FieldRef<"Task", 'String'> + readonly markDate: Prisma.FieldRef<"Task", 'DateTime'> + readonly status: Prisma.FieldRef<"Task", 'String'> + readonly doneAt: Prisma.FieldRef<"Task", 'DateTime'> + readonly assigneeId: Prisma.FieldRef<"Task", 'Int'> + readonly creatorId: Prisma.FieldRef<"Task", 'Int'> + readonly extras: Prisma.FieldRef<"Task", 'Json'> + readonly sortOrder: Prisma.FieldRef<"Task", 'Int'> + readonly createdAt: Prisma.FieldRef<"Task", 'DateTime'> + readonly updatedAt: Prisma.FieldRef<"Task", 'DateTime'> + readonly number: Prisma.FieldRef<"Task", 'Int'> +} + + +// Custom InputTypes +/** + * Task findUnique + */ +export type TaskFindUniqueArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter, which Task to fetch. + */ + where: Prisma.TaskWhereUniqueInput +} + +/** + * Task findUniqueOrThrow + */ +export type TaskFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter, which Task to fetch. + */ + where: Prisma.TaskWhereUniqueInput +} + +/** + * Task findFirst + */ +export type TaskFindFirstArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter, which Task to fetch. + */ + where?: Prisma.TaskWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tasks to fetch. + */ + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Tasks. + */ + cursor?: Prisma.TaskWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tasks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Tasks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Tasks. + */ + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * Task findFirstOrThrow + */ +export type TaskFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter, which Task to fetch. + */ + where?: Prisma.TaskWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tasks to fetch. + */ + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Tasks. + */ + cursor?: Prisma.TaskWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tasks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Tasks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Tasks. + */ + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * Task findMany + */ +export type TaskFindManyArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter, which Tasks to fetch. + */ + where?: Prisma.TaskWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Tasks to fetch. + */ + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Tasks. + */ + cursor?: Prisma.TaskWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Tasks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Tasks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Tasks. + */ + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * Task create + */ +export type TaskCreateArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * The data needed to create a Task. + */ + data: Prisma.XOR +} + +/** + * Task createMany + */ +export type TaskCreateManyArgs = { + /** + * The data used to create many Tasks. + */ + data: Prisma.TaskCreateManyInput | Prisma.TaskCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * Task createManyAndReturn + */ +export type TaskCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * The data used to create many Tasks. + */ + data: Prisma.TaskCreateManyInput | Prisma.TaskCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskIncludeCreateManyAndReturn | null +} + +/** + * Task update + */ +export type TaskUpdateArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * The data needed to update a Task. + */ + data: Prisma.XOR + /** + * Choose, which Task to update. + */ + where: Prisma.TaskWhereUniqueInput +} + +/** + * Task updateMany + */ +export type TaskUpdateManyArgs = { + /** + * The data used to update Tasks. + */ + data: Prisma.XOR + /** + * Filter which Tasks to update + */ + where?: Prisma.TaskWhereInput + /** + * Limit how many Tasks to update. + */ + limit?: number +} + +/** + * Task updateManyAndReturn + */ +export type TaskUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * The data used to update Tasks. + */ + data: Prisma.XOR + /** + * Filter which Tasks to update + */ + where?: Prisma.TaskWhereInput + /** + * Limit how many Tasks to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskIncludeUpdateManyAndReturn | null +} + +/** + * Task upsert + */ +export type TaskUpsertArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * The filter to search for the Task to update in case it exists. + */ + where: Prisma.TaskWhereUniqueInput + /** + * In case the Task found by the `where` argument doesn't exist, create a new Task with this data. + */ + create: Prisma.XOR + /** + * In case the Task was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * Task delete + */ +export type TaskDeleteArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + /** + * Filter which Task to delete. + */ + where: Prisma.TaskWhereUniqueInput +} + +/** + * Task deleteMany + */ +export type TaskDeleteManyArgs = { + /** + * Filter which Tasks to delete + */ + where?: Prisma.TaskWhereInput + /** + * Limit how many Tasks to delete. + */ + limit?: number +} + +/** + * Task.parent + */ +export type Task$parentArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput +} + +/** + * Task.children + */ +export type Task$childrenArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + cursor?: Prisma.TaskWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * Task.assignee + */ +export type Task$assigneeArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.UserInclude | null + where?: Prisma.UserWhereInput +} + +/** + * Task.members + */ +export type Task$membersArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + where?: Prisma.TaskMemberWhereInput + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + cursor?: Prisma.TaskMemberWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskMemberScalarFieldEnum | Prisma.TaskMemberScalarFieldEnum[] +} + +/** + * Task.tags + */ +export type Task$tagsArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + where?: Prisma.TaskTagWhereInput + orderBy?: Prisma.TaskTagOrderByWithRelationInput | Prisma.TaskTagOrderByWithRelationInput[] + cursor?: Prisma.TaskTagWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskTagScalarFieldEnum | Prisma.TaskTagScalarFieldEnum[] +} + +/** + * Task without action + */ +export type TaskDefaultArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null +} diff --git a/generated/prisma/models/TaskMember.ts b/generated/prisma/models/TaskMember.ts new file mode 100644 index 0000000..a69becd --- /dev/null +++ b/generated/prisma/models/TaskMember.ts @@ -0,0 +1,1479 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `TaskMember` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model TaskMember + * + */ +export type TaskMemberModel = runtime.Types.Result.DefaultSelection + +export type AggregateTaskMember = { + _count: TaskMemberCountAggregateOutputType | null + _avg: TaskMemberAvgAggregateOutputType | null + _sum: TaskMemberSumAggregateOutputType | null + _min: TaskMemberMinAggregateOutputType | null + _max: TaskMemberMaxAggregateOutputType | null +} + +export type TaskMemberAvgAggregateOutputType = { + id: number | null + taskId: number | null + userId: number | null +} + +export type TaskMemberSumAggregateOutputType = { + id: number | null + taskId: number | null + userId: number | null +} + +export type TaskMemberMinAggregateOutputType = { + id: number | null + uuid: string | null + taskId: number | null + userId: number | null +} + +export type TaskMemberMaxAggregateOutputType = { + id: number | null + uuid: string | null + taskId: number | null + userId: number | null +} + +export type TaskMemberCountAggregateOutputType = { + id: number + uuid: number + taskId: number + userId: number + _all: number +} + + +export type TaskMemberAvgAggregateInputType = { + id?: true + taskId?: true + userId?: true +} + +export type TaskMemberSumAggregateInputType = { + id?: true + taskId?: true + userId?: true +} + +export type TaskMemberMinAggregateInputType = { + id?: true + uuid?: true + taskId?: true + userId?: true +} + +export type TaskMemberMaxAggregateInputType = { + id?: true + uuid?: true + taskId?: true + userId?: true +} + +export type TaskMemberCountAggregateInputType = { + id?: true + uuid?: true + taskId?: true + userId?: true + _all?: true +} + +export type TaskMemberAggregateArgs = { + /** + * Filter which TaskMember to aggregate. + */ + where?: Prisma.TaskMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskMembers to fetch. + */ + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TaskMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TaskMembers + **/ + _count?: true | TaskMemberCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: TaskMemberAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: TaskMemberSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TaskMemberMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TaskMemberMaxAggregateInputType +} + +export type GetTaskMemberAggregateType = { + [P in keyof T & keyof AggregateTaskMember]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TaskMemberGroupByArgs = { + where?: Prisma.TaskMemberWhereInput + orderBy?: Prisma.TaskMemberOrderByWithAggregationInput | Prisma.TaskMemberOrderByWithAggregationInput[] + by: Prisma.TaskMemberScalarFieldEnum[] | Prisma.TaskMemberScalarFieldEnum + having?: Prisma.TaskMemberScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TaskMemberCountAggregateInputType | true + _avg?: TaskMemberAvgAggregateInputType + _sum?: TaskMemberSumAggregateInputType + _min?: TaskMemberMinAggregateInputType + _max?: TaskMemberMaxAggregateInputType +} + +export type TaskMemberGroupByOutputType = { + id: number + uuid: string + taskId: number + userId: number + _count: TaskMemberCountAggregateOutputType | null + _avg: TaskMemberAvgAggregateOutputType | null + _sum: TaskMemberSumAggregateOutputType | null + _min: TaskMemberMinAggregateOutputType | null + _max: TaskMemberMaxAggregateOutputType | null +} + +export type GetTaskMemberGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TaskMemberGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TaskMemberWhereInput = { + AND?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[] + OR?: Prisma.TaskMemberWhereInput[] + NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[] + id?: Prisma.IntFilter<"TaskMember"> | number + uuid?: Prisma.StringFilter<"TaskMember"> | string + taskId?: Prisma.IntFilter<"TaskMember"> | number + userId?: Prisma.IntFilter<"TaskMember"> | number + task?: Prisma.XOR + user?: Prisma.XOR +} + +export type TaskMemberOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder + task?: Prisma.TaskOrderByWithRelationInput + user?: Prisma.UserOrderByWithRelationInput +} + +export type TaskMemberWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + taskId_userId?: Prisma.TaskMemberTaskIdUserIdCompoundUniqueInput + AND?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[] + OR?: Prisma.TaskMemberWhereInput[] + NOT?: Prisma.TaskMemberWhereInput | Prisma.TaskMemberWhereInput[] + taskId?: Prisma.IntFilter<"TaskMember"> | number + userId?: Prisma.IntFilter<"TaskMember"> | number + task?: Prisma.XOR + user?: Prisma.XOR +}, "id" | "uuid" | "taskId_userId"> + +export type TaskMemberOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder + _count?: Prisma.TaskMemberCountOrderByAggregateInput + _avg?: Prisma.TaskMemberAvgOrderByAggregateInput + _max?: Prisma.TaskMemberMaxOrderByAggregateInput + _min?: Prisma.TaskMemberMinOrderByAggregateInput + _sum?: Prisma.TaskMemberSumOrderByAggregateInput +} + +export type TaskMemberScalarWhereWithAggregatesInput = { + AND?: Prisma.TaskMemberScalarWhereWithAggregatesInput | Prisma.TaskMemberScalarWhereWithAggregatesInput[] + OR?: Prisma.TaskMemberScalarWhereWithAggregatesInput[] + NOT?: Prisma.TaskMemberScalarWhereWithAggregatesInput | Prisma.TaskMemberScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number + uuid?: Prisma.StringWithAggregatesFilter<"TaskMember"> | string + taskId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number + userId?: Prisma.IntWithAggregatesFilter<"TaskMember"> | number +} + +export type TaskMemberCreateInput = { + uuid: string + task: Prisma.TaskCreateNestedOneWithoutMembersInput + user: Prisma.UserCreateNestedOneWithoutTaskMembersInput +} + +export type TaskMemberUncheckedCreateInput = { + id?: number + uuid: string + taskId: number + userId: number +} + +export type TaskMemberUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput + user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput +} + +export type TaskMemberUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number + userId?: Prisma.IntFieldUpdateOperationsInput | number +} + +export type TaskMemberCreateManyInput = { + id?: number + uuid: string + taskId: number + userId: number +} + +export type TaskMemberUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskMemberUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number + userId?: Prisma.IntFieldUpdateOperationsInput | number +} + +export type TaskMemberListRelationFilter = { + every?: Prisma.TaskMemberWhereInput + some?: Prisma.TaskMemberWhereInput + none?: Prisma.TaskMemberWhereInput +} + +export type TaskMemberOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TaskMemberTaskIdUserIdCompoundUniqueInput = { + taskId: number + userId: number +} + +export type TaskMemberCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TaskMemberAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TaskMemberMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TaskMemberMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TaskMemberSumOrderByAggregateInput = { + id?: Prisma.SortOrder + taskId?: Prisma.SortOrder + userId?: Prisma.SortOrder +} + +export type TaskMemberCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutUserInput[] | Prisma.TaskMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutUserInput | Prisma.TaskMemberCreateOrConnectWithoutUserInput[] + createMany?: Prisma.TaskMemberCreateManyUserInputEnvelope + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] +} + +export type TaskMemberUncheckedCreateNestedManyWithoutUserInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutUserInput[] | Prisma.TaskMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutUserInput | Prisma.TaskMemberCreateOrConnectWithoutUserInput[] + createMany?: Prisma.TaskMemberCreateManyUserInputEnvelope + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] +} + +export type TaskMemberUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutUserInput[] | Prisma.TaskMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutUserInput | Prisma.TaskMemberCreateOrConnectWithoutUserInput[] + upsert?: Prisma.TaskMemberUpsertWithWhereUniqueWithoutUserInput | Prisma.TaskMemberUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.TaskMemberCreateManyUserInputEnvelope + set?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + disconnect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + delete?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + update?: Prisma.TaskMemberUpdateWithWhereUniqueWithoutUserInput | Prisma.TaskMemberUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.TaskMemberUpdateManyWithWhereWithoutUserInput | Prisma.TaskMemberUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] +} + +export type TaskMemberUncheckedUpdateManyWithoutUserNestedInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutUserInput[] | Prisma.TaskMemberUncheckedCreateWithoutUserInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutUserInput | Prisma.TaskMemberCreateOrConnectWithoutUserInput[] + upsert?: Prisma.TaskMemberUpsertWithWhereUniqueWithoutUserInput | Prisma.TaskMemberUpsertWithWhereUniqueWithoutUserInput[] + createMany?: Prisma.TaskMemberCreateManyUserInputEnvelope + set?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + disconnect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + delete?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + update?: Prisma.TaskMemberUpdateWithWhereUniqueWithoutUserInput | Prisma.TaskMemberUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: Prisma.TaskMemberUpdateManyWithWhereWithoutUserInput | Prisma.TaskMemberUpdateManyWithWhereWithoutUserInput[] + deleteMany?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] +} + +export type TaskMemberCreateNestedManyWithoutTaskInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutTaskInput[] | Prisma.TaskMemberUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutTaskInput | Prisma.TaskMemberCreateOrConnectWithoutTaskInput[] + createMany?: Prisma.TaskMemberCreateManyTaskInputEnvelope + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] +} + +export type TaskMemberUncheckedCreateNestedManyWithoutTaskInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutTaskInput[] | Prisma.TaskMemberUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutTaskInput | Prisma.TaskMemberCreateOrConnectWithoutTaskInput[] + createMany?: Prisma.TaskMemberCreateManyTaskInputEnvelope + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] +} + +export type TaskMemberUpdateManyWithoutTaskNestedInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutTaskInput[] | Prisma.TaskMemberUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutTaskInput | Prisma.TaskMemberCreateOrConnectWithoutTaskInput[] + upsert?: Prisma.TaskMemberUpsertWithWhereUniqueWithoutTaskInput | Prisma.TaskMemberUpsertWithWhereUniqueWithoutTaskInput[] + createMany?: Prisma.TaskMemberCreateManyTaskInputEnvelope + set?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + disconnect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + delete?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + update?: Prisma.TaskMemberUpdateWithWhereUniqueWithoutTaskInput | Prisma.TaskMemberUpdateWithWhereUniqueWithoutTaskInput[] + updateMany?: Prisma.TaskMemberUpdateManyWithWhereWithoutTaskInput | Prisma.TaskMemberUpdateManyWithWhereWithoutTaskInput[] + deleteMany?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] +} + +export type TaskMemberUncheckedUpdateManyWithoutTaskNestedInput = { + create?: Prisma.XOR | Prisma.TaskMemberCreateWithoutTaskInput[] | Prisma.TaskMemberUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskMemberCreateOrConnectWithoutTaskInput | Prisma.TaskMemberCreateOrConnectWithoutTaskInput[] + upsert?: Prisma.TaskMemberUpsertWithWhereUniqueWithoutTaskInput | Prisma.TaskMemberUpsertWithWhereUniqueWithoutTaskInput[] + createMany?: Prisma.TaskMemberCreateManyTaskInputEnvelope + set?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + disconnect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + delete?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + connect?: Prisma.TaskMemberWhereUniqueInput | Prisma.TaskMemberWhereUniqueInput[] + update?: Prisma.TaskMemberUpdateWithWhereUniqueWithoutTaskInput | Prisma.TaskMemberUpdateWithWhereUniqueWithoutTaskInput[] + updateMany?: Prisma.TaskMemberUpdateManyWithWhereWithoutTaskInput | Prisma.TaskMemberUpdateManyWithWhereWithoutTaskInput[] + deleteMany?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] +} + +export type TaskMemberCreateWithoutUserInput = { + uuid: string + task: Prisma.TaskCreateNestedOneWithoutMembersInput +} + +export type TaskMemberUncheckedCreateWithoutUserInput = { + id?: number + uuid: string + taskId: number +} + +export type TaskMemberCreateOrConnectWithoutUserInput = { + where: Prisma.TaskMemberWhereUniqueInput + create: Prisma.XOR +} + +export type TaskMemberCreateManyUserInputEnvelope = { + data: Prisma.TaskMemberCreateManyUserInput | Prisma.TaskMemberCreateManyUserInput[] + skipDuplicates?: boolean +} + +export type TaskMemberUpsertWithWhereUniqueWithoutUserInput = { + where: Prisma.TaskMemberWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskMemberUpdateWithWhereUniqueWithoutUserInput = { + where: Prisma.TaskMemberWhereUniqueInput + data: Prisma.XOR +} + +export type TaskMemberUpdateManyWithWhereWithoutUserInput = { + where: Prisma.TaskMemberScalarWhereInput + data: Prisma.XOR +} + +export type TaskMemberScalarWhereInput = { + AND?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] + OR?: Prisma.TaskMemberScalarWhereInput[] + NOT?: Prisma.TaskMemberScalarWhereInput | Prisma.TaskMemberScalarWhereInput[] + id?: Prisma.IntFilter<"TaskMember"> | number + uuid?: Prisma.StringFilter<"TaskMember"> | string + taskId?: Prisma.IntFilter<"TaskMember"> | number + userId?: Prisma.IntFilter<"TaskMember"> | number +} + +export type TaskMemberCreateWithoutTaskInput = { + uuid: string + user: Prisma.UserCreateNestedOneWithoutTaskMembersInput +} + +export type TaskMemberUncheckedCreateWithoutTaskInput = { + id?: number + uuid: string + userId: number +} + +export type TaskMemberCreateOrConnectWithoutTaskInput = { + where: Prisma.TaskMemberWhereUniqueInput + create: Prisma.XOR +} + +export type TaskMemberCreateManyTaskInputEnvelope = { + data: Prisma.TaskMemberCreateManyTaskInput | Prisma.TaskMemberCreateManyTaskInput[] + skipDuplicates?: boolean +} + +export type TaskMemberUpsertWithWhereUniqueWithoutTaskInput = { + where: Prisma.TaskMemberWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskMemberUpdateWithWhereUniqueWithoutTaskInput = { + where: Prisma.TaskMemberWhereUniqueInput + data: Prisma.XOR +} + +export type TaskMemberUpdateManyWithWhereWithoutTaskInput = { + where: Prisma.TaskMemberScalarWhereInput + data: Prisma.XOR +} + +export type TaskMemberCreateManyUserInput = { + id?: number + uuid: string + taskId: number +} + +export type TaskMemberUpdateWithoutUserInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + task?: Prisma.TaskUpdateOneRequiredWithoutMembersNestedInput +} + +export type TaskMemberUncheckedUpdateWithoutUserInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number +} + +export type TaskMemberUncheckedUpdateManyWithoutUserInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number +} + +export type TaskMemberCreateManyTaskInput = { + id?: number + uuid: string + userId: number +} + +export type TaskMemberUpdateWithoutTaskInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + user?: Prisma.UserUpdateOneRequiredWithoutTaskMembersNestedInput +} + +export type TaskMemberUncheckedUpdateWithoutTaskInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.IntFieldUpdateOperationsInput | number +} + +export type TaskMemberUncheckedUpdateManyWithoutTaskInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + userId?: Prisma.IntFieldUpdateOperationsInput | number +} + + + +export type TaskMemberSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + userId?: boolean + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["taskMember"]> + +export type TaskMemberSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + userId?: boolean + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["taskMember"]> + +export type TaskMemberSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + userId?: boolean + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +}, ExtArgs["result"]["taskMember"]> + +export type TaskMemberSelectScalar = { + id?: boolean + uuid?: boolean + taskId?: boolean + userId?: boolean +} + +export type TaskMemberOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "taskId" | "userId", ExtArgs["result"]["taskMember"]> +export type TaskMemberInclude = { + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type TaskMemberIncludeCreateManyAndReturn = { + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} +export type TaskMemberIncludeUpdateManyAndReturn = { + task?: boolean | Prisma.TaskDefaultArgs + user?: boolean | Prisma.UserDefaultArgs +} + +export type $TaskMemberPayload = { + name: "TaskMember" + objects: { + task: Prisma.$TaskPayload + user: Prisma.$UserPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + taskId: number + userId: number + }, ExtArgs["result"]["taskMember"]> + composites: {} +} + +export type TaskMemberGetPayload = runtime.Types.Result.GetResult + +export type TaskMemberCountArgs = + Omit & { + select?: TaskMemberCountAggregateInputType | true + } + +export interface TaskMemberDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TaskMember'], meta: { name: 'TaskMember' } } + /** + * Find zero or one TaskMember that matches the filter. + * @param {TaskMemberFindUniqueArgs} args - Arguments to find a TaskMember + * @example + * // Get one TaskMember + * const taskMember = await prisma.taskMember.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TaskMember that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TaskMemberFindUniqueOrThrowArgs} args - Arguments to find a TaskMember + * @example + * // Get one TaskMember + * const taskMember = await prisma.taskMember.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TaskMember that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberFindFirstArgs} args - Arguments to find a TaskMember + * @example + * // Get one TaskMember + * const taskMember = await prisma.taskMember.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TaskMember that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberFindFirstOrThrowArgs} args - Arguments to find a TaskMember + * @example + * // Get one TaskMember + * const taskMember = await prisma.taskMember.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TaskMembers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TaskMembers + * const taskMembers = await prisma.taskMember.findMany() + * + * // Get first 10 TaskMembers + * const taskMembers = await prisma.taskMember.findMany({ take: 10 }) + * + * // Only select the `id` + * const taskMemberWithIdOnly = await prisma.taskMember.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TaskMember. + * @param {TaskMemberCreateArgs} args - Arguments to create a TaskMember. + * @example + * // Create one TaskMember + * const TaskMember = await prisma.taskMember.create({ + * data: { + * // ... data to create a TaskMember + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TaskMembers. + * @param {TaskMemberCreateManyArgs} args - Arguments to create many TaskMembers. + * @example + * // Create many TaskMembers + * const taskMember = await prisma.taskMember.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TaskMember. + * @param {TaskMemberDeleteArgs} args - Arguments to delete one TaskMember. + * @example + * // Delete one TaskMember + * const TaskMember = await prisma.taskMember.delete({ + * where: { + * // ... filter to delete one TaskMember + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TaskMember. + * @param {TaskMemberUpdateArgs} args - Arguments to update one TaskMember. + * @example + * // Update one TaskMember + * const taskMember = await prisma.taskMember.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TaskMembers. + * @param {TaskMemberDeleteManyArgs} args - Arguments to filter TaskMembers to delete. + * @example + * // Delete a few TaskMembers + * const { count } = await prisma.taskMember.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TaskMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TaskMembers + * const taskMember = await prisma.taskMember.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TaskMember. + * @param {TaskMemberUpsertArgs} args - Arguments to update or create a TaskMember. + * @example + * // Update or create a TaskMember + * const taskMember = await prisma.taskMember.upsert({ + * create: { + * // ... data to create a TaskMember + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TaskMember we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TaskMemberClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TaskMembers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberCountArgs} args - Arguments to filter TaskMembers to count. + * @example + * // Count the number of TaskMembers + * const count = await prisma.taskMember.count({ + * where: { + * // ... the filter for the TaskMembers we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TaskMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by TaskMember. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskMemberGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends TaskMemberGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TaskMemberGroupByArgs['orderBy'] } + : { orderBy?: TaskMemberGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTaskMemberGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the TaskMember model + */ +readonly fields: TaskMemberFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for TaskMember. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__TaskMemberClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + task = {}>(args?: Prisma.Subset>): Prisma.Prisma__TaskClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + user = {}>(args?: Prisma.Subset>): Prisma.Prisma__UserClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the TaskMember model + */ +export interface TaskMemberFieldRefs { + readonly id: Prisma.FieldRef<"TaskMember", 'Int'> + readonly uuid: Prisma.FieldRef<"TaskMember", 'String'> + readonly taskId: Prisma.FieldRef<"TaskMember", 'Int'> + readonly userId: Prisma.FieldRef<"TaskMember", 'Int'> +} + + +// Custom InputTypes +/** + * TaskMember findUnique + */ +export type TaskMemberFindUniqueArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter, which TaskMember to fetch. + */ + where: Prisma.TaskMemberWhereUniqueInput +} + +/** + * TaskMember findUniqueOrThrow + */ +export type TaskMemberFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter, which TaskMember to fetch. + */ + where: Prisma.TaskMemberWhereUniqueInput +} + +/** + * TaskMember findFirst + */ +export type TaskMemberFindFirstArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter, which TaskMember to fetch. + */ + where?: Prisma.TaskMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskMembers to fetch. + */ + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TaskMembers. + */ + cursor?: Prisma.TaskMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskMembers. + */ + distinct?: Prisma.TaskMemberScalarFieldEnum | Prisma.TaskMemberScalarFieldEnum[] +} + +/** + * TaskMember findFirstOrThrow + */ +export type TaskMemberFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter, which TaskMember to fetch. + */ + where?: Prisma.TaskMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskMembers to fetch. + */ + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TaskMembers. + */ + cursor?: Prisma.TaskMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskMembers. + */ + distinct?: Prisma.TaskMemberScalarFieldEnum | Prisma.TaskMemberScalarFieldEnum[] +} + +/** + * TaskMember findMany + */ +export type TaskMemberFindManyArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter, which TaskMembers to fetch. + */ + where?: Prisma.TaskMemberWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskMembers to fetch. + */ + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TaskMembers. + */ + cursor?: Prisma.TaskMemberWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskMembers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskMembers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskMembers. + */ + distinct?: Prisma.TaskMemberScalarFieldEnum | Prisma.TaskMemberScalarFieldEnum[] +} + +/** + * TaskMember create + */ +export type TaskMemberCreateArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * The data needed to create a TaskMember. + */ + data: Prisma.XOR +} + +/** + * TaskMember createMany + */ +export type TaskMemberCreateManyArgs = { + /** + * The data used to create many TaskMembers. + */ + data: Prisma.TaskMemberCreateManyInput | Prisma.TaskMemberCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * TaskMember createManyAndReturn + */ +export type TaskMemberCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | 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 | null +} + +/** + * TaskMember update + */ +export type TaskMemberUpdateArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * The data needed to update a TaskMember. + */ + data: Prisma.XOR + /** + * Choose, which TaskMember to update. + */ + where: Prisma.TaskMemberWhereUniqueInput +} + +/** + * TaskMember updateMany + */ +export type TaskMemberUpdateManyArgs = { + /** + * The data used to update TaskMembers. + */ + data: Prisma.XOR + /** + * Filter which TaskMembers to update + */ + where?: Prisma.TaskMemberWhereInput + /** + * Limit how many TaskMembers to update. + */ + limit?: number +} + +/** + * TaskMember updateManyAndReturn + */ +export type TaskMemberUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * The data used to update TaskMembers. + */ + data: Prisma.XOR + /** + * 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 | null +} + +/** + * TaskMember upsert + */ +export type TaskMemberUpsertArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * The filter to search for the TaskMember to update in case it exists. + */ + where: Prisma.TaskMemberWhereUniqueInput + /** + * In case the TaskMember found by the `where` argument doesn't exist, create a new TaskMember with this data. + */ + create: Prisma.XOR + /** + * In case the TaskMember was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * TaskMember delete + */ +export type TaskMemberDeleteArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + /** + * Filter which TaskMember to delete. + */ + where: Prisma.TaskMemberWhereUniqueInput +} + +/** + * TaskMember deleteMany + */ +export type TaskMemberDeleteManyArgs = { + /** + * Filter which TaskMembers to delete + */ + where?: Prisma.TaskMemberWhereInput + /** + * Limit how many TaskMembers to delete. + */ + limit?: number +} + +/** + * TaskMember without action + */ +export type TaskMemberDefaultArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null +} diff --git a/generated/prisma/models/TaskTag.ts b/generated/prisma/models/TaskTag.ts new file mode 100644 index 0000000..3e34229 --- /dev/null +++ b/generated/prisma/models/TaskTag.ts @@ -0,0 +1,1355 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! */ +/* eslint-disable */ +// biome-ignore-all lint: generated file +// @ts-nocheck +/* + * This file exports the `TaskTag` model and its related types. + * + * 🟢 You can import this file directly. + */ +import type * as runtime from "@prisma/client/runtime/client" +import type * as $Enums from "../enums.ts" +import type * as Prisma from "../internal/prismaNamespace.ts" + +/** + * Model TaskTag + * + */ +export type TaskTagModel = runtime.Types.Result.DefaultSelection + +export type AggregateTaskTag = { + _count: TaskTagCountAggregateOutputType | null + _avg: TaskTagAvgAggregateOutputType | null + _sum: TaskTagSumAggregateOutputType | null + _min: TaskTagMinAggregateOutputType | null + _max: TaskTagMaxAggregateOutputType | null +} + +export type TaskTagAvgAggregateOutputType = { + id: number | null + taskId: number | null +} + +export type TaskTagSumAggregateOutputType = { + id: number | null + taskId: number | null +} + +export type TaskTagMinAggregateOutputType = { + id: number | null + uuid: string | null + taskId: number | null + name: string | null +} + +export type TaskTagMaxAggregateOutputType = { + id: number | null + uuid: string | null + taskId: number | null + name: string | null +} + +export type TaskTagCountAggregateOutputType = { + id: number + uuid: number + taskId: number + name: number + _all: number +} + + +export type TaskTagAvgAggregateInputType = { + id?: true + taskId?: true +} + +export type TaskTagSumAggregateInputType = { + id?: true + taskId?: true +} + +export type TaskTagMinAggregateInputType = { + id?: true + uuid?: true + taskId?: true + name?: true +} + +export type TaskTagMaxAggregateInputType = { + id?: true + uuid?: true + taskId?: true + name?: true +} + +export type TaskTagCountAggregateInputType = { + id?: true + uuid?: true + taskId?: true + name?: true + _all?: true +} + +export type TaskTagAggregateArgs = { + /** + * Filter which TaskTag to aggregate. + */ + where?: Prisma.TaskTagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskTags to fetch. + */ + orderBy?: Prisma.TaskTagOrderByWithRelationInput | Prisma.TaskTagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: Prisma.TaskTagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskTags from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskTags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TaskTags + **/ + _count?: true | TaskTagCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: TaskTagAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: TaskTagSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TaskTagMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TaskTagMaxAggregateInputType +} + +export type GetTaskTagAggregateType = { + [P in keyof T & keyof AggregateTaskTag]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType +} + + + + +export type TaskTagGroupByArgs = { + where?: Prisma.TaskTagWhereInput + orderBy?: Prisma.TaskTagOrderByWithAggregationInput | Prisma.TaskTagOrderByWithAggregationInput[] + by: Prisma.TaskTagScalarFieldEnum[] | Prisma.TaskTagScalarFieldEnum + having?: Prisma.TaskTagScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TaskTagCountAggregateInputType | true + _avg?: TaskTagAvgAggregateInputType + _sum?: TaskTagSumAggregateInputType + _min?: TaskTagMinAggregateInputType + _max?: TaskTagMaxAggregateInputType +} + +export type TaskTagGroupByOutputType = { + id: number + uuid: string + taskId: number + name: string + _count: TaskTagCountAggregateOutputType | null + _avg: TaskTagAvgAggregateOutputType | null + _sum: TaskTagSumAggregateOutputType | null + _min: TaskTagMinAggregateOutputType | null + _max: TaskTagMaxAggregateOutputType | null +} + +export type GetTaskTagGroupByPayload = Prisma.PrismaPromise< + Array< + Prisma.PickEnumerable & + { + [P in ((keyof T) & (keyof TaskTagGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : Prisma.GetScalarType + : Prisma.GetScalarType + } + > + > + + + +export type TaskTagWhereInput = { + AND?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[] + OR?: Prisma.TaskTagWhereInput[] + NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[] + id?: Prisma.IntFilter<"TaskTag"> | number + uuid?: Prisma.StringFilter<"TaskTag"> | string + taskId?: Prisma.IntFilter<"TaskTag"> | number + name?: Prisma.StringFilter<"TaskTag"> | string + task?: Prisma.XOR +} + +export type TaskTagOrderByWithRelationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + name?: Prisma.SortOrder + task?: Prisma.TaskOrderByWithRelationInput +} + +export type TaskTagWhereUniqueInput = Prisma.AtLeast<{ + id?: number + uuid?: string + AND?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[] + OR?: Prisma.TaskTagWhereInput[] + NOT?: Prisma.TaskTagWhereInput | Prisma.TaskTagWhereInput[] + taskId?: Prisma.IntFilter<"TaskTag"> | number + name?: Prisma.StringFilter<"TaskTag"> | string + task?: Prisma.XOR +}, "id" | "uuid"> + +export type TaskTagOrderByWithAggregationInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + name?: Prisma.SortOrder + _count?: Prisma.TaskTagCountOrderByAggregateInput + _avg?: Prisma.TaskTagAvgOrderByAggregateInput + _max?: Prisma.TaskTagMaxOrderByAggregateInput + _min?: Prisma.TaskTagMinOrderByAggregateInput + _sum?: Prisma.TaskTagSumOrderByAggregateInput +} + +export type TaskTagScalarWhereWithAggregatesInput = { + AND?: Prisma.TaskTagScalarWhereWithAggregatesInput | Prisma.TaskTagScalarWhereWithAggregatesInput[] + OR?: Prisma.TaskTagScalarWhereWithAggregatesInput[] + NOT?: Prisma.TaskTagScalarWhereWithAggregatesInput | Prisma.TaskTagScalarWhereWithAggregatesInput[] + id?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number + uuid?: Prisma.StringWithAggregatesFilter<"TaskTag"> | string + taskId?: Prisma.IntWithAggregatesFilter<"TaskTag"> | number + name?: Prisma.StringWithAggregatesFilter<"TaskTag"> | string +} + +export type TaskTagCreateInput = { + uuid: string + name: string + task: Prisma.TaskCreateNestedOneWithoutTagsInput +} + +export type TaskTagUncheckedCreateInput = { + id?: number + uuid: string + taskId: number + name: string +} + +export type TaskTagUpdateInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string + task?: Prisma.TaskUpdateOneRequiredWithoutTagsNestedInput +} + +export type TaskTagUncheckedUpdateInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskTagCreateManyInput = { + id?: number + uuid: string + taskId: number + name: string +} + +export type TaskTagUpdateManyMutationInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskTagUncheckedUpdateManyInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + taskId?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskTagListRelationFilter = { + every?: Prisma.TaskTagWhereInput + some?: Prisma.TaskTagWhereInput + none?: Prisma.TaskTagWhereInput +} + +export type TaskTagOrderByRelationAggregateInput = { + _count?: Prisma.SortOrder +} + +export type TaskTagCountOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type TaskTagAvgOrderByAggregateInput = { + id?: Prisma.SortOrder + taskId?: Prisma.SortOrder +} + +export type TaskTagMaxOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type TaskTagMinOrderByAggregateInput = { + id?: Prisma.SortOrder + uuid?: Prisma.SortOrder + taskId?: Prisma.SortOrder + name?: Prisma.SortOrder +} + +export type TaskTagSumOrderByAggregateInput = { + id?: Prisma.SortOrder + taskId?: Prisma.SortOrder +} + +export type TaskTagCreateNestedManyWithoutTaskInput = { + create?: Prisma.XOR | Prisma.TaskTagCreateWithoutTaskInput[] | Prisma.TaskTagUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskTagCreateOrConnectWithoutTaskInput | Prisma.TaskTagCreateOrConnectWithoutTaskInput[] + createMany?: Prisma.TaskTagCreateManyTaskInputEnvelope + connect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] +} + +export type TaskTagUncheckedCreateNestedManyWithoutTaskInput = { + create?: Prisma.XOR | Prisma.TaskTagCreateWithoutTaskInput[] | Prisma.TaskTagUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskTagCreateOrConnectWithoutTaskInput | Prisma.TaskTagCreateOrConnectWithoutTaskInput[] + createMany?: Prisma.TaskTagCreateManyTaskInputEnvelope + connect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] +} + +export type TaskTagUpdateManyWithoutTaskNestedInput = { + create?: Prisma.XOR | Prisma.TaskTagCreateWithoutTaskInput[] | Prisma.TaskTagUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskTagCreateOrConnectWithoutTaskInput | Prisma.TaskTagCreateOrConnectWithoutTaskInput[] + upsert?: Prisma.TaskTagUpsertWithWhereUniqueWithoutTaskInput | Prisma.TaskTagUpsertWithWhereUniqueWithoutTaskInput[] + createMany?: Prisma.TaskTagCreateManyTaskInputEnvelope + set?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + disconnect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + delete?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + connect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + update?: Prisma.TaskTagUpdateWithWhereUniqueWithoutTaskInput | Prisma.TaskTagUpdateWithWhereUniqueWithoutTaskInput[] + updateMany?: Prisma.TaskTagUpdateManyWithWhereWithoutTaskInput | Prisma.TaskTagUpdateManyWithWhereWithoutTaskInput[] + deleteMany?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[] +} + +export type TaskTagUncheckedUpdateManyWithoutTaskNestedInput = { + create?: Prisma.XOR | Prisma.TaskTagCreateWithoutTaskInput[] | Prisma.TaskTagUncheckedCreateWithoutTaskInput[] + connectOrCreate?: Prisma.TaskTagCreateOrConnectWithoutTaskInput | Prisma.TaskTagCreateOrConnectWithoutTaskInput[] + upsert?: Prisma.TaskTagUpsertWithWhereUniqueWithoutTaskInput | Prisma.TaskTagUpsertWithWhereUniqueWithoutTaskInput[] + createMany?: Prisma.TaskTagCreateManyTaskInputEnvelope + set?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + disconnect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + delete?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + connect?: Prisma.TaskTagWhereUniqueInput | Prisma.TaskTagWhereUniqueInput[] + update?: Prisma.TaskTagUpdateWithWhereUniqueWithoutTaskInput | Prisma.TaskTagUpdateWithWhereUniqueWithoutTaskInput[] + updateMany?: Prisma.TaskTagUpdateManyWithWhereWithoutTaskInput | Prisma.TaskTagUpdateManyWithWhereWithoutTaskInput[] + deleteMany?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[] +} + +export type TaskTagCreateWithoutTaskInput = { + uuid: string + name: string +} + +export type TaskTagUncheckedCreateWithoutTaskInput = { + id?: number + uuid: string + name: string +} + +export type TaskTagCreateOrConnectWithoutTaskInput = { + where: Prisma.TaskTagWhereUniqueInput + create: Prisma.XOR +} + +export type TaskTagCreateManyTaskInputEnvelope = { + data: Prisma.TaskTagCreateManyTaskInput | Prisma.TaskTagCreateManyTaskInput[] + skipDuplicates?: boolean +} + +export type TaskTagUpsertWithWhereUniqueWithoutTaskInput = { + where: Prisma.TaskTagWhereUniqueInput + update: Prisma.XOR + create: Prisma.XOR +} + +export type TaskTagUpdateWithWhereUniqueWithoutTaskInput = { + where: Prisma.TaskTagWhereUniqueInput + data: Prisma.XOR +} + +export type TaskTagUpdateManyWithWhereWithoutTaskInput = { + where: Prisma.TaskTagScalarWhereInput + data: Prisma.XOR +} + +export type TaskTagScalarWhereInput = { + AND?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[] + OR?: Prisma.TaskTagScalarWhereInput[] + NOT?: Prisma.TaskTagScalarWhereInput | Prisma.TaskTagScalarWhereInput[] + id?: Prisma.IntFilter<"TaskTag"> | number + uuid?: Prisma.StringFilter<"TaskTag"> | string + taskId?: Prisma.IntFilter<"TaskTag"> | number + name?: Prisma.StringFilter<"TaskTag"> | string +} + +export type TaskTagCreateManyTaskInput = { + id?: number + uuid: string + name: string +} + +export type TaskTagUpdateWithoutTaskInput = { + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskTagUncheckedUpdateWithoutTaskInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + +export type TaskTagUncheckedUpdateManyWithoutTaskInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + uuid?: Prisma.StringFieldUpdateOperationsInput | string + name?: Prisma.StringFieldUpdateOperationsInput | string +} + + + +export type TaskTagSelect = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + name?: boolean + task?: boolean | Prisma.TaskDefaultArgs +}, ExtArgs["result"]["taskTag"]> + +export type TaskTagSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + name?: boolean + task?: boolean | Prisma.TaskDefaultArgs +}, ExtArgs["result"]["taskTag"]> + +export type TaskTagSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + uuid?: boolean + taskId?: boolean + name?: boolean + task?: boolean | Prisma.TaskDefaultArgs +}, ExtArgs["result"]["taskTag"]> + +export type TaskTagSelectScalar = { + id?: boolean + uuid?: boolean + taskId?: boolean + name?: boolean +} + +export type TaskTagOmit = runtime.Types.Extensions.GetOmit<"id" | "uuid" | "taskId" | "name", ExtArgs["result"]["taskTag"]> +export type TaskTagInclude = { + task?: boolean | Prisma.TaskDefaultArgs +} +export type TaskTagIncludeCreateManyAndReturn = { + task?: boolean | Prisma.TaskDefaultArgs +} +export type TaskTagIncludeUpdateManyAndReturn = { + task?: boolean | Prisma.TaskDefaultArgs +} + +export type $TaskTagPayload = { + name: "TaskTag" + objects: { + task: Prisma.$TaskPayload + } + scalars: runtime.Types.Extensions.GetPayloadResult<{ + id: number + uuid: string + taskId: number + name: string + }, ExtArgs["result"]["taskTag"]> + composites: {} +} + +export type TaskTagGetPayload = runtime.Types.Result.GetResult + +export type TaskTagCountArgs = + Omit & { + select?: TaskTagCountAggregateInputType | true + } + +export interface TaskTagDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TaskTag'], meta: { name: 'TaskTag' } } + /** + * Find zero or one TaskTag that matches the filter. + * @param {TaskTagFindUniqueArgs} args - Arguments to find a TaskTag + * @example + * // Get one TaskTag + * const taskTag = await prisma.taskTag.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TaskTag that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TaskTagFindUniqueOrThrowArgs} args - Arguments to find a TaskTag + * @example + * // Get one TaskTag + * const taskTag = await prisma.taskTag.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TaskTag that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagFindFirstArgs} args - Arguments to find a TaskTag + * @example + * // Get one TaskTag + * const taskTag = await prisma.taskTag.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TaskTag that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagFindFirstOrThrowArgs} args - Arguments to find a TaskTag + * @example + * // Get one TaskTag + * const taskTag = await prisma.taskTag.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TaskTags that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TaskTags + * const taskTags = await prisma.taskTag.findMany() + * + * // Get first 10 TaskTags + * const taskTags = await prisma.taskTag.findMany({ take: 10 }) + * + * // Only select the `id` + * const taskTagWithIdOnly = await prisma.taskTag.findMany({ select: { id: true } }) + * + */ + findMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TaskTag. + * @param {TaskTagCreateArgs} args - Arguments to create a TaskTag. + * @example + * // Create one TaskTag + * const TaskTag = await prisma.taskTag.create({ + * data: { + * // ... data to create a TaskTag + * } + * }) + * + */ + create(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TaskTags. + * @param {TaskTagCreateManyArgs} args - Arguments to create many TaskTags. + * @example + * // Create many TaskTags + * const taskTag = await prisma.taskTag.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TaskTag. + * @param {TaskTagDeleteArgs} args - Arguments to delete one TaskTag. + * @example + * // Delete one TaskTag + * const TaskTag = await prisma.taskTag.delete({ + * where: { + * // ... filter to delete one TaskTag + * } + * }) + * + */ + delete(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TaskTag. + * @param {TaskTagUpdateArgs} args - Arguments to update one TaskTag. + * @example + * // Update one TaskTag + * const taskTag = await prisma.taskTag.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TaskTags. + * @param {TaskTagDeleteManyArgs} args - Arguments to filter TaskTags to delete. + * @example + * // Delete a few TaskTags + * const { count } = await prisma.taskTag.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TaskTags. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TaskTags + * const taskTag = await prisma.taskTag.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: Prisma.SelectSubset>): Prisma.PrismaPromise + + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TaskTag. + * @param {TaskTagUpsertArgs} args - Arguments to update or create a TaskTag. + * @example + * // Update or create a TaskTag + * const taskTag = await prisma.taskTag.upsert({ + * create: { + * // ... data to create a TaskTag + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TaskTag we want to update + * } + * }) + */ + upsert(args: Prisma.SelectSubset>): Prisma.Prisma__TaskTagClient, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TaskTags. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagCountArgs} args - Arguments to filter TaskTags to count. + * @example + * // Count the number of TaskTags + * const count = await prisma.taskTag.count({ + * where: { + * // ... the filter for the TaskTags we want to count + * } + * }) + **/ + count( + args?: Prisma.Subset, + ): Prisma.PrismaPromise< + T extends runtime.Types.Utils.Record<'select', any> + ? T['select'] extends true + ? number + : Prisma.GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TaskTag. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Prisma.Subset): Prisma.PrismaPromise> + + /** + * Group by TaskTag. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TaskTagGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends TaskTagGroupByArgs, + HasSelectOrTake extends Prisma.Or< + Prisma.Extends<'skip', Prisma.Keys>, + Prisma.Extends<'take', Prisma.Keys> + >, + OrderByArg extends Prisma.True extends HasSelectOrTake + ? { orderBy: TaskTagGroupByArgs['orderBy'] } + : { orderBy?: TaskTagGroupByArgs['orderBy'] }, + OrderFields extends Prisma.ExcludeUnderscoreKeys>>, + ByFields extends Prisma.MaybeTupleToUnion, + ByValid extends Prisma.Has, + HavingFields extends Prisma.GetHavingFields, + HavingValid extends Prisma.Has, + ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, + InputErrors extends ByEmpty extends Prisma.True + ? `Error: "by" must not be empty.` + : HavingValid extends Prisma.False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Prisma.Keys + ? 'orderBy' extends Prisma.Keys + ? ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends Prisma.True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: Prisma.SubsetIntersection & InputErrors): {} extends InputErrors ? GetTaskTagGroupByPayload : Prisma.PrismaPromise +/** + * Fields of the TaskTag model + */ +readonly fields: TaskTagFieldRefs; +} + +/** + * The delegate class that acts as a "Promise-like" for TaskTag. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ +export interface Prisma__TaskTagClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + task = {}>(args?: Prisma.Subset>): Prisma.Prisma__TaskClient, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): runtime.Types.Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise +} + + + + +/** + * Fields of the TaskTag model + */ +export interface TaskTagFieldRefs { + readonly id: Prisma.FieldRef<"TaskTag", 'Int'> + readonly uuid: Prisma.FieldRef<"TaskTag", 'String'> + readonly taskId: Prisma.FieldRef<"TaskTag", 'Int'> + readonly name: Prisma.FieldRef<"TaskTag", 'String'> +} + + +// Custom InputTypes +/** + * TaskTag findUnique + */ +export type TaskTagFindUniqueArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter, which TaskTag to fetch. + */ + where: Prisma.TaskTagWhereUniqueInput +} + +/** + * TaskTag findUniqueOrThrow + */ +export type TaskTagFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter, which TaskTag to fetch. + */ + where: Prisma.TaskTagWhereUniqueInput +} + +/** + * TaskTag findFirst + */ +export type TaskTagFindFirstArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter, which TaskTag to fetch. + */ + where?: Prisma.TaskTagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskTags to fetch. + */ + orderBy?: Prisma.TaskTagOrderByWithRelationInput | Prisma.TaskTagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TaskTags. + */ + cursor?: Prisma.TaskTagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskTags from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskTags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskTags. + */ + distinct?: Prisma.TaskTagScalarFieldEnum | Prisma.TaskTagScalarFieldEnum[] +} + +/** + * TaskTag findFirstOrThrow + */ +export type TaskTagFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter, which TaskTag to fetch. + */ + where?: Prisma.TaskTagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskTags to fetch. + */ + orderBy?: Prisma.TaskTagOrderByWithRelationInput | Prisma.TaskTagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TaskTags. + */ + cursor?: Prisma.TaskTagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskTags from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskTags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskTags. + */ + distinct?: Prisma.TaskTagScalarFieldEnum | Prisma.TaskTagScalarFieldEnum[] +} + +/** + * TaskTag findMany + */ +export type TaskTagFindManyArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter, which TaskTags to fetch. + */ + where?: Prisma.TaskTagWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TaskTags to fetch. + */ + orderBy?: Prisma.TaskTagOrderByWithRelationInput | Prisma.TaskTagOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TaskTags. + */ + cursor?: Prisma.TaskTagWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TaskTags from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TaskTags. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TaskTags. + */ + distinct?: Prisma.TaskTagScalarFieldEnum | Prisma.TaskTagScalarFieldEnum[] +} + +/** + * TaskTag create + */ +export type TaskTagCreateArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * The data needed to create a TaskTag. + */ + data: Prisma.XOR +} + +/** + * TaskTag createMany + */ +export type TaskTagCreateManyArgs = { + /** + * The data used to create many TaskTags. + */ + data: Prisma.TaskTagCreateManyInput | Prisma.TaskTagCreateManyInput[] + skipDuplicates?: boolean +} + +/** + * TaskTag createManyAndReturn + */ +export type TaskTagCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | 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 | null +} + +/** + * TaskTag update + */ +export type TaskTagUpdateArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * The data needed to update a TaskTag. + */ + data: Prisma.XOR + /** + * Choose, which TaskTag to update. + */ + where: Prisma.TaskTagWhereUniqueInput +} + +/** + * TaskTag updateMany + */ +export type TaskTagUpdateManyArgs = { + /** + * The data used to update TaskTags. + */ + data: Prisma.XOR + /** + * Filter which TaskTags to update + */ + where?: Prisma.TaskTagWhereInput + /** + * Limit how many TaskTags to update. + */ + limit?: number +} + +/** + * TaskTag updateManyAndReturn + */ +export type TaskTagUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * The data used to update TaskTags. + */ + data: Prisma.XOR + /** + * 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 | null +} + +/** + * TaskTag upsert + */ +export type TaskTagUpsertArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * The filter to search for the TaskTag to update in case it exists. + */ + where: Prisma.TaskTagWhereUniqueInput + /** + * In case the TaskTag found by the `where` argument doesn't exist, create a new TaskTag with this data. + */ + create: Prisma.XOR + /** + * In case the TaskTag was found with the provided `where` argument, update it with this data. + */ + update: Prisma.XOR +} + +/** + * TaskTag delete + */ +export type TaskTagDeleteArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null + /** + * Filter which TaskTag to delete. + */ + where: Prisma.TaskTagWhereUniqueInput +} + +/** + * TaskTag deleteMany + */ +export type TaskTagDeleteManyArgs = { + /** + * Filter which TaskTags to delete + */ + where?: Prisma.TaskTagWhereInput + /** + * Limit how many TaskTags to delete. + */ + limit?: number +} + +/** + * TaskTag without action + */ +export type TaskTagDefaultArgs = { + /** + * Select specific fields to fetch from the TaskTag + */ + select?: Prisma.TaskTagSelect | null + /** + * Omit specific fields from the TaskTag + */ + omit?: Prisma.TaskTagOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskTagInclude | null +} diff --git a/generated/prisma/models/User.ts b/generated/prisma/models/User.ts index 3f166ca..b3f6961 100644 --- a/generated/prisma/models/User.ts +++ b/generated/prisma/models/User.ts @@ -228,6 +228,11 @@ export type UserWhereInput = { checkIns?: Prisma.CheckInListRelationFilter checkLists?: Prisma.CheckListListRelationFilter templates?: Prisma.CheckListTemplateListRelationFilter + ownedProjects?: Prisma.ProjectListRelationFilter + projectMembers?: Prisma.ProjectMemberListRelationFilter + assignedTasks?: Prisma.TaskListRelationFilter + createdTasks?: Prisma.TaskListRelationFilter + taskMembers?: Prisma.TaskMemberListRelationFilter } export type UserOrderByWithRelationInput = { @@ -241,7 +246,11 @@ export type UserOrderByWithRelationInput = { checkIns?: Prisma.CheckInOrderByRelationAggregateInput checkLists?: Prisma.CheckListOrderByRelationAggregateInput templates?: Prisma.CheckListTemplateOrderByRelationAggregateInput - _relevance?: Prisma.UserOrderByRelevanceInput + ownedProjects?: Prisma.ProjectOrderByRelationAggregateInput + projectMembers?: Prisma.ProjectMemberOrderByRelationAggregateInput + assignedTasks?: Prisma.TaskOrderByRelationAggregateInput + createdTasks?: Prisma.TaskOrderByRelationAggregateInput + taskMembers?: Prisma.TaskMemberOrderByRelationAggregateInput } export type UserWhereUniqueInput = Prisma.AtLeast<{ @@ -258,6 +267,11 @@ export type UserWhereUniqueInput = Prisma.AtLeast<{ checkIns?: Prisma.CheckInListRelationFilter checkLists?: Prisma.CheckListListRelationFilter templates?: Prisma.CheckListTemplateListRelationFilter + ownedProjects?: Prisma.ProjectListRelationFilter + projectMembers?: Prisma.ProjectMemberListRelationFilter + assignedTasks?: Prisma.TaskListRelationFilter + createdTasks?: Prisma.TaskListRelationFilter + taskMembers?: Prisma.TaskMemberListRelationFilter }, "id" | "email"> export type UserOrderByWithAggregationInput = { @@ -296,6 +310,11 @@ export type UserCreateInput = { checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput } export type UserUncheckedCreateInput = { @@ -309,6 +328,11 @@ export type UserUncheckedCreateInput = { checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput } export type UserUpdateInput = { @@ -321,6 +345,11 @@ export type UserUpdateInput = { checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateInput = { @@ -334,6 +363,11 @@ export type UserUncheckedUpdateInput = { checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateManyInput = { @@ -362,12 +396,6 @@ export type UserUncheckedUpdateManyInput = { updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string } -export type UserOrderByRelevanceInput = { - fields: Prisma.UserOrderByRelevanceFieldEnum | Prisma.UserOrderByRelevanceFieldEnum[] - sort: Prisma.SortOrder - search: string -} - export type UserCountOrderByAggregateInput = { id?: Prisma.SortOrder name?: Prisma.SortOrder @@ -487,6 +515,78 @@ export type UserUpdateOneWithoutTemplatesNestedInput = { update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutTemplatesInput> } +export type UserCreateNestedOneWithoutOwnedProjectsInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutOwnedProjectsInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutOwnedProjectsNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutOwnedProjectsInput + upsert?: Prisma.UserUpsertWithoutOwnedProjectsInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutOwnedProjectsInput> +} + +export type UserCreateNestedOneWithoutProjectMembersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutProjectMembersInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutProjectMembersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutProjectMembersInput + upsert?: Prisma.UserUpsertWithoutProjectMembersInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutProjectMembersInput> +} + +export type UserCreateNestedOneWithoutAssignedTasksInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAssignedTasksInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserCreateNestedOneWithoutCreatedTasksInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutCreatedTasksInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneWithoutAssignedTasksNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutAssignedTasksInput + upsert?: Prisma.UserUpsertWithoutAssignedTasksInput + disconnect?: Prisma.UserWhereInput | boolean + delete?: Prisma.UserWhereInput | boolean + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutAssignedTasksInput> +} + +export type UserUpdateOneRequiredWithoutCreatedTasksNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutCreatedTasksInput + upsert?: Prisma.UserUpsertWithoutCreatedTasksInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutCreatedTasksInput> +} + +export type UserCreateNestedOneWithoutTaskMembersInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutTaskMembersInput + connect?: Prisma.UserWhereUniqueInput +} + +export type UserUpdateOneRequiredWithoutTaskMembersNestedInput = { + create?: Prisma.XOR + connectOrCreate?: Prisma.UserCreateOrConnectWithoutTaskMembersInput + upsert?: Prisma.UserUpsertWithoutTaskMembersInput + connect?: Prisma.UserWhereUniqueInput + update?: Prisma.XOR, Prisma.UserUncheckedUpdateWithoutTaskMembersInput> +} + export type UserCreateWithoutHabitsInput = { name: string email: string @@ -496,6 +596,11 @@ export type UserCreateWithoutHabitsInput = { checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutHabitsInput = { @@ -508,6 +613,11 @@ export type UserUncheckedCreateWithoutHabitsInput = { checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutHabitsInput = { @@ -535,6 +645,11 @@ export type UserUpdateWithoutHabitsInput = { checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutHabitsInput = { @@ -547,6 +662,11 @@ export type UserUncheckedUpdateWithoutHabitsInput = { checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutCheckInsInput = { @@ -558,6 +678,11 @@ export type UserCreateWithoutCheckInsInput = { habits?: Prisma.HabitCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutCheckInsInput = { @@ -570,6 +695,11 @@ export type UserUncheckedCreateWithoutCheckInsInput = { habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutCheckInsInput = { @@ -597,6 +727,11 @@ export type UserUpdateWithoutCheckInsInput = { habits?: Prisma.HabitUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutCheckInsInput = { @@ -609,6 +744,11 @@ export type UserUncheckedUpdateWithoutCheckInsInput = { habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutCheckListsInput = { @@ -620,6 +760,11 @@ export type UserCreateWithoutCheckListsInput = { habits?: Prisma.HabitCreateNestedManyWithoutUserInput checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutCheckListsInput = { @@ -632,6 +777,11 @@ export type UserUncheckedCreateWithoutCheckListsInput = { habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutCheckListsInput = { @@ -659,6 +809,11 @@ export type UserUpdateWithoutCheckListsInput = { habits?: Prisma.HabitUpdateManyWithoutUserNestedInput checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutCheckListsInput = { @@ -671,6 +826,11 @@ export type UserUncheckedUpdateWithoutCheckListsInput = { habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput } export type UserCreateWithoutTemplatesInput = { @@ -682,6 +842,11 @@ export type UserCreateWithoutTemplatesInput = { habits?: Prisma.HabitCreateNestedManyWithoutUserInput checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput } export type UserUncheckedCreateWithoutTemplatesInput = { @@ -694,6 +859,11 @@ export type UserUncheckedCreateWithoutTemplatesInput = { habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput } export type UserCreateOrConnectWithoutTemplatesInput = { @@ -721,6 +891,11 @@ export type UserUpdateWithoutTemplatesInput = { habits?: Prisma.HabitUpdateManyWithoutUserNestedInput checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput } export type UserUncheckedUpdateWithoutTemplatesInput = { @@ -733,6 +908,421 @@ export type UserUncheckedUpdateWithoutTemplatesInput = { habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutOwnedProjectsInput = { + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutOwnedProjectsInput = { + id?: number + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutOwnedProjectsInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutOwnedProjectsInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutOwnedProjectsInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutOwnedProjectsInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutOwnedProjectsInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutProjectMembersInput = { + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutProjectMembersInput = { + id?: number + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutProjectMembersInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutProjectMembersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutProjectMembersInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutProjectMembersInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutProjectMembersInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutAssignedTasksInput = { + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutAssignedTasksInput = { + id?: number + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutAssignedTasksInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserCreateWithoutCreatedTasksInput = { + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + taskMembers?: Prisma.TaskMemberCreateNestedManyWithoutUserInput +} + +export type UserUncheckedCreateWithoutCreatedTasksInput = { + id?: number + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + taskMembers?: Prisma.TaskMemberUncheckedCreateNestedManyWithoutUserInput +} + +export type UserCreateOrConnectWithoutCreatedTasksInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutAssignedTasksInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutAssignedTasksInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutAssignedTasksInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutAssignedTasksInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserUpsertWithoutCreatedTasksInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutCreatedTasksInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutCreatedTasksInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + taskMembers?: Prisma.TaskMemberUpdateManyWithoutUserNestedInput +} + +export type UserUncheckedUpdateWithoutCreatedTasksInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + taskMembers?: Prisma.TaskMemberUncheckedUpdateManyWithoutUserNestedInput +} + +export type UserCreateWithoutTaskMembersInput = { + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskCreateNestedManyWithoutCreatorInput +} + +export type UserUncheckedCreateWithoutTaskMembersInput = { + id?: number + name: string + email: string + password: string + createdAt?: Date | string + updatedAt?: Date | string + habits?: Prisma.HabitUncheckedCreateNestedManyWithoutUserInput + checkIns?: Prisma.CheckInUncheckedCreateNestedManyWithoutUserInput + checkLists?: Prisma.CheckListUncheckedCreateNestedManyWithoutUserInput + templates?: Prisma.CheckListTemplateUncheckedCreateNestedManyWithoutUserInput + ownedProjects?: Prisma.ProjectUncheckedCreateNestedManyWithoutOwnerInput + projectMembers?: Prisma.ProjectMemberUncheckedCreateNestedManyWithoutUserInput + assignedTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutAssigneeInput + createdTasks?: Prisma.TaskUncheckedCreateNestedManyWithoutCreatorInput +} + +export type UserCreateOrConnectWithoutTaskMembersInput = { + where: Prisma.UserWhereUniqueInput + create: Prisma.XOR +} + +export type UserUpsertWithoutTaskMembersInput = { + update: Prisma.XOR + create: Prisma.XOR + where?: Prisma.UserWhereInput +} + +export type UserUpdateToOneWithWhereWithoutTaskMembersInput = { + where?: Prisma.UserWhereInput + data: Prisma.XOR +} + +export type UserUpdateWithoutTaskMembersInput = { + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUpdateManyWithoutCreatorNestedInput +} + +export type UserUncheckedUpdateWithoutTaskMembersInput = { + id?: Prisma.IntFieldUpdateOperationsInput | number + name?: Prisma.StringFieldUpdateOperationsInput | string + email?: Prisma.StringFieldUpdateOperationsInput | string + password?: Prisma.StringFieldUpdateOperationsInput | string + createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string + habits?: Prisma.HabitUncheckedUpdateManyWithoutUserNestedInput + checkIns?: Prisma.CheckInUncheckedUpdateManyWithoutUserNestedInput + checkLists?: Prisma.CheckListUncheckedUpdateManyWithoutUserNestedInput + templates?: Prisma.CheckListTemplateUncheckedUpdateManyWithoutUserNestedInput + ownedProjects?: Prisma.ProjectUncheckedUpdateManyWithoutOwnerNestedInput + projectMembers?: Prisma.ProjectMemberUncheckedUpdateManyWithoutUserNestedInput + assignedTasks?: Prisma.TaskUncheckedUpdateManyWithoutAssigneeNestedInput + createdTasks?: Prisma.TaskUncheckedUpdateManyWithoutCreatorNestedInput } @@ -745,6 +1335,11 @@ export type UserCountOutputType = { checkIns: number checkLists: number templates: number + ownedProjects: number + projectMembers: number + assignedTasks: number + createdTasks: number + taskMembers: number } export type UserCountOutputTypeSelect = { @@ -752,6 +1347,11 @@ export type UserCountOutputTypeSelect = { + where?: Prisma.ProjectWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountProjectMembersArgs = { + where?: Prisma.ProjectMemberWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountAssignedTasksArgs = { + where?: Prisma.TaskWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountCreatedTasksArgs = { + where?: Prisma.TaskWhereInput +} + +/** + * UserCountOutputType without action + */ +export type UserCountOutputTypeCountTaskMembersArgs = { + where?: Prisma.TaskMemberWhereInput +} + export type UserSelect = runtime.Types.Extensions.GetSelect<{ id?: boolean @@ -804,10 +1439,31 @@ export type UserSelect checkLists?: boolean | Prisma.User$checkListsArgs templates?: boolean | Prisma.User$templatesArgs + ownedProjects?: boolean | Prisma.User$ownedProjectsArgs + projectMembers?: boolean | Prisma.User$projectMembersArgs + assignedTasks?: boolean | Prisma.User$assignedTasksArgs + createdTasks?: boolean | Prisma.User$createdTasksArgs + taskMembers?: boolean | Prisma.User$taskMembersArgs _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs }, ExtArgs["result"]["user"]> +export type UserSelectCreateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["user"]> +export type UserSelectUpdateManyAndReturn = runtime.Types.Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + password?: boolean + createdAt?: boolean + updatedAt?: boolean +}, ExtArgs["result"]["user"]> export type UserSelectScalar = { id?: boolean @@ -824,8 +1480,15 @@ export type UserInclude checkLists?: boolean | Prisma.User$checkListsArgs templates?: boolean | Prisma.User$templatesArgs + ownedProjects?: boolean | Prisma.User$ownedProjectsArgs + projectMembers?: boolean | Prisma.User$projectMembersArgs + assignedTasks?: boolean | Prisma.User$assignedTasksArgs + createdTasks?: boolean | Prisma.User$createdTasksArgs + taskMembers?: boolean | Prisma.User$taskMembersArgs _count?: boolean | Prisma.UserCountOutputTypeDefaultArgs } +export type UserIncludeCreateManyAndReturn = {} +export type UserIncludeUpdateManyAndReturn = {} export type $UserPayload = { name: "User" @@ -834,6 +1497,11 @@ export type $UserPayload[] checkLists: Prisma.$CheckListPayload[] templates: Prisma.$CheckListTemplatePayload[] + ownedProjects: Prisma.$ProjectPayload[] + projectMembers: Prisma.$ProjectMemberPayload[] + assignedTasks: Prisma.$TaskPayload[] + createdTasks: Prisma.$TaskPayload[] + taskMembers: Prisma.$TaskMemberPayload[] } scalars: runtime.Types.Extensions.GetPayloadResult<{ id: number @@ -959,6 +1627,30 @@ export interface UserDelegate(args?: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args?: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "createManyAndReturn", GlobalOmitOptions>> + /** * Delete a User. * @param {UserDeleteArgs} args - Arguments to delete one User. @@ -1023,6 +1715,36 @@ export interface UserDelegate(args: Prisma.SelectSubset>): Prisma.PrismaPromise + /** + * 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(args: Prisma.SelectSubset>): Prisma.PrismaPromise, T, "updateManyAndReturn", GlobalOmitOptions>> + /** * Create or update one User. * @param {UserUpsertArgs} args - Arguments to update or create a User. @@ -1186,6 +1908,11 @@ export interface Prisma__UserClient = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> checkLists = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> templates = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + ownedProjects = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + projectMembers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + assignedTasks = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + createdTasks = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> + taskMembers = {}>(args?: Prisma.Subset>): Prisma.PrismaPromise, T, "findMany", GlobalOmitOptions> | Null> /** * Attaches callbacks for the resolution and/or rejection of the Promise. * @param onfulfilled The callback to execute when the Promise is resolved. @@ -1458,6 +2185,25 @@ export type UserCreateManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to create many Users. + */ + data: Prisma.UserCreateManyInput | Prisma.UserCreateManyInput[] + skipDuplicates?: boolean +} + /** * User update */ @@ -1502,6 +2248,32 @@ export type UserUpdateManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: Prisma.UserSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: Prisma.UserOmit | null + /** + * The data used to update Users. + */ + data: Prisma.XOR + /** + * Filter which Users to update + */ + where?: Prisma.UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number +} + /** * User upsert */ @@ -1664,6 +2436,126 @@ export type User$templatesArgs = { + /** + * Select specific fields to fetch from the Project + */ + select?: Prisma.ProjectSelect | null + /** + * Omit specific fields from the Project + */ + omit?: Prisma.ProjectOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectInclude | null + where?: Prisma.ProjectWhereInput + orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[] + cursor?: Prisma.ProjectWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[] +} + +/** + * User.projectMembers + */ +export type User$projectMembersArgs = { + /** + * Select specific fields to fetch from the ProjectMember + */ + select?: Prisma.ProjectMemberSelect | null + /** + * Omit specific fields from the ProjectMember + */ + omit?: Prisma.ProjectMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.ProjectMemberInclude | null + where?: Prisma.ProjectMemberWhereInput + orderBy?: Prisma.ProjectMemberOrderByWithRelationInput | Prisma.ProjectMemberOrderByWithRelationInput[] + cursor?: Prisma.ProjectMemberWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.ProjectMemberScalarFieldEnum | Prisma.ProjectMemberScalarFieldEnum[] +} + +/** + * User.assignedTasks + */ +export type User$assignedTasksArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + cursor?: Prisma.TaskWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * User.createdTasks + */ +export type User$createdTasksArgs = { + /** + * Select specific fields to fetch from the Task + */ + select?: Prisma.TaskSelect | null + /** + * Omit specific fields from the Task + */ + omit?: Prisma.TaskOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskInclude | null + where?: Prisma.TaskWhereInput + orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[] + cursor?: Prisma.TaskWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[] +} + +/** + * User.taskMembers + */ +export type User$taskMembersArgs = { + /** + * Select specific fields to fetch from the TaskMember + */ + select?: Prisma.TaskMemberSelect | null + /** + * Omit specific fields from the TaskMember + */ + omit?: Prisma.TaskMemberOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: Prisma.TaskMemberInclude | null + where?: Prisma.TaskMemberWhereInput + orderBy?: Prisma.TaskMemberOrderByWithRelationInput | Prisma.TaskMemberOrderByWithRelationInput[] + cursor?: Prisma.TaskMemberWhereUniqueInput + take?: number + skip?: number + distinct?: Prisma.TaskMemberScalarFieldEnum | Prisma.TaskMemberScalarFieldEnum[] +} + /** * User without action */ diff --git a/package-lock.json b/package-lock.json index 1531417..ca2d227 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,14 +1,14 @@ { "name": "iboard", - "version": "1.0.0", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "iboard", - "version": "1.0.0", + "version": "0.2.0", "dependencies": { - "@prisma/adapter-mariadb": "^7.9.1", + "@prisma/adapter-pg": "^7.9.1", "@prisma/client": "^7.7.0", "@zythum02/mijia-api": "^0.1.4", "antd-mobile": "^5.42.3", @@ -1615,65 +1615,33 @@ "node": "^22.20 || ^24.12 || >=25" } }, - "node_modules/@prisma/adapter-mariadb": { - "version": "7.9.1", - "resolved": "https://registry.npmjs.org/@prisma/adapter-mariadb/-/adapter-mariadb-7.9.1.tgz", - "integrity": "sha512-4aZUbIg2av7XFSQyM9cQeAp9YP9HiPr8H7ehe2rDo375IZXILEzQrNXZ/zLetgRQ2ojlaUl/brArFdOVS3n1xA==", + "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.9.1", - "mariadb": "3.4.5" + "@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-mariadb/node_modules/@types/node": { - "version": "24.13.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.13.3.tgz", - "integrity": "sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==", - "license": "MIT", + "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": { - "undici-types": "~7.18.0" + "@prisma/debug": "7.10.1" } }, - "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": { - "node": ">=0.10.0" - } - }, - "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": { - "node": ">= 14" - } - }, - "node_modules/@prisma/adapter-mariadb/node_modules/undici-types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", - "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", - "license": "MIT" - }, "node_modules/@prisma/client": { "version": "7.7.0", "resolved": "https://registry.npmjs.org/@prisma/client/-/client-7.7.0.tgz", @@ -1747,21 +1715,6 @@ "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": { "version": "7.7.0", "resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-7.7.0.tgz", @@ -2867,6 +2820,17 @@ "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": { "version": "19.2.14", "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", @@ -5579,6 +5543,104 @@ "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", "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": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", @@ -5619,6 +5681,45 @@ "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": { "version": "7.7.0", "resolved": "https://registry.npmjs.org/prisma/-/prisma-7.7.0.tgz", @@ -6470,6 +6571,15 @@ "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": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -6938,6 +7048,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": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/package.json b/package.json index b690597..00c7ffe 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "publish": "bash scripts/wsl/build-apk.sh release" }, "dependencies": { - "@prisma/adapter-mariadb": "^7.9.1", + "@prisma/adapter-pg": "^7.9.1", "@prisma/client": "^7.7.0", "@zythum02/mijia-api": "^0.1.4", "antd-mobile": "^5.42.3", diff --git a/prisma/migrations/20260409135419_init/migration.sql b/prisma/migrations/20260409135419_init/migration.sql deleted file mode 100644 index c463b12..0000000 --- a/prisma/migrations/20260409135419_init/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260409135954_rename_sow_inventory/migration.sql b/prisma/migrations/20260409135954_rename_sow_inventory/migration.sql deleted file mode 100644 index 76bead8..0000000 --- a/prisma/migrations/20260409135954_rename_sow_inventory/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260417122901_add_scraper_cache/migration.sql b/prisma/migrations/20260417122901_add_scraper_cache/migration.sql deleted file mode 100644 index d7210d8..0000000 --- a/prisma/migrations/20260417122901_add_scraper_cache/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260803144851_add_unique_name/migration.sql b/prisma/migrations/20260803144851_add_unique_name/migration.sql deleted file mode 100644 index 0ef93bc..0000000 --- a/prisma/migrations/20260803144851_add_unique_name/migration.sql +++ /dev/null @@ -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`); \ No newline at end of file diff --git a/prisma/migrations/20260806120000_indicator_points/migration.sql b/prisma/migrations/20260806120000_indicator_points/migration.sql deleted file mode 100644 index b0f587f..0000000 --- a/prisma/migrations/20260806120000_indicator_points/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260806121000_drop_indicator_data_json/migration.sql b/prisma/migrations/20260806121000_drop_indicator_data_json/migration.sql deleted file mode 100644 index 07c9664..0000000 --- a/prisma/migrations/20260806121000_drop_indicator_data_json/migration.sql +++ /dev/null @@ -1,3 +0,0 @@ --- 第二步: 明细数据已迁移到 IndicatorPoint, 删除 Indicator.data JSON 列 --- AlterTable -ALTER TABLE `Indicator` DROP COLUMN `data`; diff --git a/prisma/migrations/20260806123000_add_indicator_hidden/migration.sql b/prisma/migrations/20260806123000_add_indicator_hidden/migration.sql deleted file mode 100644 index f54a938..0000000 --- a/prisma/migrations/20260806123000_add_indicator_hidden/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- 指标隐藏标记: 数据与获取脚本保留, 前端展示过滤 hidden=true -ALTER TABLE `Indicator` ADD COLUMN `hidden` BOOLEAN NOT NULL DEFAULT false; diff --git a/prisma/migrations/20260806130000_news_and_alerts/migration.sql b/prisma/migrations/20260806130000_news_and_alerts/migration.sql deleted file mode 100644 index 6c9aeaa..0000000 --- a/prisma/migrations/20260806130000_news_and_alerts/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260806140000_monitors/migration.sql b/prisma/migrations/20260806140000_monitors/migration.sql deleted file mode 100644 index cc08bec..0000000 --- a/prisma/migrations/20260806140000_monitors/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20260806150000_add_news_content/migration.sql b/prisma/migrations/20260806150000_add_news_content/migration.sql deleted file mode 100644 index 143486d..0000000 --- a/prisma/migrations/20260806150000_add_news_content/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- AlterTable (news.content 全文, 须在 news_and_alerts 建表之后执行) -ALTER TABLE `News` ADD COLUMN `content` TEXT NULL; diff --git a/prisma/migrations/20260807104432_add_oil_price_history/migration.sql b/prisma/migrations/20260807104432_add_oil_price_history/migration.sql deleted file mode 100644 index f2377cf..0000000 --- a/prisma/migrations/20260807104432_add_oil_price_history/migration.sql +++ /dev/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; diff --git a/prisma/migrations/20260920120000_add_mihome_env/migration.sql b/prisma/migrations/20260920120000_add_mihome_env/migration.sql deleted file mode 100644 index bb64515..0000000 --- a/prisma/migrations/20260920120000_add_mihome_env/migration.sql +++ /dev/null @@ -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; - diff --git a/prisma/migrations/20261022120000_add_checkin_checklist/migration.sql b/prisma/migrations/20261022120000_add_checkin_checklist/migration.sql deleted file mode 100644 index ca4361e..0000000 --- a/prisma/migrations/20261022120000_add_checkin_checklist/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20261024120000_add_task_module/migration.sql b/prisma/migrations/20261024120000_add_task_module/migration.sql deleted file mode 100644 index d114a65..0000000 --- a/prisma/migrations/20261024120000_add_task_module/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20261024130000_add_project_notes/migration.sql b/prisma/migrations/20261024130000_add_project_notes/migration.sql deleted file mode 100644 index 990c210..0000000 --- a/prisma/migrations/20261024130000_add_project_notes/migration.sql +++ /dev/null @@ -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; diff --git a/prisma/migrations/20261025030000_task_kind/migration.sql b/prisma/migrations/20261025030000_task_kind/migration.sql deleted file mode 100644 index 4527e01..0000000 --- a/prisma/migrations/20261025030000_task_kind/migration.sql +++ /dev/null @@ -1,3 +0,0 @@ --- 任务类型标签: 项目级自定义列表 + 任务上的类型 -ALTER TABLE `Project` ADD COLUMN `taskKinds` JSON NULL; -ALTER TABLE `Task` ADD COLUMN `kind` VARCHAR(20) NULL; diff --git a/prisma/migrations/20261025120000_task_mark_date/migration.sql b/prisma/migrations/20261025120000_task_mark_date/migration.sql deleted file mode 100644 index 2581ee0..0000000 --- a/prisma/migrations/20261025120000_task_mark_date/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- 任务时间标记: 完整日期存储, 前端展示 MM-dd -ALTER TABLE `Task` ADD COLUMN `markDate` DATETIME(3) NULL; diff --git a/prisma/migrations/20261025130000_project_icon/migration.sql b/prisma/migrations/20261025130000_project_icon/migration.sql deleted file mode 100644 index 927fb23..0000000 --- a/prisma/migrations/20261025130000_project_icon/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- 项目图标: data URL (客户端裁剪 96x96 JPEG, 约 10-20KB) -ALTER TABLE `Project` ADD COLUMN `icon` TEXT NULL; diff --git a/prisma/migrations/20261026000000_postgres_baseline/migration.sql b/prisma/migrations/20261026000000_postgres_baseline/migration.sql new file mode 100644 index 0000000..87c1af5 --- /dev/null +++ b/prisma/migrations/20261026000000_postgres_baseline/migration.sql @@ -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; diff --git a/prisma/migrations/migration_lock.toml b/prisma/migrations/migration_lock.toml index 592fc0b..044d57c 100644 --- a/prisma/migrations/migration_lock.toml +++ b/prisma/migrations/migration_lock.toml @@ -1,3 +1,3 @@ # Please do not edit this file manually # It should be added in your version-control system (e.g., Git) -provider = "mysql" +provider = "postgresql" diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 5a0fe01..b80a9d6 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -9,7 +9,7 @@ generator client { } datasource db { - provider = "mysql" + provider = "postgresql" } model User { @@ -388,6 +388,8 @@ model CheckListTemplate { model Project { 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) ownerId Int owner User @relation("ProjectOwner", fields: [ownerId], references: [id], onDelete: Cascade) @@ -409,6 +411,7 @@ model Project { model ProjectMember { id Int @id @default(autoincrement()) + uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑) projectId Int project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) userId Int @@ -422,6 +425,7 @@ model ProjectMember { model BoardColumn { id Int @id @default(autoincrement()) + uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑) projectId Int project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) name String @db.VarChar(20) @@ -439,6 +443,7 @@ model BoardColumn { model Task { id Int @id @default(autoincrement()) + uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑) projectId Int project Project @relation(fields: [projectId], references: [id], onDelete: Cascade) columnId Int @@ -467,6 +472,9 @@ model Task { members TaskMember[] tags TaskTag[] + number Int? // 项目内自增编号 (服务端分配, 展示为 `code-number`); 本地未定号的离线新建任务为空 + + @@unique([projectId, number]) @@index([projectId, columnId]) @@index([projectId, status]) @@index([parentId]) @@ -475,6 +483,7 @@ model Task { model TaskMember { id Int @id @default(autoincrement()) + uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑) taskId Int task Task @relation(fields: [taskId], references: [id], onDelete: Cascade) userId Int @@ -485,6 +494,7 @@ model TaskMember { model TaskTag { id Int @id @default(autoincrement()) + uuid String @unique @db.VarChar(36) // 同步标识: 客户端生成 (0.2.1 离线编辑) taskId Int task Task @relation(fields: [taskId], references: [id], onDelete: Cascade) name String @db.VarChar(20) diff --git a/server/db.js b/server/db.js index fbc4299..0541846 100644 --- a/server/db.js +++ b/server/db.js @@ -1,18 +1,7 @@ -// 服务端 Prisma 单例, 使用 mariadb 适配器 +// 服务端 Prisma 单例, 使用 pg 适配器 (0.2.1: 数据库迁移到 PostgreSQL) import 'dotenv/config' -import { PrismaMariaDb } from '@prisma/adapter-mariadb' +import { PrismaPg } from '@prisma/adapter-pg' import { PrismaClient } from '../generated/prisma/client.ts' -function parseDatabaseUrl(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 }) \ No newline at end of file +const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) +export const prisma = new PrismaClient({ adapter })